[Story] Enable Sonar for the project openchallenges-edam-etl

What product(s) is this story for?
OpenChallenges
As a user, I want
No response
Description

Create the project openchallenges-edam-etl on SonarCloud.io
Add the task sonar to the project openchallenges-edam-etl

Acceptance criteria
No response
Tasks
No response
Anything else?
No response
Have you linked this story to a GitHub Project?

[X] I have linked this story to a GitHub Project and set its metadata.

How to create a project on SonarCloud.io

Login on https://sonarcloud.io
Click on the "+" button in the navbar, then select "Analyze new project"
Click on the link "Setup a monorepo"
Organization: select "Sage Bionetworks"
Repository: select "sage-monorepo"
Click on the button "Add new project"
Project Key: specify the name of the project as defined in the file project.json of the corresponding project. For example, "openchallenges-edam-etl".
Display Name: keep the auto-generated value, which should be the same as the Project Key.
Click on the button "Save configuration"
The new code for this project will be based on: select "Previous version"
Click on the button "Create project"

How to add the task sonar to the project
I copied the task sonar from apps/schematic/api/project.json, another Python project, and pasted it to apps/openchallenges-edam-etl/project.json.
Testing the task sonar for the project openchallenges-edam-etl locally:
vscode@dee30b82cf44:/workspaces/sage-monorepo$ export SONAR_TOKEN=YOUR_TOKEN
vscode@dee30b82cf44:/workspaces/sage-monorepo$ nx sonar openchallenges-edam-etl

> nx run openchallenges-edam-etl:sonar

INFO: Scanner configuration file: /opt/sonar-scanner/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarScanner <IP_ADDRESS>06
INFO: Java 17.0.9 Private Build (64-bit)
INFO: Linux 4.14.336-255.557.amzn2.x86_64 amd64
INFO: User cache: /opt/sonar-scanner/.sonar/cache
INFO: Analyzing on SonarCloud
INFO: Default locale: "en_US", source code encoding: "UTF-8" (analysis is platform dependent)
INFO: Load global settings
INFO: Load global settings (done) | time=427ms
INFO: Server id: 1BD809FA-AWHW8ct9-T_TB3XqouNu
INFO: User cache: /opt/sonar-scanner/.sonar/cache
INFO: Loading required plugins
INFO: Load plugins index
INFO: Load plugins index (done) | time=412ms
INFO: Load/download plugins
INFO: Load/download plugins (done) | time=1010ms
INFO: Load project settings for component key: 'openchallenges-edam-etl'
INFO: Load project settings for component key: 'openchallenges-edam-etl' (done) | time=376ms
INFO: Process project properties
INFO: Project key: openchallenges-edam-etl
INFO: Base dir: /workspaces/sage-monorepo/apps/openchallenges/edam-etl
INFO: Working dir: /workspaces/sage-monorepo/apps/openchallenges/edam-etl/.scannerwork
INFO: Load project branches
INFO: Load project branches (done) | time=386ms
INFO: Check ALM binding of project 'openchallenges-edam-etl'
INFO: Detected project binding: BOUND
INFO: Check ALM binding of project 'openchallenges-edam-etl' (done) | time=357ms
INFO: Load project pull requests
INFO: Load project pull requests (done) | time=367ms
INFO: Load branch configuration
INFO: Load branch configuration (done) | time=4ms
INFO: Load quality profiles
INFO: Load quality profiles (done) | time=458ms
INFO: Load active rules
INFO: Load active rules (done) | time=6417ms
INFO: Organization key: sage-bionetworks
INFO: Preprocessing files...
INFO: 3 languages detected in 10 preprocessed files
INFO: 0 files ignored because of inclusion/exclusion patterns
INFO: 0 files ignored because of scm ignore settings
INFO: Loading plugins for detected languages
INFO: Load/download plugins
INFO: Load/download plugins (done) | time=235ms
INFO: Load project repositories
INFO: Load project repositories (done) | time=395ms
INFO: Indexing files...
INFO: Project configuration:
INFO:   Excluded sources: **/build-wrapper-dump.json
INFO: 10 files indexed
INFO: Quality profile for docker: Sonar way
INFO: Quality profile for json: Sonar way
INFO: Quality profile for py: Sage way
INFO: ------------- Run sensors on module openchallenges-edam-etl
INFO: Load metrics repository
INFO: Load metrics repository (done) | time=372ms
INFO: Sensor cache enabled
INFO: Load sensor cache
INFO: Load sensor cache (404) | time=276ms
INFO: Sensor Python Sensor [python]
WARN: Your code is analyzed as compatible with all Python 3 versions by default. You can get a more precise analysis by setting the exact Python version in your configuration via the parameter "sonar.python.version"
INFO: Starting global symbols computation
INFO: 2 source files to be analyzed
INFO: 2/2 source files have been analyzed
INFO: Starting rules execution
INFO: 2 source files to be analyzed
INFO: 2/2 source files have been analyzed
INFO: The Python analyzer was able to leverage cached data from previous analyses for 0 out of 2 files. These files were not parsed.
INFO: Sensor Python Sensor [python] (done) | time=1600ms
INFO: Sensor Cobertura Sensor for Python coverage [python]
WARN: No report was found for sonar.python.coverage.reportPaths using pattern ./coverage.xml
INFO: Sensor Cobertura Sensor for Python coverage [python] (done) | time=78ms
INFO: Sensor PythonXUnitSensor [python]
INFO: Sensor PythonXUnitSensor [python] (done) | time=23ms
INFO: Sensor Python HTML templates processing [securitypythonfrontend]
INFO: Sensor Python HTML templates processing [securitypythonfrontend] (done) | time=11ms
INFO: Sensor JaCoCo XML Report Importer [jacoco]
INFO: 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml
INFO: No report imported, no coverage information will be imported by JaCoCo XML Report Importer
INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=3ms
INFO: Sensor IaC CloudFormation Sensor [iac]
INFO: 0 source files to be analyzed
INFO: 0/0 source files have been analyzed
INFO: Sensor IaC CloudFormation Sensor [iac] (done) | time=35ms
INFO: Sensor IaC AzureResourceManager Sensor [iac]
INFO: 0 source files to be analyzed
INFO: 0/0 source files have been analyzed
INFO: Sensor IaC AzureResourceManager Sensor [iac] (done) | time=147ms
INFO: Sensor IaC Docker Sensor [iac]
INFO: 1 source file to be analyzed
INFO: 1/1 source file has been analyzed
INFO: Sensor IaC Docker Sensor [iac] (done) | time=135ms
INFO: Sensor Serverless configuration file sensor [security]
INFO: 0 Serverless function entries were found in the project
INFO: 0 Serverless function handlers were kept as entrypoints
INFO: Sensor Serverless configuration file sensor [security] (done) | time=7ms
INFO: Sensor AWS SAM template file sensor [security]
INFO: Sensor AWS SAM template file sensor [security] (done) | time=1ms
INFO: Sensor AWS SAM Inline template file sensor [security]
INFO: Sensor AWS SAM Inline template file sensor [security] (done) | time=1ms
INFO: Sensor javabugs [dbd]
INFO: Reading IR files from: /workspaces/sage-monorepo/apps/openchallenges/edam-etl/.scannerwork/ir/java
INFO: No IR files have been included for analysis.
INFO: Sensor javabugs [dbd] (done) | time=2ms
INFO: Sensor pythonbugs [dbd]
INFO: Reading IR files from: /workspaces/sage-monorepo/apps/openchallenges/edam-etl/.scannerwork/ir/python
INFO: Analyzing 1 functions to detect bugs.
INFO: Sensor pythonbugs [dbd] (done) | time=220ms
INFO: Sensor TextAndSecretsSensor [text]
INFO: Available processors: 8
INFO: Using 8 threads for analysis.
INFO: 4 source files to be analyzed
INFO: 4/4 source files have been analyzed
INFO: Sensor TextAndSecretsSensor [text] (done) | time=544ms
INFO: Sensor JavaSecuritySensor [security]
INFO: Enabled taint analysis rules: S2076, S2078, S2083, S2091, S2631, S3649, S5131, S5135, S5144, S5145, S5146, S5147, S5334, S5883, S6096, S6173, S6287, S6350, S6384, S6390, S6398, S6399, S6547, S6549
INFO: Load type hierarchy and UCFGs: Starting
INFO: Load type hierarchy: Starting
INFO: Reading type hierarchy from: /workspaces/sage-monorepo/apps/openchallenges/edam-etl/.scannerwork/ucfg2/java
INFO: Read 0 type definitions
INFO: Load type hierarchy: Time spent was 00:00:00.002
INFO: Load UCFGs: Starting
INFO: Load UCFGs: Time spent was 00:00:00.000
INFO: Load type hierarchy and UCFGs: Time spent was 00:00:00.003
INFO: No UCFGs have been included for analysis.
INFO: java security sensor: Time spent was 00:00:00.007
INFO: Sensor JavaSecuritySensor [security] (done) | time=21ms
INFO: Sensor CSharpSecuritySensor [security]
INFO: Enabled taint analysis rules: S2076, S2078, S2083, S2091, S2631, S3649, S5131, S5135, S5144, S5145, S5146, S5334, S5883, S6096, S6173, S6287, S6350, S6399, S6639, S6641
INFO: Load type hierarchy and UCFGs: Starting
INFO: Load type hierarchy: Starting
INFO: Reading type hierarchy from: /workspaces/sage-monorepo/apps/openchallenges/edam-etl/ucfg2/cs
INFO: Read 0 type definitions
INFO: Load type hierarchy: Time spent was 00:00:00.000
INFO: Load UCFGs: Starting
INFO: Load UCFGs: Time spent was 00:00:00.000
INFO: Load type hierarchy and UCFGs: Time spent was 00:00:00.000
INFO: No UCFGs have been included for analysis.
INFO: csharp security sensor: Time spent was 00:00:00.001
INFO: Sensor CSharpSecuritySensor [security] (done) | time=2ms
INFO: Sensor PhpSecuritySensor [security]
INFO: Enabled taint analysis rules: S2076, S2078, S2083, S2091, S2631, S3649, S5131, S5135, S5144, S5145, S5146, S5334, S5335, S5883, S6173, S6287, S6350
INFO: Load type hierarchy and UCFGs: Starting
INFO: Load type hierarchy: Starting
INFO: Reading type hierarchy from: /workspaces/sage-monorepo/apps/openchallenges/edam-etl/.scannerwork/ucfg2/php
INFO: Read 0 type definitions
INFO: Load type hierarchy: Time spent was 00:00:00.000
INFO: Load UCFGs: Starting
INFO: Load UCFGs: Time spent was 00:00:00.000
INFO: Load type hierarchy and UCFGs: Time spent was 00:00:00.000
INFO: No UCFGs have been included for analysis.
INFO: php security sensor: Time spent was 00:00:00.000
INFO: Sensor PhpSecuritySensor [security] (done) | time=1ms
INFO: Sensor PythonSecuritySensor [security]
INFO: Enabled taint analysis rules: S2076, S2078, S2083, S2091, S2631, S3649, S5131, S5135, S5144, S5145, S5146, S5147, S5334, S5496, S6287, S6350, S6639, S6680, S6776, S6839
INFO: Load type hierarchy and UCFGs: Starting
INFO: Load type hierarchy: Starting
INFO: Reading type hierarchy from: /workspaces/sage-monorepo/apps/openchallenges/edam-etl/.scannerwork/ucfg2/python
INFO: Read 209 type definitions
INFO: Load type hierarchy: Time spent was 00:00:00.079
INFO: Load UCFGs: Starting
INFO: Reading UCFGs from: /workspaces/sage-monorepo/apps/openchallenges/edam-etl/.scannerwork/ucfg2/python
INFO: Load UCFGs: Time spent was 00:00:00.264
INFO: Load type hierarchy and UCFGs: Time spent was 00:00:00.344
INFO: Analyzing 1058 UCFGs to detect vulnerabilities.
INFO: Check cache: Starting
INFO: Load cache: Starting
INFO: Load cache: Time spent was 00:00:00.000
INFO: Check cache: Time spent was 00:00:00.000
INFO: Create runtime call graph: Starting
INFO: Variable Type Analysis #1: Starting
INFO: Create runtime type propagation graph: Starting
INFO: Create runtime type propagation graph: Time spent was 00:00:00.020
INFO: Run SCC (Tarjan) on 2168 nodes: Starting
INFO: Run SCC (Tarjan) on 2168 nodes: Time spent was 00:00:00.020
INFO: Tarjan found 2168 strongly connected components
INFO: Propagate runtime types to strongly connected components: Starting
INFO: Propagate runtime types to strongly connected components: Time spent was 00:00:00.016
INFO: Variable Type Analysis #1: Time spent was 00:00:00.060
INFO: Variable Type Analysis #2: Starting
INFO: Create runtime type propagation graph: Starting
INFO: Create runtime type propagation graph: Time spent was 00:00:00.008
INFO: Run SCC (Tarjan) on 2166 nodes: Starting
INFO: Run SCC (Tarjan) on 2166 nodes: Time spent was 00:00:00.004
INFO: Tarjan found 2166 strongly connected components
INFO: Propagate runtime types to strongly connected components: Starting
INFO: Propagate runtime types to strongly connected components: Time spent was 00:00:00.013
INFO: Variable Type Analysis #2: Time spent was 00:00:00.027
INFO: Create runtime call graph: Time spent was 00:00:00.110
INFO: Load config: Starting
INFO: Load config: Time spent was 00:00:00.170
INFO: Compute entry points: Starting
INFO: Compute entry points: Time spent was 00:00:00.083
INFO: No entry points found.
INFO: python security sensor: Time spent was 00:00:00.712
INFO: python security sensor: Begin: 2024-03-15T18:07:12.637805508Z, End: 2024-03-15T18:07:13.350265842Z, Duration: 00:00:00.712
  Load type hierarchy and UCFGs: Begin: 2024-03-15T18:07:12.638012933Z, End: 2024-03-15T18:07:12.982029318Z, Duration: 00:00:00.344
    Load type hierarchy: Begin: 2024-03-15T18:07:12.638039092Z, End: 2024-03-15T18:07:12.717301392Z, Duration: 00:00:00.079
    Load UCFGs: Begin: 2024-03-15T18:07:12.717491027Z, End: 2024-03-15T18:07:12.981751398Z, Duration: 00:00:00.264
  Check cache: Begin: 2024-03-15T18:07:12.983001548Z, End: 2024-03-15T18:07:12.983659079Z, Duration: 00:00:00.000
    Load cache: Begin: 2024-03-15T18:07:12.983041946Z, End: 2024-03-15T18:07:12.983093144Z, Duration: 00:00:00.000
  Create runtime call graph: Begin: 2024-03-15T18:07:12.983789729Z, End: 2024-03-15T18:07:13.094363133Z, Duration: 00:00:00.110
    Variable Type Analysis #1: Begin: 2024-03-15T18:07:12.984605789Z, End: 2024-03-15T18:07:13.045576320Z, Duration: 00:00:00.060
      Create runtime type propagation graph: Begin: 2024-03-15T18:07:12.985669864Z, End: 2024-03-15T18:07:13.006395949Z, Duration: 00:00:00.020
      Run SCC (Tarjan) on 2168 nodes: Begin: 2024-03-15T18:07:13.007018730Z, End: 2024-03-15T18:07:13.027595077Z, Duration: 00:00:00.020
      Propagate runtime types to strongly connected components: Begin: 2024-03-15T18:07:13.028283390Z, End: 2024-03-15T18:07:13.045279087Z, Duration: 00:00:00.016
    Variable Type Analysis #2: Begin: 2024-03-15T18:07:13.065027011Z, End: 2024-03-15T18:07:13.092319571Z, Duration: 00:00:00.027
      Create runtime type propagation graph: Begin: 2024-03-15T18:07:13.065196836Z, End: 2024-03-15T18:07:13.073605924Z, Duration: 00:00:00.008
      Run SCC (Tarjan) on 2166 nodes: Begin: 2024-03-15T18:07:13.073870807Z, End: 2024-03-15T18:07:13.078024403Z, Duration: 00:00:00.004
      Propagate runtime types to strongly connected components: Begin: 2024-03-15T18:07:13.078340182Z, End: 2024-03-15T18:07:13.092066424Z, Duration: 00:00:00.013
  Load config: Begin: 2024-03-15T18:07:13.094598674Z, End: 2024-03-15T18:07:13.265594384Z, Duration: 00:00:00.170
  Compute entry points: Begin: 2024-03-15T18:07:13.265881613Z, End: 2024-03-15T18:07:13.349672915Z, Duration: 00:00:00.083
