xDnsServer: Rename integration tests

Pull Request (PR) description

xDnsServer

Rename integration tests so they are run in the pipeline (issue #134).

This Pull Request (PR) fixes the following issues

Fixes #134

Task list

[x] Added an entry to the change log under the Unreleased section of the
file CHANGELOG.md. Entry should say what was changed and how that
affects users (if applicable), and reference the issue being resolved
(if applicable).
[ ] Resource documentation added/updated in README.md.
[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Community Testing Guidelines.
[x] Integration tests added/updated (where possible). See DSC Community Testing Guidelines.
[ ] New/changed code adheres to DSC Community Style Guidelines.

This change is

@Sudman1 would you mind do a review of this if you have time? It is not so much changes, so shouldn't take that long.

@indented-automation thanks for the review and code fixes! 😃


Moved the rclrs_example_msgs package to the examples folder. This package was only ever used by examples.

Continuing to clean up the root level folders. This space comes at a premium and we should try to reduce the amount of noise.

@maspe36 what do you think of eventually replacing this package with upstream's https://github.com/ros2/test_interface_files/tree/rolling ? Maybe even vendorize it. Both packages seem quite similar and it'd mean not maintaining our own package.

We could even take it a step further and move the examples out of the repo. Long term if we can get both rosidl_generator_rs and rosidl_runtime_rsupstreamed into rosidl, the only thing left in this repo would be the examples and rclrs.
rclcpp and rclpy examples are already in a different repo, and if we move our examples into a different repo, this would leave us with just rclrs, which mirrors the structure of say rclcpp.

@maspe36 we don't need to move rosidl_generator_rs and rosidl_runtime_rs to another organization on Github for them to be included in the buildfarm. However, moving them to their own repositories within the ros2-rust would enable us to release them independently. We should probably do that now anyway.


Fix keyword sanitization in Java query class constructor generation

This PR fixes a bug in the keyword sanitization for query arguments. Currently, if a query has an argument called something like public, the following code will get generated for the query class constructor.
if (public != null || fieldsSet.contains("public")) {
        getInput().put("public", _public);
}

This code doesn't compile. This PR fixes the generator so that it sanitizes the argument name to match the argument list of the method:
if (_public != null || fieldsSet.contains("public")) {
        getInput().put("public", _public);
}

Looks good to me, thanks for the fixes.


Error with Mounting SecretproviderClass with AWS Provider

Hello,
I'm receiving an error when I launch a new deployment.  These are the steps I'm using.

Deploy SecretProviderClass:  kubectl apply -f test-secrets-array.yaml
Create a deploy using helm

When I go to deploy pods, I receive an error:
"Warning  FailedMount  23s (x7 over 55s)  kubelet, ip-10-6-19-185.ec2.internal  MountVolume.SetUp failed for volume "secrets" : rpc error: code = Unknown desc = failed to mount secrets store objects for pod test-service/deployment-test-data-services-8646cdc588-vbz2p, err: rpc error: code = Unknown desc = Failed to load SecretProviderClass: error unmarshaling JSON: while decoding JSON: json: cannot unmarshal object into Go value of type []*provider.SecretDescriptor"
Here's how my manifest is setup for SecretProviderClass:
kind: SecretProviderClass
metadata:
  name: eks-test-secrets
  namespace: test-services
spec:
  provider: aws
  parameters:
    objects: |
      array:
        - |
          objectName: "arn:aws:secretsmanager:us-east-1:174596742332:secret:test1-qlL3Np"
        - |
          objectName: "arn:aws:secretsmanager:us-east-1:174596742332:secret:testsecret-uDiDIO"

I also added the parameter:
--set grpcSupportedProviders=”aws”
Just wanted to see if anyone's having the same issue.  Thanks.

One thing that caught my attention with your manifest is "array:". That isn't needed. See the example under "SecretProviderClass options" - https://github.com/aws/secrets-store-csi-driver-provider-aws

That worked.  Thank you @lasred.

I removed the array, and was able to mount secrets


Isolate keybinding tests using pytest.mark

References and relevant issues
Refactoring keybindings.
Description
This PR uses the pytest mark functionality to identify tests that are related to keybindings. As things
with keybindings are refactored, this would speed up local testing of keybinding functionality.
To run the keybinding tests, enter:
pytest -v -m key_bindings

cc/ @lucyleeow You may find this useful. If so, I will take this out of draft.

Ah this is cool, I didn't release we had keybinding tests so spread out!
I think our intention with the keybinding implementation is to merge the code without 'hooking it up' (i.e. not switching over to using the new implementation) straight away, this way we can split it into separate PRs, without the need for to be complete and working and we also never have to worry about blocking release.
This still may be useful, I imagine that we will want to copy each of these tests to be checking the new app-model implementation. I think it's best if I let @dalthviz decide if it will be useful?

This could be useful indeed :+1:

Cool! I didn't know about this pytest feature @willingc! 😊


Fix double negative in Exception message

Remove second negative from exception message "... no supported Content-Type was not specified... ".

Thanks!


Upload screenshot if smoke test fails on review app

Description
This PR aims to upload a screenshot of the review app if the smoke test fails in order to better understand the potential issue that the smoke test detected

Checklist:

[ ] Have you documented your changes in the pull request description?
[ ] Does the change present any security considerations?
[ ] Is any gem functionality overloaded? Eg: Devise controller methods being overloaded.
[ ] Has acceptance criteria been tested by a peer?
[ ] Has the CHANGELOG been updated? (If change is worth telling users about.)

General testing (author)

[ ] Test without JavaScript
[ ] Test on small screen

Accessibility testing (author)

[ ] Works keyboard only
[ ] Tested with one screen reader
[ ] Zoom page to 400% - content still visible
[ ] Disable CSS - does content make sense and appear in a logical order?

Codecov Report

Merging #1599 (3131101) into master (207b0b4) will decrease coverage by 62.99%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #1599       +/-   ##
===========================================
- Coverage   89.73%   26.74%   -63.00%
===========================================
  Files         388      388
  Lines        8323    10244     +1921
  Branches     1218      697      -521
===========================================
- Hits         7469     2740     -4729
- Misses        679     7393     +6714
+ Partials      175      111       -64

Impacted Files
Coverage Δ

app/models/incident.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/forms/alert_form.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/forms/comment_form.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/forms/sign_in_form.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/jobs/send_alert_job.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/policies/team_policy.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/helpers/search_params.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/forms/remove_product_form.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/forms/reset_password_form.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/forms/remove_business_form.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 275 more

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 207b0b4...3131101. Read the comment docs.


Various fixes

Couple of fixes and minor improvements:

Sphinx could not be turned off since it defaulted to true and only stored true in the arg, I have turned it off by default.
Added --no-rst to disable the rst file export.
Fixed some arguments in the dump_html calls that were missing.
Use shutil to copy since cp does not exist on Windows.
Removing "illegal" characters from file-names, this very much depends on the OS though but I had a few exceptions pop up because of this on my machine.
Added try-catch to downloads, some failed in my environment due to invalid links.
Do not override attachments, this speeds things up a bit when debugging.
Fixed encoding issues, now writing everything as utf-8.

thanks so much for these updates.
Any improvements are very welcome, I'll just have to review them.

No worries! I have a few more coming (soon tm), I just have to clean the other branches up a bit.


Fortran Monthly Newsletter February 2022

Here is a PR for the February 2022 newsletter:

[x] PRs summary
[x] GitHub stats data
[x] Flang updates by @AlexisPerry
[ ] LFortran updates by @certik

There was a lot of activity at the fpm-docs regarding translations in French, Spanish, Chinese and Dutch this month as well.

Should we keep fpm-docs in the fpm section? Or would it be better to create a new section for fpm-docs?

I would have the docs associated with fpm, which they are afterall.

Please see PR 372 for Flang updates.

@czgdp1807 is planning to add LFortran updates by tomorrow morning.

N.B. - #373

Thank you all for your contributions.
I will merge it tomorrow morning if there are no other comments. Feel free to merge it if you believe it can be merged as is.

I think it is okay as is. We try to target the 1st of each month for publishing the newsletter. Let's merge it.

Good. I'll merge it.


Support for streaming responses

AWS recently released support to stream responoses, see here
Since it accepts any kind of response (streamed or not) I think this should be implementable. I am using rocket so I only looked at that part of the code, but it seems like the major change would be to return a response instead of a value and adding all relevant headers etc to that response.

Alright looking more into it it is definitely possible, since rocket::Response returns AsyncRead which can be accepted as stream into the hyper:::Response.
But I met my match with lifetimes and async - I for the life of me cannot figure out how to make the AsyncRead live long enough for the lambda response.

is there any update on this?

also looking to support streaming responses, would be amazing if this works out of the box with axum


fix: add parens so that sequences works as expected in setValue

Followup to #908.
Apparently <;> (in addition to plain ;) has higher precedence than try.
Adding parentheses restores the expected behavior.
This isn't the first time we've been tripped up by unexpected precedence in the sequencing operators. See e.g. https://github.com/leanprover-community/mathlib4/pull/370#discussion_r949498757

bors merge


Attribute Error, version 1.6.4

Hi
I am receiving an AttributeError: 'NoneType' object has no attribute 'coords' by using shapely version 1.6.4. I checked the issue #403 but it does not really help me.

def make_sub_masks(np_array):

    sub_masks = {}

    width, height, dim = np_array.shape

    # go through the np.array pixel-wise
    for x in range(width):
        for y in range(height):

            # Get the pixel values from the numpy array
            a = np_array[x,y,0]
            b = np_array[x,y,1]
            c = np_array[x,y,2]
            # get pixel in RGB format
            pixel = (a,b,c)

            # if pixel is not background/black
            if pixel != (0,0,0):
                pixel_str = str(pixel)
                sub_mask = sub_masks.get(pixel_str)

                if sub_mask is None:

                    # Create a sub-mask (one bit per pixel) and add to the dictionary
                    # Note: we add 1 pixel of padding in each direction
                    # because the contours module doesn't handle cases
                    # where pixels bleed to the edge of the image

                    sub_masks[pixel_str] = Image.new('1', (width+2, height+2))

                # Set the pixel value to 1 (default is 0), accounting for padding
                sub_masks[pixel_str].putpixel((x+1, y+1), 1)

    return sub_masks

def create_sub_mask_annotation(sub_mask, image_id, category_id, annotation_id, is_crowd = 0):

    # Find contours (boundary lines) around each sub-mask
    # Note: there could be multiple contours if the object
    # is partially occluded. (E.g. an elephant behind a tree)
    contours = measure.find_contours(sub_mask, 0.5, positive_orientation = "low")

    segmentations = []
    polygons = []

    for contour in contours:
        # Flip from (row, col) representation to (x, y)
        # and subtract the padding pixel
        for i in range(len(contour)):
            row, col = contour[i]
            contour[i] = (col - 1, row - 1)

        # Make Polygon and simplify it
        poly = Polygon(contour)
        poly = poly.simplify(1.0, preserve_topology = False)

        polygons.append(poly)

        segmentation = np.array(poly.exterior.coords).ravel().tolist()
        segmentations.append(segmentation)
...
     23         polygons.append(poly)
     24
---> 25         segmentation = np.array(poly.exterior.coords).ravel().tolist()
     26         segmentations.append(segmentation)
     27

AttributeError: 'NoneType' object has no attribute 'coords'

What I am doing here is to pass a multi-dimensional numpy array with the shape (1024,1024,8) containing several layers. The first layer is a ground truth image (image in gray scale in RGB-format) and the 7 layers are masks referring to objects in the ground truth. The object, where the error occurs is triangular and is in the last layer. I have not encountered any similar errors before after running the same script on similar data, but for some reason it does not like the shape. The contour is not empty, but the polygon is.
Ground truth

Mask

Thanks in advance!

What is the value of contour? What does poly.wkt return?

The following:
# Example where it is working, contour seems to be larger and poly.wkt is not empty
# contour:
[[514.  402.5]
 [513.  402.5]
 [512.  402.5]
 ...
 [515.  401.5]
 [514.5 402. ]
 [514.  402.5]]
# poly.wkt:
POLYGON ((514 402.5, 632 365.5, 690 338.5, 784 311.5, 818.5 255, 807 258.5, 705 300.5, 579 361.5, 511.5 402, 514 402.5))

# Last object, contour smaller and poly.wkt returns POLYGON EMPTY
# contour:
[[511.  403.5]
 [510.  403.5]
 [509.5 403. ]
 [510.  402.5]
 [511.  402.5]
 [511.5 403. ]
 [511.  403.5]]
# poly.wkt:
POLYGON EMPTY

Thanks again!

I'm not sure what is going wrong here. If I tried to create a polygon using the second set of coordinates it works as expected:
>>> from shapely.geometry import Polygon
>>> coords = [[511. , 403.5],
...  [510. , 403.5],
...  [509.5, 403. ],
...  [510. , 402.5],
...  [511. , 402.5],
...  [511.5, 403. ],
...  [511. , 403.5]]
>>>
>>> coords
[[511.0, 403.5], [510.0, 403.5], [509.5, 403.0], [510.0, 402.5], [511.0, 402.5], [511.5, 403.0], [511.0, 403.5]]
>>> poly = Polygon(coords)
>>> poly.wkt
'POLYGON ((511 403.5, 510 403.5, 509.5 403, 510 402.5, 511 402.5, 511.5 403, 511 403.5))'
>>> poly.area
1.5


new design of website

About Us Page
Officers Section
Meeting information section
Calendar section

Revamping website for 22-23 club session rather than hackathon


Setup issue

I'm kinda new to python so I'm sorry if any of these are dumb questions. So I think I've done the installations on python and Discord-S.C.U.M correctly. I made sure to add my discord id into the config and I made a test server to try to run the file. Whenever trying to run the 'MudaeAutoBot' with python it instantly closes. I ran the file through CMD and also IDLE and here is where I'm stuck in the setup process.

Thank you for taking the time to help out.

your json file is not properly formatted so copy paste your file into the json validator website

I think i got it to work now thanks

No problem just remember to give the repo a star to support the project :)
Sent from my iPhone

On Aug 5, 2021, at 5:18 PM, Leroy Smith @.***> wrote:

Closed #86.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.


[iOS] Notification Settings

Need to add Notification Settings tab.

@moiz994 do we have idea how it should look/work on mobile? Thank you

@rnr we do not have this functionality in the prod app currently. We will look into this after MVP.


Merge Master into the HDDS-1880-Decom branch

What changes were proposed in this pull request?
Merge current master branch into the decom branch to keep it up-to-date.
What is the link to the Apache JIRA
No Jira filed yet.
How was this patch tested?
Existing unit tests.

All tests have passed on 3 runs so this looks good. I will merge it from the CLI so we don't lose the commit history, and then close this PR.

Merged from the CLI, so closing this PR.


Fix for zookeeper backend

Signed-off-by: Chun Chen<EMAIL_ADDRESS>For both etcd and zookeeper, it's not allowed to watch a not exist node.
Tested on my laptop. Please don't review until https://github.com/docker/libkv/pull/41 get's in.

@chenchun thanks for the fix. Can you pls take care of the circleci failure ?

@chenchun Sorry for the time spent reviewing your PR on libkv's side. Needs a rebase here :(

@abronan thanks, I'll rebase after https://github.com/docker/libnetwork/pull/466 getting merged cause this PR will introduce Godeps changes of libkv which conflicts with that in https://github.com/docker/libnetwork/pull/466.

@chenchun  now that we have the latest libkv, can u pls rebase ?

@mavenugo , rebased.
Found a issue with CI. I actually rebased my PR yesterday, but I forgot to git fetch origin first. So my PR didn't include libkv updates and it failed. I was wondering is it expect that CI tests again PR branch instead of master branch with changes in PR?

@chenchun CI cannot check against master since it may not be possible to merge without conflict all the time. So it always checks the PR version. That is why in a fast changing project like libnetwork it is always a good idea to rebase to the latest even if github didn't find any merge conflicts.

@mrjana ok, I see. Even if CI checks against master, PR can still be out dated with new patches merged into master. I'm overthinking.

@chenchun Thanks for taking care of the comments. LGTM

:+1:


Add requests to requirements?

Issue: A new install of stone-soup into a venv, followed by pytest stonesoup raises an import error:
ImportError: Usage of opensky requires the dependency 'requests' is installed.
Suggested solution: add requests to the requirements in setup.py
Procedure to recreate:
git clone https://github.com/dstl/Stone-Soup.git
cd Stone-Soup
python -m venv venv
source venv/Scripts/activate
pip install -e .
pip install pytest
pytest stonesoup

Full Error message:
============================= test session starts =============================
platform win32 -- Python 3.9.4, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
rootdir: C:\Users\edward\code\Stone-Soup2
collected 1175 items / 1 error / 2 skipped / 1172 selected

=================================== ERRORS ====================================
___________ ERROR collecting stonesoup/reader/tests/test_opensky.py ___________
ImportError while importing test module 'C:\Users\edward\code\Stone-Soup2\stonesoup\reader\tests\test_opensky.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
stonesoup\reader\opensky.py:7: in <module>
    import requests
E   ModuleNotFoundError: No module named 'requests'

The above exception was the direct cause of the following exception:
C:\Program Files\Python39\lib\importlib\__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
stonesoup\reader\tests\test_opensky.py:3: in <module>
    from ..opensky import OpenSkyNetworkDetectionReader, OpenSkyNetworkGroundTruthReader
stonesoup\reader\opensky.py:10: in <module>
    raise ImportError(
E   ImportError: Usage of opensky requires the dependency 'requests' is installed.
=========================== short test summary info ===========================
ERROR stonesoup/reader/tests/test_opensky.py
!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
========================= 2 skipped, 1 error in 8.25s =========================

For tests to run, you need to also install development requirements.
pip install -e .[dev]
Maybe we could document this better somewhere.

I did consider this, but thought (wrongly) it wouldn't help as requests isn't in extras_require, but of course, it is a requirement of Sphinx, so implicitly included. As it is require independently of Sphinx, should it be added explicitly?

Come to think of it: it is a requirement for stonesoup.reader.opensky to import, not just to run the tests, so maybe requests should be a dependency (as ordered-set is, for example).

I did consider this, but thought (wrongly) it wouldn't help as requests isn't in extras_require, but of course, it is a requirement of Sphinx, so implicitly included. As it is required independently of Sphinx, should it be added explicitly?

Yeah, it probably should.

Come to think of it: it is a requirement for stonesoup.reader.opensky to import, not just to run the tests, so maybe requests should be a (non-dev) dependency (as ordered-set is, for example).

I think as it's only required for one reader we can leave it optional, but we could add extra requires for it. Note that if someone does try to use it currently, at least the error message explains they have to install requests, rather than being non-obvious error.


Jco transpile: implementation of wasi-poll for Web

Tasks

[ ] poll.drop-pollable
[ ] poll.poll-oneoff

This issue is blocked on #153

Poll is now part of IO.


Output from client.rb doesn't get logged to the log file.

Description
Output from client.rb doesn't get logged to the log file.
Clearly this isn't an easy fix, since the client.rb file contains details about what log file you'd like chef to log to.
What I'd like to do is setup a logger before client.rb is executed, and encourage people to use this logger for meaningful messages originating in client.rb.
The logger will be responsible for writing any messages to stdout as per the current behavior, as well as saving them.
Once the client.rb file is executed and the actual chef logger initialized, the saved log messages can be written to the log file normally.
Chef Version
$ chef --version
Chef Development Kit Version: 0.17.17
chef-client version: 12.13.37
delivery version: master (f68e5c5804cd7d8a76c69b926fbb261e1070751b)
berks version: 4.3.5
kitchen version: 1.11.1

Platform Version
Arch linux, centos7
Replication Case
$ cat client.rb
cookbook_path ['/home/zeal/dev/pub/chef-pub/cookbooks']

puts 'Inside client.rb'
$ cat cookbooks/sample/recipes/default.rb
log 'Inside chef' do
  level :warn
end
$ cat run_list.json
{
  "run_list": [
    "recipe[sample]"
  ]
}

Run chef with: chef-client -z -j run_list.json -c client.rb --logfile chef.log -F null
Client Output
$ chef-client -z -j run_list.json -c client.rb --logfile chef.log -F null
Inside client.rb

$ cat chef.log
# Logfile created on 2016-11-07 15:10:15 -0800 by logger.rb/44203
[2016-11-07T15:10:17-08:00] WARN: Inside chef
# Logfile created on 2016-11-07 15:10:15 -0800 by logger.rb/44203

I like this idea ( @zfjagann  and I discussed it before he wrote it up ) - the question I have is, does this require an RFC before he takes a whack at doing it? The border is fuzzy to me. CC @thommay  and @lamont-granquist

This seems broad enough that an RFC would be called for. Not sure if this is a thing we should encourage though, feels off putting for reasons I can't really quantify. Feels very foot-gun-y but that alone isn't a reason to not do it.

It seems reasonably fine as long as you're aware of the sharp edges.  I wonder if it would be possible to have a callback fire any time the logger was set via either the CLI or in config or anywhere else in the codebase to reinitialize the class?  Probably too much of a stretch goal, but it would make the code flow a little better.  If you get down to fighting with when the CLI options are parsed vs when the config file is parsed thats more when I'd throw the brakes on the idea -- right now I've had insufficient caffeine to recall if existing parse order supports this use case or not.

Created an RFC


Import statement includes preceding comment

(Using Typescript 1.5 Beta) With the source file below, when I walk through the nodes looking for import declarations, the first node I find is foo. The node.pos and node.end are (0,86). Why is the reference comment being lumped together with the foo import? Is there no node for the /// reference?
 /// reference path="../../definitions/chalk.d.ts" / ( Edited to show )

 import { foo } from "./foo";
 import chalk = require( 'chalk' );

 export class plugin {
     public plugFoo = new foo();
     public run( context: any ): any {
         return chalk.black( "somestring" );
     }
 }

A follow up question is:
What is the guidance for importing 3rd party libraries using ES6 module syntax ( and compiling down to  ES5 AMD )? The only way to compile the above source file was to include a triple slash reference which seems wrong. Should I just pass a reference file with all 3rd party library dependencies to the compile context?

Hey @ToddThomson

Is there no node for the /// reference?

No, reference comments are themselves comments, and are considered trivia, so they have no representation in the TypeScript core AST, though you can grab them from referencedFiles from the SourceFile type.
If you want to grab comments, you probably want to getLeadingCommentRanges on the full start of the first node in the file.

The only way to compile the above source file was to include a triple slash reference which seems wrong.

You should also be able to pass the .d.ts file to the compiler the same way you pass in your .ts files. If you're looking for your editor to pick up on the shape of a module according to a d.ts, but you're really not big on reference comments, look into tsconfig.json.
Does that answer your questions?

Thanks @DanielRosenwasser . I do use the tsconfg.json project config file and I now add a reference.d.ts to the "files" list for my 3rd party libs.
I also use the tsconfig.json file for bundling my library into external AMD modules ( a shameless plug for the TsProject compiler ). I thought that I needed to utilize the referenced file to grab some dependencies, but then realized that tsconfig.json could be used as you have pointed out.
Looking forward to the 1.5 beta!

Awesome, glad to help! 1.5 beta should be on npm now, so give it a spin and keep us in the loop.


Remaining Jupyter notebooks issues

[ ] Introductory/acquisition_model_mr_pet_ct.ipynb (PR 703):

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-2-9d886ac3cd9b> in <module>
     15
     16 from sirf.Utilities import examples_data_path
---> 17 from cil.plugins.astra.operators import ProjectionOperator as ap

ModuleNotFoundError: No module named 'cil.plugins.astra'

[x] #150
[ ] Synergistic/Solutions/Dual_PET_Answer-noMotion:

error: ??? "'ProjData::read_from_file: error opening file FDG_sino_noisy.hs' exception caught at line 327 of /home/sirfuser/devel/buildVM/sources/SIRF/src/xSTIR/cSTIR/cstir.cpp; the reconstruction engine output may provide more information"

[ ] Synergistic/Solutions/Dual_PET_Answer-wMotion:

FileNotFoundError                         Traceback (most recent call last)
<ipython-input-2-6d80a9f3407b> in <module>
      1 # Get to correct directory
----> 2 os.chdir(exercises_data_path('Synergistic'))
      3
      4 # copy files to working folder and change directory to where the output files are
      5 shutil.rmtree('working_folder/dual_PET_noMotion',True)

FileNotFoundError: [Errno 2] No such file or directory: '/home/sirfuser/devel/SIRF-Exercises/data/Synergistic'

@samdporter can you help with the path issues above?

actually path problems are probably #148

Sure, I'll have a look

I checked all the notebooks for PSMR on a new cloud instance that @paskino gave me. All the notebooks in the Introductory, Geometry, MR, PET, Synergestic folders are ok. However,

In almost all of the notebooks there is %matplotlib notebook which atm raises Javascript Error: IPython is not defined without showing the figures. In some notebooks both %matplotlib notebook and %matplotlib inline are present which is very strange. I suggest to remove these commands.

In all notebooks, the headers contain information about Apache licence and Authorship. This takes a lot of space and is not very useful for our users during the training. So I suggest to delete Apache licence and keep one cell with authorship.

Thanks!
Please do not delete license info. We could shorten it, but let's not do that now.

To be honest, I also wouldn't edit matplotlib statements due to git fun with notebooks (committers need to have followed nbstripout instructions)

I think the license should be written in verbatim, so that it's clear what it is.
The %matplotlib notebook problem is due to some software issue with the image I create, and so far didn't manage to fix it.

BTW there are #161 and #162 PRs to the notebooks that we should consider merging before the school.

Hi, slightly unrelated. I can see that the NPL data is in the cloud but  while I can access data downloaded from the download_data.sh I cannot do the same for the real data

We should also add the following in order to reduce the output in the notebooks

from sirf.STIR import MessageRedirector

msg_red = MessageRedirector('info.txt', 'warn.txt', 'errr.txt')

We should also add the following in order to reduce the output in the notebooks
...

done in 4396a9e89e57ca6098635f5a1f8b2df1e73a4a6b

Just for future training sessions, having a cell with Apache information is not good. In some notebooks, there is an Apache cell and then followed by important information about the notebook and is really confusing. For instance in the a_geometry notebook. It's better if we add a license to the repo and remove this cell from every notebook.

sorry. License statements should be in each file to the best of my understanding.

@paskino does %matplotlib widget work? If so, I would NOT modify all notebooks, but create a separate issue "document when to use matplotlib notebook/inline or widget " and add a statement to the HackMD page to use widget

Introductory/acquisition_model_mr_pet_ct.ipynb astra problem should be resolved.
Synergistic/Solutions/Dual_PET_Answer-noMotion could be path issue, but also depends on previous notebook being run. Ideally we add a statement in the notebook accordingly. @evgueni-ovtchinnikov  can you please check the current status, and create a separate issue if it still fails?

all seems ok, so closing


Classification_AppRoles.json Additions

Hi @Cloud-Architekt , I would do a PR for these. but not sure my assumptions are correct.
TermStore.Read.All (Microsoft SharePoint) ManagementPlane?
Tasks.ReadWrite.All (Microsoft 365 Platform Management) ManagementPlan?
UserAuthenticationMethod.Read.All (Authentication) ManagementPlane?

I've added the API permissions to the latest classification update. I've tagged all of them as Management Plane, exclude UserAuthenticationMethod.Read.All. Those does not included sensitive information and should be covered by the default member permissions as well. Feel free to share your thoughts on this if you do not agree. :)

Thanks Thomas, hmm I'll check what read allows. I guess it would allow the viewing of mobile numbers where registered etc, so there's a PII aspect to it.


Add fairy floss themes

The Fairy Floss theme was created by @sailorhg
https://github.com/sailorhg/fairyfloss
The Fairy Floss Dark theme is a variation of the same
Signed-off-by: nisha<EMAIL_ADDRESS>

Thank you, and sorry for the delay :)


