Target profile page rewrite: Create "Drugs" detail view

As part of the ongoing Drug Entity project, we should consider aggregating the drugs data in the PoC project. I did some preliminary research on how to redesign the drugs data table and would recommend that we aggregate the data based on the phase and status. So for example, all Phase I - Completed records for the same drug-disease-target association would appear in a single row with relevant external links. However, because the data returned by the API is not currently aggregated, this is something we would need to implement at the GraphQL layer.
See #7 for more information

Use case(s)

As a user, I want to know additional information about the known drugs that modulate a certain gene based on clinical trials, ATC, DailyMed, or FDA data.

Detail view

Full size version
Key design and interaction notes

The summary widgets at the top are in keeping with the widgets already found on the drugs table; however, please make them interactive with the DC.js library (e.g. clicking on the widget will filter the data table below)
For the summary widgets, please allow users to download the SVG in SVG or PNG format as some users would like to use those visualisations for reports and presentations
Please ensure that by default, the data table shows 10 records

Design assets

Colour codes are available on the OT Core Platform Team Google Drive

Decisions from FE meeting 05Dec:

Change "type" from doughnut to bar chart format

Visual for disease info needed
Options:
a) Click on associated diseases in summary table on LHS and open up sunburst display.
b) Remove activity graph and replace with disease visual if space needed to accommodate

Updates to table headers/ groupings required:

Trial info
Drug info
Target info

@iandunham, I've updated the plot to show different shades for the activity, similar to what we already have in the Platform. What do you think?
@MichaelaEBI, I like your idea. I've changed the column order so that it reads something like:
For disease, there is a clinical trial in phase - status using drug to modulate target.
Is that correct?

Yes, that looks right

@andrewhercules, why not keep type and activity as separate bar charts? They are more intuitive individually and work better as filters that way, I think.
Therapeutic areas could also be displayed as a bar chart counting diseases within each therapeutic area, which would give a sense of where the focus is. There are around 20 therapeutic areas, but most targets won't have drug evidence hitting all of them.

We could represent the therapeutic areas as a bar chart, but we'd only have enough space to show the areas where there is data - especially if we break the type vs. activity chart into two charts so that users can use them to filter the table.

This has now been merged into master as per PR https://github.com/opentargets/platform-app/pull/31

@LucaFumis, looks great! :)
Can we please add some code in the application to alter the case of the values to lowercase and remove the underscores? So for example, changing NOT_YET_RECRUITING to Not yet recruiting or not yet recruiting.

This has been addressed in https://github.com/opentargets/platform-app/pull/33 and merged.

Ticket closed as QC work completed


Inaccurate description for admin container

Path to page with content (do not include domain name):
https://bottlerocket.dev/en/os/1.14.x/concepts/shell-less-host/
What content is incorrect?
Admin container do have write access to the “mutable” directories of the host's file system, e.g., I can do this from the admin container:
[root@admin]# touch /.bottlerocket/rootfs/var/log/touched
[root@admin]# sta
start_admin.sh  stat
[root@admin]# stat /.bottlerocket/rootfs/var/log/touched
  File: '/.bottlerocket/rootfs/var/log/touched'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: 10310h/66320d   Inode: 15878       Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2023-09-07 23:06:23.438799141 +0000
Modify: 2023-09-07 23:06:23.438799141 +0000
Change: 2023-09-07 23:06:23.438799141 +0000
 Birth: -

What should the content say or communicate?
The content should communicate that the admin container can write to the mutable directories of the host's file system (/etc, /var).

@arnaldo2792 Thanks! Is /etc and /var the extent of the mutable directories in the host fs? Can you provide a link to where this is defined in the bottlerocket-os/bottlerocket repo (as a footnote reference for readers).

The only document that explains parts of the filesystem layout of Bottlerocket is this, it explains that etc is a tmpfs filesystem (hence mutable), and that the secondary filesystem for local storage is mounted at /local, with bind mounts to /var and /opt.


binfmt for mach-o executables?

I noticed there's /opt/orbstack-guest/bin/mac which can be used to invoke a command in macOS.
Can we support directly executing a mach-o binary file within the orb Linux environment (just like one can run a .exe file within WSL)? Currently, any attempt to execute mach-o results in a Exec format error, but it can be executed successfully with mac <path-to-the-mach-o>.
Thanks in advance!

It is possible to run mach-o via binfmt:
# for mach-o universal binary (all fields in universal header are big endian)
sudo /usr/sbin/update-binfmts --install mac-binfmt-universal /opt/orbstack-guest/bin/mac \
    --magic "\xca\xfe\xba\xbe\x00\x00\x00\x02\x01\x00\x00\x07" \
    --mask "\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\x00" \
    --credentials yes --preserve no --fix-binary yes

# for mach-o single architecture binary (little endian)
sudo /usr/sbin/update-binfmts --install mac-binfmt-aarch64 /opt/orbstack-guest/bin/mac \
    --magic "\xcf\xfa\xed\xfe\x0c\x00\x00\x01" \
    --mask "\xff\xff\xff\xff\x00\xff\xff\xff" \
    --credentials yes --preserve no --fix-binary yes

reference: https://en.wikipedia.org/wiki/Mach-O

Thanks for those commands! I gave this a quick shot last month and it didn't work so I put it on the backburner (probably typo in the magic or mask), but your commands seem to work.
There are some kinks to work out for proper support, but this is a good start.

Thanks for those commands! I gave this a quick shot last month and it didn't work so I put it on the backburner (probably typo in the magic or mask), but your commands seem to work.
There are some kinks to work out for proper support, but this is a good start.

Thank you for the explanation, I am really hoping to see official support for this.
I would say OrbStack is the best "macOS subsystem for Linux" I've ever seen. 👍

@imkiva @SEmmmer @XingjianXie Can I get your opinion on how to handle argument/path translation for binfmt?
Currently, prefixing commands with mac and linking with mac link will conservatively translate some paths based on some heuristics to avoid mangling arguments, while specifying -p will translate all paths. Path translation works by resolving paths as viewed from the Linux perspective to the equivalent Mac path. So for example (Linux = macOS path):

/home/user = /Users/user/OrbStack/machine/home/user
/Users/user = /Users/user
/mnt/mac/Applications = /Applications

This makes running most commands much smoother, but it might be surprising behavior for arguments to be modified when running executables with binfmt. What do you think?

I think it is a good idea to translate path, because people calling macOS
executable in Linux still expect path to be interpreted in Linux
perspective.
Notice that we shouldn’t translate any relative path but instead translate
workdir, if you haven’t been doing so.
One thing I am currently concerned about are some edge cases. It is hard to
determine whether a program argument is local path.
For example, -o/path/to/output is definitely a path, and /bin:/usr/bin
is path, while machine_name:/bin is not a local path, probably a ssh
remote path or docker remote path.

Yes, that's why I decided to only translate paths conservatively by default. Better to miss some paths than break others (e.g. remote ones) with no recourse.
I guess it probably makes sense to use the same logic for binfmt.

Good idea! /mnt/linux could be a symlink to / to make this explicit.

And maybe another idea: symbolically link other distros in orb to /mnt/<distro>, but I don't know if it is useful (maybe no).

Already implemented at /mnt/machines.

Added for the next version.

Released in v0.7.0.


Added support for Shapefiles to be opened in memory

An override to the Open method has been created.
The new signature expects binary arrays for the .shp, .shx, .dbf, and .prj.
Example usage...
var shapeBytes = File.ReadAllBytes($"{dir}{filename}.shp");
var indexBytes = File.ReadAllBytes($"{dir}{filename}.shx");
var dbaseBytes = File.ReadAllBytes($"{dir}{filename}.dbf");
var projectionBytes = File.ReadAllBytes($"{dir}{filename}.prj");
Shapefile.OpenFile(shapeBytes, indexBytes, dbaseBytes, projectionBytes);
Fixes # .
Checklist

