Unhelpful hint in new javascript course, platformer game, step 46

Describe the Issue
The hint just repeats the instruction. An appropriate hint would be to remind the camper that the "this" keyword is used in the construction of the Player class and now we have a player object.
Affected Page
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures-v8/learn-intermediate-oop-by-building-a-platformer-game/step-46
Your code

  if(keys.rightKey.pressed && player.position.x < proportionalSize(400)){}

Expected behavior
When camper submits an incorrect response using the "this" keyword instead of "player", the hint should update to remind them that "this" is used to construct the class called by the object "player".
Screenshots
No response
System

Device: Laptop
OS: macOS
Browser: Chrome
Version: current

Additional context
No response

@DBailey0629,
So you are expecting mentioned hint when user codes as below,
if(keys.rightKey.pressed && this.position.x < proportionalSize(400)){}

@PrajvalaRC ,
Yes, that is probably the best. Beyond this one step, I also encountered a similar difficulty on multiple steps in this lesson where the hint was just an almost exact restatement of the instruction. Some of them seemed to be a too strict check on requiring parentheses around a single parameter for a callback function.

as far as your concern on the matter of strict checking on requiring a parenthesis around a single parameter for a callback function, it is because it is a good practice in general when using JavaScript and also adopted by Freecodecamp . you can read them here https://forum.freecodecamp.org/t/free-code-camp-javascript-style-guide/19121 . If you don't want to put curly braces in single line functions, you can opt for arrow functions.

@PrajvalaRC , Yes, that is probably the best. Beyond this one step, I also encountered a similar difficulty on multiple steps in this lesson where the hint was just an almost exact restatement of the instruction. Some of them seemed to be a too strict check on requiring parentheses around a single parameter for a callback function.

On the matter of providing more helpful hints I understand your concern. So basically, you want to know what is wrong with the code you wrote and why it doesn't work and simultaneously providing the correct solution and explanation. Am I understanding it clearly?

As for the hint, we could go something with this:
You should have an `if` statement that checks if the right key was pressed and the player's `x` position is less than `proportionalSize(400)`. The `this` keyword should not be used here because that is only for the `Player` class and not the use of the `player` object.

@Atyagi1213

as far as your concern on the matter of strict checking on requiring a parenthesis around a single parameter for a callback function, it is because it is a good practice in general when using JavaScript and also adopted by Freecodecamp

Beginners shouldn't be penalized for incorrect answers because of differences in parenthesis though.
Unless it is a syntax issue, if the beginner is writing technically correct code, then the test should pass.
Those changes should be handled outside of the scope of this issue though

@jdwilkin4

As for the hint, we could go something with this:
You should have an `if` statement that checks if the right key was pressed and the player's `x` position is less than `proportionalSize(400)`. The `this` keyword should not be used here because that is only for the `Player` class and not the use of the `player` object.

what if a user didn't use the 'this' keyword but made a different mistake, should the hint related to the 'this' keyword still be included?

@PrajvalaRC , Yes, that is probably the best. Beyond this one step, I also encountered a similar difficulty on multiple steps in this lesson where the hint was just an almost exact restatement of the instruction. Some of them seemed to be a too strict check on requiring parentheses around a single parameter for a callback function.

@DBailey0629
If we have to be that specific, won't we have to add many cases to handle it?

As for the hint, we could go something with this:
You should have an `if` statement that checks if the right key was pressed and the player's `x` position is less than `proportionalSize(400)`. The `this` keyword should not be used here because that is only for the `Player` class and not the use of the `player` object.

what if a camper didn't use the 'this' keyword but made a different mistake, should the hint related to the 'this' keyword still be included?

Instead of adding above statement in hints, it might be better option to add in description as general 'Note'. Else it might confuse user.

@PrajvalaRC
A note in addition to the updates to the hint would work.
Remember that unfortunately, most people don't read everything.
So if the camper skips the note, then it is reiterated in the hint

@Atyagi1213

as far as your concern on the matter of strict checking on requiring a parenthesis around a single parameter for a callback function, it is because it is a good practice in general when using JavaScript and also adopted by Freecodecamp

Beginners shouldn't be penalized for answers because of differences in parenthesis though. Unless it is a syntax issue, if the beginner is writing technically correct code, then the test should pass.
Those changes should be handled outside of the scope of this issue though

The problem stated by @DBailey0629 regarding the parenthesis is a syntax error because only arrow functions allow parameters without brackets . So technically her code will become incorrect .


Is it possible to register the adapter as a custom metric API?

The documentation says that the adapter is  An implementation of the Kubernetes Custom Metrics API and External Metrics API for AWS CloudWatch metrics. but the kubernetes manifest file https://github.com/awslabs/k8s-cloudwatch-adapter/blob/master/deploy/adapter.yaml#L118 registers it in the external.metrics.k8s.io group.Is it also a possibility to register this with the custom.metrics.k8s.io group instead ?

It looks like the docs are still outdated: https://github.com/awslabs/k8s-cloudwatch-adapter/issues/26.


[e2e]: delegator-lowperms tag main default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/v47.0.1
Run: https://github.com/slsa-framework/example-package/actions/runs/5637555314
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.delegator-lowperms.tag.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.delegator-lowperms.tag.main.default.slsa3.yml
Trigger: push
Branch: v47.0.1
Date: Sun Jul 23 16:43:23 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/v47.0.2
Run: https://github.com/slsa-framework/example-package/actions/runs/5637567531
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.delegator-lowperms.tag.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.delegator-lowperms.tag.main.default.slsa3.yml
Trigger: push
Branch: v47.0.2
Date: Sun Jul 23 16:52:56 UTC 2023
Tests are passing now. Closing this issue.


README.md documentation for join incorrect and scenario proposal.

Hi,
According to the documentation for Join manipulation (https://github.com/tomMoulard/htransformation#join).
# Example Usage
- Rule:
  Name: 'Header set'
  Header: 'X-Forwarded-For'
  HeaderPrefix: "^"
  Values:
      - 'Foo'
      - '^CF-Connecting-IP'
  Type: 'Join'

will result in:
# Old header:
X-Forwarded-For: <IP_ADDRESS>
CF-Connecting-IP: <IP_ADDRESS>
# New headers:
CF-Connecting-IP: <IP_ADDRESS>
X-Forwarded-For: Foo, <IP_ADDRESS>

But I guess that's not the case.
Wouldn't it be?
# Old header:
X-Forwarded-For: <IP_ADDRESS>
CF-Connecting-IP: <IP_ADDRESS>
# New headers:
CF-Connecting-IP: <IP_ADDRESS>
X-Forwarded-For: <IP_ADDRESS>,Foo,<IP_ADDRESS>

Actually, I would like to allow Join not to only append but also to prepend.
As a more generic scenario.
# Example Usage
- Rule:
  Name: 'Header set'
  Header: 'X-Forwarded-For'
  HeaderPrefix: "^"
  Values:
      - '^CF-Connecting-IP'
      - '^X-Forwarded-For'
  Type: 'Join'

# Old header:
X-Forwarded-For: <IP_ADDRESS>
CF-Connecting-IP: <IP_ADDRESS>
# New headers:
CF-Connecting-IP: <IP_ADDRESS>
X-Forwarded-For: <IP_ADDRESS>,<IP_ADDRESS>

The value of Header will be overridden by the resulting concatenation of Values elements or, if Header does not exist, it will be automatically created and populated with the same concatenation.
As this might be breaking backwards compatibility a new Type may be defined.
What do you think?

Hello @sergioa,
Thanks for your interest in this Traefik Plugin !
Indeed, there is an error in the README, and I have fixed it in the newest PR.
As for the prepending, I think it is not a good idea to change the configuration for the join header manipulation system.
I would rather use this workaround:
- Rule:
  Name: "defining a tmp header to store the Xff value in."
  Header: 'Xff'
  value: 'Xff-tmp'
  Type: 'Rename'
- Rule:
  Name: "Setting the Xff header value."
  Header: 'Xff'
  Value: '<IP_ADDRESS>'
  Type: 'Set'
- Rule:
  Name: "Appending the previous XFF header value after the new value."
  Header: 'Xff'
  HeaderPrefix: "^"
  Sep: ','
  Values:
      - '^Xff-tmp'
  Type: 'Join'
- Rule:
  Name: "Deleting the tmp header."
  Header: 'Xff-tmp'
  Type: 'Del'

Hi @tomMoulard ,
Thank you for fixing the documentation.
With regards to your workaround, unfortunately it doesn't address my scenario.
Let me try to explain better.
I have two upstream headers:
X-Forwarded-For: <IP_ADDRESS>
X-Original-Forwarded-For: <IP_ADDRESS>

which should be forwarded downstream:
X-Forwarded-For: <IP_ADDRESS>,<IP_ADDRESS>
X-Original-Forwarded-For: <IP_ADDRESS>

So this step in your ruleset breaks as it is assuming a hardcoded value <IP_ADDRESS>:
- Rule:
  Name: "Setting the X-Forwarded-For header value."
  Header: 'X-Forwarded-For'
  Value: '<IP_ADDRESS>'
  Type: 'Set'

I understand that changing the behaviour of Join is not acceptable but I need to copy the value of a header over to another and, as far as I understand, that is not doable with Set and Join requires the destination header to exist and not to be empty.
May you consider allowing Set to copy the value of another header the same manner as Join?
Thank you again.


Apng encoding: IDAT chunk after fcTL chunk error when using apng created with imagemagick and ffmpeg

Describe the bug
Both fcTL->IDAT->fcTL and IDAT->fcTL chunks ordering seems to be spec-conforming ways to encode apng.
But neither ffmpeg, imagemagick, nor apngasm produces a cjxl acceptable apng with IDAT->fcTL ordering

ffmpeg -f concat -i ./concat_demuxer -plays 0 -c:v apng out.apng
magick convert *.png APNG:out.apng
apngasm *.png

To Reproduce
Steps to reproduce the behavior:
convert -size 512x512 canvas:white '1.png'
convert -size 512x512 canvas:gray '2.png'
convert -delay 10 '1.png' '2.png' 'anim.apng'
cjxl 'anim.apng' 'out.jxl'

JPEG XL encoder v0.10.0 b49cdd5 [AVX2,SSE4,SSE2]
./lib/extras/dec/apng.cc:739: JXL_FAILURE: IDAT chunk after fcTL chunk
./lib/extras/dec/decode.cc:142: JXL_FAILURE: Codecs failed to decode
Getting pixel data failed.

Additional context
Related commit: https://github.com/libjxl/libjxl/commit/4a9aaa83ad3c7b9d28140aa9a0b3be8d96548d74

Do we actually know of any apng encoders that are compatible with cjxl currently?
apngasm is also affected


Created CONTRIBUTING.md

I have added Contributing Guidelines file to the repository. This Fixes appwrite/appwrite#2094 .
Please let me know if any further changes are required.
Would be happy to learn and grow.
Thank you.

Really sorry @lohanidamodar for the inconvenience caused.
I have updated the contributing guidelines with the same that was given in the issue.
Please let me know if there are any changes required.
Thank you


Preview Possible on this image?

So the Preview that's available on CrushFTP Appears that it need to install ImageMagisk separately so I wonder if it's possible to use it with this docker image?
https://www.crushftp.com/crush10wiki/Wiki.jsp?page=Preview

This docker image is built on Alpine docker image base. Not support will support preview.


Incorrect screen for Step 1.

The graphic for Step 1 shows "bundleconfig.json" in the list. It should not be there per the previous steps.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b2376dee-30e0-850f-7572-6d32b351be3f
Version Independent ID: 9c06f47f-8195-4736-3575-fffe1c51f763
Content: Tutorial: Get started with C# and ASP.NET Core
Content Source: docs/get-started/csharp/tutorial-aspnet-core.md
Product: visual-studio-windows
Technology: vs-ide-general
GitHub Login: @TerryGLee
Microsoft Alias: tglee

@timothytrimble Thank you for the feedback.
The documentation has been updated and is pending review.

@msebolt Thanks for your PR; the updated screenshot should go live by noon today. (And @timothytrimble - Thanks for helping us improve the documentation!)

The documentation has been updated.


Markdown and pretty format to comparison comments

The comparison result comments need a pretty markdown format.
Current comment example:
Decoding
master_benchmark | 18256.380327
helios_benchmark | 19236.258238
*** decoding looks good ***
Parsing
master_benchmark | 30330.45782
helios_benchmark | 31806.3492
*** parsing looks good ***

Closed by #13


AddUpdateContainer

Since both AddUpdate... components have a centered view, create a custom component for those views. Add style prop to PageContainer:
alignItems: "center",
justifyContent: "center",
gap: 10,

commit: https://github.com/johneastman/todo/commit/149e188d37362613f3420cf97b593e40083c1859


the package was made for windows!!

idk how to accept the change for the file

idk how to accept the change for the file

Just make another commit changing the thing and it will get added to the pr

fixed it


feat: adding unexpo to whitelist

Please add my university
Name: National Experimental Polytechnic University (Unexpo).

@atiliocedeno I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host unexpo.ve not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Upgrade websocket-client to 0.37.0

ChangeLog

0.37.0

fixed failure that websocket.create_connection does not accept origin as a parameter

0.36.0

added support for using custom connection class
use Named logger
implement ping/pong timeout
Corrects the syntax highlight code

fixed failure to join thread before it is started

Tested with the following configuration:
media_player:
  - platform: gpmdp
    address: localhost
    name: GPMDP

I'm down with you merging package upgrades as long as you make sure that you test them 👍  🐬  (like you always do!)


renaming net-vpc-swp to net-swp

Can you also edit top-level README?

Ah, sure, I see it was missing there. Done.


dataloss with vscode.openFolder

#5338

start with yo code sample
change the command such that it opens a new workspace in the same folder
start the debuggee
make sure auto-save is off and make a chance such that a file is dirty
run the command that opens a new folder
⚡ I don't get asked to save and lose my chance

Closing as designed because we want the extension development lifecycle to be so fast that you do not get prompted for saving. This is also useful for our CI tests that tear down even with dirty buffers without confirmation.


Improve exception handling in ADS integration

Description:
Just add some exception handling to the ADS hub class. No change in functionality.
Checklist:

[X] The code change is tested and works locally.
[X] Local tests pass with tox. Your PR cannot be merged unless tests pass
[X] There is no commented out code in this PR.

I thought "reading" would be good enough. May be I could change it to
"subscribing"?
Paulus Schoutsen<EMAIL_ADDRESS>schrieb am Di., 2. Apr. 2019,
19:30:

@balloob commented on this pull request.
In homeassistant/components/ads/init.py
https://github.com/home-assistant/home-assistant/pull/22627#discussion_r271415873
:

           hnotify, huser, name, plc_datatype, callback)

   _LOGGER.debug(

       "Added device notification %d for variable %s", hnotify, name)

       try:

           hnotify, huser = self._client.add_device_notification(

               name, attr, self._device_notification_callback)

           hnotify = int(hnotify)

           self._notification_items[hnotify] = NotificationItem(

               hnotify, huser, name, plc_datatype, callback)

           _LOGGER.debug(

               "Added device notification %d for variable %s",

               hnotify, name)

       except pyads.ADSError as err:

           _LOGGER.error("Error reading %s: %s", name, err)