Decouple block type from block variant

And use Variant.Type enum for the Value block variant.
This means we stick to GDScript variants for the values represented by Value blocks:

A constant like "viewport width"
A property like "rotation"
A parameter like A in "A + B"
The resulting value of "A + B"

The slots that can contain Value blocks also have a matching variant type now.
Unfortunately there is no way to convert the native Variant.Type enum to string, so still we need dictionaries to go back and forth the string formatting.
Previously there was a custom NODE type, although unused. This is now replaced by NODE_PATH, which is the same thing that Godot does in the PackedScene resource when exporting a property of type Node.
Also: improve readability of drag manager and use a constant for the minimum slot distance.

For the original custom NODE, is it Godot's NODE: Base class for all scene objects?

Great! Much better than what we had before, thanks for working together on this!
Again, my only concern is that having the type NodePath instead of Node doesn't really make sense. When we say something is of Node type, we mean that it has some specified properties and methods. The properties and methods of Node are completely different to the ones in the NodePath type, which is really just a String path that points to a node (of any class) relative to the root. But for now, I suppose TYPE_NODE_PATH can correspond to anything that is a Node.

You can easily get a node from a node path.
Think it in another way: how are we going to persist a node in a resource?  Try creating a new resource and then add @export var foo: Node. You will get an error saying:
res://test_game/my_resource.gd:3 - Parse Error: Node export is only supported in Node-derived classes, but the current class inherits "Resource".