[ ] I have included examples or tests
[ ] I have updated the change log
[ ] I am listed in the CONTRIBUTORS file
[ ] I have cleaned up the commit history (use rebase and squash)

Changes proposed in this pull request:

Hi, there is a build error. Please fix it.


No functions or submodules are installed in 1.11.0rc1 when compiled from source

System information

OS: uname -a: Linux pnode1.cluster 3.10.0-514.el7.ppc64le #1 SMP Sat Nov 5 15:08:14 GMT 2016 ppc64le ppc64le ppc64le GNU/Linux
TensorFlow installed from: source
TensorFlow version: 1.11.0rc1
Python version: 3.5.6
Bazel version: 0.17.1
GCC/Compiler version: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11)
CUDA/cuDNN version: 9.1
GPU model and memory: NVIDIA Tesla P100
Exact command to reproduce: python3.5 -c "import tensorflow.keras"

Reproduction steps
Compile and install Tensorflow from source:
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
./configure
# Leave everything as default except for cuda options which I chose 9.1 and the correct cuda path
bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
cp /tmp/tensorflow_pkg/tensorflow-1.11.0rc1-cp35-cp35m-linux_ppc64le.whl ../
cd ..
pip3.5 install tensorflow-1.11.0rc1-cp35-cp35m-linux_ppc64le.whl

Test tensorflow.keras:
python3.5 -c "import tensorflow.keras"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named 'tensorflow.keras'

Test other functions:
$ python3.5
>>> x = tf.constant([[-2.25 + 4.75j], [-3.25 + 5.75j]])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'tensorflow' has no attribute 'constant'

Pip packages
pip3.5 list:
absl-py                  0.5.0
alabaster                0.7.11
appdirs                  1.4.3
astor                    0.7.1
atomicwrites             1.2.1
attrs                    18.2.0
Babel                    2.6.0
certifi                  2018.8.24
chardet                  3.0.4
Cython                   0.28.5
decorator                4.3.0
docutils                 0.14
gast                     0.2.0
grpcio                   1.15.0
h5py                     2.8.0
idna                     2.7
imagesize                1.1.0
Jinja2                   2.10
Keras                    2.2.2
Keras-Applications       1.0.5
Keras-Preprocessing      1.0.3
Mako                     1.0.7
Markdown                 2.6.11
MarkupSafe               1.0
mock                     2.0.0
more-itertools           4.3.0
nose                     1.3.7
numpy                    1.15.1
packaging                17.1
pathlib2                 2.3.2
pbr                      4.2.0
pip                      18.0
pluggy                   0.7.1
protobuf                 3.6.1
py                       1.6.0
pydot                    1.2.4
pydot-ng                 1.0.0
Pygments                 2.2.0
PyGraph                  0.2.1
pygraphviz               1.5
pyparsing                2.2.1
pytest                   3.8.0
pytools                  2018.5.2
pytz                     2018.5
PyYAML                   3.13
requests                 2.19.1
scipy                    1.1.0
setuptools               28.8.0
six                      1.11.0
snowballstemmer          1.2.1
Sphinx                   1.8.0
sphinxcontrib-websupport 1.1.0
tensorboard              1.10.0
tensorflow               1.11.0rc1
termcolor                1.1.0
urllib3                  1.23
Werkzeug                 0.14.1
wheel                    0.31.1

@nelsyeung Can you try : import tensorflow.python.keras ?
This should solve your import problem.

import tensorflow.python.keras also would not work:
python3.5 -c "import tensorflow.python.keras"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named 'tensorflow.python'

@ymodak I'd recommend you to familiarize yourself with the Tensorflow documentation. Ever since v1.9 tensorflow.python.keras is moved to tensorflow.keras.
Some further information:

I cleaned up the system and recompiled everything from scratch, but that didn't help.

I just realized that nothing from Tensorflow is actually working, even though it took around 3 hours to compile. Did I miss some installation steps that's not documented? For example:

>>> x = tf.constant([[-2.25 + 4.75j], [-3.25 + 5.75j]])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'tensorflow' has no attribute 'constant'

On my cluster, v1.10 and v1.9 branch simply gives too many compilation errors for me to solve them all, that's why I'm doing it on the master branch since it actually compiles.

I only know for a fact that the below commit from v1.6 would work perfectly for Python 2.7 on my system. I will try to compile that for Python 3.5 later:

git checkout `git rev-list -n 1 --before="2018-02-23 18:00" master`

@gunan I apologize that I didn't rename the title after my discovery that nothing from Tensorflow is actually working.
I'd recommend you to also familiarize yourself with the Tensorflow Guide. Ever since v1.10, it is possible to import tensorflow.keras using, and I quote from the above link,
import tensorflow as tf
from tensorflow import keras