should not be reading ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/pull/22627#pullrequestreview-221799633,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANVKH71GrLusUIshNioXM5qj0iG8U8LMks5vc5OWgaJpZM4cWB75
.


new Rule: No line break before assignment

Line break is allowed only after assignment (eg. equals sign)
Auto formatting is supported via simplistic approach by putting
same line break with same indent from left side to right side of assignment
Closes shyiko/ktlint#105

Thank you, @MyDogTom. Perfectly executed PR! :100:


Points, Pixels, Dots, Dots/Inch, Pixels/Inch

Hey Andreas, UnitsNet is a very nice library! What I can't find is a conversion between pixels, points, dots, mm, inch, and also between pixels/inch, dots/inch.
Are there any plans to add this in the future?

How would you like to use these conversions in code? Is there a global relation between pixels, points and dots or is it platform specific?

There are global relations between them.
A detailed list of conversions:

http://www.unitconverters.net/typography-converter.html

For more detail, the following can clarify:

https://graphicdesign.stackexchange.com/questions/199/point-vs-pixel-what-is-the-differenceµ

@jay1891 Interesting. I think we should be able to do something here, but we need a design proposal. Would you care to draft up some pseudocode or bulletpoints describing how you envision using this?
I just brifely skimmed the links and the stackexchange link comments pointed out some possible challenges, such as non-square pixels and PPI vs DPI.

Hey Andreas, I just discovered the UnitsNet library, I see what I can do.
Related to the non-square aspect you mention. Pixels themself have no shape. A pixel is image data e.g. RGB data that can be placed in a grid. From the moment the pixel is rendered on screen or printed it will get a shape on screen or paper, and thereby an x & y length for each pixel because of a certain amount of ppi (screen) or dpi (printer) in each direction. Then knowing a certain number of pixels, and knowing the ppi or dpi in each direction, the length can be calculated for these number of pixels. With this length a conversion is possible to points, inch, feet, millimeters.
In the cases I currently I have I start with 2 variables, I know the number of pixels, and the ppi. I can then calculate the length. If I understand the UnitsNet design good, and if I have the length, then I should be possible to do: length.DTPPoints, length.PrinterPoints, length.Inches, length.Feet, length.Millimeters ?
I think the DTPPoints & PrinterPoints parts are missing and could maybe be valuable? There are at least standarized.
https://en.wikipedia.org/wiki/Point_(typography)
http://www.dozenalsociety.org.uk/history/points.html
DTPPoints :
///
///     Get Length in Desktop Publishing Points.
///
public double DTPPoints
{
get { return _meters * 39.37007874 * 72; }
}
1 meter = 39.37007874 inch & 1 inch = 72 points
PrinterPoints :
///
///     Get Length in Printer Points.
///
public double PrinterPoints
{
get { return _meters * 39.37007874 * 72.27; }
}
1 meter = 39.37007874 inch & 1 inch = 72.27 points
To easily come from Pixels to the length in the first place, maybe the following could also be valuable?
///
///     Get Length from Pixels.
///
public static Length FromPixels(long pixels, long pixelsPerInch)
{
return new Length(<I can add the formula later if it can be relevant?>);
}
Some specific platform assumptions could be made for the ppi. Specifically on the web (WC3), and also by Microsoft (Windows) the conversion from pixels to inch, point, cm and other units has been standardized, and the standard ppi is 96.
W3C: https://www.w3.org/TR/css3-values/#absolute-lengths
Microsoft: https://github.com/jeremejevs/milk-manager/blob/master/wp-toolkit/Microsoft.Phone.Controls.Toolkit/Common/LengthConverter.cs
For more details, see also the following discussion:
https://stackoverflow.com/questions/139655/convert-pixels-to-points
In general I can also add this logic in our code as extension methods. But if it could be interesting, I can send them later for evaluation, to see if it can be relevant to add to the library?

I have to say that there are different definitions of a point, but only the 2 I mention previously (DTPPoints & PrinterPoints) are from what I understand/experience the most widely used. I don't know if the UnitsNet library would apply an approach as the following?
       /// <summary>
        ///     Get Length in Points.
        /// </summary>
        public double Points(PointType pointType)
        {
            get { <switch case for the point types> }
        }
The PointType enum could then maybe contain the following Point types (https://en.wikipedia.org/wiki/Point_(typography)) (see also list below)? But this method approach various with the property approach you currently have?

Origin
Year
µm
inch

Truchet
1694
≈ 188
≈ 0.007 400 48

JIS,[6] CSS q, DIN[7]
1976
= 250
≈ 0.009 843

Fournier
1737
≈ 345
≈ 0.013 582 677

Johnson, ATA
1886
= 351.36
= 0.013 833

Japan[8]
1962
= 351.4
≈ 0.013 835

variant[who?]

≈ 351.406
≈ 0.013 835

Hawks
1879
≈ 351.456
= 0.013 837

TeX pt

= 351.459 80
≈ 0.013 837

PS, CSS pt, TeX bp
1984
= 352.7
= 0.013 888

Tex nd[9]
1975
= 375
≈ 0.014 764

Tschichold

≈ 375.94
≈ 0.014 801

Didot
1770
≈ 375.97
≈ 0.014 802

Berthold

= 376
≈ 0.014 803

TeX dd[10]

≈ 376.065
≈ 0.014 806

Mozilla dt[11]
1997
= 376.296
= 0.014 8

Antenna House dd[12]

≈ 376.682
= 0.014 83

L’Imprimerie nationale

= 400
≈ 0.015 748

It took me some time to get to this, but thanks for the thoroughly prepared information.
So, if I get this right, you propose to introduce some widely used and standardized units for absolute lengths in typography; DTP Points, Printer Points and W3C Pixels. There are many other variants, but they are less widely used.
Here are some example usages:
Length inch = Length.FromInches(1);
double dtpPoints = inch.DtpPoints; // 72
double printerPoints = inch.PrinterPoints; // 72.27
double w3cPixels = inch.W3cPixels; // 96
Length inchDtp = Length.FromDtpPoints(72); // 1 in
Length inchPp = Length.FromPrinterPoints(72.27); // 1 in
Length inchW3c = Length.FromW3cPixels(96); // 1 in

This would be easy to implement by adding DtpPoint, PrinterPoint and W3cPixel to Length.json.
I think some of the other units listed in Typography Converter should also be added: twip, pica
But I am unsure about these: character, en
I still find W3C pixels hard to grok.

The reference pixel is the visual angle of one pixel on a device with a pixel density of 96dpi and a distance from the reader of an arm’s length. For a nominal arm’s length of 28 inches, the visual angle is therefore about 0.0213 degrees. For reading at arm’s length, 1px thus corresponds to about 0.26 mm (1/96 inch).

When is this usecase practical for converting pixels into a length?
If I understand correctly we are talking about the perceived length, or view angle, when looking at a screen at a certain distance and a certain DPI. I can't seem to make sense of this part.
I get printing, where you have an image X/Y pixels wide/long and it has a DPI of 300 so you can figure out how many inches wide/long its print will be. Same with PC monitors, where size and resolution is known so you know how many pixels per inch (PPI) and thus can render a 5cm long line. However, I don't get W3C's pixels, and translating that to a physical length.
Hope you can enlighten me! :-)
Other than that, I think I understand what you want to accomplish and this looks straight forward to me. Let me know what you think.

