pylance is too slow when using sklearn. Checking and Analyzing are repeated every time when the file saved ("Long operation: checking:")

Environment data

Language Server version: 2023.2.30
OS and version: Mac OS Ventura 13.2.1, VS code 1.75.1
Python version (& distribution if applicable, e.g. Anaconda): Python 3.10

Code Snippet

Reproduce code

import numpy as np
from sklearn.manifold import TSNE
from sklearn.decomposition import PCA

class sklearn_test(object):
    def process(self, reduction_method = 'pca'):
        if reduction_method == 'pca' :
            self.reduction_method = PCA(n_components=3, random_state=2023)
        elif reduction_method == 'tsne' :
            self.reduction_method = TSNE(n_components=3, random_state=2023)
        value = np.random.random((10,10))
        reduced_values = self.reduction_method.fit_transform(value)
        return reduced_values

if __name__ == "__main__":
    a = sklearn_test()
    reduced_values = a.process()
    print(reduced_values)

    b = dict()
    for key, value in b.items():
        print("hi")

conda requirements.txt

name: debug
channels:
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - bzip2=1.0.8=h7b6447c_0
  - ca-certificates=2023.01.10=h06a4308_0
  - certifi=2022.12.7=py310h06a4308_0
  - ld_impl_linux-64=2.38=h1181459_1
  - libffi=3.4.2=h6a678d5_6
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - libuuid=1.41.5=h5eee18b_0
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1t=h7f8727e_0
  - pip=22.3.1=py310h06a4308_0
  - python=3.10.9=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py310h06a4308_0
  - sqlite=3.40.1=h5082296_0
  - tk=8.6.12=h1ccaba5_0
  - tzdata=2022g=h04d1e81_0
  - wheel=0.38.4=py310h06a4308_0
  - xz=5.2.10=h5eee18b_1
  - zlib=1.2.13=h5eee18b_0
  - pip:
      - joblib==1.2.0
      - numpy==1.24.2
      - scikit-learn==1.2.1
      - scipy==1.10.1
      - threadpoolctl==3.1.0
prefix: /anaconda/envs/debug

Repro Steps

Create conda env according to conda requirements.txt

copy text to conda_requirements.txt and paste the command to terminal.

 conda env create -f conda_requirements.txt

Activate conda env and open the reproduce code with VSCode

Expected behavior

comment out line 12

Actual behavior

include line 12

Logs

[Info  - 7:17:42 AM] (1460942) SourceFile: Received fs event 'change' for path '/home/cyjun0304/Desktop/debug_pylance/main.py'
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: analyze
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (2ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) Background analysis message: analyze
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py ...
(1460942) [BG(1)]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [BG(1)]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
[Info  - 7:17:50 AM] (1460942) SourceFile: Received fs event 'change' for path '/home/cyjun0304/Desktop/debug_pylance/main.py'
(1460942) [BG(1)]   checking: /home/cyjun0304/Desktop/debug_pylance/main.py (5562ms)
[Info  - 7:17:55 AM] (1460942) [BG(1)] Long operation: checking: /home/cyjun0304/Desktop/debug_pylance/main.py (5562ms)
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (5564ms)
[Info  - 7:17:55 AM] (1460942) [BG(1)] Long operation: analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (5564ms)
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: analyze
(1460942) [BG(1)] indexing: /home/cyjun0304/Desktop/debug_pylance/main.py [found 6] (0ms)
(1460942) Indexing Done: /home/cyjun0304/Desktop/debug_pylance/main.py
(1460942) Background analysis message: getSemanticTokens delta
(1460942) [BG(1)] getSemanticTokens delta previousResultId:1676877461965 at /home/cyjun0304/Desktop/debug_pylance/main.py (3ms)
(1460942) Background analysis message: resumeAnalysis
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:22:9 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (2ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:22:9 [found 59 items] (3ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 5 ms, Memory increase: -179 KB.
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (2ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) Background analysis message: analyze
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py ...
(1460942) [BG(1)]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [BG(1)]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:22:5 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (2ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:22:5 [found 59 items] (3ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 3 ms, Memory increase: 658 KB.
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:22:9 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:22:9 [found 46 items] (2ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 4 ms, Memory increase: -232 KB.
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:22:10 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:22:10 [found 14 items] (2ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 2 ms, Memory increase: 1537 KB.
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:22:11 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:22:11 [found 5 items] (2ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 3 ms, Memory increase: -309 KB.
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] parsing: /tmp/pyright-1460942-y29NPBM1pJzz/builtins-1460942-B6MaD7MK2ft9-.py [fs read 1ms] (78ms)
(1460942) [FG] binding: /tmp/pyright-1460942-y29NPBM1pJzz/builtins-1460942-B6MaD7MK2ft9-.py (14ms)
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (2ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:5 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:5 [found 23 items] (2ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 2 ms, Memory increase: 1582 KB.
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:6 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:6 [found 15 items] (1ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 2 ms, Memory increase: 1572 KB.
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:9 [found null items] (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:11 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:11 [found null items] (1ms)
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (2ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:14 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:14 [found 12 items] (2ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 2 ms, Memory increase: 1617 KB.
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:15 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:15 [found 6 items] (2ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 3 ms, Memory increase: 1615 KB.
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:16 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:16 [found 5 items] (1ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 2 ms, Memory increase: 1609 KB.
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:20 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:20 [found 99 items] (1ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 2 ms, Memory increase: 1630 KB.
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:21 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (2ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:21 [found 50 items] (3ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 3 ms, Memory increase: 1604 KB.
(1460942) [BG(1)]   checking: /home/cyjun0304/Desktop/debug_pylance/main.py (5165ms)
[Info  - 7:18:21 AM] (1460942) [BG(1)] Long operation: checking: /home/cyjun0304/Desktop/debug_pylance/main.py (5165ms)
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (5167ms)
[Info  - 7:18:21 AM] (1460942) [BG(1)] Long operation: analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (5167ms)
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: analyze
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py ...
(1460942) [BG(1)]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (2ms)
(1460942) [BG(1)]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:23 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:23 [found 60 items] (2ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 3 ms, Memory increase: -6087 KB.
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:24 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:24 [found 43 items] (20ms)
(1460942)
Lookback tokens:
 (,n_components,=,NUM_LIT,,,random_state,=,NUM_LIT,),\n,value,=,np,.,random,.,random,(,(,NUM_LIT,,,NUM_LIT,),),\n,reduced_values,=,self,.,reduction_method,.,fit_transform,(,value,),\n,return,reduced_values,\n,if,__name__,==,STR_LIT,:,\n,a,=,sklearn_test,(,),\n,reduced_values,=,a,.,process,(,),\n,print,(,reduced_values,),\n,b,=,dict,(,),\n,for,key,,,value,in,b,.,items,(,),:,\n,print,(,STR_LIT,),\n,c,=,dict,(,),\n,for,key,,,value,in,dict,.

(1460942) Recommendations: items, iteritems, keys, _get_kwargs, __dict__, environ, viewitems, body, cells, values
(1460942) Time taken to get recommendations: 58 ms, Memory increase: -5601 KB.
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:25 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:25 [found 16 items] (16ms)
(1460942)
Lookback tokens:
 (,n_components,=,NUM_LIT,,,random_state,=,NUM_LIT,),\n,value,=,np,.,random,.,random,(,(,NUM_LIT,,,NUM_LIT,),),\n,reduced_values,=,self,.,reduction_method,.,fit_transform,(,value,),\n,return,reduced_values,\n,if,__name__,==,STR_LIT,:,\n,a,=,sklearn_test,(,),\n,reduced_values,=,a,.,process,(,),\n,print,(,reduced_values,),\n,b,=,dict,(,),\n,for,key,,,value,in,b,.,items,(,),:,\n,print,(,STR_LIT,),\n,c,=,dict,(,),\n,for,key,,,value,in,dict,.

(1460942) Recommendations: items, iteritems, keys, _get_kwargs, __dict__, environ, viewitems, body, cells, values
(1460942) Time taken to get recommendations: 61 ms, Memory increase: 1982 KB.
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:27 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:23:27 [found 8 items] (19ms)
(1460942)
Lookback tokens:
 (,n_components,=,NUM_LIT,,,random_state,=,NUM_LIT,),\n,value,=,np,.,random,.,random,(,(,NUM_LIT,,,NUM_LIT,),),\n,reduced_values,=,self,.,reduction_method,.,fit_transform,(,value,),\n,return,reduced_values,\n,if,__name__,==,STR_LIT,:,\n,a,=,sklearn_test,(,),\n,reduced_values,=,a,.,process,(,),\n,print,(,reduced_values,),\n,b,=,dict,(,),\n,for,key,,,value,in,b,.,items,(,),:,\n,print,(,STR_LIT,),\n,c,=,dict,(,),\n,for,key,,,value,in,dict,.

(1460942) Recommendations: items, iteritems, keys, _get_kwargs, __dict__, environ, viewitems, body, cells, values
(1460942) Time taken to get recommendations: 55 ms, Memory increase: 1731 KB.
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:24:9 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:24:9 [found 46 items] (2ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 2 ms, Memory increase: 1650 KB.
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:24:10 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:24:10 [found 22 items] (2ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 2 ms, Memory increase: 1645 KB.
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:24:12 ...
(1460942) [FG]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] completion at /home/cyjun0304/Desktop/debug_pylance/main.py:24:12 [found 7 items] (1ms)
(1460942) IntelliCode: current invocation did not produce any meaningful tokens.
(1460942) Time taken to get recommendations: 1 ms, Memory increase: 1643 KB.
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (2ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [FG] parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [FG] binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
[Info  - 7:18:26 AM] (1460942) SourceFile: Received fs event 'change' for path '/home/cyjun0304/Desktop/debug_pylance/main.py'
(1460942) [BG(1)]   checking: /home/cyjun0304/Desktop/debug_pylance/main.py (5017ms)
[Info  - 7:18:26 AM] (1460942) [BG(1)] Long operation: checking: /home/cyjun0304/Desktop/debug_pylance/main.py (5017ms)
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (5019ms)
[Info  - 7:18:26 AM] (1460942) [BG(1)] Long operation: analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (5019ms)
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: analyze
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py ...
(1460942) [BG(1)]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [BG(1)]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [BG(1)]   checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4801ms)
[Info  - 7:18:31 AM] (1460942) [BG(1)] Long operation: checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4801ms)
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4802ms)
[Info  - 7:18:31 AM] (1460942) [BG(1)] Long operation: analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4802ms)
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: getSemanticTokens delta
(1460942) [BG(1)] getSemanticTokens delta previousResultId:1676877475596 at /home/cyjun0304/Desktop/debug_pylance/main.py ...
(1460942) [BG(1)]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [BG(1)]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [BG(1)] getSemanticTokens delta previousResultId:1676877475596 at /home/cyjun0304/Desktop/debug_pylance/main.py (4666ms)
[Info  - 7:18:35 AM] (1460942) [BG(1)] Long operation: getSemanticTokens delta previousResultId:1676877475596 at /home/cyjun0304/Desktop/debug_pylance/main.py (4666ms)
(1460942) Background analysis message: analyze
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py ...
(1460942) [BG(1)]   checking: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: analyze
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py ...
(1460942) [BG(1)]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [BG(1)]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [BG(1)]   checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4863ms)
[Info  - 7:18:40 AM] (1460942) [BG(1)] Long operation: checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4863ms)
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4865ms)
[Info  - 7:18:40 AM] (1460942) [BG(1)] Long operation: analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4865ms)
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: analyze
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py ...
(1460942) [BG(1)]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [BG(1)]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [BG(1)]   checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4808ms)
[Info  - 7:18:45 AM] (1460942) [BG(1)] Long operation: checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4808ms)
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4809ms)
[Info  - 7:18:45 AM] (1460942) [BG(1)] Long operation: analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4809ms)
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: resumeAnalysis
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py ...
(1460942) [BG(1)]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [BG(1)]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [BG(1)]   checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4819ms)
[Info  - 7:18:50 AM] (1460942) [BG(1)] Long operation: checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4819ms)
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4821ms)
[Info  - 7:18:50 AM] (1460942) [BG(1)] Long operation: analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4821ms)
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: analyze
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py ...
(1460942) [BG(1)]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (2ms)
(1460942) [BG(1)]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [BG(1)]   checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4760ms)
[Info  - 7:18:55 AM] (1460942) [BG(1)] Long operation: checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4760ms)
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4763ms)
[Info  - 7:18:55 AM] (1460942) [BG(1)] Long operation: analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4763ms)
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: analyze
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py ...
(1460942) [BG(1)]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [BG(1)]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [BG(1)]   checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4770ms)
[Info  - 7:18:59 AM] (1460942) [BG(1)] Long operation: checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4770ms)
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4772ms)
[Info  - 7:18:59 AM] (1460942) [BG(1)] Long operation: analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4772ms)
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: analyze
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py ...
(1460942) [BG(1)]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [BG(1)]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (1ms)
(1460942) [BG(1)]   checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4853ms)
[Info  - 7:19:04 AM] (1460942) [BG(1)] Long operation: checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4853ms)
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4855ms)
[Info  - 7:19:04 AM] (1460942) [BG(1)] Long operation: analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4855ms)
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: setFileOpened
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: analyze
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py ...
(1460942) [BG(1)]   parsing: /home/cyjun0304/Desktop/debug_pylance/main.py (2ms)
(1460942) [BG(1)]   binding: /home/cyjun0304/Desktop/debug_pylance/main.py (0ms)
(1460942) [BG(1)]   checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4767ms)
[Info  - 7:19:09 AM] (1460942) [BG(1)] Long operation: checking: /home/cyjun0304/Desktop/debug_pylance/main.py (4767ms)
(1460942) [BG(1)] analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4769ms)
[Info  - 7:19:09 AM] (1460942) [BG(1)] Long operation: analyzing: /home/cyjun0304/Desktop/debug_pylance/main.py (4769ms)
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: markFilesDirty
(1460942) Background analysis message: analyze
(1460942) [BG(1)] indexing: /home/cyjun0304/Desktop/debug_pylance/main.py [found 7] (0ms)
(1460942) Indexing Done: /home/cyjun0304/Desktop/debug_pylance/main.py
(1460942) Background analysis message: resumeAnalysis
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: resumeAnalysis
(1460942) Background analysis message: resumeAnalysis
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getSemanticTokens delta
(1460942) [BG(1)] getSemanticTokens delta previousResultId:1676877511137 at /home/cyjun0304/Desktop/debug_pylance/main.py (4ms)
(1460942) Background analysis message: resumeAnalysis
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: resumeAnalysis
(1460942) Background analysis message: resumeAnalysis
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: resumeAnalysis
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: resumeAnalysis
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: resumeAnalysis
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: resumeAnalysis
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange
(1460942) Background analysis message: getDiagnosticsForRange