I'd love to hear some other opinions on this too!! Is it worth integrating Godot's type system with ours? Or should we define the types ourselves (i.e. with Strings)?

Yes! Other opinions welcome!

I think this makes sense. It is sad to have to enumerate all the built-in variant types by hand. It is weird that Variant.Type does not behave as a dict (which has a find_key method) while user-defined enums do.

Yeah, I don't think we need to do this mapping at all in the future. We should embrace "the resource way" and get rid of this custom serializing.

I'm merging this as it's a big refactor. Sorry everyone, I can help to resolve conflicts in your work in progress.

Think it in another way: how are we going to persist a node in a resource? Try creating a new resource and then add @export var foo: Node. You will get an error saying:
res://test_game/my_resource.gd:3 - Parse Error: Node export is only supported in Node-derived classes, but the current class inherits "Resource".

@manuq Well we wouldn't really be persisting a Node itself, just it's type right? Is the type not just a way of specifying what a variant is? That's why I suggested Strings, since we would be able to have more than just the types set in Variant.Type. I think there is more to Godot's type system than just Variant.Type. For example, if I do var camera: Camera2D, I am specifying that yes, my variant is an Object, but it's also specifically a subclass of Node2D < CanvasItem < Node. Ideally we would have a way to incorporate this into our block type system.