The DtpPoint and PrinterPoint I definitely think are useful and very widely accepted/standarized.
You mention:

I get printing, where you have an image X/Y pixels wide/long and it has a DPI of 300 so you can figure out how many inches wide/long its print will be. Same with PC monitors, where size and resolution is known so you know how many pixels per inch (PPI) and thus can render a 5cm long line. However, I don't get W3C's pixels, and translating that to a physical length.

The DPI (Printing) & PPI (Screen) use cases you describe are exactly the main uses cases, I think, but maybe the UnitsNet library doesn't have to add anything for this?
Personally I would not add the W3C pixel feature, because it is more controversial, and I don't understand it enough either e.g. the part with the angle... to which you refer in the following:

The reference pixel is the visual angle of one pixel on a device with a pixel density of 96dpi and a distance from the reader of an arm’s length. For a nominal arm’s length of 28 inches, the visual angle is therefore about 0.0213 degrees. For reading at arm’s length, 1px thus corresponds to about 0.26 mm (1/96 inch).

Thank you for looking into this Andreas! :)

Well thank you, it's only grown into what it is thanks to guys like yourself contributing to it.
So I guess we agree on at least an initial feature here:

Add DtpPoint and PrinterPoint to Length
I would also add Twip and Pica while at it, they seem referenced in a lot of the articles you linked

Would you care to do a pull request?
I really want the person with the idea to add it as you know the domain best and it makes it a lot easier to add future units you come up with later. Plus, it adds a bit of flair to your github account having contributed to an open source project :-)

https://github.com/anjdreas/UnitsNet#contribute

@anjdreas yesterday I created a pull request. If there are any remarks, please let me know.

Thanks! I saw, will review it soon


Remove Spartan testing scripts

Remove Spartan testing scripts
Remove OTP 19.3 install from the Jenkins/set-up-windows-jenkins-build-server.ps1 PowerShell script

There is separate branch called spartan_initial_support with the codebase before this PR, in case anybody wants to quickly checkout and check the Spartan testing scripts.


perf-regression: JDK 17 support

When running the perf-regression tool with JDK 17, the error message below is thrown:
Unable to make static java.lang.String
java.lang.Long.fastUUID(long,long) accessible: module java.base does not
 "opens java.lang" to unnamed module @1bbebf8e

Opened a hyperfoil-maven-plugin issue for a proper fix: https://github.com/Hyperfoil/Hyperfoil/issues/237.


Update README.EN.md file

Fixed some typos, cleaned the text a bit to increase readability. Also added a disclaimer.

Thanks for your PR
LGTM
Would you mind translating the Chinese in the program into English?

Yep, was planning to do so.

Yep, was planning to do so.

Cheers

I am currently working on it, but unsure how it should be implemented: via selecting language on startup, or just changing all notifications to EN. I guess the first method should be better, yet I am unable to implement it myself as it will quite change the original structure.

Maybe Add a language config in yaml and then do if else stuff is a good idea

I was considering implementing gettext method with all print lines in a separate file, but sadly, my python skills are quite low for this (also because of the need of bypassing print(f), as it not natively supported). If you can implement gettext or if/else system, than I can provide translations; if translating it directly over Chinese, new updates will constantly cause merge errors in my fork.

I was considering gettext method with all print lines in a separate file, but sadly, my python skills are quite low for this (and for if/else system too, honestly speaking). Gettext system is hard to implement also because of the need of bypassing print(f), as it not natively supported. If you can implement gettext or if/else system, then I can provide translations; if translating it directly over Chinese, new updates will constantly cause merge errors in my fork and lead to maintaining two separate builds.

I finished the system in Utils class.You just need add english translation into the dict and config en_US, it will works.Looking foward to your PR


cosmic session doesn't start after login

thread 'main' panicked at greetd/src/session/worker.rs:200:12:unable to exec: EACCES
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

thinkpad e450

Disable SELinux with the instructions in the readme

Disable SELinux with the instructions in the readme

I thought sudo setenforce 0 && getenforce disables SELinux, oopsie. Now it works. Thank you

I did it a different way, by manually editing /etc/selinux/config but someone made a pr to change those instructions. What did you end up doing to get it to work

I did it a different way, by manually editing /etc/selinux/config but someone made a pr to change those instructions. What did you end up doing to get it to work

setenforce 0 just temporarily disables SELinux on current boot.
editing the selinux config is more correct for permanent approach.


⚠ 366.ru has degraded performance

In 4daa52d, 366.ru (https://366.ru) experienced degraded performance:

HTTP code: 200
Response time: 2884 ms

Resolved: 366.ru performance has improved in 91487be.


Min/Max/Default Par not working properly

Hi,
First of all, thank you for making this tool! It will change my life for sure :)
I'm having a few small issues though with the TouchEngine:
Float: doesn't show the default and can only go from 0 to 1 (while min is 0, max is at 360 and default at 150)
Int: doesn't show the default but can go infinite.
Str: Works properly
Menu: Works properly
attached you'll find a zipfile with the tox inside:
project4.zip
I updated Touchdesigner but that didn't seem to be the issue, but so I have the latest version.

I'm running windows 11 and NVIDIA GeForce RTX 3070 Laptop GPU

I'm running Resolume 7.16.0

I have the Pluginfolder referenced in my resolume settings

I have the dll's like this:
(before I had them not in a folder but just in the main plugin folder and that didn't seem to change anything)

Thanks for taking your time to read this :)
Cheers!
Lucas

So float will only range between 0 and 1 due to limitations in ffgl, I am considering auto scaling these values under the hood but can have a look.
I'll have a look at in, but this is for the most part the same as float unfortunately.

Thank you for your response.
Alright, luckily there's enough ways in Touch to work around it :)
One more thing is that when connecting the parameters from touchengine in resolume to the dashboard knobs, the names appear as 'parameter 1', 'parameter 2',...
My setup is really focussed on these dashboard knobs and seeing the names of the parameters would be a big help. Do you know a way I could work around this? :)

Hi, I didn't want to open a new issue, but I have similar question/request.
When I create a parameter in TD as "pulse" action, the action shows up in Resolume TouchEngine as a checkbox that I have to check on and off, is there anyway to make it into just a button?
:)

Hi, I didn't want to open a new issue, but I have similar question/request.
When I create a parameter in TD as "pulse" action, the action shows up in Resolume TouchEngine as a checkbox that I have to check on and off, is there anyway to make it into just a button?
:)

Interesting, yes pulse should definitely be a momentary. I'll look to see what is the source of the bug.

I've gone ahead and fixed pulse so it is a momentary now. At the moment setting default values is limited, please open a request with the reoslume ffgl repo to request the addition of the feature.


[stable/redis] metrics.extraArgs ignored

Describe the bug
When you want to add metrics.extraArgs, they are totally ignored.
Version of Helm and Kubernetes:
Kubernetes Server Version: version.Info{Major:"1", Minor:"14+", GitVersion:"v1.14.8-gke.2", GitCommit:"188432a69210ca32cafded81b4dd1c063720cac0", GitTreeState:"clean", BuildDate:"2019-10-21T20:01:24Z", GoVersion:"go1.12.11b4", Compiler:"gc", Platform:"linux/amd64"}
HelmServer: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
Which chart:
stable/redis 5.0.5
What happened:
metrics.extraArgs are not used when specified
What you expected to happen:
redis_exporter used args provided for exporting key metrics
How to reproduce it (as minimally and precisely as possible):
add for example
  extraArgs:
    debug: "true"

Anything else we need to know:
If the command used in redis-master-statefulset.yaml is reduced to 1 element in array (for example "redis_exporter"), args are not ignored anymore

Hi, @ggarson.
I can confirm this is an issue, and it's caused by the command being /bin/bash -c ... instead of redis-exporter, as the values defined in args are not passed to redis-exporter but to bash instead.
I'm working on a fix.


Android-Java : 2.5 Updating IDE and Essential SDK Tools

Description :

How to update Android Studio step by step.
Updating SDK and other important tools.

@VikasPandey121 should I work on this issue ?
I created this issue.
As a beginner you need to know it exactly.

@Arjun2905 yes you can work on this

Ok assign this to me @Rohit-2602 .

Please keep these steps in mind while creating a pull request:

use git fetch and git pull commands before pushing commit it to the remote repository.
Your Contributing file should be in this directory Android_Development/Java/ with the file name starting from 1.9 for instance 1.9 Updating IDE and Essential SDK Tools
Note:- If you have multiple files to commit then add a tag at the beginning of your file name like 1.9.1, 1.9.2 etc
Create a new branch and push your PR on Android_Development_With_Java branch.
Pull request should contain only one commit
Note: If you have multiple commits then squash your commit.

@Rohit-2602  please go through my pull request
https://github.com/girlscript/winter-of-contributing/pull/1246


Request Add Locale Format

Dear VolkovLabs,
I need locale format on markPoin like this 999.999.999
.
Is it available for next update ?
Thank you

@itsnull12 You can use formatter to format the way you wanted it: https://echarts.apache.org/en/option.html#series-line.markPoint.label.formatter
Let us know if there is anything else.

Could you please tell me to use it ? i can't find it in the documentation.
In antoher official panel from Grafana, i just setup Standard option > Unit > Locale format. It will change the number format to thousand separator.