Is this a duplicate of https://github.com/microsoft/pylance-release/issues/3908?

can you set this "python.analysis.useLibraryCodeForTypes: false" and see whether it improves performance?

After I set "python.analysis.useLibraryCodeForTypes: false", the performance become normal.
However, I cannot use type hint and parameter hint for custom libraries.

After I set "python.analysis.useLibraryCodeForTypes: false", the performance became normal.
However, I cannot use type hint and parameter hint for my own libraries in other workspaces.

ya, we still need to figure out which part of sklearn is causing perf issues.

see how to generate some local stubs for sklearn  https://github.com/microsoft/pyright/blob/main/docs/type-stubs.md#generating-type-stubs

Simpler reproduction:

@wangtz0607 I don't believe it is the same issue. your case is just parsing/binding taking time when a module is used the first time. once those are done, it is fast second time and after. if that is not the case, please open a new issue with repro steps and logs as the issue creator did.

@erictraut can you take a look? it looks like some of expressions are taking long time to analyze.

OK, thanks. I'm able to repro the issue. I'll investigate further.

Longer term, the right answer is to convince the maintainers of sklearn and scipy to add proper inlined type information. Many library authors are doing this already. If they cannot be convinced, then it might make sense to spearhead an effort to add third-party stubs to typeshed for these libraries.

@gramster has been working on scikit-learn stubs. assigning to Graham to experiment with his stubs.

according to logs from 3 sciki-learn issues. one common source of perf issues is scipy.sparse. if we can put partial stubs for modules under that sub package, we could have at least 50% perf win.

I'm not seeing this slow performance in pylance v2024.3.1

Could not repro on 2024.7.1. Closing.


[Task]: Fix the locked storage deposit graph (Statistics page)

Task description
The data in the locked storage deposit graph needs to be computed the same way like the lockedStorageDeposit analytic statistic.

Update the query here https://github.com/iotaledger/explorer/blob/dev/api/src/services/stardust/influx/influxQueries.ts
Add logic to compute the correct value for each day (like we did for the Locked storage deposit stat) in influxClient https://github.com/iotaledger/explorer/blob/480c6eeadf9bee2f57ebc1821e823b9b4ceecfc5/api/src/services/stardust/influx/influxDbClient.ts#L327

Check with @grtlr if graph with new computed data makes sense.
Requirements
N/A
Acceptance criteria
N/A
Creation checklist

[X] I have assigned this task to the correct people
[X] I have added the most appropriate labels
[X] I have linked the correct milestone and/or project

Scope change
Meanwhile the Chronicle team actually updated the computation on their side.
So that now we don't need to "account for byte cost" and compute the right value from two different queries.
This task scope changes from "Fixing the LockedStorageDeposit graph to also compute the right value for each day entry"
to
"Simplify the query for the LockedStorageDeposit statistic to just take the value from one query, and remove additional computation" (the graph query is already good, no changes needed)


outline: init at 0.65.2

Motivation for this change
Add a package and module for Outline.
Closes #91361, Closes #133145
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

hi! do you plan on working on this thing any more? ♥

Hey, yeah – I kind of have a more or less running version locally. I'll try to get it pushed until the weekend. If you haven't heard back by Monday, feel free to ping me again.