INFO: python security sensor peak memory: 174 MB
INFO: Sensor PythonSecuritySensor [security] (done) | time=718ms
INFO: Sensor JsSecuritySensor [security]
INFO: Enabled taint analysis rules: S6350, S2631, S5147, S5696, S6287, S5334, S6105, S5883, S5131, S5144, S2083, S3649, S2076, S6096, S5146
INFO: Load type hierarchy and UCFGs: Starting
INFO: Load type hierarchy: Starting
INFO: Reading type hierarchy from: /workspaces/sage-monorepo/apps/openchallenges/edam-etl/.scannerwork/ucfg2/js
INFO: Read 0 type definitions
INFO: Load type hierarchy: Time spent was 00:00:00.000
INFO: Load UCFGs: Starting
INFO: Load UCFGs: Time spent was 00:00:00.000
INFO: Load type hierarchy and UCFGs: Time spent was 00:00:00.000
INFO: No UCFGs have been included for analysis.
INFO: js security sensor: Time spent was 00:00:00.001
INFO: Sensor JsSecuritySensor [security] (done) | time=3ms
INFO: ------------- Run sensors on project
INFO: Sensor Zero Coverage Sensor
INFO: Sensor Zero Coverage Sensor (done) | time=11ms
INFO: SCM Publisher SCM provider for this project is: git
INFO: SCM Publisher 3 source files to be analyzed
INFO: SCM Publisher 2/3 source files have been analyzed (done) | time=308ms
WARN: Missing blame information for the following files:
WARN:   * project.json
WARN: This may lead to missing/broken features in SonarCloud
INFO: CPD Executor 2 files had no CPD blocks
INFO: CPD Executor Calculating CPD for 0 files
INFO: CPD Executor CPD calculation finished (done) | time=0ms
INFO: Analysis report generated in 324ms, dir size=241 KB
INFO: Analysis report compressed in 24ms, zip size=50 KB
INFO: Analysis report uploaded in 516ms
INFO: ANALYSIS SUCCESSFUL, you can find the results at: https://sonarcloud.io/dashboard?id=openchallenges-edam-etl
INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
INFO: More about the report processing at https://sonarcloud.io/api/ce/task?id=AY5DS_Ifn0REOZSzzMNf
INFO: Sensor cache published successfully
INFO: Analysis total time: 17.971 s
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 24.462s
INFO: Final Memory: 27M/120M
INFO: ------------------------------------------------------------------------

 ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

 >  NX   Successfully ran target sonar for project openchallenges-edam-etl (25s)

   View logs and investigate cache misses at https://cloud.nx.app/runs/3bvAMASYW5


Add core datatypes: SpikeTrain

I cherrypicked your code. You can directly merge it to update-0.2.1. I don't think we have extra feature for any testing.

Codecov Report
Base: 76.48% // Head: 74.70% // Decreases project coverage by -1.78% :warning:

Coverage data is based on head (375ac01) compared to base (9430043).
Patch coverage: 24.52% of modified lines in pull request are covered.

:exclamation: Current head 375ac01 differs from pull request most recent head 9b7aad5. Consider uploading reports for the commit 9b7aad5 to get more accurate results

Additional details and impacted files
@@               Coverage Diff                @@
##           update-0.2.1     #102      +/-   ##
================================================
- Coverage         76.48%   74.70%   -1.79%
================================================
  Files                46       49       +3
  Lines              1646     1688      +42
  Branches            253      258       +5
================================================
+ Hits               1259     1261       +2
- Misses              314      353      +39
- Partials             73       74       +1

Flag
Coverage Δ