@itsnull12  You can use .toLocaleString for the value in the label's formatter.
      markPoint: {
        label: {
          formatter: (param) => {
            return param.value.toLocaleString();
          }
        },

Let us know if there is anything else.


feat: add assets and labels to copy project

TODO in append_many_to_dataset of _copy_assets:

[ ] download assets locally before upload
[ ] json_content_array
[ ] json_metadata_array

I retested it, it works great and with nice logging!

Waiting for the answers of the PM on the isLatestLabelForUser to validate it

e2e test passes locally

e2e tests pass locally


Image: "Transform a Property" Hero Image

Pull in new hero image for the top of this page per Figma file
https://www.figma.com/proto/NAFkgq34abW6uJ0R7PW24T/Prototype---Clean-%26-Green-Philly?type=design&node-id=2592-31488&t=sdhkPVHItWMM3Xnn-0&scaling=min-zoom&page-id=187%3A12602&starting-point-node-id=2592%3A30019

Here's the image needed.

Hello, i'd like to be assigned this task if it is available.


Julia support

I tried to execute Julia code on a slide, but that printed an error message on the slide, saying 'unsupported language'. Maybe I'm mistaken but from the documentation it looks like Julia should be supported. Am I doing something wrong?

@IgorDouven Can you send me sample md file which is not working?
Below works for me
## Code execution
```Julia
"Hello World"

@IgorDouven Its works for me. Please paste sample md file if you still encounter issue
Please watch out for lower and uppercase "J". It should be lower case.

@maaslalani We can close this.


Added ability to do appropriate  arithmetic with Money and Fixed.

For example we should be able to do:
Money * Fixed
Money / Fixed
Money % Fixed

Request to support Money + Money and Money - Money, provided both have same currency code.


CLOUD-42393 integrated wasb filesystem implementation

@biharitomi
Added a new filesystem provider - WASB_INTEGRATED
Integrated means that the storage account creation is part of the filesystem setup code, so these properties must be provided when creating the cluster with this fs:
{
  "tenant.id": "<azure-tenant-id>",
  "subscription.id": "<azure-subscription-id>",
  "app.id": "<azure-application-id>",
  "app.password": "<azure-application-password>",
  "storage.region": "<azure-region>", (e.g.: West US)
  "storage.name": "<desired-azure-storage-name>"
}

Jenkins build failed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1773/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1774/

LGTM


Update aws-core, http-client-spi, ... to 2.17.113

Updates

software.amazon.awssdk:aws-core
software.amazon.awssdk:http-client-spi
software.amazon.awssdk:netty-nio-client

from 2.17.104 to 2.17.113.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, early-semver-patch, semver-spec-patch

Superseded by #29.


undefined reference to _Unwind_Resume on android 7 (API 24-25) on arm64-v8a

Hey.
I built vvdec/vvenc with cmake and android-ndk-r26b using such command:
NAME="vvenc" \
ANDROID_ABI="arm64-v8a" \
ANDROID_PLATFORM="android-21" \
cmake -S . -B "../../target/{$NAME}_${ANDROID_ABI}_${ANDROID_PLATFORM}" \
-DCMAKE_TOOLCHAIN_FILE="../../toolchain/android-ndk-r26b/build/cmake/android.toolchain.cmake" \
-DANDROID_ABI="${ANDROID_ABI}" \
-DANDROID_PLATFORM="${ANDROID_PLATFORM}" \
-DCMAKE_INSTALL_PREFIX="../../vvc/${NAME}/${ANDROID_ABI}/${ANDROID_PLATFORM}/"

after I followed this guide and built ffmpeg.
In android application I load it using System.loadLibrary, which call dlopen.
I tested it on android 13 (API 33) with arm64-v8a and all works. Also my colleague tested it on android < 7 and android > 7
But on android 7 I'm getting a crash Undefined reference to _Unwind_Resume.
This symbol exists in libgcc_s and libunwind. AFAIK, libunwind should be linked on android when exceptions was enabled.
I also tried to build your libs with -fno-exceptions, but you don't support this, as I understand.
I saw in android.toolchain.cmake that it set CMAKE_ANDROID_EXCEPTIONS to TRUE if I will use ANDROID_CPP_FEATURES="exceptions". After that cmake should care about linking, but it not.
Have you any ideas how to fix this?

Yes, building without exceptions will not work, since we use exceptions internally in the decoder.
I'll try to find out if we can ensure libunwind is linked also, but it will be difficult for me to reproduce since we don't have such an old android device.

I guess I understand the problem now:
You build vvenc as a static library and link that into FFmpeg. Is that correct?
The FFmpeg build doesn't know that it needs to link libunwind also, so it does not get loaded. On the non-Android 7 devices, libunwind was probably already loaded in the process, so it was not detected as missing.
I guess there are two options to fix your problem:

Either build libvvenc as a shared library by adding -DBUILD_SHARED_LIBS=1 to your cmake step, and link FFmpeg against that.
Or, you can try adding something like --extra-libs=-lunwind to your FFmpeg configure step

Is that correct?
Yes, you right

I tried to link -lgcc_eh, -lunwind, but got the same error.
I checked libffmpeg.so using llvm-readelf -d and it don't link anyone of this libs.
I also found how to enable exceptions if using ndk-build with Application.mk or Android.mk, but we building ffmpeg manually. So, I tried add --extra-cxxflags="-fexceptions" to ffmpeg ./configure and unfortunately took the same error.
I also found libunwind.so in /system/lib on android phone and tried to load it before loading libffmpeg.so in java source code. I took another error:
java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/lib64/libunwind.so" needed or dlopened by "/system/lib64/libnativeloader.so" is not accessible for the namespace "classloader-namespace"

So, I will try to fix this or link libunwind.so to the ffmpeg and note solution here for other people with the same problem in the future.
Thanks for help.


Add the ability to override the 'Enter password' button label

Available in 3.1.0, see the README.


JAV-227 use class method instead of detail implementation

method description has already implemented the functionality of getClass().getSimpleName(), just call the class method directly.

Coverage remained the same at 97.884% when pulling 44e1e3db9d45edb0084621bcaf3a4234049ad199 on eric-lee-ltk:code_simplify into 2b52c6f8d35eff909fb26df73b79d2905bf8c533 on ServiceComb:master.


Switch Easegress API to v2

Following change to https://github.com/megaease/easegress/pull/743

Codecov Report

Merging #136 (e25d3cc) into main (a076da2) will decrease coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #136      +/-   ##
==========================================
- Coverage   75.61%   75.57%   -0.04%
==========================================
  Files          76       76
  Lines        6208     6208
==========================================
- Hits         4694     4692       -2
- Misses       1259     1262       +3
+ Partials      255      254       -1

Impacted Files
Coverage Δ

...mmand/meshinstall/controlpanel/statefulset_spec.go
90.59% <100.00%> (ø)

...d/meshinstall/ingresscontroller/deployment_spec.go
97.93% <100.00%> (ø)

operator/pkg/sidecarinjector/dynamicSpec.go
51.11% <100.00%> (ø)

.../client/command/meshinstall/controlpanel/deploy.go
50.00% <0.00%> (-1.45%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us.


Linking issue on Windows Subsystem Linux

Output:
/usr/bin/ld: CMakeFiles/kagami.dir/extension_obj.cc.o: undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/libdl.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
src/CMakeFiles/kagami.dir/build.make:697: recipe for target 'bin/kagami' failed
make[2]: *** [bin/kagami] Error 1
CMakeFiles/Makefile2:85: recipe for target 'src/CMakeFiles/kagami.dir/all' failed
make[1]: *** [src/CMakeFiles/kagami.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Ploblem is solved in latest commit.


[feature] It is possible to add OpenAI translator?

Are OpenAI in the plans? I am using this one https://github.com/Cerlancism/chatgpt-subtitle-translator but I would like OpenAI to be implemented on SRTranslator.
Thanks!

It is possible, you can create a custom translator. I'm planning to use plugins architecture for new translators so more people start to create their own translators with easy.
I would do it but I can't say I have the time right now, but maybe if nobody shows up, Ill do it later


Plugin system for flow-cli

Issue To Be Solved
Flow-cli is getting bigger and more powerful every day, maybe it is time to think about extensions ( plugins )
This issue is to kick off some discussion
(Optional): Suggest A Solution
I think npx [0] model can be very good here, as now we have some persistent place to put stuff. For example recent flowser edition can be something like:
flow plugin flowser/cli start ( which will somehow get related stuff from flowser/cli repo from github ) and download to user app settings as a package.
There are some security considerations for sure, but it can kick off some community contribution, without putting load on core devs.
[0] https://www.npmjs.com/package/npx

How I currently added flowser is a pattern I feel we could use in the future as part of this plugin system. So any tool that wants to be added to the CLI just needs to implement the interface having methods Install, Run and then CLI can just import that module and run it like it was done here https://github.com/onflow/flow-cli/pull/693
I feel this can work but open to feedback, but yeah my idea was that with first tool Flowser added this pattern then works for any community built tools and we want to be open on adding more of others for sure.
Mentioning npx did you mean use the npx to run the install script or use npx like system?

I was thinking a bit on the opposite direction:
Something like everyone can make a flow-cli plugin, you install the plugin, it integrated with flow-cli. ( ofc flow-cli also provides a way to install the plugin )
Flowser case is a bit different ( as we just install an app there ) but if we think flowser was a TUI app for a second. It would be nice to use:
flow plugin flowser blocks to list blocks for example. Somehow I see cli as superapp composed of independent modules mainly. ( which all expose some functionality with cobra )
so technically lsp can be a plugin, emulator can be another plugin, signing modules can be plugin etc.
Main problem I see is rolling back a version, or running a new version requires CLI install to previous or next version. If we could somehow made them independent plugins, maybe we could manage multiple emulator versions in single CLI.

I see what you mean, it's for sure interesting idea to explore. I think for GUI tools it makes sense to integrate them as we did with Flowser and we will continue to do so, since they require GUI. For other CLI tools or just tools without a required GUI we can go that path. I think the best thing we can do is to just provide an example of both and then let community follow those. I think a good candidate for second approach could be some parts of overflow which I already was discussing with @bjartek


Fails to render properly if font does not support Nerd Fonts

Issue
Markdown.Console requires Nerd Fonts.
If your font has not been patched fallback characters are used,  These are less than ideal and lead to a messy output.  The aim of this project is to deliver beautiful rendering of markdown in the console.  Messy fallbacks undermine this.
Here are few ways we could address this.  I've not given this a lot of thought.  So there may well be other/better ways of addressing.
Ideas

Only use Nerd Fonts if available
Detecting font support in the terminal may  be impossible.  Using a whitelist of font names is also problematic.

Make Nerd Fonts configurable
This is probably the easiest option.  But in many case you may not know at design time what will be available at runtime.

Example
Win 11 Cascadia Code without Nerd Fonts

Win 11 Cascadia Code with Nerd Fonts

There are various ways you can determine which font the console is using.  However these differ between Windows and Linux (and not all distros follow the same pattern).
I would prefer to use Ansi escape codes if possible.  Two reasons:

They are cross platform
They appear to be the emerging standard

Currently Ansi escape doesn't support querying font capabilities.

I think the best thing to do is:
1- Make Nerd Font support configurable, with a sensible default
1- Investigate options
1- If investigation is successful; use outcome to set NF default value at startup

Suggestion:
enum NerdFontsSupported
{
  Yes,
  No,
  // Maybe a separate PR added later
  Detect
}

class MarkdownConsole
{
  public NerdFontsSupported { get; set; } = NerdFontsSupported.Detect;


Add a Pipeline Element Test entity for testing elements in stroom

The idea is to create something a bit like soapUI but for testing stroom pipeline elements and their associated content, i.e for a given type of element and fixed input the test evaluates various user supplied assertions against the output.  This means stroom would be capable of running regression tests on new releases.  It also means users have a way of testing their content (e.g. XSLTs, splitters, etc.) against known input.
You would create a PipelineElementTest entity in the explorer.
You would then need to select the type of element to test, e.g. a Data Splitter Parser, and any props for it, e.g. the DS XML content.
You would need to set the fixed input data in a text pane, e.g. raw data or XML.
You would either need to set the expected fixed output in another text pane or add one or more asserts.
An assert could be something like an xpath match, or a simple regex match.  The type of asserts available would depend on the element being tested and its output type.
It may only be possible (or have value) to test certain elements.
There would need to be some mechanism to run each test, e.g. a test suite that collates multiple test entities.
Test entities would need a enable/disable toggle.
There could be a scheduled job to run all enabled tests.
The output of the tests would need to go somewhere, e.g. an error stream.
An evolution of this would be a means to test a whole pipeline end-end, but due to the forking in pipelines this would be more complex and may add little value if the elements are tested in isolation.

So we'd need a TestDataElement and an AssertElement ?  It would be good if these elements were proper entities in the DB rather than text elements, then we could have a library of useful stuff, and make it importable/exportable.
I like the idea of asserts being used for something like a QA step outside of testing

To elaborate further on the templating suggestion, the TestDataElement could contain something like:
user, age
{% for user in users %}
{{ user }},{{ range(1, 99) | random }}
{% endfor %}

We could associate dictionaries with the TestDataElement to provide lists of data, e.g. in this example a list of users, that can be added into the jinja context to be available when the template is rendered.
We could also potentially add additional custom jinja filters if the built in ones are insufficient.
This would provide an easy way of generating data for testing without having to maintain a static set of test data records.
It could be argued that you could achieve the same with XSLT but I think this would be more intuitive.

See stroom-data-generator.   Contains elements of above, including templates for generating data.
There are scripts that automatically create and send data into Stroom where they are processed by a pipeline designed to exercise many XSLT features - e.g. all variants of stroom:lookup including bitmaps.  The output of this data is indexed within Stroom and there are scripts that then use Stroom's API to search those indexes to obtain the processed data and then compare the result against previously obtained versions (held in the repo itself).
These scripts therefore test a high proportion of the non-interactive functionality of Stroom and could be used to automatically test releases driven by a CD pipeline.


SpirvCapabilityNotSupported SampledCubeArray

Template

Version of vulkano: Tested on release 0.30.0 and master
OS: Windows 10
GPU (the selected PhysicalDevice): NVIDIA GeForce GTX 980 Ti (type: DiscreteGpu)
GPU Driver: GeForce Game Ready Driver version 516.94

Issue
I'm trying to use a samplerCubeArray in a GLSL fragment shader and whenever I load a basic shader, I get an error saying that it doesn't support the capability.
mod fs {
    vulkano_shaders::shader! {
        ty: "fragment",
        src: "
            #version 450

            layout(location = 0) in vec3 v_color;
            layout(location = 0) out vec4 f_color;
            layout(location = 0, binding = 0) uniform samplerCubeArray cubeMapArray;

            void main() {
                vec4 fullBright = texture(cubeMapArray, vec4(1.0,0.0,0.0, 0));
                f_color = vec4(v_color, 1.0) + fullBright;
            }
        "
    }
}

let fs = fs::load(device.clone()).unwrap(); // <--- runtime error here

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: SpirvCapabilityNotSupported { capability: SampledCubeArray, reason: RequirementsNotMet(["feature `image_cube_array`"]) }', src\graphics.rs:136:43
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: process didn't exit successfully: `target\debug\rtvox.exe` (exit code: 101)

Have you enabled the device feature that is mentioned in the error message?

What device feature would that be? All of the internet searching I've done has indicated that this is something that is included by default and not something you can explicitly enable.

It's this feature:
https://docs.rs/vulkano/latest/vulkano/device/struct.Features.html#structfield.image_cube_array

Thanks, you're our hero! I had instance extensions and device extensions from the triangle example for the initial setup of my project, but I had no idea that device features were something else that could have been enabled. Now I see the section in the vulkan spec about VkPhysicalDeviceFeatures. I think what I did wrong last time is I searched the whole spec for "cube_array" and I got a bunch of results, and didn't see anything about device features. I guess I should have searched for the camel case also.


Format comments as Markdown? (bullets, numbered lists, code blocks)

Hi @lasselupe33 - first of all, thanks for your effort creating and maintaining this ESLint plugin! Great to have more energy being put into tooling that hard wraps comments 🙌
I have been using the Rewrap VS Code extension (GitHub, docs), which offers many wrapping features.
One that may be interesting for eslint-plugin-comment-length is the ability to treat comments as Markdown, and wrap / format accordingly:

The contents of comments are usually parsed as markdown, so you can use lists, code samples (which are untouched) etc:

Note that:

The content of the bulleted list items are wrapped, aligning the left edge of the text as Markdown formatters do

This also applies to numbered lists

The indented code block is not wrapped

In addition to indentation, code blocks can also be created in Markdown by adding a line with ``` before and after (which I believe that eslint-plugin-comment-length already supports)

Hi @karlhorky, thanks for the kind words!
Good point, it seems that a Markdown formatter may make a lot of sense, and it would solve several cases that are currently handled through custom rules/formatters.
At the moment I do not have the resources to implement additional features into this plugin, but I will come back to this issue in the future as it does seem like a sound idea. :)