There was an issue sometime ago discussing tf.keras is simply too frustrating to use.
Furthermore, just test this before you recommend anything, I can see that the below works fine on macOS with pip (I'm using pyenv to isolate all my Python packages and versions):
pip install tensorflow==1.11.0rc1
python3.5 -c "import tensorflow.keras"

Have a read on my further information comment just above yours.

I just tried building and installing from head. The only difference is that I built a CPU-only package.
python3 -m venv venv/
source venv/bin/activate
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
pip install keras_applications==1.0.4
pip install keras_preprocessing==1.0.2
pip install --upgrade six mock portpicker scipy sklearn grpcio
pip install numpy==1.14.5
pip install h5py==2.8.0
Here I picked default for everything
./configure
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
Move out of tensorflow directory before installing tensorflow pip package.
cd ..
pip install /tmp/tensorflow_pkg/tensorflow-1.11.0rc1-cp35-cp35m-linux_x86_64.whl
"from tensorflow import keras" worked fine after this step. I don't know if we want to support this type of import long term, however.
I might try GPU build later today, but for now you can check if anything is missing.

@nelsyeung You are right. I apologize for the misleading information I provided.
Looks like the top level modules under tensorflow are expected to work like that, at least for now.
However, we have no tests that verify these work. Therefore, any breakages on this has been invisible to us.

I just tried GPU build (with Python 2.7 this time). "from tensorflow import keras" works fine.
For GPU build, I also had to set nccl and cudnn, but the other steps were the same.

I feel like that I must be missing some sort of environment variables, since this is a cluster a lot of the paths has to be set myself, can someone please check whether I'm missing anything:
export PNODE=/home/user/pnode
export PATH=$PNODE/bin:$PATH
export LD_LIBRARY_PATH=$PNODE/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$PNODE/lib64:$LD_LIBRARY_PATH
export PYTHONPATH=$PNODE/lib/python3.5
export CPATH=$PNODE/include:$CPATH
export PKG_CONFIG_PATH=$PNODE/lib/pkgconfig:$PKG_CONFIG_PATH
export CUDA_HOME=$PNODE/cuda-9.1
export PATH=$CUDA_HOME/bin:$PATH
export CPATH=$CUDA_HOME/include:$CPATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

The only real clue to what's wrong is that I can import Tensorflow with no errors, but just that none of its functions or sub-modules work.
I'll recompile everything later and give my full reproduction steps that includes building Python, cmake, OpenBlas, HDF5, Bazel and finally Tensorflow.

Nagging Assignee @ymodak: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

No time to recompile everything and deal with this, decided to just revert Python 2.7 and Tensorflow 1.6.


Custom MaxSize

Is your feature request related to a problem? Please describe.
I'd like to set a different MaxSize depending on a request header that a proxy could set after authenticating a user.
Describe the solution you'd like
I think a good way to implement this would be by allowing to provide a func (*http.Request) (int64, error) in the config. If not nil it would override the other MaxSize field.
Can you provide help with implementing this feature?
I would be willing to implement it.

Apologies, this ticket somehow slipped through my inbox. Hopefully my answer will still be helpful for you:
I do not think a separate configuration is necessary for you to implement this functionality but it can already be done using the pre-create hook: Basically, you set the MaxSize very high and instead validate the upload size in the pre-create hook. There you have access to the requests object and all necessary headers to determine the maximum size for a given user. If this maximum is exceeded, your hook must return an error, so the upload gets rejected.


Does this work with UNLISTED videos ?

Title says it all..
Please let me know.
Thanks.

Sure. Here's an unlisted video:
https://www.youtube.com/watch?v=_LImjdwhTwE
using youtube-downloader:
https://api.unblockvideos.com/youtube_downloader?id=_LImjdwhTwE&selector=mp4&redirect=true


Help needed

What is the most likely explanation for this error:
Some problems were found with the configuration of task ':bintrayUpload'.

No value has been specified for property 'user'.
No value has been specified for property 'apiKey'.
No value has been specified for property 'repoName'.
No value has been specified for property 'packageName'.

The same gradle build woked perfectly the day before,
nothing changed (apparently).
Thanks in advance for the help!

I'm not sure my answer helps, because it is hard to answer without actually seeing your build script, so I apologize in advanced :). Could it be that your build script is taking the values for those Bintray Plugin properties for an external resource (a file, environment or system vars for example) which are now not available? In any case, it looks like a configuration issue.

Thanks, It was indeed a configuration issue.
For anyone that stumbles on this error:
something could be wrong with your user or apiKey.
In my case I had to regenerate the key.
(repoName & packageName may be irrelevant)

My configuration is fine still I am getting the same error as mentioned above.

Solution - https://github.com/bintray/gradle-bintray-plugin/issues/74#issuecomment-168367341


Feature/HTML Path Lessons

The story:
As a student that wants to learn HTML, I want to have the lessons.

What we should do:
We should create lessons.

To be successful we need to:

[ ] Create stories for the lessons
[ ] Create questions for the lessons
[ ] Contain relevant tests for work done that pass in CI

Hi Suzy, do you need some help with this issue?

Hi @suzynakayama,
There's a Lesson module  already, is something more needed from front-end?
Thanks
Shane

Hi @suzynakayama,
There's a Lesson module  already, is something more needed from front-end?
Thanks
Shane

Hi Shane, maybe I didn't named this properly. This is just an issue for creating the HTML lessons that I am working on. Since we keep the lessons in the API, I named as an API feature.

Hi Suzy, do you need some help with this issue?

Hi Waqas! Of course! Anyone interested in helping is very welcome!

Hi @suzynakayama,
There's a Lesson module  already, is something more needed from front-end?
Thanks
Shane

Hi Shane, maybe I didn't named this properly. This is just an issue for creating the HTML lessons that I am working on. Since we keep the lessons in the API, I named as an API feature.

Ok makes sense, I see the lesson content in packages/api/content/.


Kibana index patterns & Custom Roles

Hi @aetter ,
Kibana is not displaying any data for a pattern match, But works fine when full index name is selected under Management -> Index Patterns
role:
{
  "index_permissions": [
    {
      "index_patterns": [
        "index1-45673-*"
      ],
      "dls": "",
      "fls": [],
      "masked_fields": [],
      "allowed_actions": [
        "read",
        "kibana_all_read"
      ]
    }
  ],
  "tenant_permissions": [],
  "cluster_permissions": []
}

role mapping:
{
  "backend_roles": [],
  "hosts": [],
  "users": [
    "user"
  ]
}

user:
{
  "backend_roles": [
    "user-role",
    "kibanauser"
  ],
  "attributes": {},
  "password": ""
}

Kibana Index Patterns:
Below are the two kibana index patterns

index1-45673-item1-2019-09-20  : Works fine
index1-*-*-*     : failes with error : Discover: no permissions for [indices:data/read/search] and User [name=user, roles=[user_role, kibanauser], requestedTenant=null]

Wild Card Pattern is not able to match to the index that role has permission to, but works fine with the exact index name.
Thanks

Hey @mkiran18, I'm actually not able to reproduce. Can you double-check the role and mapping?
On a more meta note, I'd recommend against tagging me on new issues unless it's specifically something that I've worked on. Other people on the team and in the community might assume that I'm "on it" and not chime in with more better, more timely information than I can provide. 😃
My role mapping
{
    "new-role": {
        "reserved": false,
        "hidden": false,
        "backend_roles": [],
        "hosts": [],
        "users": [
            "new-user"
        ],
        "and_backend_roles": []
    }
}

My role
{
    "new-role": {
        "reserved": false,
        "hidden": false,
        "cluster_permissions": [],
        "index_permissions": [
            {
                "index_patterns": [
                    "index1-*-*-*"
                ],
                "dls": "",
                "fls": [],
                "masked_fields": [],
                "allowed_actions": [
                    "read",
                    "kibana_all_read"
                ]
            }
        ],
        "tenant_permissions": [],
        "static": false
    }
}

My user
{
    "new-user": {
        "hash": "",
        "reserved": false,
        "hidden": false,
        "backend_roles": [],
        "attributes": {},
        "static": false
    }
}

The following queries all return results:
GET index1-*-*-*/_search
GET index1-45673-item1-2019-09-20/_search
GET index1-45673-*/_search
GET index1-45673-**/_search

Hi @aetter ,
Apologies for tagging, i see that you are very active in security space of OD thought of tagging for quick check.
to your point , the issue is not with elasticsearch API. This is happening in kibana only.
Error when used a * as patterns , happen with index1-*-*-*  as well.

With full index name rather than pattern : no issues and data is displayed.

The expectation is kibana will auto filter all other indices where the loggedin-user do not have permission to.
very similar to:  https://discuss.elastic.co/t/kibana-defining-access-to-multi-customers-sharing-same-dashboard/158567
this was used in elasticsearch+kibana before , trying to replicate the same behaviour on Open Distro as well.
Thanks

Ah, I think I see. So the expected behavior here is that the security plugin filters out any indices that a) match your pattern and b) you don't have access to prior to performing the search? Is the description below an accurate summary of your concern?
Steps to reproduce:

New role, index permissions of index1-45673-*, action group read, save.

New user.

Map new role to new user.

Map kibana_user to new user.

Create two indices:
PUT index1-45673-app1-2019-09-23/_doc/1
{"some document": "and its data"}

PUT index1-78965-app2-2019-09-23/_doc/1
{"some document": "and its data"}

Log in to Kibana as the new user.

Dev tools
GET index1-45673-*/_search

Success.
GET index1-78965-*/_search

Expected failure.
GET index1-*/_search

Failure. Expected behavior is that the search would still find documents in index1-45673-app1-2019-09-23, which the user has permissions to.

Yup.... thats exactly what i am trying to achieve :)
I have followed the steps what i have done for xpack + elasticsearch, I am not sure if there are any different steps for Open distro as the security plugin is different in this case.
Thanks in advance.

Roger that. I'm worried that there's some fundamental architectural decision that explains why this feature doesn't work the way we expect, but I'll leave it to the development team to confirm/deny and classify as a bug or as-designed.
Adding @hardik-k-shah and @elfisher for their thoughts.

Thanks .,., This feature enables to have one kibana/elastic index pattern for all the users but still have control on what they see based on the roles.
Otherwise we will have many different patterns in the kibana -> discover, Index pattern dropdown and when users switch they will see the error

And to mention maintenance of them is a tedious process.

Hi, Any update ? just wanted to know if this is as per design or actually an issue.