Wow this work is huge! I really would like to use it. If possible try to update to latest version 0.64.3

Okay, feel free to try now. If you need inspiration, this configuration is probably a good start:
{
  services.outline = {
    enable = true;
    package = pkgs.outline.overrideAttrs (oldAttrs: {
      patchPhase = ''
        sed -i "117d;119,123d" server/env.ts
      '';
    });
    publicUrl = "https://wiki.example.com";

    storage = {
      accessKey = "outline";
      secretKeyFile = "/var/lib/outline/storage_secret";
      uploadBucketUrl = "https://storage.example.com";
      uploadBucketName = "outline";
    };

   # And one of the authentication options here.
  };
}

At the moment, you'll still need to patch the package as done so above. This will no longer be necessary once Outline releases a new version.

Since this is a module addition you could add an entry to the release notes :)

Currently trying to test and setup your outline package and module, looks already great :)
Would it be possible to use minio as backend provider as default and setup it automatically?

When trying to build the outline package I get following error:
building '/nix/store/a57hki45frkwmb2511jgs7djir924cnm-tmpfiles.d.drv'...
yarn config v1.22.19
success Set "yarn-offline-mirror" to "/nix/store/rwgz076ribv0j0xv1sc0jh5m28rr2l38-offline".
Done in 0.10s.
yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[] 0/2122[] 6/2122[] 9/2122error Can't make a request in offline mode ("https://registry.yarnpkg.com/_babel_core___core_7.16.5.tgz")
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

error: builder for '/nix/store/vk3bk1xdvi6ln3dwkmnci7f3ygsdrvik-outline-0.64.4.drv' failed with exit code 1

Oh sorry, forgot to update the Yarn lockfile after the last version bump. Compiling should work again.

Currently trying to test and setup your outline package and module, looks already great :) Would it be possible to use minio as backend provider as default and setup it automatically? The first setup to just test outline would be much easier then. But of course this is just an optional feature :)

I had already thought about that, but the problem is that it would probably require some refactoring of the Minio module to work, because it doesn't yet allow to decoratively create buckets and tokens. We could hack something together that uses the Minio API to create a bucket for us, but I'm not entirely sure if that's worth it…
In case it helps, this is the Minio config I am currently using:
{
  services.minio = {
    enable = true;
    listenAddress = "<IP_ADDRESS>:9000";
    consoleAddress = "<IP_ADDRESS>:9001";
    rootCredentialsFile = "/path/to/secrets/minio-credentials";
  };

  services.nginx.virtualHosts = {
    "storage.example.com" = {
      forceSSL = true;
      enableACME = true;
      locations."/" = {
        proxyPass = "http://${config.services.minio.listenAddress}";
      };
    };

    "console.storage.example.com" = {
      forceSSL = true;
      enableACME = true;
      locations."/" = {
        proxyPass = "http://${config.services.minio.consoleAddress}";
      };
    };
  };

  services.outline = {
    # ...
    storage = {
      accessKey = "outline";
      secretKeyFile = "/path/to/secrets/outline-storage-key";
      uploadBucketUrl = "https://storage.example.com";
      uploadBucketName = "outline";
    };
  };
}

The bucket itself is created directly through Minio's web interface.

@onny Any idea what OfBorg is moaning about?

@onny Any idea what OfBorg is moaning about?

maybe it wants a rebase?

It says This PR does not cleanly list package outputs after merging. Not exactly sure how to deal with that if I'm honest…

Super-weird, cause it does list em clearly

Oh, okay, that apparently can happen if you don’t/incorrectly specify meta, and the former applies rn.

And also, the more serious issue — for Nixpkgs you need to vendor in yarn.lock, because IFD is prohibited.

that apparently can happen if you don’t/incorrectly specify meta

Thanks, that'll hopefully do the trick.

IFD is prohibited

Oh yeah, right. I had removed yarn.lock but it's back in again now.

I would probably also guess that using ${yarnOfflineCache} is technically IFD.
Maybe try changing it to $yarnOfflineCache and assign yarnOfflineCache = ... in the mkDerivation~

It might also be yarn2nix-moretea.mkYarnNix directly that's the problem…

Hooray, that worked!

Nice, inlining the output of yarn2nix > yarn.nix seems to have done it ^^

Hmm, doesn’t seem to work with
  services.minio = {
    enable = true;
    listenAddress = "<IP_ADDRESS>:9000";
    consoleAddress = "<IP_ADDRESS>:9001";
    rootCredentialsFile = "/secrets/minio_creds";
    accessKey = "outline";
  };

  services.outline = {
    enable = true;
    concurrency = 6;
    port = 12000;
    storage = {
      accessKey = "outline";
      secretKeyFile = "/secrets/outline-keys";
      uploadBucketUrl = "<IP_ADDRESS>:9000";
      uploadBucketName = "outline";
    };
  };

Service spawns, but 12000 is not open :/

Oh, okay, no errors in the latest invocation. It restarts multiple times, and in first few whines about not being able to access yarn. After giving it yarn, it starts complaining about not being able to access packages from node_modules (namely sequelize).

Oh, okay, found your wrapper for it)
Trying to understand why does it whine so much~

And it did apply migrations from the looks of it~

but it still tried to go for the second time:
Aug 14 16:34:28 yuna outline-pre-start[1011706]: Sequelize CLI [Node: 16.16.0, CLI: 6.4.1, ORM: 6.20.1]
Aug 14 16:34:28 yuna outline-pre-start[1011706]: Loaded configuration file "database.json".
Aug 14 16:34:28 yuna outline-pre-start[1011706]: Using environment "production".
Aug 14 16:34:28 yuna outline-pre-start[1011706]: No migrations were executed, database schema was already up to date.
Aug 14 16:34:28 yuna systemd[1]: Started Outline wiki and knowledge base.
░░ Subject: Unit outline.service has finished start-up
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ Unit outline.service has finished starting up.
░░
░░ The start-up result is RESULT.
Aug 14 16:34:30 yuna outline-start[1011723]: {"label":"lifecycle","level":"info","message":"Note: Restricting process count to 1 due to use of collaborative service"}
Aug 14 16:34:30 yuna outline-start[1011723]: {"label":"lifecycle","level":"info","message":"\nIs your team enjoying Outline? Consider supporting future development by sponsoring the project:\n\nhttps://github.com/sponsors/outline\n"}
Aug 14 16:34:30 yuna outline-start[1011723]: warning Skipping preferred cache folder "/var/empty/.cache/yarn" because it is not writable.
Aug 14 16:34:30 yuna outline-start[1011723]: warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-995".
Aug 14 16:34:30 yuna outline-start[1011723]: error Command "sequelize" not found.
Aug 14 16:34:30 yuna outline-start[1011723]: {"level":"warn","message":"Command failed: yarn sequelize db:migrate:status --env=production-ssl-disabled\nwarning Skipping preferred cache folder \"/var/empty/.cache/yarn\" because it is not writable.\nwarning Selected the next writable cache folder in the list, will be \"/tmp/.yarn-cache-995\".\nerror Command \"sequelize\" not found.\n"}
Aug 14 16:34:30 yuna systemd[1]: outline.service: Main process exited, code=exited, status=1/FAILURE
Aug 14 16:34:30 yuna systemd[1]: outline.service: Failed with result 'exit-code'.
Aug 14 16:34:30 yuna systemd[1]: outline.service: Consumed 2.709s CPU time, no IP traffic.
░░ Subject: Resources consumed by unit runtime
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ The unit outline.service completed and consumed the indicated resources.
Aug 14 16:34:30 yuna systemd[1]: outline.service: Scheduled restart job, restart counter is at 109.
░░ Subject: Automatic restarting of a unit has been scheduled
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ Automatic restarting of the unit outline.service has been scheduled, as the result for
░░ the configured Restart= setting for the unit.
Aug 14 16:34:30 yuna systemd[1]: Stopped Outline wiki and knowledge base.
░░ Subject: Unit outline.service has finished shutting down
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ Unit outline.service has finished shutting down.
Aug 14 16:34:30 yuna systemd[1]: outline.service: Consumed 2.709s CPU time, no IP traffic.
░░ Subject: Resources consumed by unit runtime
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ The unit outline.service completed and consumed the indicated resources.
Aug 14 16:34:30 yuna systemd[1]: Starting Outline wiki and knowledge base...
░░ Subject: Unit outline.service has begun start-up
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ Unit outline.service has begun starting up.
Aug 14 16:34:31 yuna outline-pre-start[1011796]: Sequelize CLI [Node: 16.16.0, CLI: 6.4.1, ORM: 6.20.1]
Aug 14 16:34:31 yuna outline-pre-start[1011796]: Loaded configuration file "database.json".
Aug 14 16:34:31 yuna outline-pre-start[1011796]: Using environment "production".
Aug 14 16:34:31 yuna outline-pre-start[1011796]: No migrations were executed, database schema was already up to date.
Aug 14 16:34:31 yuna systemd[1]: Started Outline wiki and knowledge base.
░░ Subject: Unit outline.service has finished start-up
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ Unit outline.service has finished starting up.
░░
░░ The start-up result is RESULT.

