First order entropy and ROI-area dependency

Hi all,
I have a discussion point regarding the first order entropy feature. Would love to hear your thoughts on it and whether you think this should be mentioned in the Docs.
According to Decle et al global shannon entropy (as calculated by getEntropyFeatureValue() in PyRadiomics) has a strong relation to ROI-area/size. In their paper they discuss that as a result of this ROI-area dependency, the entropy is systematically underestimated by the following factor:

True entropy = observed entropy + (M-1)/2N
where M = number of bins and N = number of pixels in ROI

The result of this is that smaller ROIs result in a larger underestimation of the true entropy (and also, more bins results in a larger underestimation).  Consequently, conclusions regarding the relation between entropy and outcome are biased by ROI size. Dercle notes in their paper several examples of papers claiming a relation between first order entropy and a certain outcome, that might have been biased by this relation. One examples is e.g. that entropy has been related to tumor T-stage, but often T-stage itself is dependent on tumor size.
They also come up with several solutions.

A proper measurement of global entropy needs a minimum ROI-area of 200 pixel values. (could easily be added to the docs)
ROI sampling with fixed size areas might be a solution.

This second solution I think is described in the paper of Wu et al, where they also discuss several limitations of global entropy. Similar to Dercle et al, Wu et al proposes the use of a global average of several 'local Shanon entropy' samples, which effectively samples a region of interest with multiple smaller image areas (of e.g. 64 pixels) and calculates the average entropy of each of these 'local Shannon entropy' samples.
I'm not necessarily saying that this should be implemented, however it might be something to make users aware of. What do you think?

I think the best way to address this is to bring this up for discussion with the IBSI. There is a user forum dedicated to discussions of this kind of issues that they maintain: https://groups.google.com/forum/#!forum/the_ibsi. Discussing the issue you bring up in the IBSI document would maximize visibility and impact. I think it makes sense to mention this in the documentation for pyradiomics, and reference the studies you mention, but we should hear from @JoostJM first.

I think the second suggestion can be emulated in pyradiomics using the voxel-based radiomics, and then averaging over the parametric map for Shannon Entropy. You'd probably want a larger voxel kernel than the default 3x3(x3).


Application is not authorized to perform this operation

When starting this tool as a Global Admin in our Tenant (and have all the rights in Intune/365/AAD) the toolbox says the application is not authorized to perform this operation, although we did authorize using a Global Admin account and Accepted all the required permissions for the app. Tried it with Visual Studio Code, Powershell ISE etc
The errors are
Get-MgUserPhotoContent : Accessing service failed.
At C:\Tools\IntuneToolBox-main\modules\utility.psm1:232 char:7

  Get-MgUserPhotoContent -UserId $upn -OutFile $path

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: ({ UserId = ************* }:<>f__AnonymousType51) [Get-MgUserPhotoContent_Get], RestException1
FullyQualifiedErrorId : ErrorWrongServer,Microsoft.Graph.PowerShell.Cmdlets.GetMgUserPhotoContent_Get
get-content : Cannot find path 'C:\Tools\IntuneToolBox-main.tmp*************.png' because it does not exist.
At C:\Tools\IntuneToolBox-main\modules\utility.psm1:234 char:49

... LogIn = [convert]::ToBase64String((get-content $path -encoding byte))

                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : ObjectNotFound: (C:\Tools\Intune...dmin@***.png:String) [Get-Content], ItemNotFoundException
FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand

Exception calling "ToBase64String" with "1" argument(s): "Value cannot be null.
Parameter name: inArray"
At C:\Tools\IntuneToolBox-main\modules\utility.psm1:234 char:3

$iconButtonLogIn = [convert]::ToBase64String((get-content $path -en ...

+ CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ArgumentNullException

Get-DecodeBase64Image : Cannot bind argument to parameter 'imageBase64' because it is an empty string.
At C:\Tools\IntuneToolBox-main\modules\utility.psm1:235 char:66

... tonLogIn.source = Get-DecodeBase64Image -ImageBase64 $iconButtonLogIn

                                                     ~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidData: (:) [Get-DecodeBase64Image], ParameterBindingValidationException
FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Get-DecodeBase64Image

Get-MgDeviceManagementManagedDeviceOverview : {
"_version": 3,
"Message": "Application is not authorized to perform this operation. Application must have one of the following scopes: DeviceManagementManagedDevices.Read.All, DeviceManagementManagedDevices.ReadWrite.All - Operation ID (
for customer support): 00000000-0000-0000-0000-000000000000 - Activity ID: 2d354ac3-cffe-4ae6-b842-2e5695b1ff3d - Url: https://fef.amsub0102.manage.microsoft.com/DeviceFE/StatelessDeviceFEService/deviceManagement/managedDevi
ceOverview?api-version=5022-05-24",
"CustomApiErrorPhrase": "",
"RetryAfter": null,
"ErrorSourceService": "",
"HttpHeaders": "{}"
}
At C:\Tools\IntuneToolBox-main\modules\pageMain.psm1:19 char:5

$deviceManagementOverview = Get-MgDeviceManagementManagedDeviceOv ...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: ({ Property = , ExpandProperty =  }:<>f__AnonymousType12) [Get-MgDeviceMan...iceOverview_Get], RestException1
FullyQualifiedErrorId : Forbidden,Microsoft.Graph.PowerShell.Cmdlets.GetMgDeviceManagementManagedDeviceOverview_Get
Get-MgDeviceManagementDeviceCompliancePolicyDeviceStateSummary : {
"_version": 3,
"Message": "Application is not authorized to perform this operation. Application must have one of the following scopes: DeviceManagementConfiguration.Read.All, DeviceManagementConfiguration.ReadWrite.All - Operation ID (fo
r customer support): 00000000-0000-0000-0000-000000000000 - Activity ID: 2979630c-11ee-4251-978d-9a785e2e83b4 - Url: https://fef.amsub0102.manage.microsoft.com/DeviceConfiguration_2206/StatelessDeviceConfigurationFEService/d
eviceManagement/deviceCompliancePolicyDeviceStateSummary?api-version=5022-04-13",
"CustomApiErrorPhrase": "",
"RetryAfter": null,
"ErrorSourceService": "",
"HttpHeaders": "{}"
}
At C:\Tools\IntuneToolBox-main\modules\pageMain.psm1:20 char:5

$complianceOverview = Get-MgDeviceManagementDeviceCompliancePolic ...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: ({ Property = , ExpandProperty =  }:<>f__AnonymousType12) [Get-MgDeviceMan...tateSummary_Get], RestException1
FullyQualifiedErrorId : Forbidden,Microsoft.Graph.PowerShell.Cmdlets.GetMgDeviceManagementDeviceCompliancePolicyDeviceStateSummary_Get
Get-MgDeviceManagementDeviceConfiguration : {
"_version": 3,
"Message": "Application is not authorized to perform this operation. Application must have one of the following scopes: DeviceManagementConfiguration.Read.All, DeviceManagementConfiguration.ReadWrite.All - Operation ID (fo
r customer support): 00000000-0000-0000-0000-000000000000 - Activity ID: aa6d224d-f49e-451d-8b81-55fc2e7ad37e - Url: https://fef.amsub0102.manage.microsoft.com/DeviceConfiguration_2206/StatelessDeviceConfigurationFEService/d
eviceManagement/deviceConfigurations?api-version=5022-04-13&$top=100",
"CustomApiErrorPhrase": "",
"RetryAfter": null,
"ErrorSourceService": "",
"HttpHeaders": "{}"
}
At C:\Tools\IntuneToolBox-main\modules\pageGroupMgmt.psm1:444 char:5

Get-MgDeviceManagementDeviceConfiguration -All | ForEach-Object{

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: ({ Top = 100, Sk...ndProperty =  }:<>f__AnonymousType28) [Get-MgDeviceMan...figuration_List], RestException1
FullyQualifiedErrorId : Forbidden,Microsoft.Graph.PowerShell.Cmdlets.GetMgDeviceManagementDeviceConfiguration_List
Get-MgDeviceManagementDeviceCompliancePolicy : {
"_version": 3,
"Message": "Application is not authorized to perform this operation. Application must have one of the following scopes: DeviceManagementConfiguration.Read.All, DeviceManagementConfiguration.ReadWrite.All - Operation ID (fo
r customer support): 00000000-0000-0000-0000-000000000000 - Activity ID: 2f1e6f32-8f7b-41f3-8bd3-055440cf172b - Url: https://fef.amsub0102.manage.microsoft.com/DeviceConfiguration_2206/StatelessDeviceConfigurationFEService/d
eviceManagement/deviceCompliancePolicies?api-version=5022-04-13&$top=100",
"CustomApiErrorPhrase": "",
"RetryAfter": null,
"ErrorSourceService": "",
"HttpHeaders": "{}"
}
At C:\Tools\IntuneToolBox-main\modules\pageGroupMgmt.psm1:557 char:5

Get-MgDeviceManagementDeviceCompliancePolicy -All | ForEach-Objec ...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: ({ Top = 100, Sk...ndProperty =  }:<>f__AnonymousType28) [Get-MgDeviceMan...ancePolicy_List], RestException1
FullyQualifiedErrorId : Forbidden,Microsoft.Graph.PowerShell.Cmdlets.GetMgDeviceManagementDeviceCompliancePolicy_List

I missed to add some permissions. Can you try if it works now?

Had two prompts for permissions this time, one where we could also give permission for the whole organization in our tenant.
Seems to work now although we cannot click on anything on the Home screen

In the Group MGMT section we can do some more. The view area size however is too small so we have to scroll left and right or resize some columns since we cannot resize the whole Intune Tool Box screen.
Tiny other issue. When there is no profile picture associated with the account you use to manage the toolbox, you receive an error
Get-MgUserPhotoContent : Accessing service failed.
At C:\Tools\IntuneToolBox-main\modules\utility.psm1:232 char:7

  Get-MgUserPhotoContent -UserId $upn -OutFile $path

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: ({ UserId = ******* }:<>f__AnonymousType51) [Get-MgUserPhotoContent_Get], RestException1
FullyQualifiedErrorId : ErrorWrongServer,Microsoft.Graph.PowerShell.Cmdlets.GetMgUserPhotoContent_Get
get-content : Cannot find path 'C:\Tools\IntuneToolBox-main.tmp*******.png' because it does not exist.
At C:\Tools\IntuneToolBox-main\modules\utility.psm1:234 char:49

... LogIn = [convert]::ToBase64String((get-content $path -encoding byte))

                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : ObjectNotFound: (C:\Tools\Intune...dmin*******.png:String) [Get-Content], ItemNotFoundException
FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand

Exception calling "ToBase64String" with "1" argument(s): "Value cannot be null.
Parameter name: inArray"
At C:\Tools\IntuneToolBox-main\modules\utility.psm1:234 char:3

$iconButtonLogIn = [convert]::ToBase64String((get-content $path -en ...

+ CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ArgumentNullException

Get-DecodeBase64Image : Cannot bind argument to parameter 'imageBase64' because it is an empty string.
At C:\Tools\IntuneToolBox-main\modules\utility.psm1:235 char:66

... tonLogIn.source = Get-DecodeBase64Image -ImageBase64 $iconButtonLogIn

                                                     ~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidData: (:) [Get-DecodeBase64Image], ParameterBindingValidationException
FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Get-DecodeBase64Image

Thanks for the quick response and all the efforts you make for the community.

Thank you for your feedback. I try to include this in the next version to give more possibilities to resize the screen. The bug with no profile picture I will fix until tomorrow.

Can you check the new version the bug is fixed an as already mention I will consider your feedback for the next version

Bug indeed fixed, can connect to our tenant, but the other issues remain (no resizing, cannot click on anything in home view)


Bokeh interactive plotting support request

Environment data

VS Code version: 1.32.3
Extension version (available under the Extensions sidebar):  2019.3.6558
OS and version: WIndows 10 17134.648
Python version (& distribution if applicable, e.g. Anaconda): 3.7
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda
Relevant/affected Python packages and their versions: NA

Expected behaviour
(Feature Request)
Bokeh is able to handle incremental plotting inside of Jupyter notebook cells in the browser, but this desireably behavior is not available in VSCode envronment. In addition, a work around would be to use a separate Bokeh server to the browser and then output to that. This is no longer possible, becuase with the new Bokeh API, you need to start either a push_session or a pull_session and either try to start a new Tornado event loop (which fails). This is supposed to work, but I can't find any way to pull it off. My guess is that VSCode needs to install a notebook hook (new in the revamped API) to define how to interact with the VSCode Interactive Python loop.
Actual behaviour
Can only get inline, non-incremental plots.
Steps to reproduce:
The following:

#%% Streaming Plot in a web browser
from bokeh.server.server import Server
from bokeh.application import Application
from bokeh.application.handlers.function import FunctionHandler
from bokeh.plotting import figure, ColumnDataSource, show, output_notebook
from bokeh.client.session import push_session, pull_session
from bokeh.plotting import curdoc
import tornado
import time
import random
source = ColumnDataSource({'x': [], 'y': [], 'color': []})
cnt = 0
def update():
global cnt,source,docG
if cnt < 10:
new = {'x': [random.random()],
'y': [random.random()],
'color': [random.choice(['red', 'blue', 'green'])]}
source.stream(new)
cnt += 1
def make_document(doc):
global source,docG
docG = doc
doc.add_periodic_callback(update, 100)

fig = figure(title='Streaming Circle Plot!',plot_width=600,plot_height=600,
             x_range=[0, 1], y_range=[0, 1])
fig.circle(source=source, x='x', y='y', color='color', size=10)

doc.title = "Now with live updating!"
doc.add_root(fig)

apps = {'/': Application(FunctionHandler(make_document))}
server = Server(apps, port=5001)
server.start()
print(f'done')

Generates incremental browser output:

But is being done from an in-proc server. Nothing else can be run. If you start an out of proc server and try to talk to it:

Run: bokeh --serve --port=5002 --show
Restart the kernel and replace the "server" lines above with:
io_loop = tornado.ioloop.IOLoop.current()
session = pull_session(url='http://localhost:5001',io_loop=io_loop)
3, What you get is:
RuntimeError: Cannot run the event loop while another loop is running
The server shows that you did connect to it, but even though you gave it an io_loop to use, it still tried to start one on it's own.

I'm sure there's some sort of correct incantantion... but don't see what to do.
Logs
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)
NA

I just tried it in Jupyter and it crashed in the same way... doesn't look like it's your problem, probably theirs. Feel free to close


Update absence chart to show excused absences, with reasons and comments on hover

Who is this PR for?
K12 SST, AP, counselors
What problem does this PR fix?
Student data in Aspen shows more detail about whether absences are excused and reasons or comments about why the student is out; Insights doesn't reflect this.
What does this PR do?
Updates the detailed absence chart on the student profile page to show this.  This is a minimal change, which will let us also look at this data for quality checks, and we might want to revisit the design later.  But this makes the information functionally usable.
Screenshot (if adding a client-side feature)
stacked, hover shows excused

hover shows comment (not excused)

no regressions to other charts

selfie


Bug report: Vertical display is broken

Summary
I'm using a Full HD monitor rotated to vertical position. Input and Output fields are broken and can't be found.
Debug info

Version: 8.31.3
Compile time: 09/05/2019 16:10:55 UTC
User-Agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36
Link to reproduce

Example

Duplicate of #486


Ensure properties override attributes at upgrade time. Fixes #3779.

Reference Issue
Read instance values into _aboveConfig rather than config, so that they override attribute values.  Requires handling instance values & defaults as separate loops, and required stubbing the new _configureInstanceProperties in dom-bind since the hasOwnProperty check would pass for dom-bind's instance-time accessors, causing undefined from the getter to be configured into _aboveConfig.  dom-bind has its own early instance property handling.
Fixes #3779

Needs a test =)

LGTM


Add a "strstr" function to lib/strings.nix

The nixpkgs lib is lacking a strstr / find first substring function, i.e., a function which given a string and a substring will return the index of the first match of substring in string (if not found, maybe it should return null?).
Examples:

strstr "foo" "aa*fooobar"
=> 3
strstr "foo" "a"
=> null

This could be used in combination with builtins.substring to making chopping up strings a lot easier.

indexOf for lists would be nice too
indexOf 42 [40 41 42 43]
=> 2

Im surprised there's no match or strstr.

stastr is probably better to make as a builtin written in C++.
Nix implementation would be very ineffective

Looks like there is infix which I didn't make the jump.
I'm so use to other language's idioms for naming.
Maybe an alias here would be useful.
lib.strings.hasInfix


Possible typo in ppd/ppd-ipp.c?

The code line here looks like a typo - everything multiplied by zero is zero.

This piece of code is to determine whether the string items[0] is an integer number or not. First it is checked whether it is not empty and if so, the function strtol() is applied. The * 0 we do as we want to ignore the actual number discovered. This makes the left hand side of the || always false so that we evaluate the right hand side. Here we check whether strtol() errorred and whether it interpreted the whole string as a number. If there is no error and the whole string was interpreted as number, item[0] is considered a number.
      else if (strlen(items[0]) > 0 &&
	       ((int)(strtol(items[0], &p, 10) * 0) ||
		(errno == 0 && *p == '\0')))

This is exactly as it was designed. I do not remember to have done this, most probably this code stems froma contributor but it is correct.
Closing ...

A simpler solution to achieve the same thing is naturally welcome ...

Attempt at #38 .


Question about "opacity" in Volume rendering