The same issue with  No permissions for ... No index-level perm match for User [name= ... in  elasticsearch.log. Opendistro 1.2.0.

yes, its an issue, simply by going to role server and add the index pattern which you want to show. just like this here ...

It is an expected behavior that when a kibana index pattern or a query pattern includes one or more indices that a user does not have necessary permission(s), the query fails with security exception. Note that security plugin does not do any query re-write and submits the original query pattern to ES for execution. Should that pattern include any index that the user does not have permission(s) for, it would be a security violation. It will be an enhancement request to support query re-write and I am not even sure that it is possible in all cases as an intersection of a query pattern and indices with granted permissions may be a disjoin set not easily expressed by a single index or by another index match pattern.

Hi @vrozov , Thats an issue when we create one index pattern in kibana for shared users on the same tenancy . We ended up creating a lot of index patterns as work around to this security limitation and had to educate the users to switch to their specific pattern upon login.
Thanks for looking in to it.

@mkiran18 roger-that. This is current design limitation and, afaik, there are no other workarounds other than to define different index patterns for different roles. Possibly kibana plugin can help by limiting user access to their specific index pattern(s).
Instead of query re-write we may try to filter out all documents for indices that a user does not have permission for during query execution, but that may impact performance, so we will have to see what option is the best. In any case, likely we will have to provide a configuration settings that will enable new behavior and keep the old behavior for users that are not affected by that limitation or prefer old behavior for any reason.

There seems to be an option to enable the desired behavior. Please see do_not_fail_on_forbidden in kibana multi-tenancy

I'm not sure if I'm experiencing the same or a different issue. I have a role like so:
my_role:
  reserved: true
  hidden: false
  cluster_permissions:
    - "cluster_composite_ops_ro"
  index_permissions:
    - index_patterns:
        - "logstash-*"
      allowed_actions:
        - "read"
  tenant_permissions:
    - tenant_patterns:
        - "global_tenant"
      allowed_actions:
        - "kibana_all_read"
  static: false

and plenty of indices like:
logstash-myapp-2021-01.25
logstash-myapp-2021-01.26
logstash-myapp-2021-01.27

In the Global tenant, i create an index pattern like so:
TODO add screenshot
I expect that the user sees all of them. However, the user sees nothing:
TODO add screenshot
When I change the permissions to:
  index_permissions:
    - index_patterns:
        - "*"

it works:
TODO add screenshot

I'm not sure if I'm experiencing the same or a different issue. I have a role like so:
my_role:
  reserved: true
  hidden: false
  cluster_permissions:
    - "cluster_composite_ops_ro"
  index_permissions:
    - index_patterns:
        - "logstash-*"
      allowed_actions:
        - "read"
  tenant_permissions:
    - tenant_patterns:
        - "global_tenant"
      allowed_actions:
        - "kibana_all_read"
  static: false

and plenty of indices like:
logstash-myapp-2021-01.25
logstash-myapp-2021-01.26
logstash-myapp-2021-01.27

In the Global tenant, i create an index pattern like so:
TODO add screenshot
I expect that the user sees all of them. However, the user sees nothing:
TODO add screenshot
When I change the permissions to:
  index_permissions:
    - index_patterns:
        - "*"

it works:
TODO add screenshot

@vrozov is right.
In order to ignore indices the user has no permission to you can set do_not_fail_on_forbidden: true in your plugins/opendistro_security/securityconfig/config.yml

Closing as do_not_fail_on_forbidden addresses this issue's use case.


Implement Tab auto-height opt-in for native tabs and for API-registered tabs

Some tabs in the default sheets, namely the item details tab, feature an auto-height effect where the window resizes itself based on the available content.
Implement this as an optional, opt-in feature with the tabs. Try to find the most maintainable, most straightforward way to do it.
Reason: Users spend a lot of time on tabs that have a lot of information and would require resizing the window or scrolling around. Making the window height auto-adjust for those frequently-used tabs and for API-registered tabs that opt into the setting would make dealing with those forms more convenient.
Reference
https://discord.com/channels/915186263609454632/1107447125073199154/1204572114708070400

Researching the ease of updating this and any technical issues.

Closing as completed.


Go: Separate user config from defaults in the database

Previously the database had a single master branch containing a mixture of user-specified configuration; runtime internal state and defaults. This meant that in Docker for Mac

the "schema" upgrade can't tell the difference between a user setting and a default setting, so it resets everything, leading to user suffering and hotfixes. In practice this means we can't use the schema upgrade mechanism any more.
some keys have an ad-hoc user override mechanism (e.g. the DNS and HTTP proxy keys)
we don't have a way to change a default for some users (e.g. to enable an experimental feature) while allowing them to opt out by turning it off

These patches use branches to separate the notions of

user overrides stored in the master branch as before
system defaults stored in the defaults branch
experimental features stored in the experimental branch
the configuration in-effect computed from the previous 3 branches in the state branch

On application start we populate the defaults branch (and later we will populate the experimental branch).
 These keys are deleted so that the keys in the default (or experimental) branch are used in preference.
When the UI calls setvmsettings these overrides are written to the master branch. When the UI calls getvmsettings the derived values are read from the state branch.
vpnkit has been modified to read its configuration from the state branch. For the moment we write the Moby-relevant keys also to the master branch pending a future update to moby which will look at the state branch instead.
To see this code in action, download the latest Docker for Mac from the edge channel and take a look at the database directory.

Probably needs rebasing to fix CI errors.

@djs55 I think you're the only user of this code, so feel free to merge :-)

@talex5 I've not got write access so I can't merge :) Could you do it for me?


Mismatched comparison when assessing finality