This line from your output is a bit weird:

Aug 14 16:34:30 yuna outline-start[1011723]: {"level":"warn","message":"Command failed: yarn sequelize db:migrate:status --env=production-ssl-disabled\nwarning Skipping preferred cache folder \"/var/empty/.cache/yarn\" because it is not writable.\nwarning Selected the next writable cache folder in the list, will be \"/tmp/.yarn-cache-995\".\nerror Command \"sequelize\" not found.\n"}

Why is it running Sequelize through Yarn? There should be a wrapper that runs inside Outline's Node environment…

Damn, that took way to many tries...
But it seems to work now on my instance, mind trying again?

Thank you for all your work so far! <3
So, it appears to start, and it tries to redirect each and every request to https version (which I don’t have set up). Is there any way to disable that?

Yeah, there's an option to disable that, but its not exposed in the module yet (among a few others, which should probably be added before merging). I'll add them later, but for now you could try this:
{
  systemd.services.outline.environment.FORCE_HTTPS = true;
}

And while we're at it: there are a few changed options since I started working on this PR. Just dropping the link here so I can refer back later ;)

Yay, it started and doesn’t redirect me now!

Soo, I will get back from a walk and configure SMTP or any other type of login to test it)

Nice, the other options are available now as well. If you're running Keycloak, I had success with this configuration:
{
  services.outline = {
    oidcAuthentication = {
      clientId = "outline";
      clientSecretFile = "/var/lib/outline/oidc_secret";
      authUrl = "https://accounts.example.com/auth/realms/default/protocol/openid-connect/auth";
      tokenUrl = "https://accounts.example.com/auth/realms/default/protocol/openid-connect/token";
      userinfoUrl = "https://accounts.example.com/auth/realms/default/protocol/openid-connect/userinfo";
      displayName = "Keycloak";
    };
  };
}

I've tried dex and it’s a bit less cumbersome to set up — alas if doesn’t seem to support it’s own password storage.

Oh wow, first time hearing about Dex. Thanks!

Also tried Vault OIDC provider — for some reason it doesn’t work :|

also, that probably should go in unit

also, that probably should go in unit

Yep, just saw it as well ^^

Did you get OIDC working?

Did you get OIDC working?

Nnnope, opened a bug
https://github.com/outline/outline/discussions/3969

Okay, finally, was able to log in with GitLab OIDC

Nice! Would be interesting to figure out why Vault didn't work…

Am I stupid, or configuring minio is super painful? Did you configure it, @yrd ?)

Yeah, kind of. Try creating a bucket, a user and this policy (all three named outline):
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::outline",
                "arn:aws:s3:::outline/*"
            ]
        }
    ]
}

And assign the policy to the user. I also needed to set this because that seems to be Minio's default region:
{
  services.outline.storage.region = "us-east-1";
}

I think that should have been it…

Oh. Now that’s interesting

Oh no 🙈 What does your Outline config look like?

Oh no see_no_evil What does your Outline config look like?

Hm... That's pretty much what I have as well. Except, try removing the path from uploadBucketUrl. Mine only points to the root of the Minio installation (like https://storage.example.com)

Yes, that actually worked, ty!
I will add some Minio examples to their wiki)

After those few fixes it started working again)

But well, here’s a fixed branch anyways https://github.com/cab404/nixpkgs/tree/outline

@cab404 Thanks! I merged your changes back into my branch. Although

Allow edits and access to secrets by maintainers

is actually on, so I don't really know why you couldn't push anything…

Oh, you can also add me to maintainer list)

Great, would have asked anyhow ;)

Thanks!
@aanderse I thought about using freeform options but given that that's basically the same as using systemd.services.outline.environment anyway I didn't bother. Hope that's in spirit of the RFC ^^
And where did you find a cronjob? Even their Dockerfile doesn't seem to call anything…

And where did you find a cronjob? Even their Dockerfile doesn't seem to call anything…

he (for some reason) wrote that he didn’t :)

https://github.com/outline/outline/blob/main/server/env.ts
https://github.com/outline/outline/blob/main/server/routes/api/cron.ts
https://github.com/outline/outline/blob/main/server/routes/api/cron.test.ts

Congratulations :) Very nice contribution!

Hey, in case I want to try out Outline with local storage and authentication, what is the correct way to get it working?
  services.outline = {
    enable = true;
    publicUrl = "http://localhost";

    storage = {
      accessKey = "outline";
      secretKeyFile = "/var/lib/outline/storage_secret";
      uploadBucketUrl = "http://storage.localhost";
      uploadBucketName = "outline";
    };

  };

  services.minio = {
    enable = true;
    listenAddress = "<IP_ADDRESS>:9000";
    consoleAddress = "<IP_ADDRESS>:9001";
    rootCredentialsFile = "/path/to/secrets/minio-credentials";
  };

  services.nginx.virtualHosts = {
    "storage.localhost" = {
      forceSSL = true;
      enableACME = true;
      locations."/" = {
        proxyPass = "http://${config.services.minio.listenAddress}";
      };
    };

    "console.storage.localhost" = {
      forceSSL = true;
      enableACME = true;
      locations."/" = {
        proxyPass = "http://${config.services.minio.consoleAddress}";
      };
    };
  };
``

Do I need to configure minio any further? How to manage the authentication?

@onny
Minio is enough for storage, and alas it might be a bit finniky — it's not required to use most of the functionality anyways)
For auth I personally used Dex, it's quite easy to set up

  services = {

    caddy = {
      enable = true;
      virtualHosts = {
        "dex.hostname" = {
          extraConfig = ''
            reverse_proxy <IP_ADDRESS>:5556
          '';
        };
      };
    };
  };

  systemd.services.dex = {
    serviceConfig.StateDirectory = "dex";
  };

services.dex = {
    environmentFile = "/secrets/dex-env";
    enable = true;
    settings = {
      # External url
      issuer = "https://dex.hostname";

      storage = {
        type = "sqlite3";
        config.file = "/var/lib/dex/db.sqlite3";
      };

      web = {
        http = "<IP_ADDRESS>:5556";
      };

      # enablePasswordDB = true;
      staticClients = [
        {
          id = "outline";
          name = "Outline Client";
          redirectURIs = [ "https://hostname/auth/oidc.callback" ];
          secretFile = "/var/lib/dex/outline-oidc-secret";
        }
      ];

      connectors = [];
    };
  };
}

Something along these lines
For connector configuration, read this: https://dexidp.io/docs/connectors/

Oh, yeah, sorry about that)
So, first of all, configure your Dex. Then you will be able to download your oidc configuration — it will be available at https://dex.hostname/.well-known/openid-configuration
Then use something akin to this:
    oidcAuthentication =
        let
          oidcUrl = "https://dex.effective.moe";
          oidcConf = with builtins; fromJSON (readFile ./openid-configuration-dex.json);
        in
        {
          clientId = "outline";
          clientSecretFile = "/var/lib/outline/outline-oidc-secret";
          scopes = [ "openid" "email" "profile" ];
          usernameClaim = "preferred_username";
          displayName = "Dex";

          authUrl = oidcConf.authorization_endpoint;
          tokenUrl = oidcConf.token_endpoint;
          userinfoUrl = oidcConf.userinfo_endpoint;
        };

I guess you can also just plain and simple insert values from there, it would make it easier if you'd want to change your domain in the future

Thank you @cab404 got it working and put the most minimal configuration to the NixOS wiki https://nixos.wiki/wiki/Outline
Looking forward writing a simple test for Outline using this method :)

I am not sure Nixpkgs would be able to run it though, @onny
Outline is unfree, hydra won't build it :(


glTF exporter updates

Fix left-handed/right-handed conversion
Supports exporting primitive modes
Supports exporting meshes with up to two uv channels (per glTF spec)
Supports texture sampling
Uses async functions

Good to go!
Please update doc :)


switch to azure logs

https://securecloud.blog/2019/12/20/nodejs-logging-integration-with-azure-log-analytics-sentinel/

https://www.npmjs.com/package/winston-azure-application-insights


CSS Override Issues

Issue with Yahoo.com 'u' position needs to be static
Issue with example.com 'div' needs reset margin, padding, width

Fixed in a41c0681e17f979ad16163219ac126f619fcaa24


Upgrading to 1.5.3 throw JS error message

Upgrading to 1.5.3 throw JS error message (OS: Windows 10 Pro)
See attached image. Restarting VSCode does not repeat the error message.

I see two ways:

Reinstall VS Code from binary
Manually update VS Code

Download .zip for Windows from https://code.visualstudio.com/Download.
unzip resources directory to c:\Program Files (x86)\Microsoft VS Code\.

Also related to https://github.com/Microsoft/vscode/issues/11717

Please don't do the suggested Manually update VS Code, but simply reinstall it: https://code.visualstudio.com/Download


Add a disk module

LGTM so far, can you just rebase on master to check CI is ok? :)

Thanks, updated with some docs and rebased

Thanks!


Add Navbar & Footer to the other pages

I want to Add Navbar & Footer to the ...

Rate Us page
Contributor page
Feedback page