the Pixel's method equals throws NullPointException

Expected behavior
Actual behavior
Steps to reproduce the problem
Settings
GeoSpark version = 1.1.3
Apache Spark version = 2.2.1
JRE version = 1.8
API type = Java
I use PointRDD to plot HeatMap,but when this.distributedRasterCountMatrix reduceByKey,it will throw NullPointException.

So I try to write a filter ahead,But it still NullPointException.I foreach to print data,and it has no null data.
and I find the NullPointException is from the Pixel of method equals. why the parameter will be null.
I make the class extends Pixel and override method equals.It will be work success.

@konvish Thanks for finding this! This issue was first found by Issue #164 . But I was not able to reproduce it. Now I know how to reproduce it. I will fix it in 1.2.0.


Component doesnt set initial value

Describe the bug
If I set the modelValue before mounting the component, events for updating the input value in the field (pickerValue) are not triggered.
This is happening if the component is updated "silently", e.g. when using vue-router with nuxt. PickerValue is still "".
As soon as I open the calendar (clicking on the field), the correct value appears in the input.
Expected behavior
The input field of the picker should update with the initial modelValue.

Can we close this issue @zoomyboy ?

As I said in the PR: This might not address all the possible configurations and formats but fixes the bug at least.
So yes, close it ;) Thanks


Support Thanos Deployments

Support deploying Thanos along with Prometheus, to provide a default solution to long term metric storage and horizontal scaling.
https://github.com/improbable-eng/thanos

We've already worked out a PoC for this, and will in the upcoming weeks provide more details! :slightly_smiling_face: It's coming!

Very interested in this. Any links to where this dev is happening? Happy to try out pre-release.

Actually we have released more integrated support for this in the latest release (v0.21.0).
API documentation is here:

https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#thanosspec

If anyone would like to write up a user guide on how to use this, that would be fantastic!

I tried v0.21.0 out on GCP, but I think it has a problem:

Default thanos sidecar container does not have a way to override the default path, which is ./data (Source), but should be /prometheus (Source)
The /prometheus volume is not being mounted inside thanos container, so thanos is not able to access prometheus data.

Closing here. @dhain feel free to reopen if you have further questions.
@deltasquare4 Thanks a lot for your help!


fix: lights not restoring on shutdown

Hey guys, I found your great plugin but I noticed it didn't reset the lights if I shutdown early. I thought this fix might help!!!!

No


Improve German translation

Changes proposed:

[ ] Add
[ ] Prepare
[ ] Delete
[X] Fix

Things I've done:

[ ] My pull request fixes an issue, I referenced the issue.

I improved some phrases, so it should be more clear what the effect of an setting is.

@robertohuertasm @jens1o I'm leaving the German translation along with all other translations to the native speaking people. You can merge this PR if you like.


Fixing Code Quality Issues

General

✏ Mark the necessary items without changing the structure of the PR template.

[X] Pull request template structure not broken

Type

ℹ What types of changes does your code introduce?

👉 Put an x in the boxes that apply

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

ℹ Check all checkboxes - this will indicate that you have done everything in accordance with the rules in CONTRIBUTING.

👉 Put an x in the boxes that apply.

[ ] My code follows the style guidelines of this project
[X] Is the code format correct
[ ] Is the git submission information standard?
[ ] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Note
Hi 👋
I ran the DeepSource static analyzer on the forked copy of this repo and found some interesting code quality issues. This PR fixes a few of them.

This changes will greatly reduce code readability.

Can you tell me the role of deepsource

This changes will greatly reduce code readability.

Usually, using an if-else statement typically results in more lines of code than a single-line ternary expression, which leads to an unnecessarily larger codebase that is more difficult to maintain.
Additionally, using an if-else statement can result in defining variables using let or var solely to be reassigned within the blocks. This leads to variables being unnecessarily mutable and prevents prefer-const from flagging the variable.

Can you tell me the role of deepsource？

Sure.
DeepSource is one of the most popular tools for static analysis, providing tracking over 800+ potential issues, like unused variables, empty functions, usage of Script URLs, and more in JavaScript codebase.
DeepSource JavaScript analyzer currently supports a wide variety of Javascript libraries and frameworks like ReactJS, VueJS, AngularJS, Angular, Ember, and more, along with various ECMAScript versions and Typescript. If you are following a style guide, DeepSource provides support for that as well, along with the module system.
At its core, DeepSource strictly enforces ESLint core JavaScript rules, which allow us to identify bugs, anti-patterns, and non-performant code.
It has a single-file configuration, the .deepsource.toml after which it provides an integrated dashboard for Code metrics tracking and reporting, analysis of every pull request and commit and highlighting important metrics like documentation coverage and dependency.

My understanding may be a program similar to snoar

IMO, those actions could be handled at building stage.


Resolve xoshiro256** out of range exception

Fixes an OutOfRangeException thrown by the xoshiro256** implementation of DoSampleBytes when passed certain length buffers.
Also adds a related test for all random implementations to ensure they don't throw exceptions when calling NextBytes based on the length of the buffer. For xoshiro256** an OOR occurred depending on the buffer length mod 8.

All PRNGs are passing this test.

Fixes #664

In the commit message, I accidentally wrote xoroshiro256** instead of xoshiro256**. I'm going to resubmit the PR with the correct commit message. Sorry for the noise!


PPI - Not loading UVs

The PPI importer isn't correctly making UVs when importing

UVs are now loading, hopefully correctly


Allow overriding signal for load data

It should be possible to disable post save signals for extracting data into, for example date fields when importing data
Related to #984