@manuq Well we wouldn't really be persisting a Node itself, just it's type right?
I think yes, we should be persisting the node path and gettng the node at runtime. In the same way as PackedScene does.

Is the type not just a way of specifying what a variant is? That's why I suggested Strings, since we would be able to have more than just the types set in Variant.Type.
I don't know what kind of blocks are you thinking, but for sure the BlockType enum can be extended to have "BlockType.ELEFANT" for example. The BlockType.VALUE is meant for  representing Variants. Maybe this will be more clear once we stop doing our own serialization/deserialization and use Resources all around.

I think there is more to Godot's type system than just Variant.Type. For example, if I do var camera: Camera2D, I am specifying that yes, my variant is an Object, but it's also specifically a subclass of Node2D < CanvasItem < Node. Ideally we would have a way to incorporate this into our block type system.

Yes, for sure, but not for persisting. Variants can be serialized to text, be serialized as binary and stored to disk, transferred via network, etc.

I guess I'm just not understanding why we need our VALUEs to be of one of the Variant.Types, or even serializable at all. For example, in the _on_body_entered(body) method, it returns a body which is a Node. This node and its path changes all the time depending on what happens during runtime - we never persist that specific node to a block script. So the type of the value in this case should be Node, and therefore it should only be able to snap into a slot of type Node. In my eyes, the only reason to add typing is to guarantee things can snap together correctly, without generating errors. The only time we DO persist things is in the ParameterInput, where the user's raw text input gets saved. There shouldn't be any raw input for a Node anyways, the user cannot instantiate a new node in the parameter input.
So I guess I'm saying I see no benefit to having Variant.Type as the type of our variant_type. We are only using variant_type as a specifier (for snapping). Maybe it could make ParameterInput slightly cleaner, but it's already been implemented. And since there are limited options in using Variant.Type as a specifier (doesn't use subclassing or class names at all), we should just turn variant_type into a String. That way we could define blocks like Set velocity {physics_body: PhysicsBody2D} that only takes in rigid bodies and character bodies. In the current system we could only do Set velocity {object: OBJECT} which would generate an error for nodes or even snapped objects that don't have the right property.
For now I think it's okay if we just keep every Node input of type OBJECT, that way we aren't limited in our block scripts. However, this could cause runtime errors and I do think eventually it will be important to have inputs with class types.


fix: Fix a leak in PrefixAndTail operator.

Motivation:
Fix @queimadus's report in https://github.com/apache/pekko/discussions/1566
Modification:
When the upstream finishes quickly but the downstream is not pulled, a leak can happen, so clean up that.
Result:
I think the leak should be fixed now
code from @queimadus
import org.apache.pekko.actor.ActorSystem
import org.apache.pekko.stream.scaladsl.{Sink, Source}
import org.apache.pekko.util.ByteString

import scala.concurrent.Await

object PekkoQuickstart extends App {
  private implicit val system: ActorSystem = ActorSystem()

  val s = Source
    .repeat(())
    .map(_ => ByteString('a' * 400000))
    .take(1000000)
    .prefixAndTail(50000)
    .flatMapConcat { case (prefix, tail) => Source(prefix).concatLazy(tail) }

  val r = Source.empty
    .concatAllLazy(List.tabulate(30000)(_ => s): _*)
    .runWith(Sink.ignore)

  Await.result(r, scala.concurrent.duration.Duration.Inf)
  println(r.value)

//  Source
//    .repeat(s)
//    .take(30000)
//    .flatMapConcat(x => x)
//    .runWith(Sink.ignore)
//    .onComplete(println(_))

//  Source.empty
//    .concatAllLazy(List.tabulate(30000)(_ => Source.lazySource(() => s)): _*)
//    .runWith(Sink.ignore).onComplete(println(_))
}

before:

after:

Seems there are more leak points.

I think the problem is the current logic design where arrays are been used to track and then with the current deign, there will be many many instances of the logic.
So That problem is harder to fix than we expected, but this pr is still valid.

@queimadus Hi, I realized that the origin issue of concatAllLazy can not be fixed with the current implementation of Interpreter.
So I have to add a new operator for this.
  def concatAllLazy[U >: Out](those: Graph[SourceShape[U], _]*): Repr[U] =
    internalConcatAll(those.toArray, detached = false)

vs:

  def concatAllDeferred[U >: Out](those: Graph[SourceShape[U], _]*): Repr[U] =
    concatGraph(
      Source.lazySource(
        () => Source(those).flatMapConcat(ConstantFun.scalaIdentityFunction)),
      detached = false)

@pjfanning wdyt

@queimadus continue here https://github.com/apache/pekko/issues/1652


Question

given:
class Bar {}
class Foo extends Bar {}

the Foo constructor conditionally apply's _Bar
  var _Bar = Bar;
  var Foo = function Foo() {
    if (_Bar) {
      _Bar.apply(this, arguments);
    }
  };

I may be mistaken, so please point  me to the part of the spec that allows for this. I believe if Bar is missing this should be a failure scenario.

It's to allow for inheriting from null.
var Bar = null;
class Foo extends Bar {}

would it instead make sense to special case the null case? Or at-least an explicit if(_Bar !== null) {..} so that a pesky undefined doesn't sneak in?

Doesn't make much difference but it wouldn't hurt to make it more explicit.

Doesn't make much difference

if the superclass becomes undefined do to a mistake, the failure may be entirely masked

I'll take this, I'm tired of working on the site.

Released as of 2.6.0


FormValidation with django-ckeditor

I want  to validate the content of the editor with formValidation. How can i do it?

Is it compatible with ckeditor in any way? Likely ckeditor itself can have simple validation rules too.


API URL returns 404

Every so often when I run wget against the URL:https://api.adoptopenjdk.net/v2/binary/releases/openjdk13?openjdk_impl=hotspot&os=linux&arch=s390x&release=latest&type=jdk I receive "Not Found". This condition often lasts for a few hours before returning the expected tar ball. I am running a docker build script with the wget embedded so often reference it mutliple times per day as I attempt to get the build correct. It doesn't seem to happen for 8/11/12 but that may just be due to luck.

@nealef - Please use the new v3 API - https://api.adoptopenjdk.net/swagger-ui/ - issue is fixed there.


FR: Assign device_name after DNS lookup

The DNS lookup for traps was implemented not long ago, and it works fine. The only gap is that the device_name remains the ip-address. It would make sense to update the device_name with the name returned by the DNS.
Note: This already works when the device-name has been added to the devices config.

Can you give an example of where you are still seeing the IP in the device_name field? From my testing, data should look like:
  {
    "instrumentation.name": "netflow-events",
    "device_name": "localhost",
    "src_addr": "<IP_ADDRESS>",
    ...
  }```

After dns resolution.

Here is one example from a customer (I masked some of the IPs, but they match).

{
"device_name": "172.xx.xxx.39",
"src_addr": "172.xx.xxx.39",
"src_host": "loncd.uk.mycomp.com"
}

OK, this feels like a bug and the reverse dns not working. Let me dig more.


Regression - able to use union containing non-indexing type as index

TypeScript Version: master at bd40583beb10165fd9

Search Terms: array index union error
Code
declare const arr1: (string | string[])[];
declare const arr2: number[];
const j = arr2[arr1[0]];

Expected behavior: Error - Type string[] cannot be used as an index type
Actual behavior: No error
Playground Link: Link
Related Issues: Regressed during fix of #26409 (edit: #26281 ?)

Ref #26712 & #26698

Looks to me like this is caused by #26281.
On Aug 28, 2018, at 9:44 AM, Ryan Cavanaugh <notifications<EMAIL_ADDRESS>wrote:
Assigned #26714https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FTypeScript%2Fissues%2F26714&data=02|01|andersh%40microsoft.com|d4a71e519eb742bb819f08d60d058c93|72f988bf86f141af91ab2d7cd011db47|1|0|636710714819794992&sdata=20KrB7JoqXwGmikmgie1ahf1gCuTxO7J2J%2FZlKapjKA%3D&reserved=0 to @ahejlsberghttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fahejlsberg&data=02|01|andersh%40microsoft.com|d4a71e519eb742bb819f08d60d058c93|72f988bf86f141af91ab2d7cd011db47|1|0|636710714819805000&sdata=D46MFo6ROrjXZYOh2xMY1oYcFGcxBJ6YvvzXH7V4aCA%3D&reserved=0.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FTypeScript%2Fissues%2F26714%23event-1813594083&data=02|01|andersh%40microsoft.com|d4a71e519eb742bb819f08d60d058c93|72f988bf86f141af91ab2d7cd011db47|1|0|636710714819815009&sdata=Ubipf0b0cUrSmM%2BRJp9kg8YVKtTABoIsT3E5dKHt6BQ%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEB_it-fUzZjqP6_tCt_3jXR6OKaworaks5uVXN3gaJpZM4WP_zB&data=02|01|andersh%40microsoft.com|d4a71e519eb742bb819f08d60d058c93|72f988bf86f141af91ab2d7cd011db47|1|0|636710714819815009&sdata=XHHGv3k1a6h9SoP50WdlJICsjC19q0QpyLwiwefrefw%3D&reserved=0.

Righto, so this is a bit interesting. Since the index distributes to number[string] | number[string[]] and noImplicitAny is off, number[string] silently becomes any and then we don't bother to check number[string[]]. I can fix it so we still do the validity check even if we won't use the type; just thought it was interesting~


Update main.js

fixed logout DetailReport report an error like this
"TypeError: Cannot read property 'format' of undefined"

fixed logout DetailReport report an error


Renamed and fixed test for testing partition count update.

This test can only test partition count update without more extensive mocking of adminClient responses.

LGTM


operator overloading (for vectors to start with, probably for colors too)

Translations should be able to take a vector as an argument. rotations too should take a vector (and an angle).
The current notation is the Processing one, which knows nothing about vectors, as we do for example
move 1,2,3

which in a way seems a little limited. We should rather be able to do use arrays for vectors like so
point = [1,2,3]
move (point + [4,5,6]) * pulse

So we should be able to overload '+' and '*' (and others) to make sense of vectors that way.
This overloading thing is a classic topic in Javascript (as in: everybody wants it but it's not really a language feature), BUT it can be done and the best way I've seen it done is in paper.js, where it's handled like so: http://scratchdisk.com/posts/operator-overloading
The coffeescript library that we already use does allow us to get the AST, traverse it to do the required changes, then emit the compiled code. With a bit of luck the parsing/compiling stages of coffeescript should amount to the same work that it does now (only we do it in one pass now), and the visiting of a few lines of code should amount to a visit of a few nodes and I'd hope it to be really be quick.
(Also consider that the current regex transformation stage can be wildly streamlined, I didn't even seriously try).
Once this works, this would open up operations on Colors for example, and potentially some of the current regex transformations could be migrated to be AST operations.
I'd expect this to be OK in @rumblesan 's branch as he works on solid ASTs to start with, so whatever we do on the main branch should be even more "legit" in his branch.

I was thinking about related stuff today actually; I'm toying with the idea of receiving skeletal data from kinect via OSC for use in LCL, and it would be annoying to not be able to at least use coordinates as vectors, even without operator overloading. But operator overloading would definitely be good and your reasoning about how to implement seems fairly sound.

so my initial reaction to overloading was somewhat hesitant, but actually I think that it would be very possible to have it work in a sane fashion.
reading the paper.js stuff, it seems like the system they've got is reminiscent of haskells type classes. it's a bit more awkward in a language without strong typing, but I think it's the sanest way to do this kind of stuff I've seen.
In short, yeah I'm all for this. I think there's a fair bit of stuff we need to do around defining the language and how things should work, but I think it's all good stuff.

yes indeed there is a potential rabbit hole here. If we really did this properly, we wouldn't just support [1,2,3] as a vector, that's somewhat reduced, we would really have to support generic matrixes (I'm assuming using arrays of arrays). Cause the vector would be "horizontal" as in the example but it could be vertical, so we should support stuff like transposition, multiplication between matrixes (which includes the case of vectors), multiplication between matrixes and scalars, component-wise multiplication and throw errors when the dimensions of the vector/matrixes don't add up...

Just to map out other parts of the potential rabbit hole, quaternions could also be useful.

Matlab could be a good example of some notations we may be shooting at:
http://uk.mathworks.com/help/matlab/matlab_prog/array-vs-matrix-operations.html

the vector/matrix notation is similar to arrays (except omitting "," between elements and for the ";" dividing rows) so something like that could be achieved with some parsing effort. We can start with a normal "array of arrays" notation and then afterwards see if we can use the simpler Matlab notation.
it adds .* , .' , .^, ./ , .\ operators for transposition etc. Unclear how to add operators ATM (apart from digging into coffeescript code? Is CS gonna lend itself to extending the operators?)
it does allow for complex number notation with (among others) the a+bi notation (I am assuming that's supported only on special cases) . We could support the notation a + b*i by assigning i to a complex number object. So no more iterations using 'i's I guess :-)

As for quaternions, in theory if we support matrixes and complex numbers then we can support calculations on quaternions just fine, but declaring quaternions in matrix form doesn't look right at all. So for other notations:

Matlab deals with quaternions with a dedicated API that works on vectors of four elements (apart from + which gives no problem, but multiplication is handled via API). http://uk.mathworks.com/help/aerotbx/ug/quatmultiply.html
Mathematica visually represents them as vectors of four elements as well, it uses + as well (that gives no problems again), but it uses a dedicated "**" operator for multiplication https://reference.wolfram.com/language/Quaternions/tutorial/Quaternions.html

Are there other sw environments that have other notable notations for quaternions?


Generalize UI

Integer fields need input validation again. They still should be able to show conflicts though

Integer fields need input validation again. They still should be able to show conflicts though

I have seen other framework doing validation by adding validators the fields.
We might do the same with UIAttribute


The 1px outer border of the column chart cannot be removed

Version
4.8.0 or @latest
Steps to reproduce
Then configuration ：
option = {
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [120, 200, 150, 80, 70, 110, 130],
        type: 'bar',
        itemStyle: {
            borderColor: 'red',
            // borderWidth: 1
        }
    }]
};

BorderWidth defaults to 0 setting border Color with 1px color
When borderWidth is set to 0, there will still be 1px light gray color
What is expected?
The 1px frame is not displayed by default
What is actually happening?
shows the 1px box

@pissang this still occurs FYI. To reproduce, open the demo here:
https://echarts.apache.org/examples/en/editor.html?c=bar-simple
Look at the right border of the first bar (I don't see it on the other sides, interestingly).
The border is actually smaller than 1px and is very light, you have to zoom in a lot to see it. Still, if you remove the barCategoryGap, it overlaps the neighboring item and is very noticeable.
I think this has nothing to do with the actual CSS border, it's probably a rendering issue.


chore: upgrade go dependencies

from: https://github.com/jenkins-x/jx3-versions

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
0ecea60c50c0352f8cefd735fdccdbbf27dc69ce
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
0ecea60c50c0352f8cefd735fdccdbbf27dc69ce
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign jstrachan
You can assign the PR to them by writing /assign @jstrachan in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign jstrachan
You can assign the PR to them by writing /assign @jstrachan in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
df7d29ca618080425482d52843c6f1f4162c3749
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
df7d29ca618080425482d52843c6f1f4162c3749
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
65711a76f15ee2459fec9b453041ff5f25bb99f3
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
65711a76f15ee2459fec9b453041ff5f25bb99f3
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
5cbbc55007fffae67c82c3c53ebf473c1cd442ae
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
5cbbc55007fffae67c82c3c53ebf473c1cd442ae
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
de033d8c8c673650395f8644f0281fa1a59fa3b1
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
de033d8c8c673650395f8644f0281fa1a59fa3b1
link
/test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


Row count is not available in unbuffered result sets.

I am using zend mvc with the latest zend framework and i use mysqli driver in global.php and provide the username and password in local.php
but when i run my application i got the following error
Row count is not available in unbuffered result sets.

@Ocramius it can be closed now.

Thanks @samsonasik, closing!


[docs]: How to use custom eslint config

Closed by https://github.com/zanminkian/git-hooks/commit/7c029cf680bfe5fe6cb30b79c04260ea95e3b300


Feature/pop 43 code coverage integration

Integrate with overalls.io

Changes Unknown when pulling c8eb30604644c1823abb10af4242155a9b1a9918 on feature/Pop-43-code-coverage-integration into ** on master**.


[WIP] add endpoint moinitor

add endpoint monitor

@rasheedamir Chart: application Dry Run successful

@rasheedamir Chart: application Dry Run successful

@rasheedamir Chart: application Dry Run successful

@rasheedamir Chart: application Dry Run successful

@rasheedamir Chart: application Dry Run successful


Pass state using NavigationManager

With the recent release of .net7-preview7 a new feature was introduced to pass state via the NavigationManager. Here the announcement on the official website.
If we have a component like that:
@page "/test"

@inject NavigationManager NavigationManager

<p>@(_entry ?? string.Empty)</p>

@code {
    private string? _entry;
    protected override void OnInitialized()
    {
        _entry = NavigationManager.HistoryEntryState;
    }

}

With a different component navigating to said component:
@inject NavigationManager NavigationManager

<button @onclick=@(() => NavigationManager.NavigateTo("/Test", new NavigationOptions {HistoryEntryState = "My Text"}))>Click</button>

A test could look like this (which currently fails, because bUnit does not set the HistoryEntryState in NavigateToCore):
Services.GetRequiredService<NavigationManager>()
    .NavigateTo("test/", new NavigationOptions() { HistoryEntryState = "Test" });

var cut = RenderComponent<ComponentWithEntryState>();

Assert.Equal("Test", cut.Find("p").TextContent);

What works out of the box is the follwing scenario:
@page "/"
@inject NavigationManager NavigationManager

<button @onclick=@(() => NavigationManager.NavigateTo("/Test", new NavigationOptions {HistoryEntryState = "Test"}))>Click</button>

@code {
    public string? NewState;

    protected override void OnInitialized()
    {
        NavigationManager.LocationChanged += (sender, args) => NewState = args.HistoryEntryState;
    }
}

With the following test:
var cut = RenderComponent<BlazorApp1.Pages.Index>();

cut.Find("button").Click();

Assert.Equal("Test", "Test");

Let me check that once more, but the given test above is failing at the moment which would indicate it is not really working.

Sorry you are right it is working... I just don't know why the first test is failing (as described in the original message).

Sorry you are right it is working... I just don't know why the first test is failing (as described in the original message).

No worries. Thanks for investigating this.

Still think its relevant to add the state to NavigationHistory entires.

Still think its relevant to add the state to NavigationHistory entires.

That is a good point, but let's track that with a different issue.


Consider wording of project description

The project description confuses me.

An avrgirl-wrapper library for flashing Arduino microcontroller boards with NodeJS.

To me this sounds like a library that somehow puts NodeJS on Arduino boards, which leaves me at first amazed, then severely disappointed.
A clearer description could be:

An avrgirl-wrapper NodeJS library for flashing Arduino microcontroller boards.

Ah, yes, I can see why the grammar of this tagline would be very misleading. Thanks for catching this, and apologies for the rollercoaster of feelings there! Running NodeJS on an Arduino board would be amazing. It's even quite difficult on a Yun.
I have fixed this in newly published version 1.6.4, commit is https://github.com/noopkat/avrgirl-arduino/commit/c73f7019a1a97cd3195d3e1f1f90cfd550c0e129 Hopefully that makes things crystal clear.
Thank you again.

Much clearer, thank you.


gatsby/fix: breadcrumb overflow

Fixed breadcrumb overflow by overwriting white-space property set by text-truncate mixin (instead of changing text-truncate mixin to not cause bugs elsewhere)

Before
After

Thanks! 👍

Thanks! 👍


TypeError: module.require is not a function

When start nextjs with npm run dev and reload the api route http://localhost:3000/api/graphql
{"errors":[{"message":"module.require is not a function","extensions":{"code":"INTERNAL_SERVER_ERROR","stacktrace":["TypeError: module.require is not a function","    at Module.createHash (/srv/app/.next/server/chunks/node_modules_fb96e5._.js:1658:23)","    at Object.html (/srv/app/.next/server/chunks/node_modules_097efd._.js:241:240)","    at ApolloServer.executeHTTPGraphQLRequest (/srv/app/.next/server/chunks/node_modules_@apollo_server_dist_92ba2d._.js:1905:77)"]}}]}

Could you please provide a reproduction?

Hi @martinnabhan
To reproduce this, just add --turbo in package.json,
 "dev": "next dev --turbo",
So when i run npm run dev, it gives this error.

I don't think Apollo Server works with the --turbo option so you'll have to use next dev instead.

Do we have any idea what's the deal breaker in Turbo Server?

Ahh, this was hard to find, solves the problem for me too.


Config object data unavailable within features called from karate-config.js

This issue started occurring after Karate 1.0.1
myproject.zip

Download attached project
Run /src/test/java/com/repro/tests/test.feature@test=test1
Open build/karate.log
Search for "someConfigVar" which was set on the config object in karate-config.js
Witness that it exists (example karate.log output below)
Update build.gradle to a build greater than 1.0.1
Rerun steps 1-4
Witness now that "someConfigVar" no longer exists

What we are expecting (eg "testData", "someConfigVar", "someConfigVal")
14:12:51.221 [Test worker] INFO  com.intuit.karate - [print] {
  "testData": {
    "someConfigVar": "someConfigVal"
  },
  "create_account": true,
  "params": [
    {
      "param1": "abc",
      "param2": "def",
      "param3": "ghi"
    }
  ],
  "param3": "ghi",
  "responseStatus": 200,
  "param1": "abc",
  "param2": "def",
  "password": "Customertesting123!",
  "responseHeaders": {
    "Date": [
      "Mon, 15 Nov 2021 22:12:51 GMT"
    ],
    "Content-Type": [
      "application/json"
    ],
    "Content-Length": [
      "299"
    ],
    "Connection": [
      "keep-alive"
    ],
    "Server": [
      "gunicorn/19.9.0"
    ],
    "Access-Control-Allow-Origin": [
      "*"
    ],
    "Access-Control-Allow-Credentials": [
      "true"
    ]
  },
  "somevar": "someval",
  "response": {
    "args": {
    },
    "headers": {
      "User-Agent": "Apache-HttpClient/4.5.13 (Java/11.0.8)",
      "Host": "httpbin.org",
      "Accept-Encoding": "gzip,deflate",
      "X-Amzn-Trace-Id": "Root=1-6192db63-1cd8aa8e45e9f7f85f8bf4a0"
    },
    "origin": "<IP_ADDRESS>",
    "url": "https://httpbin.org/get"
  },
  "name": "Customer Testing1",
  "entity": [
    {
      "name": "Customer Testing1",
      "email"<EMAIL_ADDRESS>      "password": "Customertesting123!",
      "create_account": true
    }
  ],
  "email"<EMAIL_ADDRESS>}

14:12:51.224 [Test worker] INFO  com.intuit.karate - [print] {
  "someConfigVar": "someConfigVal"
}

@kirksl I haven't looked at this - but the "config" variables are injected only when the karate-config.js exits. which is why any call you do has to manually collect / pass arguments taken out of the code, for e.g. see #1837

@ptrthomas I should clarify.  I meant passing any object reference to another feature file within karate-config.  I just happened to be using config in this case.  Eg "config.testData" here...

@kirksl ok. will look into this later. can you try a quick experiment. and karate.toJava() also in case toJson() doesn't work
var temp = karate.toJson({ testData: config.testData, entity: data });
karate.call(callee, temp);

@ptrthomas done.  toJava() and toJson() did not change the behavior.

@kirksl just took a look at this and the project is a bit too complicated to navigate. I'd like it to be more minimal, because from what little I could understand, this is not valid use of call etc.
anyway, it is most likely fixed in the latest changes to develop. so please re-open as a fresh issue if applicable


chore(deps): move from dev-dep to dep

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-rc.1 :tada:
The release is available on:

npm package (@pre/rc dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Doesn't redirect Environment.CurrentDirectory and causes problems

Describe the bug
After enabling In-Process hosting, the web app's Environment.CurrentDirectory becomes "C:\Program Files\IIS".
To Reproduce
Steps to reproduce the behavior:

Using this version of ASP.NET Core 2.2.0

dotnet new mvc

and then add a line in Program.cs above CreateWebHostBuilder:
Console.WriteLine(Environment.CurrentDirectory);

Run this web app under IIS.
You will find it output "C:\Program Files\IIS", but not the actual website's physical path.

This will cause a lot of problems when there're File/Directory operations in a web application.
Expected behavior
Output is the actual website's physical path.

This is covered here also: https://github.com/aspnet/AspNetCore/issues/4206


Add renderer for Talon rules using docutils which can render inline links to captures and lists

Currently, talondoc simply renders Talon rules to strings using talonfmt.

Requires #14.


when swiper slides are less than one or zero then also one pagination bullet is visible?

Swiper shows one bullet when there is not swiper slides in swiper-wrapper.
Please tell me how can I solve this issue after swiper update also I am facing this issue.
I am using swiper 3.3.0 version.
HTML

JS
var swiper = new Swiper('.swiper-container', {
pagination: '.swiper-pagination',
paginationClickable: true
});

Pagination doesn't reflect number of slides, it is reflected to number of "snaps". Just hide it manually when there is no slides


Philips Hue Traceback error every 5 to 30 minutes.

Home Assistant release with the issue:

0.103.6 through 0.104.0b
Last working Home Assistant release (if known):
I believe it was around 0.101.3 but can't remember, honestly.
Operating environment (Hass.io/Docker/Windows/etc.):

Hass.io in Docker on Ubuntu Server 18.04.3
Integration:

https://www.home-assistant.io/integrations/hue/
Description of problem:
Starting noticing the trackback logs below popping up every 5 to 30 minutes back when I updated from around 0.100.3 to 0.106.3.  The errors aren't causing havoc in my system but I have noticed that automations will not fire correctly that have Hue devices within the automation.  It doesn't happen all the time, it's random but noticeable and irritating.
I've searched and found a few issues with kinda the same issue.  The questions being asked are what is your largest light group?  Do you use WLED integration?  The OP will respond to the question but then the thread goes stale with no response for days, weeks or months.  I haven't really tried much to remedy it as I can't exactly tell what is the problem.  #29152 and #29087  looks like the same issue but it says it was fixed by #29189 but the error is still persisting.   #23796 is also similar but has no HA team responses recently.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
hue:
  bridges:
    - host: <IP_ADDRESS>
      allow_unreachable: true
      allow_hue_groups: false

Traceback (if applicable):
2020-01-11 03:50:45 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 576, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/components/hue/light.py", line 441, in async_turn_on
    await self.bridge.async_request_call(self.light.set_state(**command))
  File "/usr/src/homeassistant/homeassistant/components/hue/bridge.py", line 103, in async_request_call
    return await coro
  File "/usr/local/lib/python3.7/site-packages/aiohue/lights.py", line 117, in set_state
    json=data)
  File "/usr/local/lib/python3.7/site-packages/aiohue/bridge.py", line 78, in request
    ) from None
aiohue.errors.RequestError: Error requesting data from <IP_ADDRESS>: [Errno 104] Connection reset by peer
2020-01-11 03:50:45 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 576, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/components/hue/light.py", line 441, in async_turn_on
    await self.bridge.async_request_call(self.light.set_state(**command))
  File "/usr/src/homeassistant/homeassistant/components/hue/bridge.py", line 103, in async_request_call
    return await coro
  File "/usr/local/lib/python3.7/site-packages/aiohue/lights.py", line 117, in set_state
    json=data)
  File "/usr/local/lib/python3.7/site-packages/aiohue/bridge.py", line 71, in request
    'Invalid content type: {}'.format(res.content_type))
aiohue.errors.ResponseError: Invalid content type: text/html
2020-01-11 03:50:45 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 576, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/components/hue/light.py", line 441, in async_turn_on
    await self.bridge.async_request_call(self.light.set_state(**command))
  File "/usr/src/homeassistant/homeassistant/components/hue/bridge.py", line 103, in async_request_call
    return await coro
  File "/usr/local/lib/python3.7/site-packages/aiohue/lights.py", line 117, in set_state
    json=data)
  File "/usr/local/lib/python3.7/site-packages/aiohue/bridge.py", line 78, in request
    ) from None
aiohue.errors.RequestError: Error requesting data from <IP_ADDRESS>: [Errno 104] Connection reset by peer
2020-01-11 03:50:45 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 576, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/components/hue/light.py", line 441, in async_turn_on
    await self.bridge.async_request_call(self.light.set_state(**command))
  File "/usr/src/homeassistant/homeassistant/components/hue/bridge.py", line 103, in async_request_call
    return await coro
  File "/usr/local/lib/python3.7/site-packages/aiohue/lights.py", line 117, in set_state
    json=data)
  File "/usr/local/lib/python3.7/site-packages/aiohue/bridge.py", line 78, in request
    ) from None
aiohue.errors.RequestError: Error requesting data from <IP_ADDRESS>: [Errno 104] Connection reset by peer

Additional information:

I have a similar issue with my Hue bridge (firmware<PHONE_NUMBER> since November 2019)
2020-01-13 05:00:01 ERROR (MainThread) [homeassistant.core] Error doing job: Tas
k exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 575, in as
ync_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/components/hue/light.py", line 439,
 in async_turn_on
    await self.bridge.async_request_call(self.light.set_state(**command))
  File "/usr/src/homeassistant/homeassistant/components/hue/bridge.py", line 93,
 in async_request_call
    return await coro
  File "/usr/local/lib/python3.7/site-packages/aiohue/lights.py", line 117, in s
et_state
    json=data)
  File "/usr/local/lib/python3.7/site-packages/aiohue/bridge.py", line 62, in re
quest
    'Invalid content type: {}'.format(res.content_type))
aiohue.errors.ResponseError: Invalid content type: text/html


Issue to Reach FireBase API

Hello all,
As already mentionned, this is the sample code i use to contact firebase with the method to susbscribe a Topic :
        FirebaseApp defaultapp = null;
        FirebaseAdmin.Messaging.FirebaseMessaging messaging = null;

        // Initialize the default app
        string path = AppDomain.CurrentDomain.BaseDirectory + "a2s-production-firebase-adminsdk-.json";

            defaultapp = FirebaseApp.Create(new AppOptions()
            {
                Credential = GoogleCredential.FromFile(path),
            });

        messaging = FirebaseAdmin.Messaging.FirebaseMessaging.GetMessaging(defaultapp);

        var response = await messaging.SubscribeToTopicAsync(registrationTokens,topic);

when i try to call this code from API i get a socket exception
"StatusCode": 50000,
"TechnicalMessage": "System.Net.Sockets.SocketException (0x80004005): Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu à System.Net.Sockets.Socket.InternalEndConnect(IAsyncResult asyncResult)\r\n à System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)\r\n à System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)",
"UserFriendlyMessage": null
It works when :
1- i'm getting out of the work network and plug myself in 4g hotspot it works.
Is That have to do with the local network or try to access to a specific url ?
2 - i call this code from a console application.
Thanks for the help in advance.

Is That have to do with the local network or try to access to a specific url ?

Most of the time when the issue only occurs on a certain network, it's because the network uses specific Firewall or proxy settings. You will need to check if such requirements exist in your work network, and handle them accordingly.

in out network there's a limitation so i asked to open those urls :
https://oauth2.googleapis.com
https://fcm.googleapis.com
i configured the proxy on the server for me to access those urls.
Firewall are disabled.

Typically you would configure the SDK to make API calls through the proxy. This is done by extending the HttpClientFactory. See #209.


Feature Request: Hide Humidity Sensor from Humidifier

Problem
I would like to hide the humidity sensor from my humidifier as I have a more accuarate sensor I'd like to use instead
Solution
Like the ability to hide the temperature sensor, I'd like to be able to add an entry to the homebridge config hide_humidity=true
Alternatives
No response
Additional context
No response

@jw172, the humidity sensor is a required characteristic needed for HomeKit humidifier accessories.


[boost] error: File does not have the expected hash:

Operating system
Windows
Compiler
MSVC
Steps to reproduce the behavior
vcpkg install boost:x64-windows-static

Failure logs
[DEBUG] C:\Users\Dev\Documents\SDKs\vcpkg-2024.05.24\downloads\boostorg-core-boost-1.85.0.tar.gz.4772.part has hash a1e774c98b537dd42018742af68f5889af1afd4e6c9809399987124e56a3b9ae2f20e8173170bc6fc0ad76fb95e2da7b9d385a4037e9ee12011fc02bf8f7e009
error: Failed to download from mirror set
error: File does not have the expected hash:
url: https://github.com/boostorg/core/archive/boost-1.85.0.tar.gz
File: C:\Users\Dev\Documents\SDKs\vcpkg-2024.05.24\downloads\boostorg-core-boost-1.85.0.tar.gz.4772.part
Expected hash: 3a7be75e52f5c20830fccb9e7391a1e4556ebb072e6324df95b1ba38bed46e24f4c9f27a62a1099eddc90f2ac1ede083f0c850e2dc27fd42375d028516f675b3
Actual hash: a1e774c98b537dd42018742af68f5889af1afd4e6c9809399987124e56a3b9ae2f20e8173170bc6fc0ad76fb95e2da7b9d385a4037e9ee12011fc02bf8f7e009
[DEBUG] D:\a_work\1\s\src\vcpkg\base\downloads.cpp(997):
[DEBUG] Time in subprocesses: 0us
[DEBUG] Time in parsing JSON: 4us
[DEBUG] Time in JSON reader: 0us
[DEBUG] Time in filesystem: 8107us
[DEBUG] Time in loading ports: 0us
[DEBUG] Exiting after 989 ms (962060us)
Additional context
No response

Already fixed in https://github.com/microsoft/vcpkg/pull/38979.

@Jono-Moss, Please use command "git pull" get the latest vcpkg and try agagin.

I still have the problem
vcpkg --version
vcpkg package management program version 2999-12-31-unknownhash

This is the part of the log file
Installing 1/52<EMAIL_ADDRESS>Building<EMAIL_ADDRESS>/path/vcpkg/triplets/community/arm64-linux.cmake: info: loaded community triplet from here. Community triplets are not bu
ilt in the curated registry and are thus less likely to succeed.
/home/user/.cache/vcpkg/registries/git-trees/195375664be82cbc16178de90096e451de070d80: info: installing overlay port from here
-- Downloading https://github.com/boostorg/core/archive/boost-1.85.0.tar.gz -> boostorg-core-boost-1.85.0.tar.gz...
[DEBUG] To include the environment variables in debug output, pass --debug-env
[DEBUG] Trying to load bundleconfig from /path/vcpkg/vcpkg-bundle.json
[DEBUG] Failed to open: /path/vcpkg/vcpkg-bundle.json
[DEBUG] Bundle config: readonly=false, usegitregistry=false, embeddedsha=nullopt, deployment=Git, vsversion=nullopt
[DEBUG] Metrics enabled.
[DEBUG] Feature flag 'binarycaching' unset
[DEBUG] Feature flag 'compilertracking' unset
[DEBUG] Feature flag 'registries' unset
[DEBUG] Feature flag 'versions' unset
[DEBUG] Feature flag 'dependencygraph' unset
[DEBUG] 1000: execute_process(curl --fail -L https://github.com/boostorg/core/archive/boost-1.85.0.tar.gz --create-dirs --output /path/vcpkg/downloads/boostorg-core-boost-1.85.0.tar.gz.10177.part)
[DEBUG] 1000: cmd_execute_and_stream_data() returned 0 after   671629 us
[DEBUG] Trying to hash /path/vcpkg/downloads/boostorg-core-boost-1.85.0.tar.gz.10177.part
[DEBUG] /path/vcpkg/downloads/boostorg-core-boost-1.85.0.tar.gz.10177.part has hash a1e774c98b537dd42018742af68f5889af1afd4e6c9809399987124e56a3b9ae2f20e8173170bc6fc0ad76fb95e2da7b9d385a4037e9ee12011fc02bf8f7e009
error: Failed to download from mirror set
error: File does not have the expected hash:
url: https://github.com/boostorg/core/archive/boost-1.85.0.tar.gz
File: /path/vcpkg/downloads/boostorg-core-boost-1.85.0.tar.gz.10177.part
Expected hash: 3a7be75e52f5c20830fccb9e7391a1e4556ebb072e6324df95b1ba38bed46e24f4c9f27a62a1099eddc90f2ac1ede083f0c850e2dc27fd42375d028516f675b3
Actual hash: a1e774c98b537dd42018742af68f5889af1afd4e6c9809399987124e56a3b9ae2f20e8173170bc6fc0ad76fb95e2da7b9d385a4037e9ee12011fc02bf8f7e009

Any ideas?

@flappix In manifest mode: Update the baseline in the manifest.


Is this project still alive?

Seems like the last commit was a month a go.

Well, yes and no.
I am willing to add as an administrator anybody that can do this.
Unfortunately I have 0 time to work on this for the next 6 months so I am willing to give it away.
Are you interested into managing it?

Can you at least bump a version on the npm for the new pull requests?

done! 0.9.0 released

Sorry for not being active guys! There is absolutely no way that I can do this anymore in the next couple of months

@mounirrquiba new mainteiner ?

Yes i'm ;)

new Name and new maintainer
https://www.npmjs.com/package/ngx-img-cropper


Add a Nix formatter, and run it

It doesn’t have to be this one, but there should be some formatter to make it easier to edit the code.

BTW, my fork runs additional CI checks: https://garnix.io/commit/014845f19c4a7f92eb5f0d8b1038024da84562b9

I'm horribly offended that you have rejected my messy code "style" :stuck_out_tongue:
Your link doesn't work for me. Do you mind sharing how to use/run this formatter?
The macos build issue is probably that macos-latest now is arm64. I'll try to address that separately.
Thanks!

I'm horribly offended that you have rejected my messy code "style" 😛

Hah! It’s not that, I swear – I try (not always successfully) to not have too many opinions about how code is actually formatted. I just don’t want to have to format it as I type, and don’t want to have to try to deduce the code style I should be following. So … automate it!

Your link doesn't work for me.

Ah, interesting – I thought those build results were public because the repo is. The tl;dr is that garnix just automatically builds all the packages, checks, devShells, homeConfigurations, etc. in a flake. In this case, everything passed except for the buildUnison* packages (because those aren’t actually packages), which is fixed by #85.

Do you mind sharing how to use/run this formatter?

nix fmt will run the formatter across the entire repo. alejandra is just one of many competing Nix formatters, but you can assign any of them as the formatter (https://github.com/ceedubs/unison-nix/pull/84/files#diff-206b9ce276ab5971a2489d75eb1b12999d4bf3843b7988cbe8d687cfde61dea0R61) and the same command will apply it.
In my own projects I use treefmt-nix as the (meta-)formatter, because it makes nix fmt run not just a Nix formatter, but arbitrary formatters and linters, so one command formats all of your code, and runs things like hlint as well.


We need to handle bad fonts (corrupted, or unsupported due to missing tables) better. Currently they cause rendering issues when they appear as fallbacks and they cause straight up crashes when set as the primary font. We need to handle this gracefully, and the font discovery mechanism(s) need to be updated to exclude bitmap fonts.

This issue caused font rendering to break for me when printing Thai numerals ^screencast because Ghostty would fall back to a bitmap font [^bitmapfont] which are not supported, even though I would have also had TrueType font with Thai glyphs (Noto Sans Thai) to fall back to.
To reproduce:
printf "THAI DIGIT SEVEN: -> \u0e57 <-\n"

or
$ ghostty +show-face --cp=0xE57
Unable to get face: error.CopyTableError

After the printf ghostty would log something like this (the warning about CopyTableError was repeatedly printed every ~0.5 seconds or so after the fallback was found):
info(font_codepoint_resolver): found codepoint 0xE57 in fallback face=Fixed Regular
warning(renderer_thread): error rendering err=error.CopyTableError
warning(renderer_thread): error rendering err=error.CopyTableError
warning(renderer_thread): error rendering err=error.CopyTableError
warning(renderer_thread): error rendering err=error.CopyTableError
warning(renderer_thread): error rendering err=error.CopyTableError
warning(renderer_thread): error rendering err=error.CopyTableError
warning(renderer_thread): error rendering err=error.CopyTableError
warning(renderer_thread): error rendering err=error.CopyTableError
warning(renderer_thread): error rendering err=error.CopyTableError
warning(renderer_thread): error rendering err=error.CopyTableError

To work around the issue you can explicitly choose a font that has the glyph:
$ ghostty --font-family="Noto Sans Thai"  +show-face --cp=0xE57
U+E57 « ๗ » found in face “Noto Sans Thai”.

this can also be specified as a secondary font in ~/.config/ghostty/config, you can pick multiple fonts like this:
font-family = Source Code Pro Semibold  # My preferred font
font-family = Noto Sans Thai

[^bitmapfont]: /usr/share/fonts/misc/h14.pcf.gz (Fixed Regular) in my case but I think any Unicode bitmap font would cause the same problem. Another Discord user was able to reproduce the bug after running sudo dnf install efont-unicode-bdf on Fedora.

I can confirm its an issue with unicode bitmap font rendering as it crashes with Cozette.

This should be mitigated significantly with #3550 on macOS. This prevents macOS from using CoreText in the fallback chain (or any chain really). This will be part of 1.0.1.

Removing this issue from 1.0.1 since the mitigation is in place. Keeping the issue open to address more robustly in the future.


DBCluster spec is different from RDSInstance on requirement of masterUserPasswordRef field

What problem are you facing?

The DBCluster resource has masterUserPasswordRef marked as a required field, whereas the RDSInstance resource has it marked as optional.
The RDSInstance controller will generate a random password if masterUserPasswordRef is not provided, but the DBCluster controller is autogenerated and does not.
How could Crossplane help solve your problem?

Provide guidance on how to add hooks to autogenerated resources so I can contribute back a password creation workflow similar to how the RDSInstance controller does things. I'm willing to put in the development time to make the necessary changes.

Looking closer at the codebase, pretty sure I can just patch the preCreate hook to provide a random password if the masterUserPasswordRef field isn't provided.
https://github.com/crossplane/provider-aws/blob/57f44d68092afe6f6a04d4b529a61357da1ce2d9/pkg/controller/rds/dbcluster/setup.go#L83


epiphany validation ensuring only one Kubernetes type configuration present

Is your feature request related to a problem? Please describe.
Right now more than one configuration of Kubernetes cluster can exist in Epiphany configuration file.
Describe the solution you'd like
Validation should check if there exist more than one Kubernetes cluster configuration and fail validation if will find
multiple configurations.
Describe alternatives you've considered
No alternatives.
Additional context
No additional context.

@sk4zuzu can you help me with that issue? In theory it is no longer required and eventually it will be modules dependency mechanism what would be responsible for that. But AFAIK there is still possibility to install Epiphany on AzBI and AzKS and deploy Kubernetes-master and Kubernetes-nodes on AzBI provided machines ... and in result have two kubernetes clusters in environment.

In my opinion, having strict rule for supporting only one configuration of kubernetes would be a good idea - less edge cases, clarity in config file and users input validation. Although, more expirienced person than me should look at this task.

Yes, I believe that in usage with epiphany single-kubernetes approach is correct.

Closing as the work on modules is halted.


HybridCache Output

Hello,
I am using HybridCache to extend the size of the cache to fit the workload.
I am writing fixed size page of 4096 bytes to the cache. However, even when the NVM cache size is set to 50GB, the number of objects in the cache does not exceed 1,958,200 which means total data of 1,958,200*4096 bytes which is around 7.5GB only. I notice similar pattern with the DRAM usage as well where the number of items of size 4096 bytes is lower than what it should be based on the allocation. Is there any allocation setting that I am not setting to optimize for fixed 4096 byte pages which is leading to fragmentation?
This is the configuration that I am using. Please ignore the additional parameters that I have added.
{
"cache_config": {
"cacheSizeMB": 100,
"minAllocSize": 4096,
"navyBigHashSizePct": 0,
"nvmCachePath": ["/flash/cache"],
"nvmCacheSizeMB": 50000,
"navyReaderThreads": 32,
"navyWriterThreads": 32,
"navyBlockSize": 4096,
"navySizeClasses": [4096, 8192, 12288, 16384]
},
"test_config": {
"enableLookaside": "true",
"generator": "block-replay",
"numThreads": 1,
"traceFilePath": "/home/pranav/csv_traces/w81-w85.csv",
"traceBlockSize": 512,
"diskFilePath": "/disk/disk.file",
"pageSize": 4096,
"minLBA": 0
}
}
== Allocator Stats ==
Items in RAM  : 17,711 (100MB allocation should fit more item!)
Items in NVM  : 1,958,200 (50GB allocation only fits 2million 4KB pages)
Alloc Attempts: 122,793,861 Success: 100.00%
RAM Evictions : 115,587,253 ( Why is each eviction not being admitted into the cache? If it is then why is items in NVM limited to 1,958,200?)
Cache Gets    : 113,169,162

If you were to use a synthetic workload generator, the number of items in the cache is controlled by the "numKeys" that cachebench uses to generate the workload. If that is small enough to fit in the cache, then the cache will never become full.  I see that you are using a trace file here. So it is likely that the total number of unique keys in the trace file does not exceed the cache size. Can you verify if that's the case.

I can verify that it is not the case since the number of items in the cache increases as I increase the size of the cache. Also since there are cache eviction, there have to be items that didn't fit. I suspected it was because of different allocation classes so I adjusted the allocation size manually which worked. So now for the following configuration:
{
"cache_config": {
"cacheSizeMB": 100,
"allocSizes": [4135],
"nvmCachePaths": ["/flash/cahce.file"],
"nvmCacheSizeMB": 350,
"navyBigHashSizePct": 0,
"navySizeClasses": [4608]
},
"test_config": {
"enableLookaside": "true",
"generator": "block-replay",
"numThreads": 1,
"traceFilePath": "/home/pranav/csv_traces/w105.csv",
"traceBlockSize": 512,
"diskFilePath": "/disk/disk.file",
"pageSize": 4096,
"minLBA": 0
}
}
22:40:34 68453 (      0.07M) ops completed
== Allocator Stats ==
Items in RAM  : 24,335 (24,3354135=100MB)
Items in NVM  : 71,695 (71,6954608=320MB)
Alloc Attempts: 252,306 Success: 100.00%
But I have a few questions about allocation sizes. For "allocSizes" since I am adding fixed 4KB pages why do I have to use the value 4135 for the items to be admitted to the cache? I used lower value and no items got admitted. The same with "navySizeClasses" where I have to used to first largest value that I can use larger than 4096 which is 4096 + 512 which is the navyBlockSize. Is the key size also included in the allocation size class measurement? I thought it was only the data size.

Is the key size also included in the allocation size class measurement? I thought it was only the data size.

allocSizes for DRAM is the size that includes key + data + Item overhead. If you don't specify one, cachebench has defaults which I believe uses a 1.25 factor.  For Navy, this is similar for LOC if you don't use stack allocation. SOC does not need alloc size since everything is stack allocated. The best option if you don't care about size classes for Navy is to use stack allocation mode (ie specify an empty array of  "navySizeClasses") and use "truncateItemToOriginalAllocSizeInNvm" to avoid any extra unused space from DRAM Item to be truncated while writing to SSD. See https://cachelib.org/docs/Cache_Library_User_Guides/Configuring_cachebench_parameters#large-item-engine-parameters for more info.

One more question about the memory usage. I ran the above configuration and the memory usage currently when around 10% of simulation is done is around 3GB? Isn't that too high? It continues to increase.

It does sound higher for a cacheSizeMB of 100. Cachebench itself uses some memory when consistency checking mode is used , but for trace replay that should be relatively small. CacheLib's memory usage should mostly come from the hash table for DRAM cache and the sparse map for Navy. I doubt these could add up to 3GB unless the configuration you chose for htBucketPower is misconfigured.

I see. Thank you for the suggestions! Really helpful.
I use the default value for htBucketPower which is 22 (uint64_t htBucketPower{22}; // buckets in hash table). Could you please explain to me a little how this could relate to increased memory usage?

htBucketPower of 22 means that the hashtable has 2^22 slots, 4 bytes each. That should account for about 16MB. The sparse map in Navy is about 10 bytes per entry. If you have a heap profile, it would help you chase the source of the memory usage.

 The overhead from the buckets and the Navy entry seems to low to account for the memory usage which seems to be increasing and off by almost 1GB. I will try to look into it.

I forgot to ask what does stack allocation mode do?

@pbhandar2

what does stack allocation mode do?

This mode only applies to BlockCache (Navy's large item cache). It will write items of different sizes into the same region (a region is the granularity which we write and evict in BlockCache). This is as opposed to using size class mode where items of the same sizes will be written into the same region.
It is recommended that user uses stack alloc + in-mem buffers, as we will be deprecating the other write modes in the near future.

why is the success rate of set go low under high pressure?

This indicates allocation failures when trying to insert into the RamCache.
Can you describe your workload and cache setup in more details? Are the object sizes spanning a large range? What is the ram-cache size? One possible scenario is that ram-cache is too small, and object sizes span a vast range. This could lead to a lot of contention on allocation classes which have little memory (and thus alloc failures).

@pbhandar2  marking this as resolved. please re-open a new discussion or issue if there are any more un-addressed issue.