@yzhang90 noticed that comparing current_dynasty_votes and total_curdyn_deposits happens after proc_reward(https://github.com/ethereum/casper/blob/d5aed932634e28ab90d31facc6d9944be1a5d426/casper/contracts/simple_casper.v.py#L447), which means current_dynasty_votes is the value before the proc_reward but total_curdyn_deposits is the value after proc_reward. This seems unintentional. Both should comparison should likely happen between the two values prior to the reward inclusion or after the reward inclusion. Not with one of the values before and one after.
@karlfloersch I wanted to make sure this is a bug and not an intentional feature before I move forward with changing it.

This is a bug. I'll spec it more closely and get it fixed soon.

We plan to bulk update the total deposit variables from the vote rewards in initialize_epoch in this issue #158
Ensure that when a PR is submit for #158 that this is no longer an issue


Auto signing of messages

Published messages are frequently signed by the user, but needing to manually include the key and digest in the publish command is error-prone and makes the examples harder to follow.
The CLI config should allow specifying a key to sign messages automatically.

Implemented as of https://github.com/solipsis-project/mizu-client/commit/32d2d10e34dfa9e507d8e5ea8266f7875829c617


superfluous comments / replies after import

i seems that depending on the post there is a section about comments / replies at the end of the .md
see:
https://theblog.helix-demo.xyz/en/archive/2020/your-tutorial-resource-guide-to-photography-editing.html
i think this is a section that we probably shouldn't import.

No clue how / why this author added the social stuff. This is probably unique...


Update Brokers struct tag

Update Brokers struct tag
Motivation
This pull request https://github.com/Peripli/service-manager/pull/223 introduces a breaking change. The CLI needs to be adapted so that list-brokers command behaves properly.
Approach
The types.Brokers struct's tag is update with accordance to the response body of the /v1/service_brokers endpoint.

Pull Request Test Coverage Report for Build 256

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 74.23%

Totals

Change from base Build 253:
0.0%

Covered Lines:
1132

Relevant Lines:
1525

💛  - Coveralls


Plans to merge with the upstream?

Hey, just wondering, do you have any plans to make a PR to the upstream project, to have the improvements there? IMO maintaining a fork requires some time, and people will always prefer the main line until they really need the benefits of the fork...

OK, I see MagicStack/asyncpg#17. Let me know if need any help :) Will be glad to help.

Actually, yes, I would very much appreciate some help, thanks. The only missing piece for merging back seems to be making numpy optional. This has to be done inside Cython, I guess.

@vmarkovtsev & @alexeyshockov: did you lose appetite for the merge? It would be awesome if it happened!


Remove ssh-common

Trying to clean up common, ssh-common is only used in CopyFilesOverSSH.
This PR copies that file into the task and removes the common package.

Let's just call the new ssh.ts file sshhelper.ts since that class is really all that's in it.

Renamed file and bumped version.


net/http: FileServer no longer serves content for POST

What version of Go are you using (go version)?

$ go version 1.20.2 darwin/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/beaubrueggemann/Library/Caches/go-build"
GOENV="/Users/beaubrueggemann/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/beaubrueggemann/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/beaubrueggemann/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.19.4"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/47/c0lsmsxn3_z86w657l519d6m0000gn/T/go-build1135191649=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

I updated Go from version 1.19.4 to version 1.20.2 and ran my server.
Here's an abbreviated version of the source, that shows the problem:

package main

import (
        "log"
        "net/http"
)

const (
        PostPath = "/postpage.html"
        PostName = "name"
)

var FileServer = http.FileServer(http.Dir("/site"))

func MyHandler(w http.ResponseWriter, r *http.Request) {
        if r.URL.Path == PostPath {
                // Handle post data.
                value := r.PostFormValue(PostName)
                // Server does something with value here...
                log.Println(value)
        }

        // Serve page from filesystem
        FileServer.ServeHTTP(w, r)
}

func main() {
        log.Fatal(http.ListenAndServe(":8080", http.HandlerFunc(MyHandler)))
}

Then I tried a POST request to the "localhost:8080/postpage.html" URL.
What did you expect to see?
I expected to receive a status 200, served with a body matching the file on my filesystem at /site/postpage.html
What did you see instead?
I received a 405 status (method not allowed), with a body consisting of "read-only"
I dug into the problem, and it results from commit 413554.
This change breaks the compatibility promise. I was surprised there was no discussion of compatibility in the commit review or the corresponding issue (53501).
It is useful to be able to wrap an http.FileServer with an http.Handler that handles POST data, etc., then forwards to http.FileServer to serve a static response body. But now this doesn't work anymore.

if you're wrapping the handler, then you can modify the request before you pass it to fileserver
cc @neild

The documentation for type http.Handler says not to modify the request:

Except for reading the body, handlers should not modify the provided Request.

Also, really the point is that compatibility was broken. Go has a compatibility promise—is this still taken seriously? This promise was a major factor in my choosing to work with Go.
For many years http.FileServer has ignored the HTTP method (POST, DELETE, etc.), and just served files regardless. Suddenly this behavior has changed, and it serves errors for some methods.
This broke my server and wasted some of my time. I'm bothered that the change was made with absolutely no discussion about the compatibility breaking. I thought the compatibility promise would prevent that.
While you could argue that the new method-filtering behavior is a better design for http.FileServer, I think you could also make a good argument for the original design. But it shouldn't matter—the ship sailed long ago, and the original design was chosen.

The CL was adding support for OPTIONS, so it had to do something with methods generally.
There was no discussion of compatibility because I don't think any of us realized there was a compatibility problem. That is, I don't think we realized people would actually expect 'DELETE /foo' to serve the content of foo, nor that code would be sending DELETE /foo to get the content. For DELETE I still think it's probably more correct on balance to reject.
POST is trickier: the verb POST by itself really doesn't imply mutation the way DELETE does. POST is in a grey area between GET and DELETE, on the fence if you will pardon the pun.
I think it would be reasonable for compatibility to restore support for POST in the next point release, although perhaps others disagree.

The "compatibility promise" is about documented behaviour @beaubrueggemann. Otherwise you'd never be able to fix a bug, as any correction breaks the "original behaviour".
Protecting creative use can not outweight all websites broken without the method check in place.
Static content can only be served by read operations. When POST-ing a body, then the status code must match the processing of such request body. For example, an HTTP 404 means that the request was not executed, while the hack in this issue will execute, regardless of the response.

Thanks for all the discussion around this.
@pascaldekloe, I don't think this is a bug, but rather an API design choice.
The original design of http.FileServer was simple: It mapped the request path to the filesystem, and served either a file or a 404. That's it.  In particular, http.FileServer ignored the HTTP method. I think this is the better design.
Being so simple makes http.FileServer a flexible component that can be composed into servers in different ways. Dictating how the overall server must interpret HTTP methods limits FileServer's use cases.
For example, you can get your CL's behavior from the original design:

func MethodFileServer(root http.FileSystem) http.Handler {
    fs := http.FileServer(root)
    return HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        switch {
        case http.MethodGet, http.MethodHead:
            fs.ServeHTTP(w, r)
        default:
            http.Error(w, "read-only", http.StatusMethodNotAllowed)
        }
    })
}

But you cannot get the original behavior from your CL's design.  This eliminates use cases like mine above, where a POST is handled, then forwarded to http.FileServer to serve the request path.
This means http.FileServer has become strictly less useful with the new design.

Serving methods you don't understand breaks HTTP in several ways, from the status code to method-specifics. If we think users should amend the handler to work correctly then we better document that, and hope all existing users will find out. Funny: that actually does break compatibility. 🙃

@gopherbot please backport go1.20

Go started so nicely with the "if its broken, we fix it". After the statement was dropped, we got the v1 compatibility, and now even malicious API use enjoys better protection than correct operation. 😢

@pascaldekloe I don't think that's entirely fair, and thank you for filing #59470, which I've turned into a proposal. The original CL did not take compatibility into account, so it is entirely fair to roll it back in Go 1.20 and revisit with more consideration for Go 1.21.
@beaubrueggemann You may wish to follow or contribute to #59470 as well.


Move history service logic into separate packages (part 1)

What changed?
Move history service config and events cache into separate packages

Why?
https://github.com/uber/cadence/issues/3181
service/history package currently contains a large number of files. The goal is to break down the logic into smaller pieces and create separate packages for them. This also makes it easier to test and reason about.
Move config and eventsCache first as they are commonly used by other components in the history service. If we don't create separate packages for them first, when moving other components cycle dependency will be introduced.

How did you test it?
Build successfully, not lint warning. Unit test passed.

Potential risks
N/A.

Coverage decreased (-0.05%) to 68.904% when pulling c61a7e92892f2df0f6f17ddb2a2fcee1709bb178 on yycptt:separete-history-logic into c842f791a60319b33cc48c311214e9a3c5c6b9ee on uber:master.


how to group date values

Hi,
I have records with date field. How can I group dates by month or year and have the possibility to expand and collapse the groups during visualization? Is it possible? I need something like the image below. By the truth I need only a simple year / month grouping on the horizontal axis.