There are two post_save signals in apis core:
https://github.com/acdh-oeaw/apis-core-rdf/blob/e09bc43257a44156686754523f47c4448c0464fd/apis_core/apis_entities/models.py#L150
and
https://github.com/acdh-oeaw/apis-core-rdf/blob/e09bc43257a44156686754523f47c4448c0464fd/apis_core/collections/signals.py#L12
The former can be disabled by setting the .skip_default_uri attribute on the instance that is being created to True or by setting the CREATE_DEFAULT_URI setting to False.
The latter only every does anything if used in a session that has collection ids in the session_collections variable.
I'd say thats what the issue requests?

Sort of. LegacyDateMixin for example overrides the save method which I want to skip when I am importing data (or is this not a reasonable expectation?). I am not sure, honestly....

Ah, oke, so its about the save() method, not a signal. Definitly a reasonoable expectation to be able to disable that behaviour. We can simply add a check in the LegacyDateMixin.save() method, similar to what we do in the create_default_uri signal

Or maybe it's better to have a single flag for loaddata in settings that does nothing beyond importing the data - no signals and no preprocessing in save methods?

I don't understand a flag for loaddata ... that does nothing beyond importing the data?


Add notebook with examples

Examples of neural networks (tensorflow with keras), scikit-learn estimators and other popular packages out there (XGBoost, LightGBM etc..)

Notebook with short example created in dev branch. Expand before merge

Recently added a regression example and two classification examples.

More extensive examples with many libraries should be added before this is closed.


Added AutoAI for credit risk

AutoAI branch with credit risk data.

Fixed the local link for csv file in auto ai instructions. I left the online link to the raw link, so users can be instructed to just "right click -> save as" to download the csv file. Also modified the table of contents summary file for name of autoai section to be consistent with the jupyter approach.


Update selection when scrolling

When scrolling in Alacritty with an active selection, the selection will not update until the mouse cursor is moved.
The expected behavior would be that after scrolling, the selection would update itself to go right to the new position of the mouse cursor while the primary mouse button is held down.
This affects both normal scrolling in the scrollback buffer and scrolling inside of Applications like man using the faux scrolling feature.

I'd like to try this

Thanks for the interest @cstyan, but it looks like nixpulvis is already working on it in #1600.

I spent about 30 min on it so far, if your interested in making some commits I'll happily take PRs into my branch. @chrisduerr has left some really good comments on my initial hackory.

no problem, I've been busy and it seems you've been making progress, I'll look for something else :)


question only

Hi Jonathan,
Thanks for the script I like it and using it to monitor T&H on a DHT22 connected to an RPi.
For some reason I receive the T&H data in the csv output but not visible in MQTT - only the Temp data.
If you have time and willing to help can you please take a look at the script?
Thanks in advance
Tom
import Adafruit_DHT
import paho.mqtt.client as paho
import os
import time
Define constants
Sensor type (Adafruit_DHT.DHT11 or Adafruit_DHT.DHT22)
DHT_SENSOR = Adafruit_DHT.DHT22
Configure GPIO pins
CUPBOARD_PIN = 2
#FLOOR_PIN = 4
#WASHINGMACHINE_PIN = 27
MQTT details
MQTT_BROKER="<IP_ADDRESS>"
MQTT_PORT=1883
Output file name
LOGFILE = "/home/pi/sensors.csv"
##########################################################
Only edit below if you know what you're doing!
##########################################################
def on_publish(client,userdata,result):             #create function for callback
print("data published \n")
pass
client1= paho.Client("control1")                    #create client object
client1.on_publish = on_publish                     #assign function to callback
client1.connect(MQTT_BROKER,MQTT_PORT)              #establish connection
try:
f = open(LOGFILE, 'a+')
if os.stat(LOGFILE).st_size == 0:
f.write('Date,Time,Sensor,Temperature,Humidity\r\n')
except:
pass
cupboardHumidity, cupboardTemperature = Adafruit_DHT.read_retry(DHT_SENSOR, CUPBOARD_PIN)
#floorHumidity, floorTemperature = Adafruit_DHT.read_retry(DHT_SENSOR, FLOOR_PIN)
#washingMachineHumidity, washingMachineTemperature = Adafruit_DHT.read_retry(DHT_SENSOR, WASHINGMACHINE_PIN)
if cupboardHumidity is not None and cupboardTemperature is not None:
ret= client1.publish("akna/temperature","{0:0.1f}".format(cupboardTemperature))
ret= client1.publish("akna/humidity","{0:0.1f}".format(cupboardHumidity))
f.write('{0},{1},akna,{2:0.1f}*C,{3:0.1f}%\r\n'.format(time.strftime('%y-%m-%d'), time.strftime('%H:%M'), cupboardTemperature, cupboardHumidity))
else:
ret= client1.publish("kitchen/cupboard/temperature","FAILED")
print("Failed to retrieve data from cupboard sensor")
#if floorHumidity is not None and floorTemperature is not None:
ret= client1.publish("kitchen/floor/temperature","{0:0.1f}".format(floorTemperature))
ret= client1.publish("kitchen/floor/humidity","{0:0.1f}".format(floorHumidity))
f.write('{0},{1},Floor,{2:0.1f}*C,{3:0.1f}%\r\n'.format(time.strftime('%y-%m-%d'), time.strftime('%H:%M'), floorTemperature, floorHumidity))
#else:
ret= client1.publish("kitchen/floor/temperature","FAILED")
print("Failed to retrieve data from floor sensor")
#if washingMachineHumidity is not None and washingMachineTemperature is not None:
ret= client1.publish("kitchen/washing-machine/temperature","{0:0.1f}".format(washingMachineTemperature))
ret= client1.publish("kitchen/washing-machine/humidity","{0:0.1f}".format(washingMachineHumidity))
f.write('{0},{1},Washing-Machine,{2:0.1f}*C,{3:0.1f}%\r\n'.format(time.strftime('%y-%m-%d'), time.strftime('%H:%M'), washingMachineTemperature, washignMachineHumidity))
#else:
ret= client1.publish("kitchen/washing-machine/temperature","FAILED")
print("Failed to retrieve data from washing-machine sensor")
def on_disconnect(client, userdata, rc):
print("client disconnected ok")
client1.on_disconnect = on_disconnect
client1.disconnect()

@vargatomy
I have the exact same issue. Its driving me mad, Did you find a solution?


[Question] ApplyFilter

Hey Guys,
I hope I describe this clearly. I keep having issues with the PagiationQuery and in specific with the ApplyFilterWithoutPagination part.
I've made an Contract which has InventoryLines. The code below is the InventoryLinesPaginationQuery
using XVI.Application.Features.InventoryLines.Caching;
using XVI.Application.Features.InventoryLines.DTOs;

namespace XVI.Application.Features.InventoryLines.Queries.Pagination;

public class InventoryLinesWithPaginationQueryByContractId : PaginationFilterBase, ICacheableRequest<PaginatedData<InventoryLineDto>>
{
    [OperatorComparison(OperatorType.Equal)]
    public required int Id { get; set; }

    [CompareTo("ProductName")] // <-- This filter will be applied to Name or Description.
    [StringFilterOptions(StringFilterOption.Contains)]

    public string? Keyword { get; set; }

    public InventoryLineByContractIdListView ListView { get; set; } =
        InventoryLineByContractIdListView.All; //<-- When the user selects a different ListView,

    // a custom query expression is executed on the filter.
    public override string ToString()
    {
        return $"Listview:{ListView},Search:{Keyword},Sort:{Sort},SortBy:{SortBy},{Page},{PerPage}";
    }

    [IgnoreFilter] public string CacheKey => InventoryLineCacheKey.GetPaginationCacheKey($"{this}");
    [IgnoreFilter] public MemoryCacheEntryOptions? Options => InventoryLineCacheKey.MemoryCacheEntryOptions;
}

public class InventoryLinesWithPaginationByContractIdQueryHandler : IRequestHandler<
    InventoryLinesWithPaginationQueryByContractId, PaginatedData<InventoryLineDto>>
{
    private readonly IApplicationDbContext _context;
    private readonly IMapper _mapper;
    private readonly IStringLocalizer<InventoryLinesWithPaginationByContractIdQueryHandler> _localizer;

    public InventoryLinesWithPaginationByContractIdQueryHandler(
        IApplicationDbContext context,
        IMapper mapper,
        IStringLocalizer<InventoryLinesWithPaginationByContractIdQueryHandler> localizer
    )
    {
        _context = context;
        _mapper = mapper;
        _localizer = localizer;
    }

    public async Task<PaginatedData<InventoryLineDto>> Handle(InventoryLinesWithPaginationQueryByContractId request,
        CancellationToken cancellationToken)
    {

        var iQuerybleWithFilter= _context.InventoryLines.Where(x => x.ContractId == request.Id)
            .ApplyFilter(request);
        var resultsWithFilter = iQuerybleWithFilter.ToList(); // Yields 0 results

        var iQuerableWithoutFilter= _context.InventoryLines.Where(x => x.ContractId == request.Id);
        var resultsWithoutFilter = iQuerableWithoutFilter.ToList(); // Yields 1 result

        // TODO: Implement InventoryLinesWithPaginationQueryHandler method
        var data = await _context.InventoryLines.Where(x => x.ContractId == request.Id)
            .ApplyFilterWithoutPagination(request)
            .ProjectTo<InventoryLineDto>(_mapper.ConfigurationProvider)
            .PaginatedDataAsync(request.Page, request.PerPage);
        return data;
    }
}

public class InventoryLinesByContractIdPaginationSpecification : Specification<InventoryLine>
{
    public InventoryLinesByContractIdPaginationSpecification(InventoryLinesWithPaginationQueryByContractId query)
    {
    }
}

public enum InventoryLineByContractIdListView
{
    [Description("All")] All,
}

There is factually 1 InventoryLine where the ContractId Matches the request.id.
But why does ApplyFilter (or for that matter ApplyFilterWithoutPagination) take it away? I'm confused. As you can see in the code I cleaned all the filtering code (I had tons more listviews) but deleted them all
Edit: The question is in the handle method
Extra note
@neozhu Thank you for your reply on my previous issue. Very warm and welcome.
This project is beautiful and once I learned more I hope I can write a README about the project itself cause I've some trouble finding my way trough the project. Its a beautiful setup and I love it tho. But lets say I don't want caching on a page. Do I delete the code? should I put 0 minutes cache.
Should I use a command or should I use a Query to export data. (Like the log page uses a command and the product page export pdf uses a query).
Tho I love learning this project it feels it has everything I ever need for the setup of a cool application!

You could try modifying the code according to the following suggestions, and see if that works:
Change:
$"Listview:{ListView},Search:{Keyword},Sort:{Sort},SortBy:{SortBy},{Page},{PerPage}";
To:
$"Listview:{ListView},Search:Id:{Id},{Keyword},Sort:{Sort},SortBy:{SortBy},{Page},{PerPage}";
And Change:
var iQuerybleWithFilter= _context.InventoryLines.Where(x => x.ContractId == request.Id).ApplyFilter(request);
To:
var iQuerybleWithFilter= _context.InventoryLines.ApplyFilter(request);
For the InventoryLineCacheKey.MemoryCacheEntryOptions: Here you can set the caching time.
If you do not want to use caching, you can replace ICacheableRequest<TResponse> with IRequest<TResponse>.