to match the UI of this pages to the landing page.
Assign me under JWOC 2024, if approved.

@Surajit0573 , go for it.

@Jagroop2001, Please Review my PR


Add information about triple slash (///) comments and their purpose

Triple slash comments (/// some comment) seem to be supported in Cairo, but there's no info in the book about them.
(Maybe I'm missing something?)
There should be at least a mention of these comments in the "Comments" chapter.

For now they're useless as there is not documentation tool that can use them, but there will be in the future

Created an issue to make good use of these /// comments: https://github.com/starkware-libs/cairo/issues/5711

I think the plan is for them to be equivalent to rust's ///

I'll double check with the development team and post their response.

@enitrat there seems to be a plan to support at least 3 types of comments inspired by Rust:

// - line comments
/// - contract-element documentation
//! - contract documentation

All 3 types are supported atm in Cairo, compiler doesn't complain.
Taken from https://github.com/andrew-fleming/SNIPs/blob/comment-snip/SNIPS/snip-8.md
Also see: https://community.starknet.io/t/revisiting-the-comment-standard-natspec-or-rust/98009

More generically,
// - line comments
/// - item-lvel documentation, used to document the item right after
//! - module-level documentation,  used to document the item it is present inside

Ah, understood. Do you think the latter 2 comment types should then be mentioned at all, given they are not yet supported by any 3rd party tool?
Maybe add docs on them once tooling exists?

@enitrat just checking in to see whether this is still something we want to implement or not?
See my previous message https://github.com/cairo-book/cairo-book/issues/830#issuecomment-2147686930

Yes this can be a dedicated paragraph in https://book.cairo-lang.org/ch02-04-comments.html


[PowerRename] Keyboard Shortcut to select PowerRename in Context Menu

Summary of the new feature/enhancement
Currently, It seems that PowerRename is not assigned any Keyboard Shortcut in Context Menu, so it is hart to select PowerRename in Context Menu. It would be useful to have shortcuts like 'w' (Po(w)erRename).

Ctrl+F2?

Maybe WinKey+F2 for global like F2 is for a single. Let’s look at the context menu where it is loaded and see what rename does too

Good idea BTW

Hi @lemonett
I'm testing this using the latest release https://github.com/microsoft/PowerToys/releases
and even though PowerRename doesn't have an explicit shotcut key, P is automatically used and does open the PowerRename dialog.
@pc-v2 @crutkas
enabling something+F2 is a different thing, afaik there is no API to do it, so it would require to figure out some hack.

no public API to do a shortcut.  we can do W since P is print, R is property, m is rename

think W is the only option we can do.

The fix is now available in 0.16 https://github.com/microsoft/PowerToys/releases

The W key is already used by the system in some languages, can it be replaced by other keys, such as A and X?

Yea, can we reopen this?
it's much faster to "Right click" -> "W" -> "F" when creating a new folder.....


Typespecs aren't quite right

So, the first problem is that this package is expecting a type t to be defined on both the token schema and user schema. Since Ecto.Schema doesn't automatically generate a type, this assumption isn't a very safe one.
So, I defined a type on each schema:
@type t :: %__MODULE__{}

But then, I get some violations:
lib/authority_ecto/templates/registration.ex:1: Function change_user/0 has no local return
lib/authority_ecto/templates/registration.ex:210: The call 'Elixir.MyApp.Accounts':change_user('nil',#{}) breaks the contract ('Elixir.MyApp.Accounts.User':t() | 'Elixir.MyApp.Accounts.Token':t(),map()) -> {'ok','Elixir.Ecto.Changeset':t()} | auth_failure()

We could update the typespecs to use %schema{} instead of schema.t(). Might help.

Fixed by 8a06269

I released a new version with this fix: 0.1.2


Fixes for building portable wheel : nrnivmodl-core should be usable from wheel

Do not link to MPI libraries if MPI is not enabled
Use CXX compiler set on target machine e.g. via env variable
Perl and Python executable may not be exist in same path.
Check for existence before using them.

Todos:

[x] Check is Perl and Python should be set via wrapper?
Perl is safe. May be only python is worth setting.

CI_BRANCHES:NEURON_BRANCH=epic/gpu_wheel,

Still WIP but on BB5 I am testing this with:
    module load unstable cmake python hpe-mpi flex bison python-dev llvm gcc
    cmake .. -DCMAKE_INSTALL_PREFIX=`pwd`/install \
          -DCORENRN_ENABLE_GPU=OFF -DNRN_ENABLE_INTERVIEWS=OFF -DNRN_ENABLE_RX3D=OFF \
          -DNRN_ENABLE_CORENEURON=ON -DCORENRN_ENABLE_NMODL=OFF -DCORENRN_CLANG_FORMAT=ON \
          -DNRN_ENABLE_MPI_DYNAMIC=ON \
          -DNRN_MPI_DYNAMIC="/gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/externals/2021-01-06/linux-rhel7-x86_64/gcc-9.3.0/intel-mpi-2019.8.254-r
          -DCORENRN_CMAKE_FORMAT=ON -DPYTHON_EXECUTABLE=`which python3.8`
    make -j12
    make install

and it should create
$ tree lib/
lib/
|-- libcoreneuron.so
|-- libcorenrnmpi_mpich.so
|-- libcorenrnmpi_mpt.so
|-- libnrniv.so
|-- libnrnmpi_mpich.so
|-- libnrnmpi_mpt.so
|-- librxdmath.so
|-- libscopmath.a

@alkino : still draft but you can see my ongoing changes in 836267d.

re: the error with building too many things with -acc, do we have an issue to follow up on that?

I created #674 for this.

Retest this please


Scrolling through document is too slow

its the issue that has been solved before but i am having this issue in the new update of atom
my atom version: 1.12.6
issue that occured before:
https://github.com/atom/atom/issues/9549

Thanks for reaching out!
We require the template to be filled out on all new issues and pull requests. We do this so that we can be certain we have all the information we need to address your submission efficiently. This allows the maintainers to spend more time fixing bugs, implementing enhancements, and reviewing and merging pull requests.
Thanks for understanding and meeting us half way :grinning:


Add Apache reverse proxy for development

Signed-off-by: Ryan Beck-Buysse<EMAIL_ADDRESS>

To test:
just run

Open http://localhost:8080/index.md in a browser. Observe that you're redirected to index.html
^c


Fixed #904.

The time range expression for query the live instance between the start time and end time is incorrect.
Please answer these questions before submitting pull request

Why submit this pull request?

[x] Bug fix

[ ] New feature provided

[ ] Improve performance

Related issues
Fixed #904

The time range expression for query the live instance between the start time and end time is incorrect.

Coverage remained the same at 19.178% when pulling 7669360e744832bc8c71d03b78baa339b80f687e on peng-yongsheng:fixed/904 into 9529a75bc9f7c954d1a349ad6db9f1caca714830 on apache:master.


There is no pie chart in python version of pivottablejs

How can i render the pie chart using python pivottablejs module.please help

This is likely because the jupyter_pivottablejs module isn't using the latest version of pivottable, which should be easy to fix if someone wants to make a PR for it :)

Ah actually, things are a bit more subtle than that: the jupyter system uses C3 for charting, but the pie option is only available with the Plotly renderer, so I would need to make this breaking change one time. I'll think about it.

Thanks for the reply  nicolas.  I tried to include the plotly renderer in the python version ,it didn't worked


Upload Documentation part 2

Added

Added EventLog Vue component (#158815907)

Changed

Spruced up return-back page (#158815907)

[Delivers #158815907]

@EvanBarbour3 why to master?

APPROVED


[Feature] Shrink the input box inside the search button icon [GSSoC'23]

Description

Shrink the input box inside the search button icon
This will increase the space in the navbar
By clicking on the search button icon, input box will open up and user will easily search
This will increase the attractiveness and look of the website
Best user experience
Makes the website more productive

Screenshots
No response
Checklist

[X] I have checked the existing issues
[X] I have read the [Contributing Guidelines]
[X] I have read the discussion tab thoroughly and got the project idea
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

@rohansx please assign this task to me to work on it and contribute in this repository and create a valuable contribution under GSSoC'23 program

@rohansx please assign this task to me to contribute in this repository under GSSoC'23 program

@SiddhantPawar03 please assign it to me


Do you think about hiddening mouse  in the future ?

I want to hide the mouse in the Windows system on Electron App.
so ,I use 'moveMouse(the width of the screen,the height of the screen)' for now.
I think , do you think about hiddening mouse  in the future ?
thanks!

This issue has been closed because it has been inactive for > 240 days.
You may reopen this issue if it has been closed in error.


Fix Add hadoop system classpath to CLASSPATH to resolve can not enable hadoop short circuit reading in some environments.

Proposed changes
Add hadoop system classpath to CLASSPATH to resolve can not enable hadoop short circuit reading in some environments.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Add user & group to run rootless

@ayusmadi Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


Fix plasma if/else branching.

Good catch @InoMurko but I don't think the fix does what we want.
Because VAULT=false in the env will be converted to a string "false", which will evaluate as true.
I believe the usual way to deal with booleans in env vars is:
const vault = process.env.VAULT === 'true';
That way VAULT=true evaluates to  true and anything else evaluates to false
It's not pretty, but I think it's as good as it gets...


Angular CLI: VM package and process from node.js not available when targeting the browser (compile error)

Hello
When using the library inside of a typescript based project (in my case Angular) the vm library from nodejs cannot be found by the compiler.
The JS sandbox environment relies on this package to work. On the browser (unless using browserify with the browser-vm package) there is no way to get the code "compiling" properly, (at least if you compiler tries to solve every lib imported).
This could be solved if a method that does not rely on the vm lib was introduced in the lib.
Thanks a lot for working on this project.
Cheers

As i have been testing i found a way to run it without "errors" but i did need to do some changes to the lib. All of this should be easily fixable but splitting nodejs and browser user access points properly.
To avoid the "vm" not found error we can create a empty file and add it to the compilerOptions paths as if it was the vm lib in the tsconfig file.
	"compilerOptions": {
		...
		"paths": {
			"vm": ["./src/empty.ts"]
		},
	}

After this we get a  Uncaught ReferenceError: process is not defined, that should also be easily fixable, but is an error since the process variable is not defined on browser environment.
To fix this one we actually need to change the files xlm.js, reportUtils.js,  jsSandbox.js, processTemplate.js and main.js
var DEBUG = process.env.DEBUG_DOCX_TEMPLATES;

change to
var DEBUG = false;

Hi, I think you make a great point.
Just to be sure, which version of docx-templates are you using?
The examples directory contains examples with webpack and browserify. Both of these compilers do a lot of magic under the hood. This makes building docx-templates for the browser look deceptively easy while it actually needs quite a bit of polyfilling, as you've shown.
I think we need to:

Add an example for the Angular CLI. Also to be used as a test harness for this issue. Can you maybe give me a minimal example of what a vanilla Angular CLI setup looks like (without the workarounds you mentioned)?
Ensure vm does not have to resolve at compile time. Adding a separate browser entrypoint may indeed be the best way to do this. I'll play around with this a bit.
Remove the DEBUG hooks thingy. It is pretty much useless now anyway.

Hello
I am using the last version from NPM published today 4.2.0.
Totally agree nowadays is a bit tricky to implement a solution compatible with all the solutions used to transpile/build js.
Aside from the changes i just pointed above, it is just import and use normally.
I can try and put together a PR with the changes required to fix these problems. If you want me to.
Once again thanks a lot great job

Ok, clear!
I've removed the DEBUG flag.
I'm also working on an Angular example to add to the examples directory. I'll see if I can make a few changes to how vm is required to make the project compile with a vanilla Angular compiler setup. If not, i'll use the example project to document the necessary compiler settings.

Thats great the only change required is to separate the browser and nodejs access point to the library,
Check this article out https://dev.to/riversun/recipes-on-how-to-create-a-library-that-supports-both-browser-and-node-js-201m

Alright, i've done some more digging.
It seems that besides vm, there's another NodeJS API, stream, that needs to be polyfilled/shimmed for browser use. stream is a dep of sax-js, the XML parser we use (see this issue). Shimming this in tsconfig.json the way you proposed for vm does not work, as sax-js tests for its existence the moment it is loaded.
Both these Node APIs are apparently cleanly shimmed by browserify/webpack. I didn't know the Angular CLI did so little magic in comparison... Hence, I think distributing a separate browserify build is the only way to thoroughly tackle this and make good on our 'browser compatible' promises. That should also allow users to use the whole thing without a transpiler.

I'm currently deeply in JS toolchain hell.
I've transpiled the library using browserify and tsify and made a browser entrypoint (see the browserify-browser-build branch).
I'm testing whether importing the lib works in example-angularcli, but i'm getting an error. Note that angular app compilation succeeds: it is a runtime error.
Would appreciate it if you could take a look.

Sure, i will create a branch to test it and check the runtime error. To see if i'm able to figure our a way fix it somehow.
Thanks a lot!

Well, got the error to go away but the shim introduced by browserify for stream doesnt seem to be working. Probably and for now removing the DEBUG  should be enough for it to work without any major configuration.
I will try during the weekend to come up with a better solution to this. Thanks a lot!

Closing this because the resolution is nontrivial and very specific to the angular toolchain. Feel free to reopen if you have a fix.

https://github.com/guigrpa/docx-templates/releases/tag/v4.8.0 may help with this.

@jjhbw here I am facing the same issue with angular 12 webpack 5.
It seems Webpack 5 does not polyfill the node libs automatically like webpack 4 was doing.
eg: vm, utils ...
Since the sandboxjs library has vm-browserfy as dev dependency instead of a dependency we do not get installed it when installing docx-templates.
It can be solved by installing vm-browserfy as dev dependency. But I guess in some point it should be marked as peerDependency in order to notify about this during the installation.

You can also use the browser-ready-bundle see https://github.com/guigrpa/docx-templates#polyfilled-browser-ready-bundle this includes vm-browserfy.
BUT if you do the report-generation in a worker you don't block the Main-Thread and you can (also need to as vm-browserfy doesn't work in a worker) disable the sandbox (so no vm package needed).


Add functions for adding testdata to the pipelines

This PR:
generalizes the spatial mapping R.spatial_mappings

generalizes the spatial mappings to make the applicable to a list of selected spatial_ontology levels
the spatial mapping returns not only the spatialunit_uid but also the names and translations of the spatial unit

Replaced by https://github.com/statistikZH/statbotData/pull/38


Switch statement when used with more then 6 cases will generate a compile error

when I use a switch with a static condition for Ex.
public class Class1
{

    public Class1()
    {
        switch ("123")
        {
            case "1":
                break;
            case "2":
                break;
            case "3":
                break;
            case "4":
                break;
            case "5":
                break;
            case "6":
                break;
            case "7":
                break;
        }
    }
}

I don't have any problems but when I use it with a variable condition for Ex.
public class Class1
{

    public Class1()
    {
        string test = "123";
        switch (test)
        {
            case "1":
                break;
            case "2":
                break;
            case "3":
                break;
            case "4":
                break;
            case "5":
                break;
            case "6":
                break;
            case "7":
                break;
            case "8":
                break;
        }
    }
}

the compiler crashes.
My script sharp version is <IP_ADDRESS> and I'm using VWD 2010

Fix included in <IP_ADDRESS> - APIs required by csc.exe have been added, but marked as obsolete (with error) to prevent them being used, as they aren't supported at runtime.


boundary can now be passed to MultipartFormData

✨
MultipartFormData can now take in fileManager and boundary inputs and pass it to Alamofire's MultipartFormData.
This doesn't introduce breaking API changes. Call site for .uploadMultipart will stay the same, ie:
enum MyTarget: TargetType {
   case test(Data, URL)

    var task: Task {
        switch self {
            case let .test(data, url):
                let bodyPart1 = MultipartFormBodyPart(provider: .file(url), name: "bp1")
                let bodyPart2 = MultipartFormBodyPart(provider: .data(data), name: "bp2")

                return .uploadMultipart([bodyPart1, bodyPart2]) // This is valid thanks to ExpressibleByArrayLiteral
        }
    }
}

Fixes #1988
Fixes #2050
Fixes #2051

Hi @AndrewSB, can I check when will this be in a release? I see the latest release is still 15.0.3 and that was back in 2022.


Fix boom-3633

Fix issue: https://github.com/PrestaShop/PrestaShop/issues/9924

To be reviewed by someone else, I allowed myself to push on the branch as no fork has been created.

I have this error when I try to edit and save a category but don't know how to fix it :sweat_smile:

If someone know I let you do it, otherwise this PR can be closed

@marionf you can add:
if (!is_dir($dir)) {
    return;
}

at the beginning of cleanMenuCacheDirectory

Thank you guys, I added your comments

Seems good to me, if no one else has any feedback I think it's good to be merged (QA seems to have been approved)

Thanks @marionf


Lizzy deletes newly created stack

Lizzy is deleting some newly created stacks because it sorts the stacks alphabetically when trying to find the older stacks, which will fail if the order of magnitude of the version changes (for example version 10 will be deleted because it will appear before 9).

The sorting is done in https://github.com/zalando/lizzy/blob/master/lizzy/job/deployer.py#L116


Custom JsonSerializer ignored

Prerequisites

[x] I have written a descriptive issue title
[x] I have verified that I am running the latest version of Nancy
[x] I have verified if the problem exist in both DEBUG and RELEASE mode
[x] I have searched open and closed issues to ensure it has not already been reported

Description
I want to use a custom JsonSerializer for Serializing/Deserializing TimeSpan and Dictionary objects. In V.1.4.5 I could override ConfigureApplicationContainer and register my own Serializers inheriting Newtonsoft.Json.JsonSerializer. The same registration in V2.0 seems now to be ignored.
I also registered a new environment.Json Method in Configure in the Bootstrapper. However, this takes JavaScriptConverter as custom serializers.
Furthermore, I saw Bug #2800 , but the Nancy.Json.Serializers NuGet isn't compatible with NetStandard2.0 !
Steps to Reproduce
CustomBootstrapper
public class CustomBootstrapper : DefaultNancyBootstrapper
    {
        protected override void ConfigureApplicationContainer(TinyIoCContainer container)
        {
            base.ConfigureApplicationContainer(container);
            container.Register<JsonSerializer, CustomNancyJsonSerializer>();
        }
    }

CustomNancyJsonSerializer
public class CustomNancyJsonSerializer : JsonSerializer
    {
        public CustomNancyJsonSerializer()
        {
            MissingMemberHandling = MissingMemberHandling.Ignore;
            NullValueHandling = NullValueHandling.Ignore;
            DefaultValueHandling = DefaultValueHandling.Include;
            DateFormatHandling = DateFormatHandling.IsoDateFormat;
            DateTimeZoneHandling = DateTimeZoneHandling.Unspecified;
            ContractResolver = new DefaultContractResolver();
            Formatting = Formatting.None;
        }
    }

Startup
public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseOwin(x => x.UseNancy(o => o.Bootstrapper = new CustomBootstrapper()));
        }
    }

TestModule
public class TestModule : NancyModule
    {
        public TestModule() : base("/")
        {
            Get("/", parameters =>
            {
                return Negotiate.WithModel(new
                {
                    Id = 1,
                    Date = DateTime.Now,
                    TimeS = new TimeSpan(1, 10, 20),
                    NullField = (int?)null
                });
            });
        }
    }

Expected Json
{
    "id": 1,
    "date": "2019-10-25T08:16:35.0424088",
    "timeS": {
        "days": 0,
        "hours": 1,
        "minutes": 10,
        "seconds": 20,
        "milliseconds": 0
    },

}

Actual Json
{
    "id": 1,
    "date": "2019-10-25T08:16:35.0424088+02:00",
    "timeS": {
        "days": 0,
        "hours": 1,
        "minutes": 10,
        "seconds": 20,
        "milliseconds": 0
    },
    "nullField": null
}

System Configuration
.Net Core 3.0 WebAPI x86
Windows 10 1809
VisualStudio 2019

Nancy version: 2.0
Nancy host

[ ] Nancy.Hosting.Aspnet
[ ] Nancy.Hosting.Self
[x] Nancy.Owin (Kestrel with NetCore Owin 3.0)
[x] Other: Newtonsoft.Json 12.0.2

Other Nancy packages and versions: None

Nancy.Serialization.JsonNet is compatible with Nancy if you use the preRelease version 2.0 of Nancy.Serialization.JsonNet as it seems...
Is there no final release?


terraform helm_repository deprecated

Getting the following error while deploying this terraform module.
Warning: This resource is deprecated and will be removed in the next major version.
Please supply the URL of your repository to helm_release resources directly, using the repository attribute.
See: https://www.terraform.io/docs/providers/helm/r/release.html#example-usage

  on .terraform/modules/eks-alb-ingress/main.tf line 1, in data "helm_repository" "default":
   1: data "helm_repository" "default" {

Similar to https://github.com/lablabs/terraform-aws-eks-external-dns/pull/7
@karol-bujacek please take a look.

This will be fixed in pull-request #5 .

Thanks.
I think you should also update docker images to use the image tag in the helm chart
at https://github.com/lablabs/terraform-aws-eks-alb-ingress/blob/master/templates/values.yaml.tpl#L23

@ismailyenigul, we already know about this and we will fix it in separate branch / pull-request.

@karol-bujacek ok cool. I deployed alb ingress and external dns but did not work on my EKS. then I had to deploy them manually.
btw, the helm chart expect that kubectl configured to use the current k8s cluster.
I was trying to deploy your charts while creating EKS cluster so there was no kubeconfig at that stage.
you might want to run aws eks update-kubeconfig --name  $clustername for this case.
I used the following resource before installing an helm chart
resource "null_resource" "updatekubeconfig" {

  depends_on = [
    module.eks_cluster.eks_cluster_id
  ]

  provisioner "local-exec" {
    command     = var.update_kubeconfig_cmd
    interpreter = var.update_kubeconfig_interpreter
    environment = {
      CLUSTERNAME = module.eks_cluster.eks_cluster_id
    }
  }
}

variable "update_kubeconfig_cmd" {
  description = "Custom local-exec command to execute update .kube/config"
  type        = string
  default     = "aws eks update-kubeconfig --name  $CLUSTERNAME"
}

variable "update_kubeconfig_interpreter" {
  description = "Custom local-exec command line interpreter for the command."
  type        = list(string)
  default     = ["/bin/sh", "-c"]
}

@ismailyenigul we are preparing a PR where you can find an example in which we address the issue. We will let you know once it's ready.

Thanks.
I think you should also update docker images to use the image tag in the helm chart
at https://github.com/lablabs/terraform-aws-eks-alb-ingress/blob/master/templates/values.yaml.tpl#L23

@ismailyenigul , now it is possible to use custom image tag in the Helm chart. We have completely remove values template file and we are using set blocks for changes instead. Take a look at pull-request #6 for more details.

Thanks @karol-bujacek
One more thing the latest chart version is 1.0.2 at https://github.com/helm/charts/blob/master/incubator/aws-alb-ingress-controller/Chart.yaml
Your default chart seems too old.
variable "helm_chart_version" {
  default = "0.1.13"
}

just deployed from master branch with chart version is 1.0.2
I got the following error:
E0719 16:54:09.233050       1 controller.go:217] kubebuilder/controller
"msg"="Reconciler error" "error"="failed to reconcile LB managed SecurityGroup: failed to reconcile managed LoadBalancer
securityGroup: InvalidVpcID.NotFound: The vpc ID 'vpc-xxx' does not exist\n\tstatus code: 400,
request id: 62c7d0a2-0945-48c4-8837-0244994a5c19"  "controller"="alb-ingress-controller" "request"={"Namespace":"default","Name":"api"}

vpc-xxx is default value if autoDiscoverAwsVpcID != true
https://github.com/helm/charts/blob/master/incubator/aws-alb-ingress-controller/values.yaml#L18
I added the following settings to make it work. It is better to set in variables by default
settings = {
  autoDiscoverAwsRegion = "true"
  autoDiscoverAwsVpcID  = "true"
}

@ismailyenigul , I agree that region and VPC configuration may not be obvious and it might cause errors like yours. Although, we prefer not to override these settings by default – I think it may cause troubles with overriding these values by mistake or constantly repeating these two values juts because you want to add different one. In the future we want to improve this configuration.

One more thing the latest chart version is 1.0.2 at https://github.com/helm/charts/blob/master/incubator/aws-alb-ingress-controller/Chart.yaml
Your default chart seems too old.

@ismailyenigul , thank you. We will update the version after some testing – 0.1.13 and 1.0.2 looks like too big leap.


404 on https://gorm.io/plugin/opentelemetry?go-get=1

Description
Looks like the plugin doesn't exist on gorm.io:
go get gorm.io/plugin/opentelemetry
go: unrecognized import path "gorm.io/plugin/opentelemetry": reading https://gorm.io/plugin/opentelemetry?go-get=1: 404 Not Found

@danieltmartin solve it in https://github.com/go-gorm/gorm.io/pull/565. Nowgo get gorm.io/plugin/opentelemetry  it works. Thank you for raising the issue.


dss download-manifest throws exceptions on duplicate files

I am running the hca download-manifest command with a manifest and the --no-data flag. Pretty early on in the process, the hca utility begins to throw many, many FileExistsError exceptions, apparently because it is attempting to write and re-write and re-re-write the same JSON metadata files repeatedly.
Here is the command I am using to download the manifest:
hca dss download-manifest --manifest pancreas-female-short.tsv --replica aws --layout bundle --no-data

using pancreas-female.tsv.zip and shortening it via
head -n 151 pancreas-female.tsv > pancreas-female-short.tsv

This begins the download process, but at some point begins raising many FileExistsErrors like so:
INFO:hca:Skipping download of 'project_0.json' because it already exists at '.hca/v2/files_2_4/62/474d/62474de4b9fea0f4e87cc3e5bfe5fab858c3465d44c45f46568ae63524afdb4d'.
WARNING:hca:Download task failed: DSSFile(name='project_0.json', uuid='cddab57b-6868-4be4-806f-395ed9dd635a', version='2019-05-10T142452.095000Z', sha256='62474de4b9fea0f4e87cc3e5bfe5fab858c3465d44c45f46568ae63524afdb4d', size=6050, indexed=True, replica='aws')
Traceback (most recent call last):
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/charles/Downloads/test/vp/lib/python3.7/site-packages/hca/dss/__init__.py", line 581, in _download_and_link_to_filestore
    hardlink(file_store_path, file_path)
  File "/Users/charles/Downloads/test/vp/lib/python3.7/site-packages/hca/dss/util/__init__.py", line 44, in hardlink
    os.link(source, link_name)
FileExistsError: [Errno 17] File exists: '.hca/v2/files_2_4/62/474d/62474de4b9fea0f4e87cc3e5bfe5fab858c3465d44c45f46568ae63524afdb4d' -> '0d0d4aa1-7e35-44bd-8949-fcc6bae92dfd.2019-05-14T083819.435000Z/project_0.json'

INFO:hca:Skipping download of 'library_preparation_protocol_0.json' because it already exists at '.hca/v2/files_2_4/01/250f/01250ff5b0fcda00e8bc203e9dae7942b456f8c23bb8af4215c353367d1ad15a'.
WARNING:hca:Download task failed: DSSFile(name='library_preparation_protocol_0.json', uuid='3ab6b486-f900-4f70-ab34-98859ac5f77a', version='2019-05-10T142253.537000Z', sha256='01250ff5b0fcda00e8bc203e9dae7942b456f8c23bb8af4215c353367d1ad15a', size=928, indexed=True, replica='aws')
Traceback (most recent call last):
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/charles/Downloads/test/vp/lib/python3.7/site-packages/hca/dss/__init__.py", line 581, in _download_and_link_to_filestore
    hardlink(file_store_path, file_path)
  File "/Users/charles/Downloads/test/vp/lib/python3.7/site-packages/hca/dss/util/__init__.py", line 44, in hardlink
    os.link(source, link_name)
FileExistsError: [Errno 17] File exists: '.hca/v2/files_2_4/01/250f/01250ff5b0fcda00e8bc203e9dae7942b456f8c23bb8af4215c353367d1ad15a' -> '0d0d4aa1-7e35-44bd-8949-fcc6bae92dfd.2019-05-14T083819.435000Z/library_preparation_protocol_0.json'

Happens with files with names ilke sequencing_protocol_0.json, library_preparation_protocol_0.json, project_19.json, analysis_file_30.json, etc.
While I haven't narrowed down the cause of the issue, I believe it is because the hard links that the dcp-cli is creating are links to files with the same names, and the links are all being put into the same folder, so there are naming conflicts, causing the FileExistsError exceptions.

To reproduce:
mkdir temp && cd temp
virtualenv vp -p python3.7 && source vp/bin/activate
pip install hca
wget https://github.com/HumanCellAtlas/dcp-cli/files/3611654/pancreas-female.tsv.zip && unzip https://github.com/HumanCellAtlas/dcp-cli/files/3611654/pancreas-female.tsv.zip
head -n 151 pancreas-female.tsv > pancreas-female-short.tsv
hca dss download-manifest --manifest pancreas-female-short.tsv --replica aws --layout bundle --no-data

The fix here is to not raise this exception if the file is already linked in the filestore.

My previous comment https://github.com/humancellatlas/dcp-cli/issues/485#issuecomment-555750738 is not actually relevant. This issue has the same underlying cause as #450. Therefore it is being resolved in PR #477.
@chmreid your steps to reproduce are not completely correct. running the script once is not sufficient to manifest this bug. Instead you have to run the script twice in a row. The second time you should expect to see these errors.
The cause is that if multiple threads are downloading the same file at the same time, the last thread to finish will overwrite the filestore entry, thus orphaning the links made into the previous entry by the treads that finish first. When the script is run a second time, it encounters these orphaned files, sees that they are not linked in the filestore, assumes that the user created them and fails so as to avoid overwriting a user created file.
tl;dr: closing in favor of #450

@hannes-ucsc asked I reopen this so that you can track the progress of your issue.


Fix the case in Google Maps initialization example

The biggest PR on GitHub :)

Bravo! I'd give you a medal, if I could :)


Some apps is not listed when i want to share the video in android and ios

Ask your Question

Can i know why instagram and instagram stories is not listed when i want to share the video in android? this also happen when i want to share the video in ios, there is no twitter is shown. But if i share message only, it listing all the possible apps. How can i show all the listed apps when i want to sharing the video?

This is happen when im using version 3.1.1. After i downgrade to version 2.0.0, it works perfectly.

possible related to #729


[Bug]: Error for field required when value is entered for field

Why is this issue important?
unable to upload a valid file
Current State
uploading a test file for project 1c and receive an error that filed DU is required, but file has a value for DU entered.
Test file: google drive link
Error message:

Expected State
if value is entered, there should not be a required field error
Implementation Plan
The following functions need to be added...
Relevant Code Snippets
No response

This will address it! https://github.com/usdigitalresponse/cpf-reporter/pull/336

Looks fixed to me in staging, thank you!!


Can't run Mentalist

Hello, i made everything listed on the wiki to install Mentalist, but i get this error
here's a pastebin
https://pastebin.com/BJ5t9SZW
System : Kali Linux 64-Bit (fresh install) French
AMD FX-6300
GT 1030
8GB DDR3

Same here

use
sudo dpkg-reconfigure locales
reconfigure all then choose the type you want to reconfigure too e.g (en_GB.UTF-8) however this will be different depending on your language but you need to remember this.
now execute
sudo nano /usr/local/lib/python3.8/dist-packages/Mentalist-1.0-py3.8.egg/mentalist/view/main.py
on line 14 change locale.setlocale(locale.LC_ALL, 'en-US')
to whatever your locale is named so for me would be to en_GB instead of en_US
on line 15 change locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
to once again your locale is named so for me en_GB.UTF-8 instead of en_US.UTF-8
This worked for me kind of long winded im sure there is a better way but it works.

not able to understand

use
sudo dpkg-reconfigure locales
reconfigure all then choose the type you want to reconfigure too e.g (en_GB.UTF-8) however this will be different depending on your language but you need to remember this.
now execute
sudo nano /usr/local/lib/python3.8/dist-packages/Mentalist-1.0-py3.8.egg/mentalist/view/main.py
on line 14 change locale.setlocale(locale.LC_ALL, 'en-US')
to whatever your locale is named so for me would be to en_GB instead of en_US
on line 15 change locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
to once again your locale is named so for me en_GB.UTF-8 instead of en_US.UTF-8
This worked for me kind of long winded im sure there is a better way but it works.

This fix worked for me, thanks!

use
sudo dpkg-reconfigure locales
reconfigure all then choose the type you want to reconfigure too e.g (en_GB.UTF-8) however this will be different depending on your language but you need to remember this.
now execute
sudo nano /usr/local/lib/python3.8/dist-packages/Mentalist-1.0-py3.8.egg/mentalist/view/main.py
on line 14 change locale.setlocale(locale.LC_ALL, 'en-US')
to whatever your locale is named so for me would be to en_GB instead of en_US
on line 15 change locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
to once again your locale is named so for me en_GB.UTF-8 instead of en_US.UTF-8
This worked for me kind of long winded im sure there is a better way but it works.

This fix worked for me, thanks!


Use the generated xcodeproj and test boilerplate

What are the reasons to add the xcodeproj in git?
My proposal is to remove it from git and just let swift package generate one whenever is needed by a user. Otherwise it's difficult to add a dependency in Package.swift
Also, swift test can generate the testing boilerplate for linux, I also propose to use it.

This is the dependency I wanted to try: https://github.com/dn-m/PerformanceTesting


Creating a Player in frontendapi causes the server to spin out.

:bug: Performing an HTTP GET to get updates on a player that does not exist in mm is causing a hang on the HTTP request, and this is the output from the frontendapi
time="2019-05-08T17:55:11Z" level=debug msg="No new results, backing off" app=openmatch component=statestorage playerId=2
time="2019-05-08T17:55:11Z" level=debug msg="state storage operation: player unmarshalled" app=openmatch cmd=HGETALL component=statestorage key=2
time="2019-05-08T17:55:11Z" level=debug msg="No new results, backing off" app=openmatch component=statestorage playerId=2
time="2019-05-08T17:55:11Z" level=debug msg="state storage operation: player unmarshalled" app=openmatch cmd=HGETALL component=statestorage key=2
time="2019-05-08T17:55:11Z" level=debug msg="No new results, backing off" app=openmatch component=statestorage playerId=2

It’s not backing off, it looks like it’s caught in a loop.  Also I would expect just a 404 response in this case.

EX: GET http://localhost:51504/v1/frontend/players/2
Where player id 2 has never had a createPlayer request and does not yet exist in redis

@sawagh can you look into this?

I may have been mistaken on the expected behaviour of this GET request.  Please first check that it is as intended! :)

I would expect the behavior to be 404 - so the bug is valid :)
The current code fetches the the Player from redis and checks for any changes from what it has last seen in response to the update method. The HGETALL used to fetch the non existent player returns an empty list of properties - and that constructs an empty player each time :) so the check never fails but simply keeps spinning noticing no changes from the last 'Empty' Player.
Will keep this bug active and add a test case in 0.6 to validate a 404 there. I am not leaning toward hot-fixing for 0.5 unless this blocks something.

That is ok for me, thank you @sawagh !

Yufan has added a test for this in v0.6! Closing issue.


Enables the identifier_name SwiftLint rule

@philium I started this before you commented on the macOS version. I think it's a decent rule. Even if you don't want it enabled, I think the app would benefit from the resultant changes.

@philium I removed the length requirement so other developers don't have to worry about which short identifiers are allowed. We should still keep an eye out for instances of i or id in the future that should be more descriptive.

@philium I made the changes so this is ready for re-review.