unittests
74.70% <24.52%> (-1.79%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

miv/core/__init__.py
0.00% <0.00%> (ø)

miv/core/spiketrain.py
0.00% <0.00%> (ø)

miv/datasets/ttl_events.py
0.00% <0.00%> (ø)

miv/io/binary.py
64.19% <22.85%> (-32.03%)
:arrow_down:

miv/visualization/waveform.py
89.74% <66.66%> (-2.37%)
:arrow_down:

miv/io/data.py
82.53% <75.00%> (-0.40%)
:arrow_down:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


improve block finding algorithm yet again

Fixes https://discourse.julialang.org/t/strange-behavior-in-live-line-evaluation/32497 and makes a few general improvements.

will try to take a look at this (I'm not sure I can understand that correctly)

Just done manual tests (didn't look at code) but found this PR solves every case that is mentioned here !

Nice, let's go with this then. I'm sure someone will complain if I broke something else :P


str arithmetic

Closes #1045
I wanted to try to learn how some of the symbolic stuff worked so I figured this was an easy one to tackle.
In [1]: import blaze as bz

In [2]: ds = bz.Data([('%s', 'a'), ('%s', 'b')], fields=['a', 'b'])

In [3]: ds.a + ds.b
Out[3]:

0  %sa
1  %sb

In [4]: ds.a * 2
Out[4]:
      a
0  %s%s
1  %s%s

In [5]: ds.a % ds.b
Out[5]:

0  a
1  b

Let me know if I this needs more tests or the tests are in the wrong place.

Usually when we add a new expression we add a couple of implementations using a few backends. Depending on what you're comfortable with, pandas and sql might be a nice pair to implement. after that, we can implement others piecemeal

How should I go about adding the implement these; with pandas and sql, all three operators are already defined to act element-wise on the values so they would not be using these new nodes.

if we go the methods rather than operators route then you can do something like this for pandas (in compute/pandas.py):
@dispatch(Concat, pd.Series)
def compute_up(expr, data, **kwargs):
    return data.str.concat(expr.rhs)

there might be some hoop jumping required, take a look at the BinOp implementations in the same file

Should the method names be: cat, interp and repeat?

cat -> concat, others look good

Should strings still be able to use the arithmetic operators or should you just use these new methods.

Should I move the Concat and Repeat into the expr.collections and Interp into string?

if there's a way that other backends such as sql and others that don't implement this kind of syntax can use it, then i'd be okay with allowing the operators

Should I move the Concat and Repeat into the expr.collections and Interp into string?

sounds good.

@cpcloud in your example, you have Concat doing elementwise string concat for dataframes; should it not call pd.concat?

I am having some trouble figuring out how to get a series of strings to qualify for the string ops. I started with numpy though. Also, I am not super experienced with sql so I am not sure where to start for the implementation for that back end.

@cpcloud, wondering if this looks okay with the numpy stuff and if you have any ideas for getting pandas to work

@llllllllll Can you add some tests in test_numpy_compute.py for the 3 operations that you've implemented?

As for Pandas, you can do these operations with the following operations:

Concat: pd.Series.str.concat
Repeat: pd.Series.str.repeat
Interp: use the modulo operator

Sorry; I had no issue writing to the compute functions; however, the methods were not appearing because I am not sure how to tag the pandas structures with these expression types.

Oh, do it like this:
@dispatch(Concat, pd.Series)
def compute_up(expr, data, **kwargs):
    # do stuff

In [2]: ds = bz.Data(pd.Series(['a', 'b', 'c']))

In [4]: 'repeat' in dir(ds)
Out[4]: False

I am not seeing the methods to create the expressions that the compute_up will dispatch on. I think this is because the dhape of a series with strings is just object and it fails the isstring check

@llllllllll I think you need to add them to schema_method_list here: https://github.com/quantopian/blaze/blob/str-catenation/blaze/expr/arithmetic.py#L413

this is looking good, how's the pandas backend coming?
i think for sql it makes sense to implement Concat and possibly Repeat, but Interp may be kind of hairy as different RDBMSs implement this differently. I'd be ok with just implementing the first two.

Okay, I updated the pandas stuff based on the comments made; however, I think the root of the issue is that a series of strings is an ndarray of object and not some string type.
In [9]: np.array(('a', 'b', 'c')).dtype
Out[9]: dtype('<U1')

In [10]: pd.Series(('a', 'b', 'c')).values.dtype
Out[10]: dtype('O')

In [11]: pd.Series(('a', 'b', 'c'), dtype='<U1').values.dtype
Out[11]: dtype('O')

This happens even if I am explicit about the dtype of the series.

Okay, I think I understand this now. I have added tests for the pandas backend. I don't really know much about sql, I might not be the best to write that compute backend.

I wonder if we shouldn't just shove numpy into pandas. numpy's char module algos seem to be 10x slower than pandas
In [23]: v
Out[23]:
array(['%d', '%s', '%d', ..., '%s', '%d', '%s'],
      dtype='<U2')

In [24]: s.values
Out[24]: array(['%d', '%s', '%d', ..., '%s', '%d', '%s'], dtype=object)

In [25]: %timeit np.char.mod(v, 1)
1 loops, best of 3: 3.31 s per loop

In [26]: %timeit s % 1
1 loops, best of 3: 328 ms per loop

In [27]: 3310/328
Out[27]: 10.091463414634147
``

@llllllllll what do you think about pushing numpy string algos to pandas?

I wouldn't mind investigating; however, I think that the root of the issue with the speed is that pandas treats a series of strings as dtype object instead of strings so it must dispatch with PyNumber_Mod or something.

I would intuitively think that that would be slower than what numpy is doing. My numbers above suggest otherwise

Ah, sorry, I misread. I will convert the numpy version to use pandas.

The cost of the numpy function grows faster than the pandas version, however, it is better for smaller arrays. Some basic testing has shown that they cross at around n=135. To factor in the cost of creating the series from the array, I think that a nice win could be to have the numpy compute function delegate to pandas for arrays of n>=145. I will work on adding that now.

@llllllllll one last comment, then i think we're good to merge

updated

merging

@llllllllll thanks!

yay


Use single quote string in windows password test

I think this should reduce flakes due to powershell handling special characters differently in double quotes.
/cc @jjerger @koln67

/lgtm

/hold

/unhold


Fails silently when routing_key is longer that 32 characters

Hit an issue where the routing key contained a newline which pushed the length of over the 32 character limit and caused the code to fail silently.
'_content' => '{"status":"invalid event","message":"Event object is invalid","errors":["Length of \'routing_key\' is incorrect (should be 32 characters)","\'routing_key\' cannot contain line feeds","\'routing_key\' cannot contain non-alphanumeric characters."]}',

https://github.com/querry43/perl-pagerduty-agent/blob/defc49f4c9c5f16474a6eecb9dcdfc1ac4646dd9/lib/PagerDuty/Agent.pm#L315
At this point $response was,

bless( {
                 '_content' => '{"status":"invalid event","message":"Event object is invalid","errors":["Length of \'routing_key\' is incorrect (should be 32 characters)","\'routing_key\' cannot contain line feeds","\'routing_key\' cannot contain non-alphanumeric characters."]}',
                 '_rc' => 400,
                 '_msg' => 'Bad Request',
                 '_protocol' => 'HTTP/1.1',
                 '_headers' => bless( {
                                        'client-ssl-cert-subject' => '/C=US/ST=California/L=San Francisco/O=PagerDuty Inc/CN=*.pagerduty.com',
                                        'content-length' => '240',
                                        'client-ssl-cert-issuer' => '/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA',
                                        'content-type' => 'application/json; charset=utf-8',
                                        'server' => 'nginx',
                                        'connection' => 'keep-alive',
                                        'client-ssl-cipher' => 'ECDHE-RSA-AES256-GCM-SHA384',
                                        'client-peer' => '<IP_ADDRESS>:443',
                                        'client-response-num' => 1,
                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                        'client-date' => 'Tue, 02 Apr 2019 02:05:44 GMT',
                                        'date' => 'Tue, 02 Apr 2019 02:05:44 GMT',
                                        '::std_case' => {
                                                          'client-peer' => 'Client-Peer',
                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                          'client-response-num' => 'Client-Response-Num',
                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                          'client-date' => 'Client-Date',
                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class'
                                                        }
                                      }, 'HTTP::Headers' ),
                 '_request' => bless( {
                                        '_content' => '{
   "routing_key" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\\n",
   "payload" : {
      "source" : "6b63affb5186",
      "component" : null,
      "severity" : "warning",
      "summary" : "Testing pd",
      "class" : null,
      "custom_details" : null,
      "group" : null,
      "timestamp" : "2019-04-02T02:05:43.000+0000"
   },
   "images" : null,
   "event_action" : "trigger",
   "dedup_key" : null,
   "links" : null
}
',
                                        '_uri_canonical' => bless( do{\(my $o = 'https://events.pagerduty.com/v2/enqueue')}, 'URI::https' ),
                                        '_uri' => $VAR1->{'_request'}{'_uri_canonical'},
                                        '_headers' => bless( {
                                                               'user-agent' => 'libwww-perl/6.36',
                                                               'authorization' => 'Token token=fa5acf1ed7524218ac1c1983170598d6
',
                                                               'content-length' => 423,
                                                               'content-type' => 'application/json',
                                                               '::std_case' => {
                                                                                'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                               }
                                                             }, 'HTTP::Headers' ),
                                        '_method' => 'POST'
                                      }, 'HTTP::Request' )
               }, 'HTTP::Response' );

Funky. Are you saying that the key has a literal slash-n that is treated as a beeline, or that one snuck in somewhere?

Snuck in. We read in the key from a docker secret and that had a newline. Clearly this was an error on our behalf however was a little tricky catching it.

Ah, so the issue is that the api error is silently eaten. Sorry for frustration on that. Give me a few days to address it.

Yeah no worries.

I see, it's not that it fails silently but that identifying the failure is perhaps misleading.  This module should never generate an error and it should never expect STDOUT or STDERR to work.  When it encounters an error, $agent->trigger_event returns undefined and the message is available in $EVAL_ERROR.
In this case, the message would not have been useful so I am fixing that.  I am also improving the (non-existant) documentation around error handling.


ebpf support for rust debugging

Is there any useful libraries/tools that we can use to debug codes written in Rust? (Not tools written by Rust)

Hi, what do you mean exactly? Do you mean tools to debug eBPF programs written in Rust? If so, I don't think there would be anything particular to Rust, because such programs would be compiled into bytecode before being loaded into the kernel. Then once in the kernel, there's nothing related to Rust anymore, so you would debug it just like a program compiled from C or written manually.
If you mean some kind of debug that would happen before compiling, I suppose it would happen at the stage before Rust code is turned into LLVM IR, and for that you should probably ask to the Rust community. But I'm not sure what kind of debugging steps you have in mind for that stage. I can't think of anything related to eBPF in that context. Maybe ask to the people working on redbpf? Or do you have something specific in mind?

Hi, what do you mean exactly? Do you mean tools to debug eBPF programs written in Rust? If so, I don't think there would be anything particular to Rust, because such programs would be compiled into bytecode before being loaded into the kernel. Then once in the kernel, there's nothing related to Rust anymore, so you would debug it just like a program compiled from C or written manually.
If you mean some kind of debug that would happen before compiling, I suppose it would happen at the stage before Rust code is turned into LLVM IR, and for that you should probably ask to the Rust community. But I'm not sure what kind of debugging steps you have in mind for that stage. I can't think of anything related to eBPF in that context. Maybe ask to the people working on redbpf? Or do you have something specific in mind?

I mean tools to write eBPF program to debug rust code. For example, I have a rust library which I want to debug at runtime, so I can add BPF code (that can write in any language e.g. python) in the running rust program, so that I can print useful information such as events, function parameters at runtime.  This is like uprobe.
For code write in C, we can do it dynamically like in the example of bcc repo. But for rust, after I did some search, there is one way to do it (e.g. https://github.com/cuviper/rust-libprobe) . i.e. add some probes in the rust program so that at runtime, we can use BPF to print, but this is similar to add log in the code.

I mean tools to write eBPF program to debug rust code. For example, I have a rust library which I want to debug at runtime, so I can add BPF code (that can write in any language e.g. python) in the running rust program, so that I can print useful information such as events, function parameters at runtime.  This is like uprobe.
For code write in C, we can do it dynamically like in the example of bcc repo. But for rust, after I did some search, there is one way to do it (e.g. https://github.com/cuviper/rust-libprobe) . i.e. add some probes in the rust program so that at runtime, we can use BPF to print, but this is similar to add log in the code.

@chaosma this may be a late response but you could checkout https://github.com/apache/skywalking-rover from the Apache SkyWalking ecosystem.


GUI is not accessible if debug flag is set to true

In the main window of homebridge-config-ui-x I went to settings at the top right and set debug (it was  called something like that) as enabled under Advanced. Since then homebridge-config-ui-x is no longer accessible in the browser ("no connection possible"). When I use systemctl status homebridge, I see that the service is running:
user@server:~$ ● homebridge.service - Homebridge
   Active: active (running) since Sun 2020-01-12 16:12:32 CET; 11min ago
 Main PID: 11796 (homebridge)
    Tasks: 22 (limit: 4915)
   CGroup: /system.slice/homebridge.service
           ├─11796 homebridge
           └─11816 homebridge-config-ui-x

homebridge itself is still working in the background, but not homebridge-config-ui-x.
I changed the flag in my config respectively i deleted the line "debug": true. So homebridge-config-ui-x is now working, but where is the problem with debug true?
Running:
Node.js Version: v12.14.1
homebridge-config-ui-x: v4.7.0
Ubuntu: 18.04.3 LTS

Thanks @Staubgeborener,
I was able to replicate this. It will be fixed in the next release (currently in @test).


add/update icons to DevIcon's latest

Since your last update, the DevIcon has added 80+ new icons.  Please add/update those to the repository.

Updated to v2.12.0.
For newer versions a change in https://github.com/tupadr3/plantuml-icon-font-sprites/blob/master/src/lib/handler/dev2.js would be required as the source css file for the icon names was removed.


Successfully done the grid alignment of HR resources

#1839

Description
Some small bootstrap changes are made as per the requirements.
Checklist:

[x] I have performed a self-review of my own code.

@shardulgusain Can we shift the whole container, including title and cards to the center of the page

Also, can we increase the margin of the title and buttons from the header

Please make the above changes and assign for review once done.

Left a comment, please check.

"Can we shift the whole container, including title and cards to the center of the page"
Do you want me to increase left margin of the entire container....or I have to shift the entire heading to the center of the page ?

Left a comment, please check.

"Can we shift the whole container, including title and cards to the center of the page"
Do you want me to increase left margin of the entire container....or I have to shift the entire heading to the center of the page ?

I am assuming the heading and the cards must be inside a master container, we need to increase the margin from left and right, for that to align in center.


[PE-D][Tester B] Unnecessary constraint on score

Under the "Command Parameter Summary" section of user guide, the parameter for the prefix [s| ] is constrained to be integers. However, the maximum length of the parameter (7 + 2 decimals) seem to suggest that it can be non-integers as well.

Labels: type.DocumentationBug severity.Low
original: chin-herng/ped#5

The whole point of this is to accommodate changes in the exam that could potentially result in the max score becoming a decimal (e.g. section worth 0.5 marks wrongly phrased and hence excluded from the exam)


Fix issue 115 "Cannot read property 'type' of undefined"

Add new condition to opportunityRules method to avoid failure when a rules does not have details property
fixes: #115

Restarting Travis b/c it failed on a 429.

It seems that now is working properly.

The merge commit of this into master appears to have failed for both travis ci build tasks.


Check failure when running tensorflow.python.ops.gen_data_flow_ops.record_input

Click to expand!
Issue Type
Bug
Have you reproduced the bug with TF nightly?
No
Source
source
Tensorflow Version
2.10.0
Custom Code
Yes
OS Platform and Distribution
Ubuntu 22.04
Mobile device
No response
Python version
3.9
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
Check failure when running with the following input combination:

Standalone code to reproduce the issue
import tensorflow as tf
import os
import numpy as np
from tensorflow.python.ops import gen_data_flow_ops
try:
  file_pattern = "/tmp/record_input_test3nvh1t09/tmp3gauzk6b/basic.*"
  file_buffer_size = -1
  file_parallelism = -1
  file_shuffle_shift_ratio = -2
  batch_size = -1
  file_random_seed = -2
  compression_type = ""
  out = gen_data_flow_ops.record_input(file_pattern=file_pattern,file_buffer_size=file_buffer_size,file_parallelism=file_parallelism,file_shuffle_shift_ratio=file_shuffle_shift_ratio,batch_size=batch_size,file_random_seed=file_random_seed,compression_type=compression_type,)
except Exception as e:
  print("Error:"+str(e))

### Relevant log output

```shell
2023-01-05 22:01:15.270432: F tensorflow/core/platform/threadpool.cc:99] Check failed: num_threads >= 1 (1 vs. 0)
Aborted

</details>

@nimashiri Sorry for the late response! I tried to execute the provided code and colab is crashing during execution. Please check this gist and confirm the same? Thank you!

Crash on 2.11:
import tensorflow as tf
import os
import numpy as np
from tensorflow.python.ops import gen_data_flow_ops
try:
  file_pattern = "nan"
  file_buffer_size = -90
  file_parallelism = -438
  file_shuffle_shift_ratio = -784
  batch_size = -933
  file_random_seed = -678
  compression_type = "nan"
  out = gen_data_flow_ops.record_input(file_pattern=file_pattern,file_buffer_size=file_buffer_size,file_parallelism=file_parallelism,file_shuffle_shift_ratio=file_shuffle_shift_ratio,batch_size=batch_size,file_random_seed=file_random_seed,compression_type=compression_type,)
except Exception as e:
  print("Error:"+str(e))

@learning-to-play

Added PR #59661  for the fix.


mat: add ability to compute the Cholesky when adding a row and column…

… to the factorized matrix

PTAL @kortschak . This is a 70% implementation.
This arises in things like Gaussian processes, and other Kernel methods, when a new data point is acquired. This kind of update is only n^2, while computing the full Kernel matrix and taking its Cholesky is n^3.
There are two things I don't like. The first is the name. I'm not sure what a good name is when you're adding a row and column. The second is that this only allows adding one element at a time. The issue is the API for the more general version, where the 'correct' abstraction is a rectangular type, which we do not currently have, and I'm not sure if it's useful enough to fully support (though we do have BandRectangular, so maybe). The third is that this allocates every time it's called, even if orig = chol, which is a lot of unnecessary allocation and copying. We don't really have an automatic "growing" schedule like append, so I'm not sure what the correct fix here is.

PTAL @kortschak

Done. Thanks. PTAL


Gym reset must be called before step or "AssertionError: Cannot call …

…env.step() before calling reset()" will be throw.

The correct approach would be to call env.restart() before env.step(). By calling gym.reset() in __init__() you will miss the first observation, env.restart() takes care of that.


Please do not use private gRPC API.

Here's an example:
https://github.com/GoogleCloudPlatform/google-cloud-python/blob/master/api_core/google/api_core/grpc_helpers.py#L84
_next is not a public API of gRPC python lib, it's subject to change and there's no guarantee to support it.

This is intentional.

@jonparrott Again, it's private API and subject to change, you are intentionally ask to be broken when using it.


When running PrePush hooks, RuboCop says it passes but I suspect it never runs

Whenever overcommit runs my PrePush hooks, it always says rubocop passes even though I have purposefully introduced errors to test this. My EsLint config runs fine, which has me totally stumped. Any ideas what could be happening?
Output from manual run of rubocop:

.overcommit.yml
verify_signatures: false
PrePush:
  RuboCop:
    enabled: true
    on_warn: fail # Treat all warnings as failures
    required_executable: 'rubocop'
    command: ['bundle', 'exec', 'rubocop']
    # I included the following line to see if anything was being executed. No output visible
    # command: ['echo', '"test"']
    quiet: false
  EsLint:
    enabled: true
    on_warn: fail # Treat all warnings as failures
    command: ['yarn', 'lint']
    quiet: false

Hey @gunterja,
echo test won't display anything since it will return a exit status of zero (success).
Notice that you're running rubocop instead of bundle exec rubocop in your first test. There could be a difference between the version of RuboCop used in each run.

Thank you for replying, @sds. I've tried it with just rubocop as well as bundle exec rubocop. During execution, it automatically pops up with the "RuboCop OK" and then runs EsLint.  It's almost instantaneous. I have also noticed that the output is different than when I put it in a PreCommit hook. Like I said, I've tried quite a few different things and this one is definitely throwing me for a loop. Do you have any ideas for ways I could get this to work? I know you don't list RuboCop as a supported PrePush hook, but neither do you list EsLint and it seems to work just fine. :/

Hey @gunterja, keep in mind that running a pre-push hook won't pass an explicit list of files as arguments to rubocop, whereas a pre-commit will pass an explicit list of files. Perhaps the set of files you're running against is different between pre-push and pre-commit?


"issubclass is not defined"

It seems like issubclass is not implemented yet?

I just tested the latest release and it seems to work properly. So, I guess this issue's supposed to be closed.

Right!


Test importing existing repositories into Terraform state

User Need
As a Developer
I want To import existing repositories into the Terraform state
so that I can manage them through Terraform
Acceptance Criteria:

Create a bunch of repositories in ministryofjustice-test org via ClickOps
Import the repositories into the Terraform state
Check for congruence and account for incongruence

Need to remeber to import:

repo
branch protection rules
tag protection rules
GHA secrets

Method to batch import components

Create implementation plan for prod

Discovered that you can import a secret into a terraform resource with value == "", and the secret will retain it's value.
However, if you then rename the secret, terraform recreates the secret and it's original value is lost.
Consequently, renaming or secrets will have to be done by creating a new secret in terraform, deleting the original one, and providing it's value through ClickOps.


Public instance

Do you have some public instance of the icarus backend deployed?
That would be useful for testing purpose.

Hi @roccomuso , thanks for reaching us out. Unfortunately there is no public instance of icarus backend running.

No updates on this?


Update MongoDB.md

The example was misleading because it would only work when running a single test or with the option --runInBand. This is a fix to get around the fact that all tests run in their own contexts.

Summary

Test plan

Mind running yarn lint:md?

@SimenB thanks was looking for the linting command :+1:

Codecov Report

Merging #6412 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #6412   +/-   ##
=======================================
  Coverage   63.48%   63.48%
=======================================
  Files         227      227
  Lines        8697     8697
  Branches        4        3    -1
=======================================
  Hits         5521     5521
  Misses       3175     3175
  Partials        1        1

Continue to review full report at Codecov.

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

Could you copy the changes into the versioned 23.0 directory as well?

@vladgolubev what do you think of the changes here?

@vladgolubev yeah I wasn’t too sure where to write the file for the example without it being confusing...


Don't remove settings.local.php when removing database, fixes #478

The Problem/Issue/Bug:
OP #478
We used to try to delete the settings.php or settings.local.php when deleting database (ddev remove --remove-data) but this isn't necessary and can just create confusion.
It also doesn't make sense to delete the settings file just because we're dropping the database.
How this PR Solves The Problem:
Manual Testing Instructions:

Create a Drupal site and use it
check that Drupal has done its silly thing and set sites/default to 0444.
ddev rm --remove-data and look for no error.

Automated Testing Overview:

Related Issue Link(s):
OP #478
Release/Deployment notes:

@rfay Can you tell me the mechanism you're using to create the database file? I've attempted a drush and install.php for D7/D8 and sites/default isn't set to 0444 while settings.php is. Using ddev rm --remove-data doesn't remove settings.php. I'm trying to find a way to replicate generating a settings.local.php (I'm assuming Backdrop?) because it's been a while since I've seen that come up in my testing.

So @rickmanelius the long way is:

Install Drupal 7 (or 8, or 6). It will create a settings.php
Import a database
Visit the site, log in, I'm not sure when Drupal makes the changes.
ls -ld sites/default should show it unwriteable.
You should see a sites/default/settings.local.php
Try to ddev rm --remove-data the site.

You could also just import a db and visit the site and you'll see the above with settings.php created by ddev. To short-circuit (without visiting the site) you could just set sites/default to 0444.
The good news is none of this will happen with this patch :) But to demo the failure you need to do something like this procedure.

I was finally able to recreate. It was a slightly different path:

New D7 codebase with no settings.php.
ddev config and start.
Import DB and confirmed settings.php generated by ddev
Logout, login, and visit an admin page (this seemed to trigger the sites/default perm change)
ddev rm --remove-data throws the error below:

Failed to remove drupal-7.56: remove /Users/rmanelius/git/drupal-7.56/sites/default/settings.php: permission denied


HA mode

Good afternoon,
tell me the application is planned to work in HA mode?

any update on it ?


[RFC] Introduce top-level static methods

The purpose of this proposal is to make procedural programming in Wren easier and more familiar to users of other languages by introducing top-level static (TLS) methods. This is how they'd look compared to top-level functions:
static method(s) {
  System.print(s)
}

var function = Fn.new { |s|
  System.print(s)
}

method("I'm a static top-level method")
function.call("I'm a top-level function")

Unlike functions, TLS methods would not be objects and so they could not be passed to, or returned from, other methods or functions or assigned to variables. However, this means that they could be defined in the same way as class-based static methods and would not need to be invoked with 'call' as functions do to avoid the ambiguities that would otherwise arise (see #1045).
One could perhaps think of them as if they were members of an anonymous top-level class though it would not be a precise analogy.
Other aspects of TLS methods:

Parentheses would always be needed whether they took parameters or not.

They could only be defined at top-level, never within a block or nested scope.

They could be recursive.

They would see other top-level entities in exactly the same way as a top-level function and their internal implementation could therefore be similar.

Class based methods would see TLS methods in the same way as other top-level entities and you would therefore need to observe the usual capitalization rules if you wanted to invoke them from within a class.

This proposal would be backwards compatible as no new keyword would be needed and, at present, the static keyword cannot be used at top-level. Functions would continue to work exactly the same as they do now.

This would, of course, make Wren a bit more complicated but I think it would be worthwhile as I regard the current situation of always having to use top-level functions (and their associated 'call' method) for procedural code to be not only an irritation for many existing users but an obstacle to the wider adoption of Wren for simple scripts.
I look forward to comments.

Without a top level operator for name resolution, they are not usable inside class members. So till this is sorted out, this change has low interest.

Well, FWIW, I'd also like to see some sort of mechanism to distinguish top-level scope . Either an operator:  ::method or ^method as you suggested yourself a while back or perhaps, less cryptically, Top.method if we were to introduce a reserved word to denote the top-level namespace.
However, the present proposal does not depend at all on such a device or on changing the name resolution rules which we are probably stuck with unless we switch to a multi-pass compiler.
TLS methods would be callable from within a class member if they began with a capital letter just the same as top-level functions (unless you alias them) and other variables are now.
Moreover, the point of this proposal is not to make functions easier to call from within classes but to make procedural code (which may not require classes at all) easier to write and more in keeping with how it's done in most other comparable languages.

Other than that defect point due to the language name lookup, foreign method on top level can exist with such proposition and should be handled.
While I agree it would be a nice syntax, I think we really need to see it in action. Because I wonder if there is not a pitfall we don't envision. In particular since it is not an object, we can't take the value of it, and it might be less re-usable as current functions.

Although I always use classes in embedded scripts, I think I'm right in saying that the host can use wrenGetModuleVariable to get a reference to a top-level function and so perhaps we could do the same for TLS methods.
As they are not objects, TLS methods wouldn't be as versatile as top-level functions but, in the kind of scenarios I'm envisaging, you wouldn't need that versatility anyway. If you did, you'd have to use a function instead.

There is also the point of accessing __ variables.
Some of the points, makes me wonder how costly it will be in terms of complexity in the compiler, so I would like to see it in action.

You wouldn't be able to access __ variables within a class unless they had a 'getter' method.
TLS methods would rely on top-level variables for storing state between calls just the same as top-level functions do  now.
Incidentally, if you were thinking that we should allow TLS methods to be foreign without any implementation on the Wren side, I'm not sure that would be a good idea as there would be no class reference unless we invent one especially for the purpose.

On that point, I think null should be passed till Module are publicly available, that would make things a little bit more round and sound. That way we could have a method:
static thisModule() {
  return this
}

But this goes far beyond the scope of that pull request.

I assume that Module is something which is being developed inside a private repository as I'm not familiar with it.
But, if the idea is to represent code modules as objects, then it sounds like TLS methods may be congruent with it.

Ah, I see. Thanks for the explanation.
Incidentally, on the subject of possible pitfalls, there may be an issue with recursive TLS methods.
At present we have this situation with recursive top-level functions:
var fib  // forward declaration needed
fib = Fn.new { |n|
  if (n < 2) return n
  return fib.call(n-1) + fib.call(n-2)
}

var Fib = Fn.new { |n| fib.call(n) }

System.print(fib.call(10))  // 55
System.print(Fib.call(10))  // ditto

So, if the function name begins with a lower case letter, you need a forward declaration but not if it begins with an upper case letter. This, of course, is a consequence of  the (currently undocumented) situation I drew attention to in #1066.
Presumably, we'd have the same situation with TLS methods though, as they're not objects, a forward declaration may not be feasible (static fib on its own would have no value). I think we may just have to specify that they'd have to begin with a capital letter if they were recursive.

Well this is the reason why I think that rule should be dropped for a top level lookup operator. It has so many consideration, that it make it not practical to use, unless you fully follow the PascalCase/CamelCase convention strictly... which is not ideal in some situations.

Well, the current proposal is much more of an issue for me than the top-level name resolution rules per se as I tend to stick fairly rigidly to naming conventions. However, I agree with you that the latter rules can be a nuisance at times and I'd therefore be strongly in favor of some top-level name resolution mechanism (operator or reserved word) which should ameliorate the situation considerably. Hopefully, something can be done there in the next version.

I dont know if this is feasible or a good idea but maybe a variable can hold the methods and implicitly be called
if no higher priority options are found.
// now all the methods inside the object would be available
var Module__ = MyFunctions.new()

// would be the same as Modle__.sum()
// it would be implicitly called if no sum() is found in the scope
sum()

Example
class Hello {
  static world() {
      return "hello world"
   }
}

// bind the static methods
var Module__ = Hello

// Would be the same as Hello.world() or Module__.world()
System.print(world())

I don't see why it would not be possible to do so. But I can't decide, if
it wise or not. From a technical point of view, it doesn't necessitate a
lot hacking into the compiler... But it also does not bring much value as
this compared to declaring a global variable. But it can bring value, if we
consider it as the lookup if the lookup in the module fails (some sort of
module subclassing)

So if I'm understanding this discussion correctly, the intent is to get module-scoped named functions [1] that bypass the .call() ritual, and that potentially have some other niceties, like recursive calls without a forward declaration [2].
[1] That's "function" in the general computer-science sense of a callable routine with a return value, not limited to the narrower sense Wren uses, and not excluding methods.
[2] The compiler already handles recursive calls within method bodies, without a forward declaration, without multiple compiler passes. Does it not? Installing functions in a module namespace doesn't have to be that different, mechanistically, from installing methods in an object or class namespace.
(BTW, the Module__ examples are a little inconsistent on whether you would have to call a constructor on the class that provides the static methods, or just pass the class itself in. I don't see a good reason for there to be state that lives with (and potentially interacts with) the method implementations.)
A magic fallback variable, as seen in the Module__ proposal, is interesting because not only could you use it at module/file scope, but potentially at narrower scopes too, by shadowing the module-scoped magic variable with a local one (depending on the implementation). Module__ wouldn't be a suitable name anymore, but maybe Fns__ or something.
That way you could have easy access to a suite of, say, linear algebra functions throughout your module, but replace it with a suite of language processing functions in certain classes where that is more relevant.
(This is a little messy conceptually because shadowing happens at compile time, but the actual installation of functions doesn't happen until run time. But it's the same thing that's happening with var x = Fn.new {...} anyway.)
(BTW, the Module__ examples are a little inconsistent on whether you would have to call a constructor on the class that provides the static methods, or just pass the class itself in. I don't see a good reason for there to be state that lives with (and potentially interacts with) the method implementations.)
As proposed, there is the annoying limitation that all the functions you want to install have to be in a class, and you have to install every function in that class, because the magic variable is a scalar. Especially when there's single inheritance and no kind of roles/traits, that makes kind of an inflexible system. But hang on, if the magic variable is a namespace, namespaces are aggregates, not scalars. They're more or less maps, right?
Fns["foo"] { System.print("bar") } -- using a subscript setter and the block argument syntax. Or if you wanted, you could put a stack behind each name, and use Fns.push("foo") {...} and Fns.pop("foo") to change definitions.
Unfortunately, now that we're back to Wren-functions rather than Wren-methods, we lose the ability to dispatch the same name to different implementations depending on the signature. That's a shame.
Of course this is all moot if .call() isn't as necessary as supposed. I know that's not a new discussion, but -- the canonical example is a very specific scenario. You have to have a getter that returns a function, and an extremely good reason to give some other method the same name as that getter. Has anyone ever encountered a reason for doing that?
And even if so, it may be viable to let some expressions accept postfix () while others still require .call() -- let the former group include variable names, maybe field names too, and you're probably satisfying almost all of the demand. I haven't been through the whole discussion about .() yet but I think there were some possibilities there too.

(BTW, the Module__ examples are a little inconsistent on whether you would have to call a constructor on the class that provides the static methods, or just pass the class itself in. I don't see a good reason for there to be state that lives with (and potentially interacts with) the method implementations.)

Yes it is not needed to be consistent. Since it will work as long as you can use the method as if you were calling the object.
Module__ would be a normal variable at the end.
Example:
// example1.wren

class MyClass {
  static myfunc {4}
}

// we bind the a class with only static methods
var Module__ = MyClass

// Now we can use
Module__.myfunc

An instance can be binded too
// example2.wren
class OtherClass {
  construct new() {}
  myMethod { 4 }
}

// Now we have to bind the instance
var Module__ = OtherClass.new()

Module__.myMethod

As proposed, there is the annoying limitation that all the functions you want to install have to be in a class, and you have to install every function in that class, because the magic variable is a scalar. Especially when there's single inheritance and no kind of roles/traits, that makes kind of an inflexible system. But hang on, if the magic variable is a namespace, namespaces are aggregates, not scalars. They're more or less maps, right?

Is not needed to all the functions be on a single class. Since you can return a class within a class.
Its only needed a class that is like an "index" with accessor methods for the other classes.

class Other {
 static two { 2 }
}

class MyClass {
  static other { Other }
}

var Module__ = MyClass

Module__.other.two

I thought about something a little bit more problematic, such functions
does not seems to fit the import mechanism. While the named variable
solution gives a possibility, I find the import syntax a little bit
hackward...

Wren is an object oriented language, what is the point of 'make procedural programming in Wren easier'? If you want to write procedural code, C or Rust is there for you.

One aspect I omitted to cover in my opening post was whether or not TLS methods could be overloaded. In other words would something like this be allowed:
static method(s) {
  System.print(s)
}

static method(s, t) {
  System.print([s, t])
}

method(1)
method(1, 2)

I see no reason why this shouldn't be allowed as overloaded TLS methods could be distinguished by their 'arity' in the same way as class-based static methods.
If so, then this would give them an advantage over top-level functions which cannot be overloaded - you need to use a different name.

Having overload is nice indeed.
The main issue is how we resolve the symbols from within the methods/
functions body and for imports (which may be the more difficult one). If a
concessus for that is reached, all the goodness will follow.

As this using regular imports introduce a lots of exception in the
compiler. While it should be feasible to some extends, I don't think it
is a correct solution as this.
Maybe some thing like import "foo" for static bar seems much more
simple to handle in the compiler.

It's worth noting that, although class-based, Wren isn't a pure OO language in any case as you can still write top-level procedural code. It's not like Java for instance where you need a public 'start-up' class containing a static 'Main' method.

A lot of people tend to think that 'pure OO' = 'everything is inside class', this is not correct at all. Wren may not be a pure OO language but its not because you can write top level code, Smalltalk allows you to do that and it is a pure OO language. Also Java is not a pure OO language, it has primitive values, also it doesnt have metaclasses so its classes are not objects themselves.

@mhermier
If it would make life easier for the compiler if we distinguish 'static' imports from normal imports then I'd be fine with that and it might even mean that the second example in my previous post would now be valid because static method(_,_,_) would have a different signature from the two imported versions.
@HallofFamer
If there were a satisfactory way to get rid of call rather than introduce a new language construct, then I'd be more than happy but there just doesn't seem to be one. We looked in depth at the possibility of making call optional in #1045 but couldn't really make that work because of the ambiguities it introduced.
Going right back to #158 where the syntax function.(arg) was suggested, that looks very odd to me and I think newcomers to Wren would probably find it odd as well. Frankly, if that were the only alternative, I'd prefer to stick with function.call(arg).
I actually do regard Wren as an OO language (pure or not) as it is very close in concept to Smalltalk. But without wanting to get into a 'more OO than thou' discussion, I don't think that introducing TLS methods would compromise that description very much as one could think of them as methods of an anonymous top-level class. Admittedly they wouldn't be 'first class' but I don't see that as a problem when functions would continue to work as they do now.

I've decided to withdraw this proposal which doesn't appear to have much support anyway.
There are some aspects which I think would make it difficult to implement and people may find it confusing to have to choose between functions and TLS methods when a class is not needed.
Thanks for the discussion, everybody.


Bug 1899588: Only re-create operator resource if it has existing components

Description of the change:
This PR fixes a bug in the operator controller that causes it to
ALWAYS re-create deleted operator objects, even when no other resources
associated with that operator exist.
Motivation for the change:
Closes #1932
Reviewer Checklist

[x] Implementation matches the proposed design, or proposal is updated to match implementation
[x] Sufficient unit test coverage
[ ] ~Sufficient end-to-end test coverage~
[ ] ~Docs updated or added to /docs~
[x] Commit messages sensible and descriptive

/bugzilla refresh

/bugzilla refresh

/bugzilla refresh

/bugzilla refresh

/retest

/retest

/bugzilla refresh

/bugzilla refresh

/retest

/retest

/retest

/retest

/lgtm

/lgtm

/hold
Investigating a potential unit test improvement

/hold
Investigating a potential unit test improvement

/hold cancel

/hold cancel

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/approve

/cherry-pick release-4.6

/lgtm

/lgtm


Prepare unittest and fix some errors for MAInt

What changes do you make in this PR?

Please describe why you create this PR

Checklist

[ ] I have merged the latest main branch into current branch.
[ ] I have run bash scripts/format.sh before merging.
Please use "squash and merge" mode.

@Edwardhk The test_ma_intersection_env.py is a naive modification of test_ma_roundabout_env.py Could you try to fix some  test functions in them?


[bug] Issue with line numbers on line wrap

There is a minor bug in PR #1090 with the way that line numbers get displayed when activating line wrap.  When a line is to long and needs to be wrapped the line that is created gets a new line number and all of the code gets shifted down one.  However if there is a gap in line numbering due to a comment the line numbers for lower sections of code don't get shifted causing the numbers to be in the incorrect location.
I would also request when a line needs to be wrapped don't number the new line created as it is technically part of the line above it.
Overall, I am really happy with the changes made especially the ability to do line wrapping.

The line numbers have to change not only when the "Line Wrap" feature is enabled/disabled but also when the code view is resized and therefore lines suddenly are broken down or reassembled.
Detecting if a line is an "original line" or a line created by a dynamic line wrap seems to be pretty complicated in JTextArea (and therefore also for our RSyntaxTextArea/CodeArea).
Based on a line number painter example I found that claims to work with line wrappings you have to calculate the begin and ending of each line (instead of simple enumerate all line as it is currently done in LineNumbers.paintComponent(..).
Instead you have to use the text offset and loop through the results of rowStartOffset = Utilities.getRowEnd(component, rowStartOffset) + 1;.

The line numbers have to change not only when the "Line Wrap" feature is enabled/disabled but also when the code view is resized and therefore lines suddenly are broken down or reassembled.
Detecting if a line is an "original line" or a line created by a dynamic line wrap seems to be pretty complicated in JTextArea (and therefore also for our RSyntaxTextArea/CodeArea).
Based on a line number painter example I found that claims to work with line wrappings you have to calculate the begin and ending of each line (instead of simple enumerate all line as it is currently done in LineNumbers.paintComponent(..).
Instead you have to use the text offset and loop through the results of rowStartOffset = Utilities.getRowEnd(component, rowStartOffset) + 1;.

@jpstotz I think I can fix this. I just need to do the same as in the official LineNumberList component here. Previously I just skipped support for line wrap, sorry :disappointed:

@jpstotz I think I can fix this. I just need to do the same as in the official LineNumberList component here. Previously I just skipped support for line wrap, sorry :disappointed:

Fixed. Can anyone check? Just to be sure :smile:

Fixed. Can anyone check? Just to be sure :smile:

@skylot Your patch seems to work properly thanks.

@skylot Your patch seems to work properly thanks.


Can't use jPype on pulsar-client-original.jar

Currently, I'm trying to write some test cases in Python to test against Pulsar cluster via Java driver. I download the jar package from offical website. JPype is used to call Java class in Python, the code is like:
PulsarClient_class = jpype.JClass("org.apache.pulsar.client.api.PulsarClient")
I got the following error:
Class PulsarClient is not found.
Then I realize that jPype might not recognize Java Interface, then I switch to use the Implement class. I wrote the following code:
PulsarClient_class = jpype.JClass("org.apache.pulsar.client.impl.PulsarClientImpl")
But it seems jpype can not find impl package. Can anyone help on that?

@JevonQ I am wondering why don't you use pulsar python client?

The producer and consumer are using Java client, we need to guarantee it will be well tested. Unfortunately, our test cases has to be written in Python, so I have to use Jpype to call Java client in the test cases.

@JevonQ : I haven't used JPype before. I will have to take a look and try it out.

Closed as stale. Feel free to open a new issue if it's still relevant for maintained versions.


Volume control keys shouldn't change stream player volume

Describe the bug
Using media keys to control the volume changes the stream player's volume. This doesn't make sense as I already modify my system volume.
To Reproduce
Steps to reproduce the behavior:

Open any livestream
Use your keyboard's media keys for volume up or volume down

Expected behavior
The media player's internal volume stays the same, the system's volume changes
Desktop (please complete the following information):

OS: Windows 10
Browser: Google Chrome
Version: 102.0.5005.115

Additional context
Add any other context about the problem here.

Fair point, wasn't quite sure what to do with these keys because on my system the always control the system volume (even on TUMLive). Just to confirm, the behaviour on TUMLive is different from what e.g. YouTube does?
I'm not sure about the rest of the media keys, in particular we currently also handle the play/pause media keys and play speed media keys. Handling these should probably also be removed, thoughts?
Here is the relevant code
https://github.com/joschahenningsen/TUM-Live/blob/3bfd69600145d41447ff37abcec0a4839a7d915b/web/ts/hotkeys.ts#L114


wascally ignores return value of amqplib publish()

It looks like wascally ignores the return value of publish.  This is dangerous, because if publish() returns false, it means the message wasn't sent, and wascally should be waiting for a 'drain' event from the channel before trying to shovel more messages at it.

No ignore this, I'm crazy.  :)


HELP, 1809 10.0.17763.3113 NOT WORK

1809 10.0.17763.3113 NOT WORK

Please, attach your termsrv.dll.

termsrv.zip

Same here,
Tetas26 is that the new termsrv.dll for version 10.0.17763.3113?

https://github.com/sebaxakerhtc/rdpwrap.ini/issues/121#issuecomment-1166342194

hello, today I reinstalled all (rdp 1.6.2 and autoupdate) and ran autpupdate and it worked again, without using the termsrv.zip file. Thanks a lot.

without using the termsrv.zip file

This file is zipped termsrv.dll for finding new offsets. So you don't need this file


EOF Tracker

### Tasks
- [x] Create a test spec type for the EOF container fixture format ([Done](https://github.com/ethereum/execution-spec-tests/commit/0022b4d94e3c91513e1b73090732f6e3b348953b))
- [ ] Update exceptions.py to add the existing EOF exceptions to the [Enum](https://github.com/ethereum/execution-spec-tests/blob/760a67e03baa23d782c9c8762c13ca6089920bda/src/ethereum_test_tools/exceptions/exceptions.py#L167)
- [ ] Add automatic BlockchainTest and BlockchainHiveTest generation to the [`EOFTest`](https://github.com/ethereum/execution-spec-tests/blob/760a67e03baa23d782c9c8762c13ca6089920bda/src/ethereum_test_tools/spec/eof/eof_test.py#L16) spec.
- [ ] Update or create a new class to be able to generate and parametrize EOF containers according to the latest spec
- [ ] Port [EIP3540](https://github.com/ethereum/tests/tree/develop/src/EOFTestsFiller/EIP3540)
- [ ] Port [EIP3670](https://github.com/ethereum/tests/tree/develop/src/EOFTestsFiller/EIP3670)
- [ ] Port [EIP4200](https://github.com/ethereum/tests/tree/develop/src/EOFTestsFiller/EIP4200)
- [ ] Port [EIP4750](https://github.com/ethereum/tests/tree/develop/src/EOFTestsFiller/EIP4750)
- [ ] Port [EIP5450](https://github.com/ethereum/tests/tree/develop/src/EOFTestsFiller/EIP5450)

To summarize the current status of our existing tests:

https://github.com/ethereum/tests/tree/develop/src/EIPTestsFiller/StateTests/stEOF/stEIP3540
https://github.com/ethereum/tests/tree/develop/src/EIPTestsFiller/StateTests/stEOF/stEIP4200
https://github.com/ethereum/tests/tree/develop/src/EIPTestsFiller/StateTests/stEOF/stEIP4750
https://github.com/ethereum/tests/tree/develop/src/EIPTestsFiller/StateTests/stEOF/stEIP5450

These tests were written a while ago for Shanghai version of the spec, after that they were mostly only updated to keep them compatible with the later changes. We removed all tests testing EOF validation aspect and made validation tests from them (see below). I wouldn't expect these tests to cover all complexities of current version of EIPs-3540, 4200, 4750, 5450 (but they do pass with current spec)

EOF validation tests https://github.com/ethereum/tests/tree/develop/src/EOFTestsFiller

These are partially hand-written (EIP* folders, also ori), and partially generated from evmone unit tests, which @winsvega merged recently as Copier tests (ef*` folders). I expect these test to cover almost all aspects of validation reasonably well.

https://github.com/ethereum/tests/pull/1324

State tests generated from evmone tests, these mostly test various aspects of contract creation (EOFCREATE, TXCREATE, InitcodeTransactions), new EXTCALL* instructions and some related execution aspects.


Custom message text formatting

Hello, how can I obtain smt like this:

I want to make "10 minutes" to be bolded but I really dont know how.

I don't think that's supported.


Handle NULL values passed into Out-DbaDataTable

When NULL values were being passed to Out-DbaDataTable through the pipe
and an error was generated.  Testing for NULL did not match.  I test for
.length instead and it works.  When the length of the property value is
0, it does not add the value to the data table row item.  The row will
then contain a NULL value for that field.

Tested with
Get-DbaLastGoodCheckDb -SqlServer (Get-SqlRegisteredServerName -SqlServer sql2014) | Out-DbaDataTable

Lookin good!


Don't open folder

Issue Type: Bug
I was working in a personal project and then I opened a new window and I tried to open a folder but vs code don't opened it, nothing happened. I was needed to close and then open new window for fix this problem.
VS Code version: Code 1.33.1 (51b0b28134d51361cf996d2f0a1c698247aeabd8, 2019-04-11T08:20:22.771Z)
OS version: Linux x64 4.9.0-8-amd64

If you try to open the same folder again, do you see the problem again?
How did you try to open the folder? (From the "Open Folder" button, from the recents list, from the welcome page?)

If you try to open the same folder again, do you see the problem again?
How did you try to open the folder? (From the "Open Folder" button, from the recents list, from the welcome page?)

No, I was opened the same folder again but closing and opening the editor and there was no problem. I tried to open from Open Folder button.

I'm still having this issue on Windows, primarily with unity projects. Seems to particularly be an issue with C# project file attaching in the editor, but this is particularly annoying because it shows no error in the console or in the main window, you just tell it to open a folder and nothing happens. I was even able to accidentally get it to happen on a brand new install on a completely different computer.

Can you try to reproduce with our nightly insider builds? You can give our preview releases a try from: https://code.visualstudio.com/insiders/

Please see if you can find any logged output that could help us find the source of the issue:

run code --verbose from the command line and attach the output
in Code select Help | Toggle Developer Tools and select the Console
attach any output you see in the Console you can find

Thanks!


NRE in MakeUri when running tests under debugger

HttpClient is null
>	Microsoft.R.Host.Client.dll!Microsoft.R.Host.Client.BrokerServices.WebService.MakeUri(System.UriTemplate uriTemplate, object[] args) Line 127	C#
 	Microsoft.R.Host.Client.dll!Microsoft.R.Host.Client.BrokerServices.WebService.HttpDeleteAsync(System.UriTemplate uriTemplate, System.Threading.CancellationToken cancellationToken, object[] args) Line 124	C#
 	Microsoft.R.Host.Client.dll!Microsoft.R.Host.Client.BrokerServices.SessionsWebService.DeleteAsync(string id, System.Threading.CancellationToken cancellationToken) Line 27	C#
 	Microsoft.R.Host.Client.dll!Microsoft.R.Host.Client.Host.BrokerClient.TerminateSessionAsync(string name, System.Threading.CancellationToken cancellationToken) Line 121	C#

Does it propagated anywhere?

Not sure. Generally code should not be throwing NREs. But it may or may not be actual product issue.

Narrowed it down to this test: SwitchBroker_DisposeSessionProvider at timeout = 10

Had a discussion with @AlexanderSher. This might not be entirely avoidable avoidable. However, this method call is wrapped in RSession:
try {
    await brokerClient.TerminateSessionAsync(hostName);
} catch (Exception) { }


feat: Adding weekly positivity rate calculation

Hey @jandarli thanks much for the submission! We love the idea, however based on the code we will run into some issues as MOH does not format their dates properly. Some days you would find the day missing or spelt wrong. We had to fix that issue with the GetTheLastPost function. You can take a look at it and try to incorporate that into your submission.


Issue#1046 Fix

First thing, PLEASE READ THIS: ReactPlay Code Review Checklist

Description
Include changes to fix Issue #1046. Added className to li tag and made corresponding selector changes in css file as well.
Fixes #1046
Type of change
Please delete options that are not relevant.

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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
Checklist:

[x] I have performed a self-review of my own code

Screenshots or example output

@atapas @koustov @Sachin-chaurasiya please review the changes


Proposal: Update that

We should refactor and update that and also make it default used by vagrant-donejs wich is currently named donejs-vagrant
Related:

https://github.com/donejs/donejs-vagrant/issues/3 - lets wait with the update till the old repo is renamed

do you want to refactor this?

@pYr0x yes i am ready to do that and also publish it to the docker offical images


Fortify scan issues

Prerequisites

[X] This is not a Security Disclosure, otherwise please follow the guidelines in Security Policy.
[X] I have searched in this repository's issues to see if it has already been reported.
[X] I have updated to the latest released version of the SDK and the issue still persists.

Bug summary
I am using Adobe Analytics through Cocoapods in my project, version details mentioned below:

pod 'AEPCore', '4.2.0'
pod 'AEPLifecycle', '4.2.0'
pod 'AEPIdentity', '4.2.0'
pod 'AEPAnalytics', '4.0.0'

We have Fortify Static Code Analyzer integrated to our application and it has pointed several issues as mentioned below in different categories:
Insecure Transport: Weak SSL Protocol
Not using TLS version 1.2 or above version caused this issue in below places

Pods/AEPServices/AEPServices/Sources/network/NetworkService.swift - Line no: 59

Insecure Storage: Lacking Data Protection
Not using the right file protection in below places

Pods/AEPServices/AEPServices/Sources/storage/FileSystemNamedCollection.swift - Line no: 136
Pods/AEPServices/AEPServices/Sources/cache/DiskCacheService.swift - Line no: 30
Pods/AEPServices/AEPServices/Sources/storage/FileSystemNamedCollection.swift - Line no: 51
Pods/AEPServices/AEPServices/Sources/storage/FileSystemNamedCollection.swift - Line no: 80
Pods/AEPServices/AEPServices/Sources/ui/fullscreen/FullscreenMessage.swift - Line no: 146

JSON Injection

Pods/AEPCore/AEPCore/Sources/migration/V5Migrator.swift - Line no: 66

Do adobe have any plans to fix them in near future to overcome these issues?
Environment

OS: 13.0 and above

SDK(s):

'AEPCore', '4.2.0'
'AEPLifecycle', '4.2.0'
'AEPIdentity', '4.2.0'
'AEPAnalytics', '4.0.0'

IDE: XCode 15.2

Steps to reproduce
Run the library using Fortify static code analyzer tool.
Current behavior
No response
Expected behavior
No response
Anything else?
No response

@spraveenk91
We treat static code analyzer tool complaints as enhancement requests. That being said, these are requests we have seen before and here is our response to each:

Insecure transport: We limit our network service to using https, but the network service can be overridden to provide your own custom implementation if you want to limit network traffic to TLS version 1.2 or above. See docs here: https://developer.adobe.com/client-sdks/home/base/mobile-core/platform-services/network-service/#overriding-networkservice
Insecure storage: We do not store any PII data in the SDK. We are not encrypting any of the data otherwise and that is by design.
JSON Injection: The data which is stored in JSON is grabbed from our servers OR stored locally. This means that our servers would need to be compromised, or the App bundle would need to be compromised (jailbroken). In which case, there is little we could do to stop an attacker. Also, the data stored in JSON is mostly configuration and other internal SDK data, no PII is stored here.

If there are still concerns, please reach out to PM to discuss feature requests.


Virtual Path Helper

Server paths:
Convert "~/" in razor to the virtual site path. - Do we even need it?
We use this in Razor views (specifying partials \ layouts etc). This is required for recognizing rooted paths.
| 60 | 10156 | Reported By: Yishai Galatzer |

@NTaylorMullen Don't we support this now with the UrlResolutionTagHelper?

Yup, this is done.


Issue while running script

Hello, I tried to use this script to export my post comments but it returned me this error:
DevTools listening on ws://<IP_ADDRESS>:50372/devtools/browser/27e55efd-868a-47ee-be40-8ea50e4f0fdc [8516:1592:0609/184722.876:ERROR:browser_process_sub_thread.cc(221)] Waited 420 ms for network service
And suddenly closed the chrome web drive
How to resolve it?
Thanks

did you run the script on Windows? If yes, you can check this first perhaps this explanation can help you https://stackoverflow.com/a/56485360/2741453

Yes, I'm using windows 10, I tried to resolve it but I couldn't
I added some arguments to webdriver but nothing changed
Here is my new code:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument("--enable-features=NetworkService") chrome_options.add_argument("--enable-features=NetworkServiceWindowsSandbox") driver = webdriver.Chrome(options=chrome_options)

It seems that scripts isn't working more at all, it closed the browser, I've turned on the verbose level
VERBOSE log: https://pastebin.com/fBciFt2X
It just exported first 13 comments, not more.

Yes, I'm using windows 10, I tried to resolve it but I couldn't
I added some arguments to webdriver but nothing changed
Here is my new code:
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--enable-features=NetworkService")
chrome_options.add_argument("--enable-features=NetworkServiceWindowsSandbox")
driver = webdriver.Chrome(options=chrome_options)

For more details I've turned on the VERBOSE level, pasted the output here: https://pastebin.com/fBciFt2X

according to this and this Stackoverflow question, please update your chrome and chromedriver version

there is no update from the author. I decided to close this issue.


NATIVE-501: Failed to write manifest file

This aims to resolve this sentry issue: https://sentry.integreat-app.de/tur-an-tur-digitalfabrik/integreat-react-native-app/issues/90/?query=is%3Aunresolved
As mentioned here https://github.com/react-native-community/async-storage/issues/88, this issue may be fixed with upgrading async-storage. I did not have a clue on how to reproduce it, so  I'd just try upgrading it as done in this PR.
The upgrade to v1.8 includes breaking changes (as mentioned here: https://github.com/react-native-community/async-storage/releases/tag/v1.8.0). However, no other library is using async-storage, so it should be fine. Also, I tried migrating and using an existing app installation which worked without problems. Any other opinions?

Seems to run on iOS :+1:

@maxammann should I change this so it does not run on ios to get your approval? :stuck_out_tongue:

Needs to run now on windows mobile aswell :man_shrugging:


Properties not being read

The request body in the "Wizard" view is not picking up properties, even when properly referenced.

Verified


SVG render speed is very slow

https://github.com/008v/SVGChangeColor/tree/scrollView
branch: scrollView
Above is a project I wrote to change the color of SVG.
It scales based on the UIScollview.
When you zoom in, the frame of the MacawView will change.
Tap on a path in SVG will fill with the gradient.
Unfortunately, the larger the frame, the slower the rendering.
Is there any good way to optimize the rendering speed?

MacawView has built-in zoom feature with good performance which should resolve this issue.


Adding TF Lite variants of the EAST model

EAST model (as proposed in https://arxiv.org/abs/1704.03155) for text detection from natural scenes.

Thank you @sayakpaul for contributing to TF Hub!
The models are live on tfhub.dev: https://tfhub.dev/sayakpaul/lite-model/east-text-detector/dr/1
This PR has been merged in commit 2c9c7deb7c86324bbfc5c76c61ef9527ebb9e2ca.

Thanks, @maringeo.

@maringeo I made a typo in the one liner description here ("natural"). It should have been "natural". Could you fix it up or would you suggest me to create a PR for this?

Hi @sayakpaul, thanks for spotting that. I've made the change and it should be live on Github and on tfhub.dev in the next 24 hours.

Thank you, @maringeo!


Fix malformed format string

Motivation
These string format are malformed, doesn't print thing we want.
Modifications
Make these string format  correct.
Documentation

[ ] no-need-doc

Internal bug fix, no need doc.

@codelipenghui @BewareMyPower @merlimat @sijie PTAL


Added navigation links and misc UI tweaks

Boosts and Streams links added to the top of the page to make it easy to switch between the two.
Number formatting according to the browser's locale settings
Actual sats received moved to mouse over
Updated 'boosts' text to 'streams' on Streams page

Here's what the nav links, formatting, and mouse overs look like:

Here's the iPhone SE mobile view (as rendered by Brave):

Here's what the stream text looks like:

Looks great to me.  I'll merge it.  Perhaps on the responsive view, when the space gets tight there could be font-awesome glyphs to replace the Boosts/Streams selection text at the top.


fix paragraph push bug

stackを導入しhttps://github.com/WorksApplications/uzushio/issues/3 のバグを修正

Can you please add a test for this logic to the com.worksap.nlp.uzushio.lib.html.HtmlParserSpec.

@eiennohito test added.

So we should break paragraphs both on opening and closing tags.

@eiennohito Then we don't need a stack anymore. Now we can pass the 早稲田 test, but the first test using perldoc_ja_small.html failed, I am not sure which one is correct (my code or test).


Code for Host interface via SDIO or SPI

Hi,
I am sorry to post here, but I tried posting in the ESP32 forum no answer.
Basically I am looking for a reference code or any documentation related to host interface protocol.
I wanted to use ESP32 module as a network processor for my STM32FXXX application processor.
Any pointers or a contact details whom I can contact will be of great help.
Thanks in advance.
Best Regards,
Chiranjeevi

https://github.com/espressif/esp32-at/tree/master/main/interface/hspi

Thanks for the link.
But I am not looking for AT interface. I want around 20 Mbps of speed, so looking for Either SDIO or SPI host interface.
Best Regards,
Chiranjeevi
Sent from my iPhone

On 10-May-2018, at 9:57 AM, negativekelvin<EMAIL_ADDRESS>wrote:
https://github.com/espressif/esp32-at/tree/master/main/interface/hspi
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I am sorry, please ignore my email.
Thanks a lot for the link I will check and ask you in case of questions.
Best Regards,
Chiranjeevi
Sent from my iPhone

On 10-May-2018, at 9:57 AM, negativekelvin<EMAIL_ADDRESS>wrote:
https://github.com/espressif/esp32-at/tree/master/main/interface/hspi
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi,
Is there a firmware for wroom32 which supports socket interface over SPI ?
Thanks,
Chiranjeevi
Sent from my iPhone

On 14-May-2018, at 1:41 PM, FayeY<EMAIL_ADDRESS>wrote:
Closed #1940.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Document new telemetry ingress env vars

Documents environment variables add by https://github.com/smartcontractkit/chainlink/pull/5887
Though I don't think that PR has made it to an official release yet. Should this PR be against a different branch? release/1.2.0 perhaps?

Rebased to the release/1.2.0 branch.

If we are confident this will be included in 1.2.0, let's merge this PR.


Error 401 with Merge MailboxFolders.ps1

Dear @David-Barrett-MS
First Thanks for your work here, I'm sure it will help us a lot !
I have an issue with Merge MailboxFolders.ps1, i've completed all the steps but i get a connection refused.
Scenario :
I want to move all the Archive content to Mailbox of user a.
I've created the app, the secret... and run this command with options (fake here of course)
$SourceMailbox =<EMAIL_ADDRESS>$clientId = "54f5ds4gf5-77c1-499f-809f-541ereggr2" $tenantId = "09reger-e2ab-4d49-b94b-dfgdf" $secretKey = "idsojfghdfkjghdfslkjhndskfnhn" # App only auth $redirectUrl = "http://localhost/code" # Delegate auth .\Merge-MailboxFolder.ps1 -SourceMailbox $SourceMailbox -SourceArchive -MergeFolderList @{"WellKnownFolderName.Inbox"= "Inbox"} -Office365 -OAuth -OAuthTenantId $tenantId -OAuthClientId $clientId -OAuthRedirectUri $redirectUrl
Then only difference with the procedure is that i grant the app permission for impersonation this way :

Then i get :

Can you help me here ?
Thanks in advance !

For app permissions you need to pass in the secret key to the script.  It is missing from your example:
.\Merge-MailboxFolder.ps1 -SourceMailbox $SourceMailbox -SourceArchive -MergeFolderList @{"WellKnownFolderName.Inbox"= "Inbox"} -Office365 -OAuth -OAuthTenantId $tenantId -OAuthClientId $clientId -OAuthRedirectUri $redirectUrl
The above will (attempt to) use delegated permissions which haven't been granted to your app registration (per the screenshot).


Unable to add helm repo

I've got following error when I try to add repo.   Helm client is v3.
 helm repo add timescalesdb 'https://github.com/timescale/timescaledb-kubernetes'                                                                                master
Error: looks like "https://github.com/timescale/timescaledb-kubernetes" is not a valid chart repository or cannot be reached: failed to fetch https://github.com/timescale/timescaledb-kubernetes/index.yaml : 404 Not Found

Thanks for the report, we currently do not have a Helm index, but it certainly makes sense to add one.

This is now merged, @rleiwang could you tell us whether or not these instructions:
https://github.com/timescale/timescaledb-kubernetes#repository
Are working for you now?

@feikesteenbergen Thanks for the update. It is working now.
https://github.com/bytewedge/bytewedge/blob/master/charts/bytewedge/Chart.yaml#L26


Compile LightGBM to WebAssembly output

Summary
My team builds a c++ library which has direct dependency on LightGBM tool. We were planning to sandbox the tool and for that to complete we want documentation on how to compile LightGBM into WebAssembly code.

Motivation
Since sandboxing or running c++ code in browser is one of the hot topics in the market, LightGBM providing official documentation on compiling to WebAssembly will be a huge win for everyone.

Description
Requesting for new documentation to be created which shows compilation of LightGBM to WebAssembly. We don't have a preference for tool to be used for compilation as long as output is in wasm format.

References
https://github.com/emscripten-core/emscripten/issues/16592 -> similar issue while using emscripten tool for compiling c++ code

Thanks very much for this @shyam-lab !  I've added it to our list of feature requests in #2302 . Per this repo's policy, I'll close this issue for now until someone leaves a comment saying they'd like to work on this.
But to set the right expectation...I don't believe this will be worked on by LightGBM's maintainers any time soon. I don't know if any of the current maintainers have any experience with WebAssembly, and we are already struggling to keep up with the demand for changes to the existing C, C++, Python, and R code in this project.
If you do figure out how to do this, please post your solution here.
If you or anyone else reading this are interested in doing the work to add this support and in maintaining that documentation, we can have a conversation here about possibly including that in this repository.

Sorry, this was locked accidentally. Just unlocked it. We'd still love help with this feature!

We maintain a recipe for LightGBM with the Pyodide project, a port of CPython compiled with the Emscripten toolchain for WebAssembly. It's possible to use Pyodide with Node.js, and with projects that develop on top of it – such as PyScript, or via JupyterLite.
Please see the post-merge discussion at #6715 with @jameslamb around the proposition of adding a CI job that builds WASM wheels for LightGBM. This would aid us (quite a lot!) whenever we hope to update the LightGBM version in Pyodide (it's currently at version 4.3.0 right now).
For a complete list of packages and libraries available in Pyodide, please see: https://pyodide.org/en/stable/usage/packages-in-pyodide.html.

Great, thanks for that excellent write-up! Let's use this issue to track the work of possibly adding a WASM CI job here.

Thank you! Could this be re-opened, since it was closed when it was locked?
Also, for additional information, here's what would be needed for a WASM CI job:

First, it's best to build directly from the Python source. For this, we provide a standards-compliant distribution builder at https://github.com/pyodide/pyodide-build, which can be used similar to other build frontends such as pip wheel and pypa/build, i.e., with the pyodide build invocation.
The second part would be to add any missing dependencies to Pyodide in-tree (I don't think there are any, so far, but I'm not sure about new ones) and wait for a Pyodide release to come out with them (though, we have been planning to unvendor the recipes so that package version updates are not tied to Pyodide as a whole). If there are no new dependencies, we should be fine.
Fix any issues related to bitness or mismatches in function signatures, etc.
I expect that several tests won't work – for example, WASM does not support observability for floating-point exceptions yet, so warnings on mathematical operations might not be received. Other things include running tests without pytest-xdist (not supported yet), and disabling any functionality that uses multithreading or threading from the stdlib, since Emscripten does not support threads.
To check for the WASM runtime, pytest decorators based on IS_WASM = sys.platform == 'emscripten' or platform.machine() in ["wasm32", "wasm64"] can be used for skipping/xfailing tests. We can use the "PYODIDE" environment variable at build time for build scripts.

I expect a significant portion of the test suite to pass, and a substantial portion of it to fail as well 😁