You can group dates by year and/or month with the dateDeriver (e.g. https://pivottable.js.org/examples/montreal_2014.html) and you can get expand/collapse behaviour using the Subtotal.js plugin: https://github.com/nagarajanchinnasamy/subtotal

Thank you! I have another question: must be columns or rows be declared in the code when derived data is used? I'm loading data as array of arrays, field names in first row, and I like the possibility to pass generic data and retrieve the fields in pivottable giving to the user the possibility to rearrange them. I have only a field with always the same name to be grouped with date values, the other field names are varying form time to time and I would made the things as generic as possible.

This should all be principle in practice, but the only way to know is to try!


Directory problem

please what will be in this folder at line 28(sess,  './Path to det1.npy').
And how can i training i need steps please.
What directory is this i don't understand /..Path to pre-trained model../20170512-110547/20170512-110547.pb .
jst explain full the concept of the training for me thanks

Not sure which script you are running and what you are trying to do, but have you seen the wiki?


go-swagger documentation is not updated for swagger enum

Problem statement
https://goswagger.io/use/spec.html doesn't explain swagger:enum usage

do you know how to use swagger:enum?

Yes,
https://github.com/go-swagger/go-swagger/pull/744
https://github.com/go-swagger/go-swagger/pull/2176
These two links helped.

Yeah, but I'm wondering if is there a way to generate enums with int64 doing iota.
My spec:
type: integer
description: >
   * `0` - Failed
   * `1` - In progress
   * `2` - Success
enum:
  - 0
  - 1
  - 2

Produces this:
// Status * `0` - Failed * `1` - In progress * `2` - Success
//
//
// swagger:model Status
type Status int64

// for schema
var statusEnum []interface{}

Is there a way to get the the result with iota?
Something like:
# ...
type Status int64
const (
	StatusAvailable Status = iota
	StatusPending  Status
	StatusSold     Status
)
#...

For me it doesn't work with iota as well
// swagger:enum TaskPriority
type TaskPriority int

const (
    TaskPriorityLow TaskPriority = iota
    TaskPriorityMedium
    TaskPriorityHigh
)

Swagger output:
properties:
    TaskPriority: {}


NixOS does not boot with systemd 256 and linux 5.4

This issue is mostly for information purposes.
On nixos-unstable after systemd update to 256 (2024-07-28) changing boot.kernelPackages to any variation using linux 5.4 will result in not being able to boot into your system after reboot.
Similarly updating nixos-unstable past systemd 256 update while using linux 5.4 (that may have some problems even before rebooting).
All systemd units during stage 2 would not start with error - "Argument list too long":
[    3.253550] systemd[1]: systemd-modules-load.service: Failed to spawn executor: Argument list too long
[    3.255119] systemd[1]: systemd-modules-load.service: Failed to spawn 'start' task: Argument list too long
[    3.256749] systemd[1]: systemd-modules-load.service: Failed with result 'resources'.

Upstream systemd issue:
https://github.com/systemd/systemd/issues/33613
Unmerged PR that may have a potential fix:
https://github.com/systemd/systemd/pull/34005

Ways to resolve it, in case you are affected and cannot boot:

Reboot again and on bootloader menu choose previous generation, boot with it and change boot.kernelPackages back to version other than linux 5.4.
If booting with previous generation does not work, boot with nixos installation iso and change boot.kernelPackages that way.

If you need to use older kernel - any version other than 5.4 should not be affected: 4.19, 5.10, etc.
If you need to use linux 5.4 specifically, the easiest way to do it would be to switch to nixos-24.05 instead of nixos-unstable (as nixos-24.05 still uses systemd 255).
NixOS tests on hydra indicating the problem:
https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.kernel-generic.linux_5_4.x86_64-linux
https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.kernel-generic.linux_rt_5_4.x86_64-linux
https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.kernel-generic.linux_5_4_hardened.x86_64-linux

systemd on nixos-unstable got to 256.6 that should include fixes.


HBASE-27495 Improve HFileLinkCleaner to validate back reference links…

… ahead the next traverse

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m  8s
Docker mode activated.


[5559] - use DTTP codeset for country code lookup

Context

Several trainees are stuck retrieving a TRN
Their requests failed as they were missing trainingCountryCode
These are blank as Dqt::Params::TrnRequest uses the HESA country codeset mappings to retrieve an iqts country code

Changes proposed in this pull request
Use DTTP codesets to retrieve the country code - this is used to build the autofill iqts country form so should match up correctly all of the time.

 use DTTP country codesets for lookup in TrnRequest builder


[BUG] its said System.Net.Http.HttpRequestException: No connection could be made because the target machine actively refused it. (github.com:443)  [Inner Exception] System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it.  so help me plz

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?

bro i fix it

i need to open normal roblox first then i can open bloxstrap

Can you go into your windows command line, run ping github.com, and send the response here?

Pinging github.com [<IP_ADDRESS>] with 32 bytes of data:
Reply from <IP_ADDRESS>: bytes=32 time<1ms TTL=64
Reply from <IP_ADDRESS>: bytes=32 time<1ms TTL=64
Reply from <IP_ADDRESS>: bytes=32 time<1ms TTL=64
Reply from <IP_ADDRESS>: bytes=32 time<1ms TTL=64
Ping statistics for <IP_ADDRESS>:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
here

Collaborator

Pinging github.com [<IP_ADDRESS>] with 32 bytes of data:
Reply from <IP_ADDRESS>: bytes=32 time<1ms TTL=64
Reply from <IP_ADDRESS>: bytes=32 time<1ms TTL=64
Reply from <IP_ADDRESS>: bytes=32 time<1ms TTL=64
Reply from <IP_ADDRESS>: bytes=32 time<1ms TTL=64
Ping statistics for <IP_ADDRESS>:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

...How are you even able to use the GitHub website here??
Either way, open Command Prompt as Administator, and run this command:
notepad C:\Windows\System32\drivers\etc\hosts
Remove any lines that have '<IP_ADDRESS>'' in them, and then save.
Afterwards, run this command:
ipconfig /flushdns
Then, Bloxstrap should work. If it still doesn't, let me know.

ipconfig /flushdns

still doesn't :/

Show a screenshot of the hosts file open in Notepad please

notepad C:\Windows\System32\drivers\etc\hosts

Show a screenshot of the hosts file open in Notepad please

Show a screenshot of the hosts file open in Notepad please

what  next?

I asked you to remove all lines that have "<IP_ADDRESS>" in them and then save. Did you not do that?

I asked you to remove all lines that have "<IP_ADDRESS>" in them and then save. Did you not do that?

it cant save

it cant save

Why not?

it cant save

Why not?

it said u dont have permission to save here contract with system owner for some thing...

Did you run Notepad as an Administrator?

bruh i forgor but its works now thanks!


better to remove the install.bat file as it is auto in comfyUI

Hai.. it is better to skip the install bat file as it is easy to install same in comfy and it may interfere with other installs. can you suppress same as Comfy Manager will handle most of it.
Secondly can you specify the model paths and loading of the LLM models as it is not clear in this repo. how do we ensure if other LLM models needs to be tested using your nodes.
third using openAPI is not possible as they changed all the connecting info

i fixed the openai code and also deleted the installer.bat
im currently training some llms for auto-prompting, i will add the choosing llm feature soon.

awesome and thanks. If you could add some more models to work with your nodes it will be a game changer. Especially with Image 2 txt there is not much comfy nodes available. Also if you can have a look at the stable LLM portfolio and add them to work for both text and image to text guidance it will have a major impact. Do let me know if any of same can be done. thanks a lot.

also kindly see if you can find a way to add (https://github.com/THUDM/CogVLM) and other VLM models as these are some open source ones with no issues on commercial use cases. Also have a look into (https://github.com/SkunkworksAI/BakLLaVA)  (https://github.com/DLYuanGod/TinyGPT-V) and many VLM models that will be super cool.

added bakllava and other llava models, now i will work on other ones

superb and awesome


Allow clip-box to auto expand

Resolves https://github.com/cogeotiff/rio-tiler/issues/607

thanks @abarciauskas-bgse 🙏
Could you add a tests for this? Thanks 😄

Added tests: https://github.com/cogeotiff/rio-tiler/pull/608/commits/feb193658313556ad4f9c3dd2e88a91e10a22986 let me know what you think @vincentsarago

Working through the linting errors now!

🙏 do not worry about the benchmark fail.

@abarciauskas-bgse I'm still wondering if we should just set the setting to True by default! If setting it to True do not change the result of non-failing requests and avoid errors when it was previously failing I guess setting it to True will just be an enhancement 😄


Bump kotlin version to 1.6.0

Bump Kotlin version to 1.6.0 for fix build android version for react native >0.70.x

@osamaqarem could we please get this merged?  Would help a ton with compatibility with RN 0.71.2!

@osamaqarem could we please get this merged?  Would help a ton with compatibility with RN 0.71.2!  I've tested it and it works perfectly fine with this PR.

Oh sorry I missed this PR. Will take a look soon.

Thanks for the PR - merging and releasing 👍
FYI if this issue happens again in the future you can define a variable kotlinVersion in your android/build.gradle
kotlinVersion = "1.6.0"

this package checks for this here:
https://github.com/osamaqarem/react-native-image-colors/blob/4ad55ca1fadd4a988aef65e35295a6b1b4ba8de7/android/build.gradle#L3

Ah, excellent! Thank you so much!


Time scale performance improvement

determineLabelFormat was looping through every data point on chart creation and creating a new moment object for each one. This was a major part of the time to render a time chart and was unnecessary. Since it's only used to format the tooltip we can just do it for the corresponding data point when the tooltip is displayed

@benmccann how about defaulting to presets.time?

If you had a chart that was displaying milliseconds then it would show the same tooltip for every data point. And it still seems a bit overkill still for the annual case like the screenshot above

... the most detail necessary ...

This is based on your expectations, for example (pushing things a bit further), why should we display minutes and seconds for 2019-01-01 04:00:00,  2019-01-01 05:00:00, etc. and not 2019-01-01 4pm? or days for 2019-01-01,  2019-02-01,  2019-03-01, etc. when we could display Jan 2019, Feb 2019, Mar 2019, etc.? So it seems to me that this determineLabelFormat logic implements a use case, not a feature and that's what is wrong here.

... it's consistent in the logic and always shows a fairly reasonable default.

Again, I think this generates a poor default user experience, for example:
- tick 1: 2019-01-01
- tick 2: 2019-01-01 00:00:00.500
- tick 3: 2019-01-01 01:00:00
- tick 4: 2019-01-01 02:00:00.500
- ...

When displaying tooltips point by point, the user will have to "guess" the missing components, I find this quite disturbing while focusing on the moving part (e.g. the hours or, worse, the milliseconds).

But, in my opinion, it's a bit overkill for a chart showing only annual values

Most of the time it will be overridden by the user via tooltipFormat.

I don't necessarily agree that the user has to guess the missing part since it's always 0. That being said it's clear that there's agreement not to go with the approach I initially proposed, so I've gone ahead and removed the whole determineLabelFormat function.

Another idea...
What about presets.full when distribution: 'linear' and timeOpts.displayFormats[me._unit] when distribution: 'series'
presets.full allows you to see the full information if points are placed arbitrarily, but in the series case the points are spaced evenly and so timeOpts.displayFormats[me._unit] shows a more appropriate amount of information

IMO a solid default and no magic is good for this kind of regional option.
OTOH if its not from presets, those can be removed from the adapter. I'd consider that a plus.

displayFormats[me._unit] is consistent and corresponds to what was requested. The only cons is that it makes this information useless by default, for example if unit is hour the tooltip will display 1AM, 2AM, ...., 1AM, 2AM, ... and so on, without any date information.

IMO a solid default and no magic is good for this kind of regional option.

I agree. I initially thought we should go with a date built-in method (e.g. Date.to*String()) but using one of the adapter presets allows to take in account the upcoming adapter options (i18n, timezone, etc.). So I think preset.full would provide a better default (even if sometime too detailed).
If we go with full, maybe we should move it to the adapter formats, rename it to 'datetime' (for example), and remove presets. This would simplify the API and make 'datetime' configurable. If we don't go with 'full'|'datetime', then we should still remove presets from the adapter API.
I think my preference goes for displayFormats['datetime'] as fallback for the tooltip label. We just need to be sure it doesn't cause trouble to have it as part of displayFormats.

Ok, I've made those changes

@etimberg thanks for taking a look. I updated the docs. Let me know what you think. I didn't update Unit because datetime can't be specified as a scale tick unit and so documented separately


Block edge 4.5.27

4.5.27 needs to be disabled:
2 clusters currently failing (14%),  0 gone ( 0%),and  9 successful (64%), out of 14 who attempted the update over 7d
Currently failing classification:
* Down nodes: 1
* Logging issues: 1
* Node pressure: 1
* SDN issue: 1
* Untriaged: 1

4.5.27 can be enabled again:
1 clusters currently failing ( 4%),  0 gone ( 0%),and 15 successful (62%), out of 24 who attempted the update over 7d
Currently failing classification:
* Untriaged: 1

4.5.27 can be enabled again:
1 clusters currently failing ( 4%),  0 gone ( 0%),and 15 successful (62%), out of 24 who attempted the update over 7d
Currently failing classification:
* Untriaged: 1


Handling of missing genotype data

Hi.
I would like to confirm whether permGWAS handles missing genotype data.
When I provide a PLINK .bed file with missing genotypes I get this error:
Traceback (most recent call last):
  File "permGWAS.py", line 88, in <module>
    X, y, K, covs, positions, chrom, X_index = prep.load_and_prepare_data(args)
  File "/permGWAS/preprocessing/prepare_data.py", line 75, in load_and_prepare_data
    X = load_files.load_genotype_matrix(arguments.x, sample_index=sample_index[1])
  File "/permGWAS/preprocessing/load_files.py", line 140, in load_genotype_matrix
    raise Exception('Genotype not in additive encoding.')
Exception: Genotype not in additive encoding.

Thanks,
Yaniv

Dear Yaniv,
currently, we only support fully imputed genotype matrices. You can impute your data using Beagle or Impute2.
Best wishes,
Dominik Grimm


Recommended quit command.

Hi,
I would like to setup a key combo to quit sowm eg like dwm Alt+Shift+q
Would killall sowm be OK?
Can you recommend a command?

I personally use pkill x (pkill sowm works too). killall sowm should work too (though I haven't personally tested it). :+1:

Should this work? Not working for me...
const char* quit[]    = {"pkill x",    0};
{MOD|ShiftMask, XK_q, run, {.com = quit}},

Use const char *quit[] = {"pkill", "x", 0}

Working! Thanks!
I am enjoying sowm on Void linux (+pfetch)

One final question. I am unable to find the scrot app 'scr'
I am using scrot at the moment.
Can you advise where I might find the 'scr' app?

scr is just a script I wrote to take a screenshot and store it by date.
#!/usr/bin/env bash
#
# Take a screenshot.

scr_dir=~/Pictures/Screenshots

printf -v date '%(%F)T' -1
printf -v time '%(%I-%M-%S)T' -1

mkdir -p "$scr_dir/$date"
scr=$scr_dir/$date/$date-$time

import -window root "$scr".jpg
cp -f "$scr".jpg "$scr_dir/current.jpg"

You can set the key to scrot, import, your own script or anything you like really.

Thanks.

You can bind a key to this matricidal script to quit sowm:
{MOD|ShiftMask, XK_q, run, {.com = (const char *[]){"/bin/sh", "-c", "kill -HUP $PPID", 0}}},


refactor: ast node locations in the parser for the resolver.

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[x] Y

Fixes #424

2. What is the scope of this PR (e.g. component or file name):

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[x] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[x] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

kclvm/ast/src/tests.rs
kclvm/parser/src/parser/tests.rs

6. Release note

Please refer to Release Notes Language Style Guide to write a quality release note.
None

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 90.347%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2106

Relevant Lines:
2331

💛  - Coveralls


MNT: Support Catboost for Python 3.11

Reference Issues/PRs
Fixes #363
Plus I have re-enable the tests on python 3.8 on MacOS. The catboost issue there is also solved. :)

Thanks a lot. Let's wait for the issues mentioned in #375 to be fixed so that we can proceed with green CI.

Hi, I could you please merge/rebase on main?


docs(plugins) link compiler and compilation from writing a plugin page

While looking at #3148 i noticed a very good point on missing linking to existing docs

Thanks!


routing-api

We used bosh to deploy Cloud Foundry on top of Openstack and having some issues with gorouter configuration. It is currently has following lines about routing-api:
routing_api:
  uri: http://routing-api.<router public ip>.xip.io
  port: 3000

Above doesn't seems to be right since router has no idea what routing-api..xip.io is. I dumped out the routes the gorouter knows, it has uaa..xip.io  and others, but no routing-api..xip.io
How should we set this?
Thanks a lot in advance.

Update:
I changed the gorouter.yml file to point to the router directly:
routing_api:
  uri: http://<router ip>
  port: 8080

Now I get following 401 error in the gorouter.log:
{"timestamp":1441751750.614469290,"process_id":9333,"source":"router.route_fetcher","log_level":"error","message":"bad response from event source: 401 Unauthorized","data":null}

I can curl http://:@:8080/routes without any issue.
Still the question remains: how should we configure the routing_api?

@jianghaitao The routing_api is another component of Cloud Foundry that we have been developing. The proposal can be found here and the repo here.
It is still in experimental stages, and is not recommended for anyone to be using it currently. I am not sure what you are trying to achieve, but I would recommend that you set the enable_routing_api property to false. The GoRouter will still work without it.

To be more clear, the routing_api uri is set here for the GoRouter, which you need consul deployed for it to work correctly.

Hi @jianghaitao
Given that the routing-api is still considered experimental and subject to change, we'd suggest you stick with the gorouter / cf-release defaults for now. And feel free to follow the cf-release / cf-dev mailing list for updates / announcements related to routing-api.
Thanks!
Mark - CF Routing Team


Delete stats.json file from terra-site

Summary
This 23 MB file doesn't seem to be doing much. We could add it to the .gitignore too.
It's being generated by one of our scripts:
"compile:prod-stats": "webpack --config webpack.prod.config -p --json > stats.json"

Should we stop generating the file? I'm not sure what value is added by saving off the webpack stats?

stats.json can be used with tools to analyze your webpack bundle. We are not currently doing this so I'm fine with just removing the command that generates stats.json and adding it to gitignore if we ever manually generate it to test things with bundle analyzers


Integraing Algorithm with Different Benchmarks

Hello,
I am interested in integrating this RL algorithm with different benchmark environments. Could you please guide me on whether this is feasible? If yes, what specific changes and additions would I need to implement to achieve this integration successfully?
Thank you.

Yes, this is certainly possible and should not be too much work! You would need to add your environment to the tasks directory here: https://github.com/facebookresearch/modem/tree/main/tasks and collect a few demonstrations for use with MoDem. To collect demonstrations you can either use motion planning, a scripted policy, human teleoperation, or simply train an RL policy with e.g. dense rewards / privileged information.


[WIP] 1.2 - Fix Twig Compiling

The PR adds a hack that fixes an exception thrown during twig rendering.

This is not the proper fix, the proper fix is: https://github.com/twigphp/Twig/pull/3719

This should be removed once @bennothommo's PR is merged.

@mjauvin could you see if this fixes the issue for you? It's only a temporary solution but it's better than nothing :)

@LukeTowers @jaxwilko I personally would prefer we apply the fix I suggested in the original issue (https://github.com/wintercms/winter/issues/557#issuecomment-1159670223) and use a call to a concrete class for the callback. I don't believe Twig will apply our fix anytime soon because it's such an edge case.

Fair call. It's a moot point now anyway, as it looks like it's being fixed at the PHP lang level.


background.persistent on manifest

We should take a closer look at manifest.json and check if we really need "persistent": true property on background key.

Implementing non-persistent background scripts will greatly reduce the resource cost of your extension. Most extension functionality can be supported by an event based background script. Only under rare circumstances should an extension have a persistent background, as they constantly consume system resources and can cause a strain on lower-powered devices.

You can read more about it here.

Interesting, this one seems to be Chromium-specfic.
Do we know if they plan to change the default from true to false?


[11.x] Enhance DB inspection commands

This PR enhances DB inspection commands:

On db:show command:

Fixes connection name hadn't been displayed.
Fixes zero table's size hadn't been displayed.
Fixes #52496: the db:show --counts command was failing when table is not on the default schema.
Fixes db:show --views wasn't showing views' rows counts.

On db:table command:

Adds support for schema names (pgsql and sqlsrv), now lists full table names: schema.table.
Displays more table info when available: table's comment (pgsql and mysql), engine (mysql), and collation (mysql).
Displays column's generation type for generated columns, "stored" or "virtual" (all DBs)
Fixes zero table's size hadn't been displayed.

Very nice @hafezdivandari, thank you for this PR! It definitely solves the issues I described in #52496, and more!


[Bug] 1.12.2 SMP Elevator stops recognizing or moving platform

Hi,
I built an elevator shaft which was working fine, but after a server reboot, the platform refused to move (the bottom elevator was powered)
So I rebuilt the platform at the bottom, and now the screens don't show where the platform is (but still show what elevator levels are in the shaft) and all elevators on the server refuse to move anything.
Several server reboots and several attempts at rebuilding the elevator have done nothing to remedy the problem.

What version of RFTools? Anything relevant in the log?

We're using 7.23; it's part of the Revelation FTB pack.
I thought that that may have been the case, but I couldn't find reference to it.
Thanks!


Upgrade to Ember 2.10

When we pull this back into Groundswell, having the Ember version match Groundswell's will make it much easier.


Browser Content Shrinks

Anytime I click on a different tab, then navigate back to my browser tab the content on the browser is cutoff and only the top left 1/4 of the html page is displayed and I constantly have to refresh.
I'm running on a MacPro.

I have the same issue.


TEST-#2670: some updates to improve asv tests stability

Signed-off-by: Anatoly Myachev<EMAIL_ADDRESS>
What do these changes do?

join, merge operations are performed by row index instead of random generated columns;
groupby operations are performed on the initially known number of groups;
use (nrows, ncols) order when setting the size of the generated data;
returned the original data sizes for operations: merge and groupby with multi columns.


add collapsible content doesn't work with browser-ext-github-monaco

Description
There is another very usefull extension https://github.com/hediet/browser-ext-github-monaco which introduce powerful monaco editor to github.
But add collapsible content doesn't work with it.

relatived issue: https://github.com/hediet/browser-ext-github-monaco/issues/47
How to replicate the issue + URL

install https://chrome.google.com/webstore/detail/monaco-markdown-editor-fo/mmpbdjdnmhgkpligeniippcgfmkgkpnf?hl=de&authuser=0
open any github issue page
click add collapsible content button

Extension version
23.3.2
Browser(s) used
chrome111

Nice extension! I'm pretty sure that this doesn't work because we use document.execCommand via text-field-edit to add content to the field whereas GitHub alters the content directly. The "downside" of the API is that it requires the field to be focusable, but the extension you're using hides it via display: none
The good thing is that this can be fixed with some CSS:
textarea:has(+ .hediet-editor-wrapper) {
	display: block !important;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

This should make the editor "focusable but not visible", which fixes it:

The bad news is that this change doesn't belong to Refined GitHub, so you'll have to paste it into the options.


Implement document symbol request

I implemented document symbol request, which enables "document outline" in visual studio code.
I have no experience with contributing features to open source, I tried to match the style of the rest of the project. Are there any things I have to change/add?

@swift-ci please test

@swift-ci please test