Hello! I have a problem with the calculation of “opacity”.
(https://github.com/kwea123/ngp_pl/blob/7ae0c2835af8032948a3f0eeb82e6500e3aa9526/models/csrc/volumerendering.cu#L27-L44)
The opacity of a ray should be $1-\prod_{i}(1-a_i)$.
But in the code, the opacity is $\sum_{i}a_i T_i$.

Probably because there are two types of opacity: one for a ray, or for primitives. I think the principle of the "opacity" is if it could be seen, whatever by either type.

notice that $T$ is multiplied by $1-a_i$ each time (L38), so it's actually $1-\prod_{i}(1-a_i)$ like what you write


[Snyk] Security upgrade nginx from 1.26 to 1.27.3-alpine3.20-slim

Snyk has created this PR to fix 4 vulnerabilities in the dockerfile dependencies of this project.
Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Snyk changed the following file(s):

src/Aguacongas.TheIdServer.BlazorApp/Dockerfile

We recommend upgrading to nginx:1.27.3-alpine3.20-slim, as this image has only 0 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Integer Overflow or Wraparound SNYK-DEBIAN12-ZLIB-6008963
  500

CVE-2023-44487 SNYK-DEBIAN12-NGINX-5953391
  364

CVE-2024-11053 SNYK-DEBIAN12-CURL-8496606
  221

CVE-2024-11053 SNYK-DEBIAN12-CURL-8496606
  221

Improper Certificate Validation SNYK-DEBIAN12-PERL-5489184
  150

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

:white_check_mark: Build TheIdServer 8.3.0-snyk-fix-8c7c1775ab419095cb4ac3c2294babe31- completed (commit https://github.com/Aguafrommars/TheIdServer/commit/3bd2552c6f by @snyk-bot)


browser export is not ES5

Looks like something is getting mixed up during the build process...
https://github.com/wessberg/intl-relative-time-format/blob/a9070e92a5b829f73e66972d1b74b5e01393f523/package.json#L90-L96
dist/index.esm.js
for (const part of parts) {
      // Add new part Record { [[Type]]: part.[[Type]], [[Value]]: part.[[Value]], [[Unit]]: unit } as a new element on the List result.
      if (part.type === "literal") {
        result.push({ ...part,
          type: part.type
        });
      } else {
        result.push({ ...part,
          unit
        });
      }
    } // Set nextIndex to endIndex + 1.

dist/index.js
var _iteratorNormalCompletion = true;
      var _didIteratorError = false;
      var _iteratorError = undefined;

      try {
        for (var _iterator = parts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
          var part = _step.value;

          // Add new part Record { [[Type]]: part.[[Type]], [[Value]]: part.[[Value]], [[Unit]]: unit } as a new element on the List result.
          if (part.type === "literal") {
            result.push(_objectSpread2({}, part, {
              type: part.type
            }));
          } else {
            result.push(_objectSpread2({}, part, {
              unit: unit
            }));
          }
        } // Set nextIndex to endIndex + 1.

      } catch (err) {
        _didIteratorError = true;
        _iteratorError = err;
      } finally {
        try {
          if (!_iteratorNormalCompletion && _iterator.return != null) {
            _iterator.return();
          }
        } finally {
          if (_didIteratorError) {
            throw _iteratorError;
          }
        }
      }

Sorry I was dumb regarding the ticket title - I mixed up ES5 and ES2015 :man_facepalming:.
Anyway, I'd think a polyfill should default to the ES5 export also for the main field, otherwise it's useful only to browsers that support for..of and object spread, but not Intl.RelativeTimeFormat, which is unnecessarily narrow.


dbg error with erlang 27.2

With:
elixir 1.18.0-otp-27
erlang 27.2

To repoduce:
mix new my_app

# add {:kino, "~> 0.14.2"} as a deps
mix deps.get

iex -S mix

iex(2)> dbg("Hello")
*** ERROR: Shell process terminated! (^G to start new job) ***

18:55:46.641 [error] Process #PID<0.70.0> raised an exception
** (ArgumentError) errors were found at the given arguments:

  * 2nd argument: not a tuple

    :erlang.element(1, :livebook_get_evaluation_file)
    (kernel 10.2) group.erl:1281: :group.type/1
    (kernel 10.2) group.erl:1271: :group.log_io_request/3
    (kernel 10.2) group.erl:227: :group.io_request/6
    (kernel 10.2) group.erl:153: :group.server_loop/3

See https://github.com/livebook-dev/kino/issues/482#issuecomment-2559641101, this is a regression in OTP 27.2 and it has been reported upstream :)


Add padding for suggested articles in large breakpoint

Currently, when the browser window is exactly the same width as a responsive breakpoint, the suggested articles list has no padding:

This PR adds padding in the large breakpoint:

Thanks @aleksrutins!


unable to run the demo

First off, thank you for the excellent work on this project.
I'm experiencing an issue while attempting to run the demo. I've combed through the existing repository issues but have not found a solution that addresses my problem.
Here's the procedure I've followed:
Install the required environment with:
conda create -n gist python=3.9 && conda activate gist
pip install torch
pip install -r requirements.txt

And I got the following installed packages:
Package                  Version
------------------------ ------------
absl-py                  2.0.0
accelerate               0.18.0
aiohttp                  3.8.6
aiosignal                1.3.1
annotated-types          0.6.0
antlr4-python3-runtime   4.9.3
async-timeout            4.0.3
attrs                    23.1.0
certifi                  2023.7.22
charset-normalizer       3.3.2
click                    8.1.7
cmake                    3.27.7
datasets                 2.10.0
deepspeed                0.8.3
dill                     0.3.6
docker-pycreds           0.4.0
evaluate                 0.3.0
filelock                 3.13.1
fire                     0.5.0
frozenlist               1.4.0
fsspec                   2023.10.0
gitdb                    4.0.11
GitPython                3.1.40
hjson                    3.1.0
huggingface-hub          0.18.0
hydra-core               1.2.0
idna                     3.4
Jinja2                   3.1.2
joblib                   1.3.2
lit                      17.0.4
MarkupSafe               2.1.3
mpmath                   1.3.0
multidict                6.0.4
multiprocess             0.70.14
networkx                 3.2.1
ninja                    <IP_ADDRESS>
nltk                     3.6.2
numpy                    1.21.2
nvidia-cublas-cu11       <IP_ADDRESS>
nvidia-cuda-cupti-cu11   11.7.101
nvidia-cuda-nvrtc-cu11   11.7.99
nvidia-cuda-runtime-cu11 11.7.99
nvidia-cudnn-cu11        <IP_ADDRESS>
nvidia-cufft-cu11        <IP_ADDRESS>
nvidia-curand-cu11       <IP_ADDRESS>
nvidia-cusolver-cu11     <IP_ADDRESS>
nvidia-cusparse-cu11     <IP_ADDRESS>
nvidia-nccl-cu11         2.14.3
nvidia-nvtx-cu11         11.7.91
omegaconf                2.3.0
openai                   0.27.2
packaging                23.2
pandas                   2.0.3
pathtools                0.1.2
pip                      23.3
promise                  2.3
protobuf                 4.25.0
psutil                   5.9.6
py-cpuinfo               9.0.0
pyarrow                  14.0.0
pydantic                 2.4.2
pydantic_core            2.10.1
python-dateutil          2.8.2
pytz                     2023.3.post1
PyYAML                   6.0.1
regex                    2023.10.3
requests                 2.31.0
responses                0.18.0
rouge-score              0.1.2
sentencepiece            0.1.98
sentry-sdk               1.34.0
setproctitle             1.3.3
setuptools               68.0.0
shortuuid                1.0.11
six                      1.16.0
smmap                    5.0.1
sympy                    1.12
termcolor                2.3.0
tokenizers               0.13.3
torch                    2.0.0
tqdm                     4.66.1
transformers             4.28.0.dev0
triton                   2.0.0
typing_extensions        4.8.0
tzdata                   2023.3
urllib3                  2.0.7
wandb                    0.13.4
wheel                    0.41.2
xxhash                   3.4.1
yarl                     1.9.2

After this, I use the this command to run the demo
python -m src.compress --model_name_or_path jayelm/llama-7b-gist-1 --base_llama_path llama-7b \
    --instruction "Name the top cities in France that should not be missed. Include the best aspects of each place as well."

But I encountered the following problem:
/anaconda/envs/gist/lib/python3.9/site-packages/pydantic/_internal/_config.py:317: UserWarning: Valid config keys have changed in V2:
* 'allow_population_by_field_name' has been renamed to 'populate_by_name'
* 'validate_all' has been renamed to 'validate_default'
  warnings.warn(message, UserWarning)
/anaconda/envs/gist/lib/python3.9/site-packages/pydantic/_internal/_fields.py:128: UserWarning: Field "model_persistence_threshold" has conflict with protected namespace "model_".

You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ()`.
  warnings.warn(
/anaconda/envs/gist/lib/python3.9/site-packages/pydantic/_internal/_config.py:317: UserWarning: Valid config keys have changed in V2:
* 'validate_all' has been renamed to 'validate_default'
  warnings.warn(message, UserWarning)
Traceback (most recent call last):
  File "/anaconda/envs/gist/lib/python3.9/site-packages/transformers/utils/import_utils.py", line 1126, in _get_module
    return importlib.import_module("." + module_name, self.__name__)
  File "/anaconda/envs/gist/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/anaconda/envs/gist/lib/python3.9/site-packages/transformers/models/llama/modeling_llama.py", line 34, in <module>
    from ...modeling_utils import PreTrainedModel
  File "/anaconda/envs/gist/lib/python3.9/site-packages/transformers/modeling_utils.py", line 37, in <module>
    from .deepspeed import deepspeed_config, is_deepspeed_zero3_enabled
  File "/anaconda/envs/gist/lib/python3.9/site-packages/transformers/deepspeed.py", line 38, in <module>
    from accelerate.utils.deepspeed import HfDeepSpeedConfig as DeepSpeedConfig
  File "/anaconda/envs/gist/lib/python3.9/site-packages/accelerate/__init__.py", line 3, in <module>
    from .accelerator import Accelerator
  File "/anaconda/envs/gist/lib/python3.9/site-packages/accelerate/accelerator.py", line 31, in <module>
    from .checkpointing import load_accelerator_state, load_custom_state, save_accelerator_state, save_custom_state
  File "/anaconda/envs/gist/lib/python3.9/site-packages/accelerate/checkpointing.py", line 24, in <module>
    from .utils import (
  File "/anaconda/envs/gist/lib/python3.9/site-packages/accelerate/utils/__init__.py", line 106, in <module>
    from .launch import (
  File "/anaconda/envs/gist/lib/python3.9/site-packages/accelerate/utils/launch.py", line 28, in <module>
    from ..utils.other import merge_dicts
  File "/anaconda/envs/gist/lib/python3.9/site-packages/accelerate/utils/other.py", line 28, in <module>
    from deepspeed import DeepSpeedEngine
  File "/anaconda/envs/gist/lib/python3.9/site-packages/deepspeed/__init__.py", line 15, in <module>
    from . import module_inject
  File "/anaconda/envs/gist/lib/python3.9/site-packages/deepspeed/module_inject/__init__.py", line 3, in <module>
    from .replace_module import replace_transformer_layer, revert_transformer_layer, ReplaceWithTensorSlicing, GroupQuantizer, generic_injection
  File "/anaconda/envs/gist/lib/python3.9/site-packages/deepspeed/module_inject/replace_module.py", line 803, in <module>
    from ..pipe import PipelineModule
  File "/anaconda/envs/gist/lib/python3.9/site-packages/deepspeed/pipe/__init__.py", line 3, in <module>
    from ..runtime.pipe import PipelineModule, LayerSpec, TiedLayerSpec
  File "/anaconda/envs/gist/lib/python3.9/site-packages/deepspeed/runtime/pipe/__init__.py", line 3, in <module>
    from .module import PipelineModule, LayerSpec, TiedLayerSpec
  File "/anaconda/envs/gist/lib/python3.9/site-packages/deepspeed/runtime/pipe/module.py", line 16, in <module>
    from ..activation_checkpointing import checkpointing
  File "/anaconda/envs/gist/lib/python3.9/site-packages/deepspeed/runtime/activation_checkpointing/checkpointing.py", line 25, in <module>
    from deepspeed.runtime.config import DeepSpeedConfig
  File "/anaconda/envs/gist/lib/python3.9/site-packages/deepspeed/runtime/config.py", line 30, in <module>
    from ..monitor.config import get_monitor_config
  File "/anaconda/envs/gist/lib/python3.9/site-packages/deepspeed/monitor/config.py", line 70, in <module>
    class DeepSpeedMonitorConfig(DeepSpeedConfigModel):
  File "/anaconda/envs/gist/lib/python3.9/site-packages/deepspeed/monitor/config.py", line 82, in DeepSpeedMonitorConfig
    def check_enabled(cls, values):
  File "/anaconda/envs/gist/lib/python3.9/site-packages/pydantic/deprecated/class_validators.py", line 222, in root_validator
    return root_validator()(*__args)  # type: ignore
  File "/anaconda/envs/gist/lib/python3.9/site-packages/pydantic/deprecated/class_validators.py", line 228, in root_validator
    raise PydanticUserError(
pydantic.errors.PydanticUserError: If you use `@root_validator` with pre=False (the default) you MUST specify `skip_on_failure=True`. Note that `@root_validator` is deprecated and should be replaced with `@model_validator`.

For further information visit https://errors.pydantic.dev/2.4/u/root-validator-pre-skip

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/anaconda/envs/gist/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/anaconda/envs/gist/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/v-xincheng/projects/gisting/src/compress.py", line 9, in <module>
    from . import gist_llama, gist_t5, weight_diff
  File "/home/v-xincheng/projects/gisting/src/gist_llama.py", line 14, in <module>
    from transformers.models.llama import LlamaPreTrainedModel
  File "<frozen importlib._bootstrap>", line 1055, in _handle_fromlist
  File "/anaconda/envs/gist/lib/python3.9/site-packages/transformers/utils/import_utils.py", line 1116, in __getattr__
    module = self._get_module(self._class_to_module[name])
  File "/anaconda/envs/gist/lib/python3.9/site-packages/transformers/utils/import_utils.py", line 1128, in _get_module
    raise RuntimeError(
RuntimeError: Failed to import transformers.models.llama.modeling_llama because of the following error (look up to see its traceback):
If you use `@root_validator` with pre=False (the default) you MUST specify `skip_on_failure=True`. Note that `@root_validator` is deprecated and should be replaced with `@model_validator`.

For further information visit https://errors.pydantic.dev/2.4/u/root-validator-pre-skip

downgrading pydantic version solves the problem:
pip install pydantic==1.10.9

May I ask what was the procedure to recover the base LLama model??
Im having a lot of troubles in getting the base weights and running the weight_diff.py script


DataTree.to_zarr(..., compute=True, consolidate=True) fails with KeyError: '.zmetadata' on cloud storage

What happened?
Attempts to write consolidated metadata with a DataTree.to_zarr method fail with a KeyError: '.zmetadata' . This may be because compute=False is not currently supported
https://github.com/pydata/xarray/blob/9cb9958d67b0d5d5178a655497c97e3ac968c5d2/xarray/core/datatree_io.py#L116-L140
and therefore there is no way to write out the metadata and structure  beforehand, as documented here for datasets:
https://docs.xarray.dev/en/stable/user-guide/io.html#distributed-writes
What did you expect to happen?
It would be helpful to have some way to consolidate metadata within a DataTree.
Minimal Complete Verifiable Example
import dask.array as da
import numpy as np
import xarray as xr
from xarray.core.datatree import DataTree

dt = DataTree.from_dict({
  "a": xr.Dataset({"a": da.ones(1000, chunks=10)}),
  "b": xr.Dataset({"b": da.ones(1000, chunks=10)}),
})

url = "s3://bucket/scratch"

# Attempt to write out the dataset outline + metadata
# Fails with NotImplementedError: compute=False has not been implemented yet
dt.to_zarr(f"{url}/test.zarr", mode="w", compute=False, consolidated=True)

# This fails when looking for the consolidated metadata `.zmetadata`
# Fails with KeyError: '.zmetadata'
dt.to_zarr(f"{url}/test.zarr", mode="w", compute=True, consolidated=True)

MVCE confirmation

[X] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[X] Complete example — the example is self-contained, including all data and the text of any traceback.
[X] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[X] New issue — a search of GitHub Issues suggests this is not a duplicate.
[X] Recent environment — the issue occurs with the latest version of xarray and its dependencies.

Relevant log output
No response
Anything else we need to know?

I'll close the issue, but please re-open it if it covers something I've missed.


RFE-2797: config/v1: Add MatchLabelKeysInPodTopologySpread to TechPreviewNoUpgrade

Enabling as TPNoUpgrade. New alpha feature in 1.25.
https://github.com/openshift/kubernetes/blob/master/pkg/features/kube_features.go#L548-L553

/label px-approved
/label qe-approved
/label docs-approved


Update reqwest to 0.9.5

This prevents https://github.com/sfackler/rust-openssl/issues/994

CI fails due to rustfmt upgrade, let me know if I should run cargo fmt

Hmmm. Interesting. Stable failed but nightly succeeded, which means there will be different code format for the same code under different versions.. @overvenus What's your idea?

@breeswish rustfmt is only executed on stable.

@kennytm Oh! sorry. I forgot that!
@jonas-schievink So maybe you can just run rustfmt to keep track with latest format spec (and pass CI 🤣).

I suggest we fix the warnings for the two lints in lib.rs, and add #[cfg-attr(..., allow(clippy::renamed_and_removed_lints))] onto
https://github.com/pingcap/rust-prometheus/blob/2742561b84b70f8a623effd834d31c7bc5ce6bbd/src/lib.rs#L55-L57
until stepancheg/rust-protobuf#331 is resolved.

Any #[allow] on the pub mod proto; seems to just be ignored

Ping @breeswish


Add enumerate_adapters_by_gpu_preference

Adds a method for enumerating the GPUs ordered by preference on Windows 10 v1803+ with the Direct3D 12 backend. Simply returns None on lower versions of the platform.
PR checklist:

[x] make succeeds (on *nix)
[ ] make reftests succeeds
[x] tested examples with the following backends: dx12 (quad, colour-uniform, compute)
[x] rustfmt run on changed code

Thank you for the contribution!
Would there be any downside from always using the preferred order on a platform that supports it? I don't recall any ordering requirements from Vulkan, and it would make sense to me.

There shouldn't be any downside! Passing Unspecified is the same as using the old iteration method, the only issue would be to make sure people don't rely on adapter 0 always being the high-performance one if they pass that without checking whether it was supported, but always using adapter 0 is pretty common anyways so maybe that point is moot haha

Ok, good. Let's just make this behavior default then (when supported, of course).

Is this about what you were thinking? Or did you mean to not have the separate platform method at all?

Which reftests are failing?
Also, can we refactor the code to simplify it by avoiding unnecessary closure functions and helpers? I.e. it could be done this way:

check if the new ability is there
if so, gather adapters into a Vec<>
else, gather adapters into a Vec by the old way
proceed with the code based on the vec of adapters

When it starts Warding DX12, it immediately panics from a failing assertion at src\warden\src\gpu.rs:253:25 (assert_ne!(upload_req.type_mask & (1 << upload_type.0), 0);)
I did the helper so that I wouldn't have to duplicate that massive function to have both the Trait method and a platform-specific method on Instance, but I can take that out if that's what you'd prefer ^^

I don't think we need a platform-specific method at all there, we should just do everything within the regular adapter enumeration function.

On Feb 11, 2019, at 18:58, Connie Hilarides<EMAIL_ADDRESS>wrote:
When it starts Warding DX12, it immediately panics from a failing assertion at src\warden\src\gpu.rs:253:25 (assert_ne!(upload_req.type_mask & (1 << upload_type.0), 0);)
I did the helper so that I wouldn't have to duplicate that massive function to have both the Trait method and a platform-specific method on Instance, but I can take that out if that's what you'd prefer ^^
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Alright, will do!

Perfecto, thank you!
Just one last thing - could you please squash those commits together, since they aren't additive (i.e. the follow-ups are replacing parts that the first commit adds)?

Absolutely!

bors r+


Html style intellicense is not working appropriately

After typing style and press enter, the intelicense is popout correctly. But after input some values the intellicense will not popout for style again. But I can add other attributes like class etc.
It looks like the fsharp intellicense is taken over when I type stuff in the style attribute.

Hmm, I cannot reproduce this. It's true that sometimes an F# tooltip appears but I usually press ESC to remove it and I can keep working normally. Not sure why the F# tooltip appears. The extension "hijacks" the completion provider and detects if you're in the middle of an interpolated string, in that case it creates a virtual document with the contents of the string (minus the holes) and asks VS Code to provide completion for that language. Not sure if the tooltip appears because this extension is not covering some specific case or it's just a glitch of the interaction with Ionide extension.

@alfonsogarciacaro can you let me know what version of ionide you are using?
I am using v5.10.2, and I tried on two computer and the bug can be reproduced.

I found if I change VSCode settings to：
    "editor.quickSuggestions": {
        "strings": true
    }

Then it works as expected.


Check the torch base class validity when making custom layers

The custom layer editor should provide feedback if the base layer is not a valid nn base type

No longer relevant as of v2


Additional protection for web interface (access control)

Issue raised by Mr. Kukks and briefly discussed in Call 8.
The Web UI endpoint might be exposed publicly, e.g. via Umbrel, since everything that runs on Umbrel might be exposed and accessible via <public-ip> - so anyone might go to <public-ip>/joinmarket and access the interface.
By default, all wallets are password protected and locked, so this might not be as critical as one might think at first, but some access control might be good in any case. See RTL, Thunderhub, et. al. They all have the same problem and solve it in a similar way.

This Umbrel announcement might be relevant: https://community.getumbrel.com/t/umbrel-0-4-8-is-out-with-cryptographically-secure-default-app-passwords/4696

I'm not sure how critical this is, i.e. if we should implement this for v0.0.3 or move it to the next version.
On the one hand, every wallet is protected by a password, but on the other hand, that password is set by the user and might be really bad and easily brute-forced.

Since we are proxying requests and therefore exposing the server api, we have a responsibility here.
In umbrel we can make use of $APP_PASSWORD

Unique plain text password that can be used for authentication in your app, shown to the user in the Umbrel UI

As far as I understand, most of the work for this in the environment (e.g. web server - nginx in our case), but we need at least a mode in the ui (e.g. with a build flag) where we ask for a password on the very first screen (before loading the wallets) and include it in every request?
However.. can we use a .htpasswd in the first iteration as "cheap" placeholder for something more sophisticated?

However.. can we use a .htpasswd in the first iteration as "cheap" placeholder for something more sophisticated?

See https://github.com/joinmarket-webui/joinmarket-webui-docker/pull/12
Basic Authentication is used in the initial version.

ghcr.io/joinmarket-webui/joinmarket-webui-dev-standalone has been uploaded and is used in #99. :rocket:


fix(metarepos): use --replication-factor to set the replication factor

Current dependencies on/for this PR:

main

PR #608   👈

This comment was auto-generated by Graphite.

Merge Activity

Oct 10, 9:30 AM: @ijsong started a stack merge that includes this pull request via Graphite.


CMS icons

Icon Request

Icon name:  WordPress , Joomla, Drupal
Tags of this icon:
Use case:
Screenshots of similar icons:

https://remixicon.com/icon/wordpress-line
https://remixicon.com/icon/wordpress-fill


KNL-1338 Remove duplicate SQL for all grants.

There is duplicate SQL for getting a resultset of all users and their role in a realm. This is useless duplication and can go.
getSelectRealmRoleGroup4Sql() is the same as getSelectRealmRoleGroup2Sql with just the table aliases being different.

Nice. +1


SW-4240 Add 'Terraformation Contact' semantics in FE

show TF contact role string value in people table if there is such a user
disallow deletion/edit of TF contact
adding TF Contact as a role is disallowed by default since we hard-code the roles and TF Contact was not there
note: these capture the basic requirements for TF contact jira, there may be a follow up task around UX (jira created for design)
this PR is dependent on BE PRs https://github.com/terraware/terraware-server/pull/1370 & https://github.com/terraware/terraware-server/pull/1372
another outstanding issue is how delete org works when there is a Tf contact, this may be unrelated to FE and completely handled with BE but currently not done
fixed another issue where we show a warning when all removable users are selected (the org's total users includes non humans, such as devices, the comparison failed in most cases, fixed that)

This one is ready to go. I may have a followup PR later (if design accepts the disabled checkbox web-components PR)


directives is empty in output of SchemaBuilder.ToJSON

Hi,
the directive section of introspection is empty.
      "directives": [],
      "mutationType": {
        "name": "Mutation"
      },
      "queryType": {
        "name": "Query"
      },

Not sure why the standard directives, include and skip is not included even though it is supported as seen in the tests. this blocks the use with relay.
Thanks.

graphql-go has no generic handling of directives yet. I've hardcoded the introspection entries for skip and include so this should be fixed now.


"Unexpected token ILLEGAL error" in vanilla setup on Windows

I'm happy to learn about this plugin as I need it for some work on getting custom elements V1 to work (without shadow DOM) across browsers.
I'm on Windows 10, Node v0.12.7, npm v4.1.1. I went forth with this environment to create the most vanilla setup in a new project. Devdependencies in my package.json:
 "devDependencies": {
    "babel-core": "^6.21.0",
    "babel-preset-env": "^1.1.8",
    "gulp": "^3.9.1",
    "gulp-babel": "^6.1.2"
  }

.babelrc file:
{
  "plugins": [
    "transform-custom-element-classes",
    "transform-es2015-classes"
  ]
}

gulpfile.js:
var gulp = require("gulp");
var babel = require("gulp-babel");

gulp.task("default", function () {
  return gulp.src("src/js/main.js")
    .pipe(babel())
    .pipe(gulp.dest("js"));
});

Running "gulp" in this basic setup leads to this blocking error:
const buildHelper = babelTemplate(`function CLASS() { return Reflect.construct
                                  ^
SyntaxError: Unexpected token ILLEGAL
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at W:\ce\node_modules\babel-core\lib\transformation\file\options\option-manager.js:174:20
    at Array.map (native)
    at Function.normalisePlugins (W:\ce\node_modules\babel-core\lib\transformation\file\options\option-manager.js:154:20)

The problem can be narrowed down to be caused by the transform-custom-element-classes plugin, because if I disable it in .babelrc, transpilation is succesful. The problem is also not related to the JS input file, since I get the same problem if I leave that totally blank.
Doing some digging around the web, sometimes these kind of errors can be caused by hidden characters copied in from another tool or web page, but I'm not seeing such hidden characters when I enable them in my IDE (Atom), so it's unlikely to be a cause.
I'm not sure the problem is due to Windows as a whole, or a specific combination in my setup. I did try to use the latest and most vanilla setup possible though.

Ah, Node v0.12.7 is super old and isn't supported anymore. I think the latest stable is 6.9.4. That should support the template ` syntax you see used in that file.

Silly me! Thanks a lot, Josh, this indeed solves it :)

hi Joshua,
Just wanted to give you a quick follow-up of my mission to evaluate custom
elements V1 in practice:
Article:
https://ferdychristant.com/custom-elements-v1-vs-js-frameworks-e086638cd1a9#.qfb3lxr10
Live example: https://github.com/fchristant/ce-hw/tree/master/src/js
Your plugin was an essential piece in getting it to work, so once again
thanks!
Ferdy
On Wed, Jan 18, 2017 at 1:38 AM, Joshua Peek<EMAIL_ADDRESS>wrote:

Ah, Node v0.12.7 is super old and isn't supported anymore. I think the
latest stable is 6.9.4. That should support the template ` syntax you see
used in that file.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/github/babel-plugin-transform-custom-element-classes/issues/2#issuecomment-273347126,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAN9rT9InKj3ZX8H8tTXm4YebIN7ju7mks5rTV8OgaJpZM4LmKSG
.


Test Coverage

Currently we have just one Unit Test.
We have to increase the amount to have a good test coverage.
We should implement Unit and Integration Tests (MockMvc)

we increased coverage to 80% some tine ago and keep it stable on that level now


Include schema agreement into readiness probe

Currently Stargate validates whether it can use storage as part of the "readiness" probe.
However, schema may or may not be in agreement at that time. Using Stargate for queries when it is not in schema agreement with storage is likely to lead to runtime errors (e.g. missing tables, missing columns).
Stargate should validate whether it is in schema agreement with storage during the "readiness" probe. Note: validating schema agreement with other Stargate nodes is not necessary for this purpose.
Related issues: #934, #1017

Won't do


Configuring Anaconda for notebook in mac takes long time and fails at the end

I installed anaconda in mac and configured it in notebook so notebook started to install the dependencies. It took an hour for it to install the packages but it failed at the end with this error:
Installing Notebook dependencies failed with error: Process exited with  with error code: 1. StdErr Output:  Building graph of deps:   0%|          | 0/305 [00:00<?, ?it/s] Examining libcurl:   0%|          | 0/305 [00:00<?, ?it/s]      Examining distributed:   0%|          | 1/305 [00:00<00:03, 78.91it/s] Examining ripgrep:   1%|          | 2/305 [00:03<07:49,  1.55s/it]     Examining ripgrep:   1%|          | 3/305 [00:03<05:12,  1.03s/it] Examining lazy-object-proxy:   1%|
the output or developer console didn't have anything useful.

If you repeat the install operation in a separate Anaconda prompt does it succeed?

yes @corivera , I retired multiple times. every time it starts from beginning, takes about an hour and fails at the end

Looks like this may be an issue with the latest release of Anaconda. I tried the release from July 2019 and didn't hit any hangs.

FYI @chlafreniere

Reopening to track port to rel branch.


Optimise images

Replaced all browser logos with 128x128px sizes and ran them through TinyPNG for smaller download. Total image size shrunk from current 7.1MB to 133KB with no visual difference.
Also replaced BlackBerry's logo with more generic, flat version to keep in line with the overall look.

Awesome Thanks!

browser logos

@jonrohan FYI, you can get the logos using npm:

@browser-logos/<browser> → to get the latest logo of <browser>, e.g.:

@browser-logos/firefox

@browser-logos/<browser>_<version_x>[-<version_y>] → to get the logo
used by <version_x>, or between <version_x> and <version_y> of <browser>, e.g.:

@browser-logos/internet-explorer_6
@browser-logos/internet-explorer_7-8

Note: The logos are only losslessly optimize.


Release 0.6.1

<!-- Make sure you have read http://napalm.readthedocs.io/en/latest/contributing/index.html --!>

Coverage remained the same at 86.207% when pulling 9c964d5101a11067949bf2af91f1ec33124d9154 on develop into d05592e58f55ee3c04734b504fd51e89f0beeccd on master.


Comments feature related fixes

Description

Onboarding form updates:

Autofocus name input
Hide onboarding complete modal when comment mode is set

Update unread indicator status: handle unread count based on socket event in real time
Fix inline comment thread overflow
Fix view latest btn init state

Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

manually

Checklist:

[ ] My code follows the style guidelines of this project
[ ] 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
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:red_circle: Total coverage has decreased
// Code coverage diff between base branch:release and head branch: collab-fixes

Status
File
% Stmts
% Branch
% Funcs
% Lines

:red_circle:
total
51.83 (0)
33.63 (-0.06)
29.74 (0)
52.46 (-0.01)

:red_circle:
app/client/src/components/editorComponents/Onboarding/Helper.tsx
70.77 (0)
34.95 (0)
31.25 (-4.04)
68.85 (0)

:green_circle:
app/client/src/reducers/uiReducers/commentsReducer/commentsReducer.ts
38.67 (0)
16.67 (2.38)
35.71 (0)
43.94 (0)

:red_circle:
app/client/src/reducers/uiReducers/commentsReducer/handleUpdateCommentThreadEvent.ts
93.33 (0)
57.5 (-3.37)
100 (0)
93.33 (0)

:red_circle:
app/client/src/sagas/WebsocketSagas/handleSocketEvent.ts
18.18 (-3.7)
0 (0)
0 (0)
19.51 (-3.82)

:sparkles: :new:
app/client/src/selectors/onboardingSelectors.tsx
100
50
100
100

:green_circle:
app/client/src/utils/autocomplete/TernServer.ts
50.83 (0.24)
40.25 (0.84)
36.21 (0)
55.04 (0.27)

/ok-to-test sha=9087793

/ok-to-test sha=57d8acd

/ok-to-test sha=57d8acd

Merging this as an exception, since the failing test case does not seem to be related to the changes done in this PR.


WIP: Abstracted Tuning aquisition modules

So far I have classes for each of the four attune modules, along with
GUIs for them, that share elements and update when needed (though that could use more testing).
Left to do:

[ ] read the new AQN layout for run method (may generalize that too)
[ ] update/write processing functions

Closes #242
Closes #241
Closes #244
Supercedes #252
The zero_tune module is different enough, at least in terms of parameterization in the GUI
That it is not included here (thus this does not supercede #253 at this time)

Re LGTM alerts:
Imports do indeed need to be cleaned up
"old-syle class" is not a thing in py3


https://github.com/allure-framework/allure-cucumber-jvm-adaptor/issue…

I have solved my morning reported Issue: https://github.com/allure-framework/allure-cucumber-jvm-adaptor/issues/18

SonarQube analysis reported 1 issue:

 1 minor

Watch the comments in this conversation to review them.
Note: the following issues could not be reported as comments because they are located on lines that are not displayed in this pull request:

 Replace all tab characters in this file by sequences of white-spaces.

@jmunozrubio thanks for the PR!

SonarQube analysis reported 2 issues:

 2 minor

Watch the comments in this conversation to review them.
Note: the following issues could not be reported as comments because they are located on lines that are not displayed in this pull request:

 Replace all tab characters in this file by sequences of white-spaces.


Sails 1.0 not support mongodb update statement with nested field

Sails version: 1.02
Node version: v8.11.3
NPM version: 6.2.0
DB adapter name: sails-mongo
DB adapter version: 1.01
Operating system: windows/linux

Dear, I have a quesion.
Supposed that I have a Student model as below:
{
'name': 'student_XLAS28',
'location': {
'city': 'abc',
'country': 'GHJ'
}
}
Then, I want to perform some update statements like this:
Student.updateOne({'student_id': 'student_XLAS28'}).set({
'student_name': 'ABC',
'location.city': 'xyz'
}).then(updatedStudent => {
// Handle with the returned record
// TODO
}).catch(err => next(err));
After running that block of code I saw that the record was not updated in the mongodb database but I was pretty sure this worked with sails version 0.1
I'm not sure this is not supported with sails ORM waterline or not? If it's not supported can I just use the native function for mongodb collection?
Please check this issue.

@duybinh0208 how is that model defined? Is location an association?


Protect secret Bungie API key in destiny_spec.rb

Even though there's not that much "damage" a bad actor could do with someone else's Bungie API key (besides maybe a DDoS?), it's still a secret that shouldn't be posted in a public repo.  Best practice would be to store the API key in something like a documented environment variable that gets injected by Travis before it runs rake test.
At that point you would go to Bungie's API page, expire this key and generate a new one.  That one would go into the Travis environment injector config page.  Then all you need to do is update the README to note that people who want to run the specs need to supply their own API key in NAMED_ENVIRONMENT_VARIABLE.

Ahh yes, I looked over updating the specs with something like this since Bungie moved over to requiring a legitimate API key for each call. I'll get around to adding in what you've suggested as this key wouldn't work anyway (was just randomly generated to meet the 32 character requirement for supplying a key)
Thank you for the heads up!


Invert dependencies between OVS and P4CP

Problem
In the original implementation of ovs-p4rt, OvS was modified to build two of its executables as static libraries. We then set up the networking-recipe superproject to:

Build OvS in P4 mode

artifacts: libopenvswitch.a, libovstestcontroller.a, etc.

Build networking-recipe

artifacts: libovsp4rt.a, etc.

Link the OvS executables

artifacts: ovs-vswitchd, ovs-testcontroller

This approach has a number of issues. In particular:

networking-recipe  needs to know the inner workings of OvS in order to link its executables. This creates tight coupling between the components, and it violates separation of concerns. This is architecturally undesirable.
The resulting binaries are artifacts of the networking-recipe build, not the ovs build.
Without the binaries being built by OvS, we are unable to run the unit tests against the P4 version of OvS.

I suspect the OvS community would be unhappy with these results (especially the lack of unit testing).
Solution
The solution is to make OvS dependent on ovs-p4rt, not the other way around. We build ovs-p4rt as a shared library and publish a Linux package configuration (pkg-config) file that OvS can use to obtain the linkage information. (loose coupling)
The shared library shields OvS from the many external dependencies that ovs-p4rt requires. (separation of concerns)
We will also supply an ovs-p4rt stubs package that OvS can link against for test purposes. The package has no external dependencies, and is a static library.
Compatibility
For the time being, the system will default to legacy build mode. The change should be transparent to all current users.

Changes committed in PR https://github.com/ipdk-io/networking-recipe/pull/515.


Fix MySQL and PostgreSQL help

This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines

[ ] The PR has modified HISTORY.rst with an appropriate description of the change (see Modifying change log).

Command Guidelines

[ ] Each command and parameter has a meaningful description.
[ ] Each new command has a test.

(see Authoring Command Modules)

Codecov Report

Merging #3369 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #3369   +/-   ##
=======================================
  Coverage   70.66%   70.66%
=======================================
  Files         391      391
  Lines       25255    25255
  Branches     3835     3835
=======================================
  Hits        17847    17847
- Misses       6272     6275    +3
+ Partials     1136     1133    -3

Impacted Files
Coverage Δ

...-cli-rdbms/azure/cli/command_modules/rdbms/help.py
100% <100%> (ø)
:arrow_up:

...nent/azure/cli/command_modules/component/custom.py
16.23% <0%> (ø)
:arrow_up:

...dback/azure/cli/command_modules/feedback/custom.py
34.69% <0%> (ø)
:arrow_up:

src/azure-cli-core/azure/cli/core/util.py
68.61% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

@tjprescott Can you merge this? I apparently don't have permissions.


Remove unused dependecy

We are not using poko at testFixtures

Warnings

:warning:
This PR is approved with no milestone set. If merged, it won't appear in the detekt release notes.

  Generated by :no_entry_sign: dangerJS against f2c3871d571607627addb95ba4ce6241d5c83c1c


Check tiers for assessing electricity use

The idea is to produce a Tiers of electricity consumption map that would help assess the potential areas where electric cooking can be implemented. The initial idea is to use Falchetta et al. approach developed for Subsaharan Africa:  https://doi.org/10.1038/s41597-019-0122-6

We can use GDP, wealth index, population density

Another approach is to use GDP, wealth index and population density to estimate Tiers of demand, based on a simple MCA. This could be used as well in combination with MTF data to calibrate the Tiers to province levels.


Chrome / Firefox 'good' link, links to file local location?

url in bulleted list.

Association (LIBA) rules, 2021/22
renders as

Association (LIBA) rules, 2021/22
Yet chrome links to file:///data/temp/html/%E2%80%8Bhttp://google.co.uk/
Not sure if this is a chrome issue or not?  Firefox shows the same, good html, incorrect link?

You seem to have a zero-width space (U+200B) between ( and http.

Note that I have edited the original post to make it more legible my wrapping the Markdown and HTMK in code blocks. @mitya57 has identified the issue. If you remove the zero-width space, then the problem no longer exhibits itself.

Thank you. Please close the issue.
On Tue, 17 May 2022 at 13:50, Dmitry Shachnev @.***>
wrote:

You seem to have a zero-width space (U+200B) between ( and http.
—
Reply to this email directly, view it on GitHub
https://github.com/Python-Markdown/markdown/issues/1257#issuecomment-1128829377,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACI4J3BTPSQ735JBQ3YJADVKOI23ANCNFSM5WEZJ47Q
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Dave Pawson
XSLT XSL-FO FAQ.
Docbook FAQ.


fix missing image

Hi and thansk for sharing,
i'm pretty noob with django
But i'm finding a issue using the serializes.
ENV:
django 3.1
djangorestframework==3.12.2
easy-thumbnails==2.7.1
easy-thumbnails-rest==1.1
THUMBNAIL_ALIASES: rigth configured i'm using the same alias in template ant it is working
my models
class JewelImage(models.Model):
    class Meta:
        ordering = ['order']
        verbose_name = ('Immagine del gioiello')
        verbose_name_plural = ('Immagini del gioiello')

    order = models.PositiveIntegerField(default=0, blank=False, null=False)
    image = models.ImageField(upload_to="jewel-image/%Y/", verbose_name = "Jewel Image", blank=True, null=True, default=0)
    GioielloClass = models.ForeignKey(Jewel, related_name='gallery', on_delete=models.CASCADE)

    def title(self):
        return self.GioielloClass

    def __str__(self):
        return u'%s' % self.image

serializers
class JewelImageSerializer(serializers.ModelSerializer):
    image = MyThumbnailerSerializer(alias='avatar')

    class Meta:
        model = JewelImage
        fields = "__all__"

My result
[
    {
        "id": 2,
        "image": null,
        "order": 0,
        "GioielloClass": 1
    },
    {
        "id": 1,
        "image": null,
        "order": 1,
        "GioielloClass": 1
    },
    {
        "id": 3,
        "image": null,
        "order": 2,
        "GioielloClass": 1
    }
]

digging in the code i found it is skipping
        elif isinstance(instance, ImageField):
            return request.build_absolute_uri(get_thumbnailer(instance)[alias].url)

Because django class is <class 'django.db.models.fields.files.ImageFieldFile'>
Added it with or
I'm wrong in samethics in the model definitons, that is causing this issue ?

You have to use the ThumbnailerImageField provided by easy-thumbnails instead of models.ImageField
https://github.com/SmileyChris/easy-thumbnails#fields

You have to use the ThumbnailerImageField provided by easy-thumbnails instead of models.ImageField
https://github.com/SmileyChris/easy-thumbnails#fields


C and C++ dependency manager with gradle like syntax

The tool should add support for Turing complete language in the configuration. Should auto-expand environment variable in the following format ${}.
config.appname
import config/other

repoServers {
    github(),
    fltkServer(),
    'bytesaim.com/appname/'
}

dependencies {
    libcester:0.2,
    libxtypes:0.3,
    libnotifi:0.1,
    libsorta:0.1,
    libjensen:0.1,
    libsqlite:1.3,
    libfltk:1.1.4
    konfiger:libkonfiger:1.2.4
}

/config/other.appname
func fltkServer() {
     return "https://fltk.org/appname/"
}

Should create a subfolder to install the libraries or install them in a user folder or system-wide folder. Or auto detects compiler and install it into the toolchain folder.

vcpkg look awesome.
Also using bash and PowerShell script for remote install.


Unable to complete the registration process of my Dyson Pure Cool purifier

I power off the Dyson fan and turned on again. HA still cannot discover my dyson fan. How can I enable the logs?

@brianqtb I've noticed you're opening quite a few new issues over the past few weeks (#156, #153, #143). Is it okay if we keep the conversation on a single thread? Let's reopen #143 and close the others.


newline or  tag will get duplicated

When I am passing br tag
or \n somehow they are duplicated so you will be extra newline

When I am passing  or \n somehow they are duplicated so you will be extra newline

Please, leave a test.

the description of the problem is added later. let me know if you need more explanation

That's strange. I will fix this tonight.


Allow extensions to be installed for all users

I'm the instructor a college Python programming course. I'd love to adopt VS Code for this course, but the fact that extensions are installed on a per-user basis is a major problem. For education and enterprise markets, there needs to be support for pre-installing extensions for all users.
It's important that we be able to provide a ready-to-use environment to students on login. I have 50 students in my class. I can't afford to lose class time to making students install the Python extension each time they use a new computer or to help troubleshooting students when they have problems.
I've put together a very hackish workaround where I've created a batch file that installs the plugin and then launches VS Code. I've added shortcuts to this batch file, but it's messy and I fear brittle.
Please add a flag to code --install-extension that allows users to specify the extension is to be installed for all users.
FWIW, @rhyspaterson mentioned needing this same functionality in a comment on Issue #27972.

Agree with this as now using Infra as Code to build Dev VM for Infra developers, it making a one source for Dev VM build challenging as no All Users option to install pre-req extensions.

Guess it is not possible yet to install extensions system wide ?

@anahimself @sandy081 Only option found is to copy the .vscode folder from the Infra as Code build accounts profile into the Default profile.  Therefore every user logs in get the extensions added to there profile as its created.
Be good to here VSCode is planning to adding a  --install-extension-all-users option?

@wdrury-uk Did you try using the portable VS Code? You can have VS Code installed with extensions and provide it your users/students?
@joaomoreno Does this work?

@sandy081 Thanks but we don't use VS-Code mobile as its Infra as Code we build the VM from blank OS and install software upto required level of the Infrastructure stack.
Is there reason VS-Code isnt installing extensions for ALL user profiles.

Not sure what you mean by VS Code should install extensions for all user profiles.. Is not it depends on where you installed VS Code? Is not the Code should be installed for all users instead extensions?

Right now, extensions are installed on a per-user basis in the user's own folder. Every single user has to install the extensions they want to use themselves.
In education and corporate environments, there is a need for consistency. I use VSCode to teach students Python programming. I want to make sure that everyone has VSCode and all of the necessary extensions already installed when they login. VSCode does not support this right now.
What we're asking for is an option to specify that extensions are installed to a common folder (C:\ProgramData on Windows) and that VSCode instances check there, in addition to any per-user folders, and load all extensions that are found. This way, I can ensure my students get a consistent, ready-to-use experience with VSCode no matter what computer in the classroom they use.

@Bitmapped Not sure if you are aware of the cli argument --extensions-dir. Using this will point VS Code to look for extensions in the directory provided as value to the above argument
Eg: code --extensions-dir /users/home/extensions

@sandy081 thanks but I have tried the option and makes no difference when trying to install an extension.  You have to install extensions, then move them form your user profile into common area and then use the option you provide.
As @Bitmapped mentions when setting up a standard build of a VM or client machine we need to be able to install extensions into a common place for ALL user to access, not install multiple copies of the same extension.  This is in an inefficient approach to duplicate an install of an extension for each user.
How do we prioritise this as a required feature?

@Bitmapped Did you find any solution? I have VDI environment & I'm trying to publish VS Code as a published app & having the same difficulty.

@sohai9 Not really. I wrote an install script that copies the files for the extensions into the Default profile that Windows copies for new users, but it slows down first login for new users substantially.

@joaomoreno Could you explain how you setup two extension locations that will be checked by vscode? You mentioned (1) A non-customizable, system-wide one and (2) A customizable, user one. How did you achieve both? Thx

@Bitmapped Hi we use Visual Studio Code in the Company as primary development tool for Powershell and we solved the problem as follows:
We use the Powershell App Deployment Toolkit to distribute Visual Studio Code with SCCM. To bring the Extensions to the Users we use the ActiveSetup mechanism. ActiveSetup runs a Program/Script on the first user login after the software Install / setting the ActiveSetup key in registry (Internet Explorer uses this mechanism too).
During the installation with the Powershell App Deployment Toolkit a folder with configurations and extensions is copied to a local path and the corresponding active setup reg key is set.
Within the ActiveSetup script you can copy the extension from a path each user of the computer can read from to the users .vscode\extensions folder or /and delete not longer, used or outdated extensions.
Or you can use the code.exe --install-extension extensionname.vsix for each user to install the extension.
This is how we solved this on Windows.
On Linux / MAC you can use the user shell environment script to do something similar.
I hope this will help you.

@danielfeiler Thanks for this idea. I hadn't thought about using ActiveSetup.
I came up with a somewhat similar solution that copies the extension files to the default profile, where they are then copied into each new users' individual profile on first login, but it significantly slows down the first login with copying all the files on spinning disks.

@Bitmapped I have had also the problem, that ActiveSetup slows down the logon of the users because the logon process is waiting for ActiveSetup to finish. I solved this with a 2 File solution. First the activesetup.cmd which is initially called and a PowershellScript called from activesetup.cmd. The last one starts a additional Powershell with a scriptblock for unpacking / copying the extensions. After this one is started, ActiveSetup is "finished". Therefore the user logon goes on and parallelly the last started powershell process do all the work in the background. I have attached these two files to the post in a ZIP File.
activesetup.zip
.

Same problem for me.
We want to use visual studio code in school (15-18 year old learning computer science)
Space on network share is REALLY limited for users (around 300M) and having extensions on a per user basis (1200+ users) is not a solution.
Extension shall (optionnaly) be system wide potentially, and customisation (and just customization) on a per user basis
Having something that is not a hack but a robust industrial solution would be nice

@swirly you can use the  --extensions-dir  parameter to specify a extensions directory. eventually it makes sense to combine it with the --user-data-dir  parameter.
or you can use symlinks / junction points to link the extensions folder of each user to a central location.
If you point to a central extensions location you should disable the automatic update for extensions.

@swirly you can use the --extensions-dir
parameter to specify a extensions directory. eventually it makes sense to combine it with the --user-data-dir parameter.

Thank you for your answer. This solution could work but is not a long term solution for me
This is not robust.
There should be an extension hierarchy :

global extension, organized by sysadmin and kept up to date by sysadmin
global extension should have their configuration on a per user basis in the user profile
user extension, installed by user and limited in number

Don't forget that in a school environement, user do not have any rights. Si if you use the --extension-dir, they shall not have access to any extension install
Taking into account academic situation with

multiple users with roaming profiles
users without any admin right
few storage space

is imho really a need. It is also the case of some corporate situation

maybe something like vsixinstaller.exe /admin, which is an add-on for Visual Studio, but make one for VScode?
As you say, @swirly, extensions need to be designed to run from system's ProgramData but store user's settings under user's profile appdata.

I just tried this. basically its applying every option you find :)
C:\Users\junaid\AppData\Roaming\Code\User\settings.json
"extensions-dir":"C:\code\extensions\",
"extensions-folder":"C:\code\extensions\"
Created Short-Cut with following command-line.
C:\Code\Code.exe --extensions-dir="C:\code\extensions"
So far, it  is using/updating the custom Directory.
I am gonna try running it  from  Other user account, and will let you know if it fails.

I'm just facing this issue, which is really severe in any environment where roaming profiles are used.
Sure, most extensions don't need much space, but alone the Python extension needs 271 MB.

Sure, most extensions don't need much space, but alone the Python extension needs 271 MB.

And it was my main concern. In our school, students have 400Mb space allowed (SAS storage space is quite expensive, and with the saves, with 1200+ students, we need lot's of space)
Using 271Mb just for one plugin is a no go.
And ... Python is the langage we are using to teach CS. Sadly

@swirly you can use the --extensions-dir
parameter to specify a extensions directory. eventually it makes sense to combine it with the --user-data-dir parameter.

Thank you for your answer. This solution could work but is not a long term solution for me
This is not robust.
There should be an extension hierarchy :
* global extension, organized by sysadmin and kept up to date by sysadmin

* global extension should have their configuration on a per user basis in the user profile

* user extension, installed by user and limited in number

Don't forget that in a school environement, user do not have any rights. Si if you use the --extension-dir, they shall not have access to any extension install
Taking into account academic situation with
* multiple users with roaming profiles

* users without any admin right

* few storage space

is imho really a need. It is also the case of some corporate situation

I guess this simple update will not be anytime soon implemented... waiting too long already, will cance SCCM deployment and switch to notepad++..
I still dont see the point of having a system wide installation with only user based plugin (no system wide plugins)

large environment/corporate is a thing, and education environnement is another (with greater constraint I think)
Not having vscode in school because of this limitation is a way to have pupils learn to use something else.
Changing habits can be hard and it will be a hard thing for vscode. Too bad, because it's a fantastic editor !

I too am having this exact same issue.  I want to be able to pre-install extensions which are available to all users.
I have a standard disk image which is be deployed to all computers so when a user logs in (ubuntu 18.04) they'll have access to pre-installed extensions.  As students' home directories are on a network share, I want to avoid having standard packages installed 100s of times and then backed up nightly.

In the install directory of VSCode is an extensions folder in \Microsoft VS Code\resources\app\extensions. Simply copy all necessary extensions in here and you are good to go! (First you have to download them in a per user basis and copy them over)

@Dampfwalze Thanks for this. I did that this morning with a handful of Python and Java extensions and it seems to be working. Will have to wait and see after students have a chance to kick the tires though.

In the install directory of VSCode is an extensions folder in \Microsoft VS Code\resources\app\extensions. Simply copy all necessary extensions in here and you are good to go! (First you have to download them in a per user basis and copy them over)

Ok, thank you very much for your advice. It can be considered as a temporary hack and I will try this.
On the long term,  updates will be a real pain  (everything will have to be done manually). This is not a long term strategy. But it might work on a short term.

A workaround that we use on Linux to install the extension globally is:
sudo code --extensions-dir /usr/share/code/resources/app/extensions --install-extension </path/to/extension.vsix> --user-data-dir </path/to/a/users/homefolder/.vscode/>

A workaround that we use on Linux to install the extension globally is:
sudo code --extensions-dir /usr/share/code/resources/app/extensions --install-extension </path/to/extension.vsix> --user-data-dir </path/to/a/users/homefolder/.vscode/>

We currently have two extension locations:

A non-customizable, system-wide one
A customizable, user one

The user wants a third extension folder: a customizable, system-wide one.

I don't think we necessarily need a third extension folder, it would be sufficient to have a command-line option that installs an extension into the system-wide location.

Sorry to spoil but they dont care :)
On Tuesday, February 16, 2021, harryjohnston<EMAIL_ADDRESS>wrote:

We currently have two extension locations:
A non-customizable, system-wide one
A customizable, user one
The user wants a third extension folder: a customizable, system-wide one.
I don't think we necessarily need a third extension folder, it would be
sufficient to have a command-line option that installs an extension into
the system-wide location.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.<
https://ci5.googleusercontent.com/proxy/V-wxJw0Jy5nuPRYSduSMIXS-HdHYLX5WBEYbjs_q96ZohnUn_v0fsLs9xfW2CMEZrHjPpqUfbmGo2HxcwfsVJ-Vg74vFE4OzM9MoY2VQhH6GftBX7AVgQ_LYvU7dRjBUzt2Wm97f7UMC-0mKRQl5ZpY-8zSurWuLQIjODGJgOmZw2pZeSi03U9TW3qqDZ0oKpAlo4gaHZn75tRORjdqHOCtTt0ZtdSnaP4aT6EDWhg=s0-d-e1-ft#https://github.com/notifications/beacon/AEMW43WTBGTHYIPSQH6AFODS7HBYHA5CNFSM4FQDFR22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFZ3JFXI.gif>

We currently have two extension locations:

A non-customizable, system-wide one
A customizable, user one

The user wants a third extension folder: a customizable, system-wide one.

I don't think we necessarily need a third extension folder, it would be sufficient to have a command-line option that installs an extension into the system-wide location.

It would serve the same purpose, indeed, and would be sufficient.

This ticket is still open after almost 3 years, with nothing but temporary hacks for solution. Anyone in the dev team is in charge for this ?

Dear fellows,

Is

Dear fellows,
Is there any way to change --extensions-dir for system wide, indead of a shortcut?
Thanks

I got a way from another topic... using a System variable does the magic
https://github.com/microsoft/vscode/issues/17691#issuecomment-734897413

The year is 2040: The Ice caps have all melted. Fires, floods and hurricanes ravage the planet, but on the bright side, the VSCode team finally announce support for global settings and extensions in VSCode.

The following steps worked for me.
Huge thanks to this poster: https://github.com/microsoft/vscode/issues/17691#issuecomment-734897413

Any update on this? Also is a lab environment and want install and manage global extensions.

Dear fellows,
finally, i managed to solve the problem .
See the attached .pdf
Panagiotis Ntilios
Department of Electrical & Computer Engineering
University of Patras
Greece
VSCode-correct-setup-procedure-for-all-users.pdf

Hey guys, I just found the way to install it with SCCM.
First, you need to create a package for the installation of visual studio code.
Then, you create a package for the extensions (I created 2 package because even if I add the extensions in the "post-installation" sections, it didn't recognize the "code" command).
So, in the extensions package, juste execute these lines :
code --extensions-dir "%ProgramFiles%\Microsoft VS Code\resources\app\extensions" --install-extension ms-toolsai.jupyter --force
That's it. 1 line for each extension you want. You point the installation in the default global extensions folder with --extensions-dir (like mentionned, it doesn't appeared in the "installed" section of the software but are installed globally.
the --install-extension command install the updated and compatible version of the extension you want.
Hope it helps someone.
Have a good day!

Would the technical feature request for --static-extensions-dir described here: https://github.com/microsoft/vscode/issues/158801
Solve this functional issue?
Basically a shared folder containing a set of shared common extensions for all students.

This single shared folder could be on the network
Different values could be provided for --static-extensions-dir for different classes (e.g python vs java class)
It could be read-only to avoid students modifying the contents and "breaking" the whole class
Or better yet it could be shared/mounted in some form of copy-on-write if "readonly" mode could cause problems.

WDYT

+1

I would also like to see this happen, +1

Hey guys, I just found the way to install it with SCCM.
First, you need to create a package for the installation of visual studio code. Then, you create a package for the extensions (I created 2 package because even if I add the extensions in the "post-installation" sections, it didn't recognize the "code" command). So, in the extensions package, juste execute these lines :
code --extensions-dir "%ProgramFiles%\Microsoft VS Code\resources\app\extensions" --install-extension ms-toolsai.jupyter --force
That's it. 1 line for each extension you want. You point the installation in the default global extensions folder with --extensions-dir (like mentionned, it doesn't appeared in the "installed" section of the software but are installed globally. the --install-extension command install the updated and compatible version of the extension you want.
Hope it helps someone. Have a good day!

This indeed helped me today, thanks!

Copying the files like what worked in 2021 no longer works now. The following command must be run as well for each extension. Then it does work. however still does not show up in installed extensions. Would be nice if this was more turn key.
code --extensions-dir "%ProgramFiles%\Microsoft VS Code\resources\app\extensions" --install-extension ms-toolsai.jupyter --force

@outforever and @PatCollege Looks like this does not work anymore from version 1.91.1.
Also, when executing
code --extensions-dir "%ProgramFiles%\Microsoft VS Code\resources\app\extensions" --install-extension ms-toolsai.jupyter --force
code.exe (with the gui is started) we have 30+ extensions in an educational environment.
So vscode is started 30 times. Anyway to prevent this?
(But this command does not work, also when de extension folder is copied to %ProgramFiles%\Microsoft VS Code\resources\app\extensions first.

I just tested with the last version of vscode and it still works. (win10/11)
When you install vscode, make sure to integrate < Code > to your shell commands (there are some options that you check if you install it manually). It seems to be checked by default if you do a silent installation.
Then, it needs to be launch from a command prompt.
It will look like this :
C:\Users\username>code --extensions-dir "%ProgramFiles%\Microsoft VS Code\resources\app\extensions" --install-extension ms-toolsai.jupyter --force
Installing extensions...
Installing extension 'ms-toolsai.jupyter'...
Extension 'ms-toolsai.jupyter-keymap' v1.1.2 was successfully installed.
Extension 'ms-toolsai.vscode-jupyter-slideshow' v0.1.6 was successfully installed.
Extension 'ms-toolsai.vscode-jupyter-cell-tags' v0.1.9 was successfully installed.
Extension 'ms-toolsai.jupyter-renderers' v1.0.18 was successfully installed.
Extension 'ms-toolsai.jupyter' v2024.6.0 was successfully installed.
C:\Users\username>
It's not supposed to launch vscode, we also have around 20 extensions and it all install silently in the background (we use sccm/ psappdeploy ).

@PatCollege Thanks a lot!
Well, that's funny. Right after the default installation of VSCode, I ran:
"%ProgramFiles%\Microsoft VS Code\Code.exe" --extensions-dir "%ProgramFiles%\Microsoft VS Code\resources\app\extensions" --install-extension ms-toolsai.jupyter --force
I thought I needed to specify the path of code.exe because I was in the same session, and the path variable had not been updated yet. I assumed that code was equivalent to code.exe.
Well, it’s not. After changing my batch file to (example):
call "%ProgramFiles%\Microsoft VS Code\bin\code" --extensions-dir "%ProgramFiles%\Microsoft VS Code\resources\app\extensions" --install-extension ms-toolsai.jupyter --force
call "%ProgramFiles%\Microsoft VS Code\bin\code" --extensions-dir "%ProgramFiles%\Microsoft VS Code\resources\app\extensions" --install-extension ms-toolsai.jupyter-keymap --force
call "%ProgramFiles%\Microsoft VS Code\bin\code" --extensions-dir "%ProgramFiles%\Microsoft VS Code\resources\app\extensions" --install-extension ms-toolsai.jupyter-renderers --force

It works now. Assumption is the mother of all f*ckups...
Now, I need to find a way to make this internet-independent, An offline install of the extensions.
We need to ensure that the version of the extensions stays the same throughout the school year.

wtf is this even an issue? I see microsoft is not at all concerned with the environment and creates everywhere unnecessary overhead.


apktool

W: aapt: brut.common.BrutException: brut.common.BrutException: Could not extract resource: /prebuilt/linux/aapt_64 (defaulting to $PATH binary)
W: aapt: brut.common.BrutException: brut.common.BrutException: Could not extract resource: /prebuilt/linux/aapt_64 (defaulting to $PATH binary)
W: aapt: symbol lookup error: /usr/lib/x86_64-linux-gnu/android/libandroidfw.so.0: undefined symbol: _Z11OpenArchivePKcPPv
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 127): [aapt, p, --min-sdk-version, 26, --target-sdk-version, 29, --version-code, 276987824, --version-name, <IP_ADDRESS>.119, --no-version-vectors, -F, /tmp/APKTOOL16298719725642562010.tmp, -0, assets/app_modules/contents/shared5.json, -0, assets/lib/libs.spk.xz, -0, assets/secondary-program-dex-jars/store-0.dex.spk.xz, -0, png, -0, r/c.png, -0, ogg, -0, arsc, -I, /root/.local/share/apktool/framework/1.apk, -S, /tmp/d20210310-88487-w025vg/original/res, -M, /tmp/d20210310-88487-w025vg/original/AndroidManifest.xml]
Error: Unable to rebuild apk with apktool
i cannot solve this issue please help thank you!

This looks like an environment issue. Aapt binaries are statically linked so you don't need to depend on shared binaries, but I can't tell what version you are using since that portion was stripped.
None of our automated tests on all 3 platforms can replicate this, so closing.


Optimize the SVG with SVGO before exporting

https://www.npmjs.com/package/svgo-browser
If it's not a huge overhead :)

Makes sense, but damn is it big<EMAIL_ADDRESS>
We can lazyload it, but I recently learned that due to PWA, we're precaching everything and as such download every chunk on first load (for each new release). Something to keep in mind.
(@ad1992 also a reason why I didn't want to bundle all node modules together because now when we want to use a small lib for something, we'll have to download a huge chunk of every node package.)

Maybe not worth it for that much..

why do you want to optimize the svg in the first place? is it too big?

Mostly the size.. but in the end of the day I think it's not worth the effort.

If people tend to use the SVG on the web, it may be. I'm seeing 70% size savings on many diagrams.

Are there any drawbacks? I suppose people would optimize files before uploading on the web. Not sure if we really need to do it before exporting. (unless excalidraw has an capability of deploying files.)

I suppose people would optimize files before uploading on the web.

I wouldn't, people are lazy (and why shouldn't they be), or unaware, or lacking expertise to do it. Furthermore, we are already exporting the SVG, and as such it is our business to be doing our job the best we can, which includes optimization. We're already optimizing output size when embedding scenes to PNG/SVG, this is similar.

Fair enough. I'm not against it unless there's any drawbacks, like missing information. In my old experience with SVGO, I felt optimizing too aggressively. (maybe because of some configs.)


Unexpected recursion when component's filename matches subcomponent's alias

Version
3.0.7
Reproduction link
https://codesandbox.io/s/bold-violet-1t891
Steps to reproduce
(quasar not required to reproduce the issue, but it was the fastest way to get all the right dependencies in one place)

Open /privacy route (/#/privacy), blank page shows
Open /fixed route (/#/fixed), Privacy Policy is displayed

What is expected?
Privacy Policy displayed in both cases
What is actually happening?
For /privacy route, console will show "Unhandled error during execution of scheduler flush."
[... more of the same]
  at <PrivacyPolicy>
  at <PrivacyPolicy>
  at <PrivacyPolicy>
  at <PrivacyPolicy onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< undefined > >
  at <RouterView>
  at <QPageContainer>
  at <QLayout view="hHh lpR fFf" >
  at <MainLayout onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< undefined > >
  at <RouterView>
  at <App>

Basically, there is a conflict between multiple components having the same alias. This happens in dev mode and in production mode. There is no actual conflict, but it seems that somehow the names are being globally registered without "scoping" them to the component that creates the alias.

This issue was also reported to Quasar at https://github.com/quasarframework/quasar/issues/8672
After trying Quasar@v2 beta, which uses Vue 3, privacy policy page stopped opening.
The use case here is that there is a shared component that contains privacy policy text, which can be displayed in a popup dialog and also as a standalone page.

This has a simple workaround: changing the alias of the subcomponent that is causing the problem.
For example, instead of having:

pages/PrivacyPolicy.vue

<template>
  <PrivacyPolicy />
</template>

You can have:

pages/PrivacyPolicy.vue

<template>
  <PrivacyPolicyContents />
</template>

Where PrivacyPolicyContents is just an alternative name for PrivacyPolicy defined in components of pages/PrivacyPolicy.

Duplicate of #2827

Closed because of duplication


Update install.sh to work on macOS

Description
The install script (install.sh) was't working on macOS due to sed -i not been compatible and the use of \e instead of \033.

Changed all \e to \033
Changed -i to -i.bak and added -exec rm {}.bak \;. This works with both GNU sed and BSD sed.

Possible drawbacks
None
Related issue(s)
None

Coverage remained the same at 96.756% when pulling 881ec29a29c71575cbf5d015706a626528963ed5 on alexandregv:develop into 8caf054a375f62925246fdd879fe04ed088440cf on System-Glitch:develop.