Hey @neozhu thank you for the suggestions, after your help I felt like I had a bit more understanding and a starting point of where to go.
For all people after me reading this:
I went to the docs of AutoFilterer, I debugged trough the expression that was executed by the autoFilterer. When I first approached this I thought I couldn't debug so far (for some reason) but you can!
The really dumb part is that I had the filter on the ID property of the InvoiceLine. But the search I was meaning to do was to on the ContractID property of the InvoiceLine. So the autofilterer went to compare the ID property and ofcourse that didn't match. So 0 results were given.
The request is processed in FilterBase.cs (debugged with intellij).
@neozhu i'm sorry, this is no bug or issue with your project. When Im further I want to create some docs for people after me. I really want to buy you some coffee for all the effort.

Tho I'm also curious what the exact usage is of that toString override. Like what should your suggestion accomplice?

Regarding the usage of the toString override, it is primarily used to generate a cache key. When the query conditions are the same, the generated key remains constant, which helps avoid redundant database queries.
If you want to implement more complex condition combinations, I suggest referring to the SearchProductSpecification.cs file. It provides an example of how to handle advanced search criteria.

Thank you @neozhu  have a wonderful weekend :)

debugged with intellij

Sorry for my absence in replies, but I'm currently on vacation in Norway.
May I ask why you are debugging a .NET project (C#) in a Java based IDE? Of course I understand that you can install plugins to make that work, however I don't understand why you would choose that over Rider.
Of course it could be that you don't have all the IDE's since those subscriptions are quite expensive. Luckily I can still enjoy the student benefits 😊
Nevertheless that still makes me wonder how you prefer an IDE which isn't natively written for C# over Visual Studio. I find Visual Studio horrible btw, but I find it hard to believe Intelliji with a C# plugin works better than Visual Studio.
Kind regards,
Bram


Generate Java client from Autonomous Development Platform Cadl API description

This issue tracks validating that a DPG generator can generate the ADP client, models, convinience APIs and protocol methods from https://github.com/Azure/azure-rest-api-specs-pr/pull/9236/files, to achieve parity with what DPG v1.0 can generate from ADP OpenAPI description from the same PR
Inputs:
https://github.com/Azure/azure-rest-api-specs-pr/pull/9236/files

Generated Java with unreleased codegen (model/convenienceAPI via dev option).
https://github.com/Azure/azure-rest-api-specs-pr/tree/adp-java-sdk/specification/adp/data-plane/cadl
Build pass. Didn’t go any deeper.
There is pretty strange configure in Cadl
#suppress "@azure-tools/cadl-azure-core/use-standard-operations" "ADP data-plane API uses custom LRO response template the LRO actions."
@doc("Initiates the process of generating SAS signed URIs for uploading special files for the discovery.")
@example(
  "./examples/public/ingestion/discovery/Discovery_GenerateSpecialFilesUploadInfo.json",
  "Initiates the process of generating SAS signed URIs for uploading special files for the discovery."
)
@extension("x-ms-long-running-operation", true)
@asyncOperationOptions("location")
@pollingOperation(ADP.Common.Operations.LongRunningOperationStatusLocation)
generateSpecialFilesUploadInfo is CustomLongRunningResourceAction<
  Discovery,
  {},
  DiscoveryLroResponse
>;

“pollingOperation” supposed to link to an operation, but they link to a model. Had to put an extra guard in codegen.

One issue is following op
    createOrReplace is CustomResourceCreateOrReplace<
      Discovery,
      DiscoveryCreationParameters
    >;

@createsOrReplacesResource(TResource)
op CustomResourceCreateOrReplace<
  TResource,
  TResourceCreateParams
> is Foundations.ResourceOperation<
  TResource,
  Foundations.ResourceCreateOrReplaceModel<TResource> & TResourceCreateParams,
  CustomResourceCreatedOrOkResponse<TResource>
>;

It should use round trip model, but not so (maybe because of the "&" in template).

The reason why it's not round-trip model is: It reuses the same model Discovery and add @visibility("create") for parameters that need to be used in create operation in Discovery and name the model DiscoveryCreationParameters.  Then make DiscoveryCreationParameters as body of the operation. So DiscoveryCreationParameters becomes body. So the request body is DiscoveryCreationParameters type and the response body is Discovery type.
  @doc("Discovery resource creation parameters.")
  @friendlyName("DiscoveryCreationParameters")
  @withVisibility("create")
  @withoutOmittedProperties("discoveryId")
  model DiscoveryCreationParameters {
    ...Discovery;
  }

  @doc("A wrapper for optional parameter in the body. The intent of model is to add description to 'body'")
  model CustomBodyWrapper<T> {
    @body
    body?: T;
  }

@doc("Creates a new ingestion discovery instance.")
    createOrReplace is CustomResourceCreateOrReplace<
      Discovery,
      CustomBodyWrapper<DiscoveryCreationParameters>
    >;

API view with only protocol methods: https://apiview.dev/Assemblies/Review/3b77bee6b3b940ad9c85df75cee51df1?revisionId=fd8d08276a2c46c29a1ca781aecc6e85&doc=False
API view with convenience method and models: https://apiview.dev/Assemblies/Review/3b77bee6b3b940ad9c85df75cee51df1?revisionId=99b078ce29204096b47a071265e8e7a1&doc=False

@haolingdong-msft
Could you list what could be the problem if we release ADP as it is?

If you have question on Cadl definition, comment on their Cadl PR immediately.

Regen based on new codegen and using single client. Below is API version:
Protocol method only:
https://apiview.dev/Assemblies/Review/3b77bee6b3b940ad9c85df75cee51df1?revisionId=6ed6963bdb8b4408aeabc7c4deb97e92&doc=False
Adding models and convenience methods:
https://apiview.dev/Assemblies/Review/3b77bee6b3b940ad9c85df75cee51df1?revisionId=4c5ccb0775ff416db7a2f86abe325fd3&doc=False

adp repo: https://github.com/haolingdong-msft/adp-experiment

Here is a potential issue for LRO:
cadl defnition:
  #suppress "@azure-tools/cadl-azure-core/use-standard-operations" "ADP data-plane API uses custom LRO response template the LRO actions."
  @doc("Initiates the process of completing the discovery and creating the upload file grouping manifest files.")
  @extension("x-ms-long-running-operation", true)
  @asyncOperationOptions("location")
  @pollingOperation(LongRunningOperations.getStatus)
  complete is CustomLongRunningResourceAction<
    Discovery,
    {},
    {},
    DiscoveryLroResponse
  >;

java code:
    @Generated
    @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
    public SyncPoller<LongRunningOperation, Object> beginComplete(String discoveryId) {
        // Generated convenience method for beginCompleteWithModel
        return client.beginComplete(discoveryId).getSyncPoller();
    }

return type is SyncPoller<LongRunningOperation, Object>, Object is used as final return type.
Our current LRO logic is:

if @pollingOperation is defined, we will use it's operation's return type as polling type, if it's not defined, we will not provide convenience method.
if @pollingOperation is defined and @finalOperation is defined, we will use @finalOperation's return type as final type. If it's not defined, we will use all success (2xx) return types' parent type as response, in the cadl definition, the success responses are: DiscoveryLroResponse (with status code 202), Discovery (with status code 200). The parent class of the two is Object. So it becomes Object. This is propably not a correct behavior.

However, in this case, we can add @finalOperation as a workaround.
  #suppress "@azure-tools/cadl-azure-core/use-standard-operations" "ADP data-plane API uses custom LRO response template the LRO actions."
  @doc("Initiates the process of completing the discovery and creating the upload file grouping manifest files.")
  @extension("x-ms-long-running-operation", true)
  @asyncOperationOptions("location")
  @pollingOperation(LongRunningOperations.getStatus)
  @finalOperation(DiscoveryOperations.get)
  complete is CustomLongRunningResourceAction<
    Discovery,
    {},
    {},
    DiscoveryLroResponse
  >;

The output will be:
    @Generated
    @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
    public SyncPoller<LongRunningOperation, Discovery> beginComplete(String discoveryId, String operationId) {
        // Generated convenience method for beginCompleteWithModel
        return client.beginComplete(discoveryId, operationId).getSyncPoller();
    }

https://apiview.dev/Assemblies/Review/3b77bee6b3b940ad9c85df75cee51df1

Issue in investigation:
convenience method is not generated for LRO when using the latest service team's client.cadl
reason:
operation.cadl
  #suppress "@azure-tools/cadl-azure-core/use-standard-operations" "ADP data-plane API uses custom LRO response template the LRO actions."
  @doc("Initiates the process of completing the discovery and creating the upload file grouping manifest files.")
  @extension("x-ms-long-running-operation", true)
  @asyncOperationOptions("location")
+  @pollingOperation(LongRunningOperationStatus)
  complete is CustomLongRunningResourceAction<
    Discovery,
    {},
    {},
    DiscoveryLroResponse
  >;

@tag("Long Running Operation")
op LongRunningOperationStatus is Adp.Shared.LongRunningOperations.getStatus;

client.cadl
  interface LongRunningOperation {
    @convenienceAPI
    getLongRunning is Adp.DataManagement.LongRunningOperationStatus;
  }

In operationCache, the operation name is getLongRunning, but in @pollingOperation refers to LongRunningOperationStatus, the two name can't match, we can't get the operation from cache, when polling operation is not found, we won't generate convenience method for the long running operation.
Ref:
code-model.yaml
      - &ref_230
        language:
          default:
            name: completeDiscovery
            description: >-
              Initiates the process of completing the discovery and creating the
              upload file grouping manifest files.
        protocol: {}
        operationId: completeDiscovery
        apiVersions:
          - version: 2022-11-30-preview
        convenienceApi:
          language:
            default:
              name: completeDiscovery
              description: ''
          protocol: {}
        requests:
          - language:
              default:
                name: ''
                description: ''
            protocol:
              http:
                path: /discoveries/{discoveryId}:completeDiscovery
                method: post
                uri: '{endpoint}'
        parameters:
          - *ref_88
          - &ref_95
            language:
              default:
                name: discoveryId
                description: The discovery identifier.
                serializedName: discoveryId
            protocol:
              http:
                in: path
            schema: *ref_1
            implementation: Method
            required: true
            nullable: false
          - *ref_89
          - &ref_96
            language:
              default:
                name: operationId
                description: >-
                  The long running operation identifier. Operation-Id should be
                  valid UUID string.
                serializedName: operation-id
            protocol:
              http:
                in: header
            schema: *ref_1
            implementation: Method
            required: false
            nullable: false
          - language:
              default:
                name: accept
                description: Accept header
                serializedName: accept
            protocol:
              http:
                in: header
            schema: *ref_84
            implementation: Method
            origin: modelerfour:synthesized/accept
            required: true
        signatureParameters:
          - *ref_95
          - *ref_96
        responses:
          - language:
              default:
                name: completeDiscoveryResponse
                description: The request has succeeded.
            protocol:
              http:
                statusCodes:
                  - '200'
                headers: []
                mediaTypes:
                  - application/json
            schema: *ref_93
          - language:
              default:
                name: completeDiscoveryResponse
                description: >-
                  The request has been accepted for processing, but processing
                  has not yet completed.
            protocol:
              http:
                statusCodes:
                  - '202'
                headers:
                  - header: Operation-Location
                    schema: *ref_97
                    language:
                      default:
                        name: operationLocation
                        description: The location for monitoring the operation state.
                mediaTypes:
                  - application/json
            schema: *ref_98
        exceptions:
          - language:
              default:
                name: completeDiscoveryResponse
                description: An unexpected error response
            protocol:
              http:
                statusCodes:
                  - default
                headers:
                  - header: x-ms-error-code
                    schema: *ref_1
                    language:
                      default:
                        name: xMsErrorCode
                        description: Error code for specific error that occurred.
                mediaTypes:
                  - application/json
            schema: *ref_87
        operationLinks:
+          polling: {}
        extensions:
          x-ms-long-running-operation: true

The operationCache is an implementation detail. Please see if you can fix/improve that.

rest api review issue: https://github.com/Azure/azure-rest-api-specs-pr/issues/7483

Latest API view: https://apiview.dev/Assemblies/Review/3b77bee6b3b940ad9c85df75cee51df1

regen based on cadl compiler 0.38.0.
PR: https://github.com/Azure/azure-sdk-for-java-pr/pull/1388, API View: https://apiview.dev/Assemblies/Review/3b77bee6b3b940ad9c85df75cee51df1

Close for now as mentioned in email that ADP is cancelled. Feel free to reopen if futrhur work needs to be done.


Sensor container fixes

Fix sensor container service so the config argument is correctly passed to the sensor instances in the system packs. Previously, this argument didn't get passed correctly to the FileWatchSensor from the system linux pack.
Make sure sensor processes correctly pick up parent --debug flag. This makes debugging a lot easier since user simply needs to start sensor container with --debug flag and all the sensor logs with level debug or higher will be routed to the container log.

Can you add info --debug to docs if it isn't there already?

Good catch! Nice PR! LGTM.


How to clone official website to local env？

The website can't visit by my network with no proxy due to firewall，So I need to make it locally

The site itself is not open source at this time, so its not possible to run the site locally.

Unless it is using some kind of external source for API calls, which I don't believe it is, it should be possible. All of the source code is frustratingly obfuscated and the tool just isn't setup to maximize usability (can't upload audio files, for example) but at the end of the day it's all javascript executing locally in your browser. You just have to hack your way through it.

The site itself is not open source at this time, so its not possible to run the site locally.

I have just found this website: https://train.aimaker.space/train/.
It looks like a copy of the official website, with some modifications such as delete all stuffs about Google Drive.
I am just wondering if the official itself is not open source, how could they build this website so similarly?


odo url create --now triggers redeploy

When I'm trying to create url on Minikube it restarts the pod.
▶ odo url create --host $(minikube ip).nip.io --now
 ✓  URL java-springboot-8080 created for component: java-springboot

Validation
 ✓  Validating the devfile [127024ns]

Creating Kubernetes resources for component java-springboot
 ✓  Waiting for component to start [17s]
 ⚠  Unable to create ingress, missing host information for Endpoint 8080-tcp, please check instructions on URL creation (refer `odo url create --help`)

Applying URL changes
 ✓  URL java-springboot: http://java-springboot.<IP_ADDRESS>.nip.io/ created

Syncing to component java-springboot
 ✓  Checking file changes for pushing [2ms]
 ✓  Syncing files to the component [142ms]

Executing devfile commands for component java-springboot
 ✓  Executing build command "mvn clean -Dmaven.repo.local=/home/user/.m2/repository package -Dmaven.test.skip=true" [5s]
 ✓  Executing run command "mvn -Dmaven.repo.local=/home/user/.m2/repository spring-boot:run" [1s]

Pushing devfile component java-springboot
 ✓  Changes successfully pushed to component

odo url create --host $(minikube ip).nip.io; odo push does the same.
There should be no reason to restart the Pod when there is no other change than creating new url
/area url
/kind bug
/priority medium

still a problem
/lifecycle rotten
/remove-lifecycle stale
On Sat, 6 Mar 2021 at 20:53, OpenShift Bot<EMAIL_ADDRESS>wrote:

Stale issues rot after 30d of inactivity.
Mark the issue as fresh by commenting /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
Exclude this issue from closing by commenting /lifecycle frozen.
If this issue is safe to close now please do so with /close.
/lifecycle rotten
/remove-lifecycle stale
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

/remove-lifecycle rotten

@kadel I can't reproduce it anymore
$ odo url create example --host com --now
 ✓  URL example created for component: nodejs-project-yezv
 ✓  Waiting for component to start [5ms]

Validation
 ✓  Validating the devfile [31536ns]

Creating Kubernetes resources for component nodejs-project-yezv
 ✓  Waiting for component to start [2ms]
 ✓  Waiting for component to start [1ms]
 ⚠  Unable to create ingress, missing host information for Endpoint http-3000, please check instructions on URL creation (refer `odo url create --help`)

Applying URL changes
 ✓  URL example: http://example.com/ created

Syncing to component nodejs-project-yezv
 ✓  Checking file changes for pushing [1ms]
 ✓  Syncing files to the component [125ms]

Executing devfile commands for component nodejs-project-yezv
 ✓  Waiting for component to start [1ms]
 ✓  Executing install command "npm install" [3s]
 ✓  Executing run command "npm start" [1s]

Pushing devfile component "nodejs-project-yezv"
 ✓  Changes successfully pushed to component

https://github.com/openshift/odo/pull/4446 might have fixed it.

@mik-dass, you are right, I can't reproduce this anymore. It looks like this got really fixed somewhere.


[cudadev][RFC] Next version of CUDA EDModule API

This PR provides a prototype of https://github.com/cms-sw/cmssw/issues/30266#issuecomment-909526957.
In addition of interface changes, it fixes an issue with EDProducers that produce multiple CUDA products (I don't think we have any such EDProducers yet though). Currently the cms::cuda::Product<T> wrapper stores the same CUDA stream for each of such products, and since those cms::cuda::SharedStreamPtr are stored separately, tow (or more) of consumers of those products can submit their work into the same CUDA stream, whereas the intention was that only one consumer of any of the products of an EDProducer could use the same CUDA stream. This PR solves this by adding additional layer of indirection, i.e. the cms::cuda::Product<T> wrappers hold a shared_ptr into a helper object that contains the SharedStreamPtr and the logic of deciding which one of the customers can share the CUDA stream.

Made effectively obsolete by https://github.com/cms-sw/cmssw/pull/39428


Consider having a special syntax for macros

Macros currently just look like functions import "test.glu"which can easily lead to confusing behaviour as Macros override any other bindings (essentially making macros reserved key words). Rust ends all macros with a ! which makes macros distinct and does essentially namespaces macros. Copying this behaviour may be a good idea and shouldn't require to much effort to implement

Fixed in a25bf8bef003c92e4c3fde8c4b6365d60e632eb8


Google Plus Details

Hey Sebastiaan,
Not sure if this is an issue of the plugin or the way Bridgy handless the information or even Google+ itself, but some information is not displayed correctly. Icons and date are wrong, as you can see in my post here:
https://marcthiele.com/notes/playing-with-tuna
Screenshot:
https://www.dropbox.com/s/duvkv0flc64on5p/Screenshot 2017-02-09 11.58.40.png?dl=0
Cheers,
/marc

Hm, I don't have Google+ myself and I can't seem to find the post using this guide to Brid.gy's source urls:
https://brid.gy/about#source-urls
If you go to the folder of your post, there is a .webmentions folder, with .json files. One of them (I assume the first, starting with 0-, for januari 1970) contains that particular mention. It would be nice to know the contents of the page behind the "source":"https:\/\/brid-gy.appspot.com\/(...)".
If that page has no dt-published, it's a problem with Brid.gy or Google+.
But yeah, the template should check for 0 before parsing/showing a date.
The original plugin used the date the mention came in if dt-published was empty, but then every re-mention would be saved as well. So another option would be to add a received field in the mentions, and show that if dt-published is empty.
I also probably should dedupe on u-uid, not on dt-published + source. But that's a different issue.


New task

https://github.com/SaiGonSoftware/Awesome-CMS-Core/issues/326
https://github.com/SaiGonSoftware/Awesome-CMS-Core/issues/337
https://github.com/SaiGonSoftware/Awesome-CMS-Core/issues/321

Pr for these ticket https://github.com/SaiGonSoftware/Awesome-CMS-Core/pull/342


[Bug] User style does not have highest priority

cc @meteorlxy  The problem seems to be the one I once reported through WeChat.
technically speaking, plugin style may be loaded after theme, but user custom style file is loaded at the end of theme style, so plugin style might get a higher priority.
This may be something we should treat as a bug.
Originally posted by @Mister-Hope in https://github.com/vuepress/vuepress-next/discussions/1099#discussioncomment-3725817

Possible solution is extending core.
The core should accept a value related to user style, and it should inject it at last for bundler.

@meteorlxy Would like to have some discussion about how to fix this.
Techically, this is caused by https://github.com/vuepress/vuepress-next/blob/bcf6033ce2acf2b98dede4a4e580fe4f39222517/packages/core/src/app/createBaseApp.ts#L43-L46
My solution is adding a new filed in theme called userStyle, it can be a file path, package path or alias pointing to user file. (e.g.: for theme-default it will be '@vuepress/plugin-palette/style' as it's using palette plugin)
When we have a prepareUserStyle step at core, and style are imported at client/src/app.ts with import '@intermal/userStyle'

Any suggestions with this one? If you agree I may build a or

Some other point of views.
After re-thinking, I relealize that "user style" is actually not much related to theme and plugins.
Theme and plugins can provide it's own config files for users, and users just need a place to add addtional style after theme and plugins style.
Under this point of view, we shall remove the concept "user style" from theme. amd move it to core.
Maybe provide a new field called style in user config and it's default point to .vuepress/styles/index.css?

Some other point of views.
After re-thinking, I relealize that "user style" is actually not much related to theme and plugins.
Theme and plugins can provide it's own config files for users, and users just need a place to add addtional style after theme and plugins style.
Under this point of view, we shall remove the concept "user style" from theme. amd move it to core.
Maybe provide a new field called style in user config and it's default point to .vuepress/styles/index.css?

@meteorlxy Could you share your points about this so that I can start doing something to fix this?

Bump here