PowerShell pipe to sort fails

  Here's another example of where the object fails.

and this:

These break from expected PowerShell behaviors.
Originally posted by @jdhitsolutions in https://github.com/microsoft/winget-cli/discussions/2796#discussioncomment-4479455

In case someone else finds this, the example Find-WinGetPackage terminal -Source winget | sort id doesn't work because Id isn't actually (directly) a property of the returned objects:
> Find-WinGetPackage terminal -Source winget | gm

   TypeName: Microsoft.Management.Deployment.MatchResult

Name                              MemberType Definition
----                              ---------- ----------
Equals                            Method     bool Equals(Microsoft.Management.Deployment.MatchResult other), bool Equals(System.Object obj), bool IEquatable[MatchResult].Equals(Microsoft.Mana…
GetHashCode                       Method     int GetHashCode()
GetInterface                      Method     System.Runtime.InteropServices.CustomQueryInterfaceResult ICustomQueryInterface.GetInterface([ref] guid iid, [ref] System.IntPtr ppv)
GetInterfaceImplementation        Method     System.RuntimeTypeHandle IDynamicInterfaceCastable.GetInterfaceImplementation(System.RuntimeTypeHandle interfaceType)
GetObjectReferenceForType         Method     WinRT.IObjectReference IWinRTObject.GetObjectReferenceForType(System.RuntimeTypeHandle type)
GetObjectReferenceForTypeFallback Method     WinRT.IObjectReference IWinRTObject.GetObjectReferenceForTypeFallback(System.RuntimeTypeHandle type)
GetOrCreateTypeHelperData         Method     System.Object IWinRTObject.GetOrCreateTypeHelperData(System.RuntimeTypeHandle type, System.Func[System.Object] helperDataFactory)
GetType                           Method     type GetType()
IsInterfaceImplemented            Method     bool IDynamicInterfaceCastable.IsInterfaceImplemented(System.RuntimeTypeHandle interfaceType, bool throwIfNotImplemented)
IsInterfaceImplementedFallback    Method     bool IWinRTObject.IsInterfaceImplementedFallback(System.RuntimeTypeHandle interfaceType, bool throwIfNotImplemented)
ToString                          Method     string ToString()
AdditionalTypeData                Property   System.Collections.Concurrent.ConcurrentDictionary[System.RuntimeTypeHandle,System.Object] AdditionalTypeData {get;}
CatalogPackage                    Property   Microsoft.Management.Deployment.CatalogPackage CatalogPackage {get;}
HasUnwrappableNativeObject        Property   bool HasUnwrappableNativeObject {get;}
MatchCriteria                     Property   Microsoft.Management.Deployment.PackageMatchFilter MatchCriteria {get;}
NativeObject                      Property   WinRT.IObjectReference NativeObject {get;}

The ID is actually in $_.CatalogPackage.Id and the Id property is only shown at formating time. So this works as intended:
Find-WinGetPackage terminal -Source winget | Sort { $_.CatalogPackage.Id }

So really the surprising behavior comes form the Sort-Object cmdlet which apparently just takes any random non-existing Property name to sort on without complaining. I didn't know this either, but you can do stuff like:
ls | sort djk30f9u3f93if # short-form of: Get-ChildItem | Sort-Object -Property djk30f9u3f93if

and it doesn't care. To make this less surprising for users of the Winget module though, maybe PowerShell object ScriptProperty oder CodeProperty can be used. Like scripted formatting values these are dynamically calculated but they still exist as real object properties too and can be accessed and sorted by. They aren't just created at formatting/output time.

The problem is that all of the properties are buried. This is not a user-friendly experience. This is what we are discussing at https://github.com/microsoft/winget-cli/discussions/2796

Yes, and it is particularly interesting in the case of the MatchResults returned by Find-WinGetPackage because Get-WinGetPackage actually returns objects with some more readily accessible properties:
Get-WinGetPackage -Source winget | gm

   TypeName: Microsoft.Management.Deployment.CatalogPackage

Name                              MemberType Definition
----                              ---------- ----------
CheckInstalledStatus              Method     Microsoft.Management.Deployment.CheckInstalledStatusResult CheckInstalledStatus(Microsoft.Management.Deployment.InstalledStatusType checkTypes), M…
CheckInstalledStatusAsync         Method     Windows.Foundation.IAsyncOperation[Microsoft.Management.Deployment.CheckInstalledStatusResult] CheckInstalledStatusAsync(Microsoft.Management.Depl…
Equals                            Method     bool Equals(Microsoft.Management.Deployment.CatalogPackage other), bool Equals(System.Object obj), bool IEquatable[CatalogPackage].Equals(Microsof…
GetHashCode                       Method     int GetHashCode()
GetInterface                      Method     System.Runtime.InteropServices.CustomQueryInterfaceResult ICustomQueryInterface.GetInterface([ref] guid iid, [ref] System.IntPtr ppv)
GetInterfaceImplementation        Method     System.RuntimeTypeHandle IDynamicInterfaceCastable.GetInterfaceImplementation(System.RuntimeTypeHandle interfaceType)
GetObjectReferenceForType         Method     WinRT.IObjectReference IWinRTObject.GetObjectReferenceForType(System.RuntimeTypeHandle type)
GetObjectReferenceForTypeFallback Method     WinRT.IObjectReference IWinRTObject.GetObjectReferenceForTypeFallback(System.RuntimeTypeHandle type)
GetOrCreateTypeHelperData         Method     System.Object IWinRTObject.GetOrCreateTypeHelperData(System.RuntimeTypeHandle type, System.Func[System.Object] helperDataFactory)
GetPackageVersionInfo             Method     Microsoft.Management.Deployment.PackageVersionInfo GetPackageVersionInfo(Microsoft.Management.Deployment.PackageVersionId versionKey)
GetType                           Method     type GetType()
IsInterfaceImplemented            Method     bool IDynamicInterfaceCastable.IsInterfaceImplemented(System.RuntimeTypeHandle interfaceType, bool throwIfNotImplemented)
IsInterfaceImplementedFallback    Method     bool IWinRTObject.IsInterfaceImplementedFallback(System.RuntimeTypeHandle interfaceType, bool throwIfNotImplemented)
ToString                          Method     string ToString()
AdditionalTypeData                Property   System.Collections.Concurrent.ConcurrentDictionary[System.RuntimeTypeHandle,System.Object] AdditionalTypeData {get;}
AvailableVersions                 Property   System.Collections.Generic.IReadOnlyList[Microsoft.Management.Deployment.PackageVersionId] AvailableVersions {get;}
DefaultInstallVersion             Property   Microsoft.Management.Deployment.PackageVersionInfo DefaultInstallVersion {get;}
HasUnwrappableNativeObject        Property   bool HasUnwrappableNativeObject {get;}
Id                                Property   string Id {get;}
InstalledVersion                  Property   Microsoft.Management.Deployment.PackageVersionInfo InstalledVersion {get;}
IsUpdateAvailable                 Property   bool IsUpdateAvailable {get;}
Name                              Property   string Name {get;}
NativeObject                      Property   WinRT.IObjectReference NativeObject {get;}

We're working on the next preview release. It should be out in the next few days.
We're also getting very close to publishing the "-alpha" version in the PowerShell Gallery.

This will be in the next preview release.


dx12 support --dump-resources-dir

The default path is cwd

CI gfxreconstruct build queued with queue ID 308050.

CI gfxreconstruct build # 5369 running.

The PR fixes issue https://github.com/LunarG/gfxreconstruct/issues/1809. Should close that issue once this PR is merged.


Mainnet:  mistakenly send 0.01 ISLM COIN to this wallet address (0x16B0bb31ACC31f07d9C7B9178a6ee5Da0d3B338C)

Describe your issue here.
Environment

Elixir Version: 1.14.0

Erlang Version: 25

BlockScout Version: v5.2.1-beta

User Agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Mobile Safari/537.36

Steps to reproduce
*mistakenly send 0.01 ISLM COIN to this wallet address ((0x16B0bb31ACC31f07d9C7B9178a6ee5Da0d3B338C)
Expected Behaviour
Tell us what should happen.
Actual Behaviour
Tell us what happens instead.

Unfortunately, we can't help. Blockchain transactions are final and can't be reverted.


rss can not update

website has update new article , but  feedbin   subscription's latest update is  two days ago

Feedbin has its own heuristics on how often it checks update of a RSS feed. This is not a support channel for any issues of feedbin itself.

I'm sorry, what I mean is, I use your script, and the subscription to rss and full content can be used normally after startup, but the feed has not been updated for several days. I would like to ask whether your instance is normal and whether I have built it here.


Mapbox [info] Request failed due to a permanent error: Canceled

Hi everybody, on map start I get multiple warnings on my console like this: Mapbox [info] Request failed due to a permanent error: Canceled  {"level": "warning", "message": "Request failed due to a permanent error: Canceled ", "tag": "Mbgl-HttpRequest"}
How can I remove that warning? what does it mean?

@Gabotron-ES  any luck ?

Nope

This is an existing issue https://github.com/maplibre/maplibre-react-native/issues/59 related to Location Permissions. More info can be found here https://github.com/rnmapbox/maps/issues/943.

@KiwiKilian, I am seeing this in alpha.27 with packages/react-native-app android.  But permissions are configured correctly in the example? Is something else going on here?

I've seen this for all v10. I think it's just the logger implementation, which verbosely notifies about canceled requests on a tile.


Ethan: Watch usingcsharp.com

Ethan requests the watch of the watch_keyword usingcsharp\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

usingcsharp\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Rejected by tripleee in Charcoal HQ. Reason: 'only hit is 2 years old'


is the migration notice commit official?

https://github.com/Stability-AI/StableSwarmUI/commit/0827b880a78a0bdb3d3e2bd8272c408883efda0f
will this repo really not be maintained anymore?

Yes correct. The independent version https://github.com/mcmonkeyprojects/SwarmUI will be maintained


(PUP-11755) Avoid slow, buggy pattern for enum functions

The each/filter/map functions, for some dispatches, use patterns that
are slow and/or buggy when run on jruby.
The correct pattern for enumeration is
object.each do |value|
  yield(value)
end

Two alternatives in use are
enum = object.each
object.size.times do
  yield(enum.next)
end

enum = object.each

begin
  loop do
    yield(enum.next)
  end
rescue StopIteration
end

The first pattern is incorrect because it never triggers StopIteration
on the enumerator (by attempting to call next one last time). On MRI
this is apparently harmless, but on JRuby it leaves the Fiber associated with the
Enumerator around. Since Fibers are implemented via native threads on
JRuby, that leaves around a native thread. That can deplete the
available threads and interferes with garbage collection, as every
native thread functions as a GC root (leaving objects referenced but
functionally inaccessible).
The second pattern is technically correct but extremely inefficient on
JRuby, presumably due to the overhead associated with using a Fiber for
enumeration. It's also no more correct than simply calling the enum
method directly, so we can simply change it.
In benchmarks, the difference on MRI is ~10x and on JRuby it's ~150x.

The other places weren't quite the same pattern, so I wasn't sure whether they would cause the same problem or precisely how to fix them (the TreeIterator for instance actually does implement its each method in terms of next, so maybe that's correct?). I also wasn't clear which of those methods actually get used in practice vs. are implemented as a matter of completeness. At least for the TreeIterator, it looked like it's only used from the tree_each Puppet function, which seems unlikely to be widely used.

jenkins please test this with servertests


Facing issues with Low Rank Transforms

Hello @amandeepsp , I was referring to your blog at https://amandeepsp.github.io/making-models-smaller-2 and trying to make it work on a Mask RCNN with a SWIN transformer. I am using a pretrained model for this purpose and using mmdetection for the same.
However, when I do the transformation on the model, I see that the model is not able to detect anything. It simply returns the image that I pass it as an input. Just the pretrained model without the below code or the pretrained model quantized using dynamic quantization works properly.  I was wondering if maybe you could help me out or guide me to the possible error in this.
The following is the code with which I load the model after I have downloaded them from the appropriate place

!wget -c https://download.openmmlab.com/mmdetection/v2.0/swin/mask_rcnn_swin-t-p4-w7_fpn_1x_coco/mask_rcnn_swin-t-p4-w7_fpn_1x_coco_20210902_120937-9d6b7cfa.pth \ -O checkpoints/mask_rcnn_swin-t-p4-w7_fpn_1x_coco_20210902_120937-9d6b7cfa.pth

from mmdet.apis import init_detector, inference_detector

config='/content/mmdetection/configs/swin/mask_rcnn_swin-t-p4-w7_fpn_1x_coco.py'
# Setup a checkpoint file to load
checkpoint = 'checkpoints/mask_rcnn_swin-t-p4-w7_fpn_1x_coco_20210902_120937-9d6b7cfa.pth'
# initialize the detector
model = init_detector(config,checkpoint)

The following is the code that I use for the low rank transformation:
def replace_layers(model):
    svd_classifier_layers=[]
    L=40
    count=1
    for module_name, module in model.named_children():
      if module_name=='proj':
        continue
      if len(list(module.children())) > 0:
        replace_layers(module)
      if isinstance(module, torch.nn.Linear):
        W=module.weight.data
        # print(W)
        # U,S,V=torch.svd(W)
        U, S, Vh = torch.linalg.svd(W)
        V = Vh.transpose(-2, -1).conj()
        W1 = U[:,:L]
        W2 = torch.diag(S[:L]) @ V[:,:L].t()
        if module.bias is not None:
          # print("W1:",W1)
          layer_1 = nn.Linear(in_features=module.in_features,
                            out_features=L, bias=True)
          layer_1.weight.data = W2
          svd_classifier_layers.append(layer_1)

          layer_2 = nn.Linear(in_features=L,
                            out_features=module.out_features , bias=True)
          layer_2.weight.data = W1
          layer_2.bias.data = module.bias.data
          svd_classifier_layers.append(layer_2)
          # print("Layer2",layer_2.weight.data)
          # break
        else:
          layer_1 = nn.Linear(in_features=module.in_features,
                            out_features=L, bias=False)
          layer_1.weight.data = W2
          svd_classifier_layers.append(layer_1)

          layer_2 = nn.Linear(in_features=L,
                            out_features=module.out_features , bias=False)
          layer_2.weight.data = W1
          # layer_2.bias.data = module.bias.data
          svd_classifier_layers.append(layer_2)

        try:
          # print("we are now trying to replace",module,"with",svd_classifier_layers,"in a sequnetial way")
          # n =int(module_name)
          # model[n]=nn.Sequential(*svd_classifier_layers)
          setattr(model, module_name, nn.Sequential(*svd_classifier_layers))
        except:
          setattr(model, module_name, nn.Sequential(*svd_classifier_layers))

Currently, I am only passing the model's backbone to the above function.
replace_layers(model.backbone)
The model size does reduce a bit with this but I am not sure why the inference done through mmdetection won't work. It would be great if you could guide me to the right place

Low Rank Transformations are only viable for models with high Fully connected to Conv weight ratio, which is not true for many modern model architectures (also this case). Even if you could make the detection work, the size decrease wouldn't be worth it. If you need a smaller model, please consider using a MobileNet backbone here.


[R] [CI] Windows build fails in packaging job

Describe the bug, including details regarding any error messages, version, and platform.
One example: https://github.com/ursacomputing/crossbow/actions/runs/3799348531/jobs/6462070137
C:\rtools42\x86_64-w64-mingw32.static.posix\bin/ld.exe: ../windows/arrow-<IP_ADDRESS>000336/lib/x64-ucrt/libcurl.a(libcurl_la-version.o):(.text+0x1bc): undefined reference to `nghttp2_version'
collect2.exe: error: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package 'arrow'
* removing 'D:/a/_temp/Library/arrow'
Warning message:
In install.packages("arrow", type = "source", repos = sub("file://",  :
  installation of package 'arrow' had non-zero exit status

I suspect this has to do with #14235 (and I'll try to fix it in a PR in a sec)
Component(s)
Continuous Integration, R

Though a counter-argument that this has to do with #14235 is that this is a new failure as of today (and that PR has been merged for a few weeks already!)

And interestingly(?) even with the patch in #15111 nghttp2 was installed by mngw in the first failing build:
https://github.com/ursacomputing/crossbow/actions/runs/3799348531/jobs/6461793749#step:7:185
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...

Packages (13) mingw-w64-i686-boost-1.67.0-9002  mingw-w64-i686-libssh2-1.10.1-9800  mingw-w64-i686-nghttp2-1.51.0-1  mingw-w64-i686-openssl-1.1.1.m-9800  mingw-w64-i686-aws-sdk-cpp-1.7.365-1  mingw-w64-i686-brotli-1.0.9-4  mingw-w64-i686-curl-7.84.0-9000  mingw-w64-i686-libutf8proc-2.4.0-2  mingw-w64-i686-lz4-1.8.2-1  mingw-w64-i686-re2-20200801-1  mingw-w64-i686-snappy-1.1.7-2  mingw-w64-i686-thrift-0.13.0-1  mingw-w64-i686-zstd-1.4.4-1

Total Download Size:    26.87 MiB
Total Installed Size:  350.90 MiB

Though it's not in the last passing build:
https://github.com/ursacomputing/crossbow/actions/runs/3792761794/jobs/6449247350#step:7:185
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...

Packages (12) mingw-w64-i686-boost-1.67.0-9002  mingw-w64-i686-libssh2-1.10.1-9800  mingw-w64-i686-openssl-1.1.1.m-9800  mingw-w64-i686-aws-sdk-cpp-1.7.365-1  mingw-w64-i686-brotli-1.0.9-4  mingw-w64-i686-curl-7.83.1-9000  mingw-w64-i686-libutf8proc-2.4.0-2  mingw-w64-i686-lz4-1.8.2-1  mingw-w64-i686-re2-20200801-1  mingw-w64-i686-snappy-1.1.7-2  mingw-w64-i686-thrift-0.13.0-1  mingw-w64-i686-zstd-1.4.4-1

Total Download Size:    26.70 MiB
Total Installed Size:  350.17 MiB

Also of note: mingw went from curl 7.83.1-9000 to 7.84.0-9000.


Remove leftover comment of Issue #17878

Purpose
Issue #17878 is already closed since August 2021. This comment still states that there are open tasks for this issue.
Part of #17878
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

It seems like the Gson library is still used by other standard library parts. Then at least the comment should be removed since it is out of date.

Yes. Gson library is still used in profiler tool in runtime. I have create a new issue to check whether we can replace that.
https://github.com/ballerina-platform/ballerina-lang/issues/42900.
+1 remove the comment FTM.


FlowDirection, Arabic Characters Bug

hello,
i wanted to address the following issues:
1-The flow direction of the micro charts for example: when i change my app language to Arabic the direction of the legends of the micro charts stay on the same position as if you are using English language.
2-The Arabic Characters  appears as squares, even with using typeface.familyyfont = Arial
see the attached screenshots

please re-open the issue as the changes were reverted

made a ticket for this #224


Make README instructions copy&paste ready

Description
cd into the cloned directory in README.

Motivation and Context

The README instructions lacked cding into the cloned directory.
This PR fixes this.
How has this been tested?

By executing it in a local shell.
Types of changes

Changes visible to users:

[x] Docs: Make README code copy&paste ready

Checklist

[x] My change requires a change to the documentation.
[x] My change works!

Thanks!

That was quick 😄


⚠ Jenkins Plugins Artifactory has degraded performance

In f3ae673, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1326 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 7afe843 after 53 minutes.


Bug: Gelbooru "safe" tag is "general"

Type
UI-related issues
Bug description
By default, BooruSphere appears to provide rating:safe instead of rating:general for Gelbooru's safety tags. rating:safe does not exist on Gelbooru, and is instead equivalent to rating:general.
Steps to reproduce

Open Gelbooru
Search for favorite anime girl
Hit ratings, safe

Android version
Android 13
App version
Boorusphere 1.3.3
Screenshots or videos
Picking a rating:

The provided "safe" rating:

Providing "general" manually:

Solution
Temporary workaround: supply rating:general manually
Additional context
No response
Acknowledgements

[X] I have searched the existing issues and this is a new and no duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] I filled out all of the requested information in this issue properly.

Site a uses x, b uses y, then there's a new rating value for another site, so on and so forth.
There'll be no end for this kind of thing, so nope no more rating option, thanks.

Site a uses x, b uses y, then there's a new rating value for another site, so on and so forth. There'll be no end for this kind of thing, so nope no more rating option, thanks.

Perhaps make it configurable?

Perhaps make it configurable?

that's even worse.
The point is to be consistent and fair. rating: safe should give rating:safe result just like in the browser, if the particular booru doesn't give any result, then there's no post that rated as safe on the server.


Namespace

This adds a RelaxNG schema for the file format used to supply MathML to LaTeX for tagging.
All elements are in either the HTML or MathML Namespace
All the -mathml.html files in the example collections are adjusted to use namespaced elements.
The schema is currently  extended to allow some non-core mathml constructs.
All supplied mathml is now valid except the +-prefixed lengths generated for <mpadded> by luamml
nested-1/nested-1-luamml-mathml.html:108:1: error: attribute ^lspace with invalid value "+4.981pt

Not sure I can parse the introduction here!
Should I try again?

Regarding the + prefixed lengths: It would be easy enough to omit the + there, but why is that needed? Is this just a restriction of the schema or is there a requirement in the specs somewhere that no explicit + is allowed?

@zauguin They are made invalid because unfortunately they couldn't be added to mathml-core. (sorry I thought I'd raised a luamml issue but seems I haven't)
in mathml 1-3 mpadded has a special custom length syntax where width="10pt" means 10pt wide, but width="+10pt means 10pt wider than natural width.
MathML-Core is heavily based on a CSS layout model and the costs of not using "any CSS length" was considered too high, so all length attributes take CSS length syntax with the implied CSS meaning, which means that prefix + is optional but ignored.
Having the same syntax mean different things in mathml full and core is clearly problematic so the schema makes them invalid.
More details at
https://github.com/w3c/mathml/issues/103

Sigh. This branch (and so this PR) have been extended not quite intentionally  to also add schemas for the xml files extracted from a modified version of show_pdf_tags.lua  Those schema are separate from the schema added for the mathml.html files for which this branch and PR were originally generated.
We could in theory separate these in git to make two PR, but assuming we are going to merge some version anyway I would suggest these are merged as-is from this PR. Any further updates to the structure tree schema (and more are expected) could be done then as separate PR or commits to main.
@u-fischer @FrankMittelbach @zauguin any objection to merging this?


RequirementMachine: Try harder to preserve sugar

Something else I was working on caused us to introduce redundant requirements erroneously, but this unearthed a minor bug.

@swift-ci Please smoke test


Add BQ shortcut below the viz

Just an idea, but if possible, we could expose the BQ queries in the viz view so that people who are familiar with the data can start from our queries. Might be too complex because of the aggregated table structure but an idea nonetheless

We could generate the queries based on some of the other parameters we have selected like:

Date Range
Location
Aggregation level (day/month etc)

I don't believe we have the ISP data in the original BQ tables, so we couldn't easily point to that... is that changing?


Question about kong high availability

When we enable Kong cluster, more than one node provide gateway function, is there any suggestion about HA solution? put a nginx front of Kong or use VIP + keepalive  ?


[doc] Three new optional styles added

There are three new additional styles added to the verilog style guide. They are the following:

allowance of all caps for parameters
allowance of boolean operators on control assignment statements
allowance of an alternate format for module port list

Addresses issue #24

Reduced scope to only the all caps topic. Used @sjgitty phrasing in update.

After re-reviewing this PR, I have to admit that I agree with @vogelpi, in that adding an all caps option dilutes the original style. I am going to retract this PR.
However, if I was around when the original discussion occurred, I would have pushed for all caps only, but that window has passed.
The style guide is generally quite good. I think a common style that promotes productivity and easier development is a must. The *_q and *_d notation is a long time favorite, and the module *_i and *_o is a recent favorite. I think the fsm guidelines are better than what I have used.
I still do not believe where the parenthesis sits on a module statement does not measure up to the above standard. The code is not better understood one way or another.
For boolean operators, I thought I was following the original intent with my example. Will leave this up to someone else to make it clearer.

Hi Scott,
I still have this item open. I asked for three changes originally, but have given up on the first two (all caps parms, module format). I would like to know if I can code my control statements with Boolean operators. I think the issue is that I use assignment statements for control instead of if-then-else style.
I though you were going to propose new language to explain this. Please let me know what path you would like to take here.
BTW, I have noticed a number of “prim” modules that do not follow some of the guidelines. For example, the use of *_d and *_q for flop inputs and outputs is not used, a style I have used for many years.
From: Scott Johnson<EMAIL_ADDRESS>Sent: Wednesday, April 1, 2020 1:30 PM
To: lowRISC/style-guides<EMAIL_ADDRESS>Cc: Mark Branstad<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [lowRISC/style-guides] [doc] Three new optional styles added (#32)
@sjgitty commented on this pull request.

In VerilogCodingStyle.mdhttps://github.com/lowRISC/style-guides/pull/32#discussion_r401815468:

@@ -965,12 +965,14 @@ facilitate the creation of IP that may be re-used across many projects.

The preferred naming convention for all immutable constants is to use ALL_CAPS, but there are times when the use of UpperCamelCase might be considered more natural.
+The naming convention for parameter and localparam allows for the use of ALL_CAPS or UpperCamelCase. The allowance for ALL_CAPS is to accommodate this ubiquitous style found in the ASIC industry, and by all third party IP vendors.
I have no problem with allowances for ALL_CAPS, but I think our code base
is preferring UpperCamelCase, so that should be our leader. Plus you've
undermined our past decisions a bit with the wording. This sentence plus
the table below imply that ALL_CAPS is preferred, which isn't what we've
agreed upon. How about this as a suggestion:
The naming convention for parameter and localparam allows for the use of ALL_CAPS or UpperCamelCase.
UpperCamelCase is the preferred style for mutable parameters, but there is allowance for ALL_CAPS to accommodate the common style found in other code bases.

In VerilogCodingStyle.mdhttps://github.com/lowRISC/style-guides/pull/32#discussion_r401816080:

| Constant Type | Style Preference | Conversation |

| ---- | ---- | ---- |
| `define            | ALL_CAPS       | Truly constant |
-| module parameter    | UpperCamelCase | truly modifiable by instantiation, not constant |
-| derived localparam  | UpperCamelCase | while not modified directly, still tracks module parameter |
-| tuneable localparam | UpperCamelCase | while not expected to change upon final RTL version, is used by designer to explore the design space conveniently |
+| module parameter    | ALL_CAPS or UpperCamelCase | truly modifiable by instantiation, not constant |
Please switch the order here since our code base is predominantly UpperCamelCase.
UpperCamelCase or ALL_CAPS

In VerilogCodingStyle.mdhttps://github.com/lowRISC/style-guides/pull/32#discussion_r401819064:

@@ -1390,10 +1392,14 @@ Use the Verilog-2001 combined port and I/O declaration style. Do not use the

Verilog-95 list style. The port declaration in the module statement should fully
declare the port name, type, and direction.
-The opening parenthesis should be on the same line as the module declaration,
-and the first port should be declared on the following line.
+The opening parenthesis may be on the same line as the module declaration,
I'm with @msfschaffnerhttps://github.com/msfschaffner on this one that it needs more discussion. We
can spawn to a different PR or leave this one open for a while to get other
opinions. @asbhttps://github.com/asb @imphilhttps://github.com/imphil @eunchanhttps://github.com/eunchan @tjaychenhttps://github.com/tjaychen @GregAChttps://github.com/GregAC @martin-luekerhttps://github.com/martin-lueker
I'm not an emacs user, so please weigh in if this is a true hardship. Even if
it is hard to avoid, I don't believe it should be in our rationale explicitly as
on the line below.

In VerilogCodingStyle.mdhttps://github.com/lowRISC/style-guides/pull/32#discussion_r401822600:

@@ -2385,9 +2407,10 @@ a check for X on the 4-state net before resolving to a 2-state variable.

Use logical constructs for logical comparisons, bit-wise for data.
Logical constructs (!, ||, &&, ==, !=) should be used for all
-constructs that are evaluating logic (true or false) values, such as
-if clauses and ternary assignments.  Use bit-wise constructs (~, |,
-&, ^) for all data constructs, even if scalar.
+constructs that are evaluating control path logic. This includes boolean
+logic (true or false) values, such as if clauses and ternary assignments.
I have a recommended rewrite for this section in #21https://github.com/lowRISC/style-guides/issues/21, let's do that in a
separate PR please. I can initiate that one. I feel this wording goes
all the way to the other side of the current guidance, while #21https://github.com/lowRISC/style-guides/issues/21 was
recommending allowing both styles in different contexts.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/lowRISC/style-guides/pull/32#pullrequestreview-385834498, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AMTDD3LYYWU3X7PDRTJ4OL3RKOBYVANCNFSM4LX26YCA.

@mwbranstad, I am pretty sure that we still have code in our repo that does not fully adhere to the style guide. so if you come across something that you think is inconsistent you could either file an issue for that file, or if it is a quick and small fix, just make a PR for it. I am also cleaning up such things when I come across them...

@msfschaffner ok thanks for the guidance.

Hi Scott, I still have this item open. I would like to know if I can code my control statements with Boolean operators. I think the issue is that I use assignment statements for control instead of if-then-else style. I though you were going to propose new language to explain this. Please let me know what path you would like to take here.
#38 should address this @mwbranstad . Sorry for the delays.

BTW, I have noticed a number of “prim” modules that do not follow some of the guidelines. For example, the use of *_d and *_q for flop inputs and outputs is not used, a style I have used for many years.
Agreed. If you're feeling energetic, you can create a PR, otherwise feel free to file an issue and we'll pull it off the pile eventually. The issue should be in the opentitan repo.


Ensure all AMS options are passed through.

See the following for details:

https://github.com/rails-api/active_model_serializers/blob/master/docs/general/rendering.md
https://github.com/rails-api/active_model_serializers/blob/master/docs/general/adapters.md

Should address issue https://github.com/ruby-grape/grape-active_model_serializers/issues/69

closing this in favor of https://github.com/ruby-grape/grape-active_model_serializers/pull/73


Enhancement: Selectable Auto-refresh

I deal with real-time data.
Being able to auto-refresh the query based on a selectable or inputted value would be helpful in visualizing the charts and/or data returned.

Would a solution like the one proposed in #37 work for this?

I was thinking auto page refresh and rerunning the query each time

Oh that makes sense. Would something like a textbox to run query every x seconds work? If on the SQL page, the result grid would refresh. Otherwise if on the chart tab the chart would be updated with the new query results.

Exactly! perfect
On Sat, Sep 5, 2015 at 9:47 PM, Rick Bergfalk<EMAIL_ADDRESS>wrote:

Oh that makes sense. Would something like a textbox to run query every x
seconds work? If on the SQL page, the result grid would refresh. Otherwise
if on the chart tab the chart would be updated with the new query results.
—
Reply to this email directly or view it on GitHub
https://github.com/rickbergfalk/sqlpad/issues/38#issuecomment-138040585.

Finally published this. Sorry it took so long. I'm starting to think a proper consumption mode is needed (like a report view or dashboard view or something)


Doc - Fix broken 3.3 doc build in new Jenkins

Build:

Please could we update oskar to not ask it to go into Driver if the branch is 3.3?
01:16:01 /oskar/containers/documentation.docker/build_documentation: line 189: cd: /oskar/work/ArangoDB/Documentation/Books/Drivers: No such file or directory
01:16:01
01:16:01 Error: could not enter book source dir: /oskar/work/ArangoDB/Documentation/Books/Drivers

Otherwise it won't compile even if the links are now fixed
Thanks

Superseded by #8489


server don't start

First of -- Awesome idea. I am dying to run.
I see server starting and closing very quickly.
Linux OpenSuSe Tumbleweed; node v9.2.0; NooElec dongle.
drom@drom:~/work/github/watson/airplanejs> node server.js
Detached kernel driver
Found Rafael Micro R820T tuner
Exact sample rate is: 2000000.052982 Hz
Opening http://localhost:3000 in your favorite browser...
Closing down RTL-SDR device...
Reattached kernel driver
drom@drom:~/work/github/watson/airplanejs>

Weird. It thinks that you closed your browser right away and then thought you wanted to shut down. Detecting that was never 100% foolproof, so I think I'll just remove that code altogether. Thanks for reporting it 😃

Commented out auto 'opn' now works!

Fixed and released in v1.1.5

Yep. works! great super thanks!

I would love doing more SDR using Node + Browser!


Split QFI into QFI and QGT

[skip ci]
Summary
Close #9052
This PR introduces QGT (Quantum Geometric Tensor) and split the current QFI into QFI and QGT. QFI will only calculate the real part of QGT with a coefficient, 4 as its definition.
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 43 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.04%) to 84.494%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/algorithms/gradients/qgt.py
0
43
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.04%

Covered Lines:
62456

Relevant Lines:
73918

💛  - Coveralls

@Cryoris @ElePT Thank you so much for reviewing! Sorry for that I keep forgetting to change QFI to QGT or other way around.


Issue with 'sparse'

Hi,
I seem to be having a weird issue with the 'sparse' setting. I am analyzing 4DNFIFLDVASC.mcool. Below are the commands:
Commands:
filepath = '4DNFIFLDVASC.mcool::resolutions/100000'
arr = c.matrix(balance=False, sparse = True)[22844:22848, 22844:22848]
print(arr)
Output:
(0, 0)	30069
(0, 1)	9965
(0, 2)	4088
(0, 3)	2283
(1, 1)	17379
(1, 2)	2910
(1, 3)	1422
(1, 1)	13121
(1, 2)	5998
(1, 3)	2078
(2, 2)	32768
(2, 3)	7086
(3, 3)	26739
(1, 0)	9965
(2, 0)	4088
(3, 0)	2283
(2, 1)	2910
(3, 1)	1422
(2, 1)	5998
(3, 1)	2078
(3, 2)	7086
Also notice that the number of entries is greater than 16. Please let me know if I am doing something wrong here.
Thanks,
Manu

You're right. Some pixels are "split" across multiple records. This could happen in some places during zoomification in older versions of cooler. You get the correct values by summing the duplicate entries: arr.sum_duplicates(). Converting to dense arr.toarray() also does this automatically.
You can also re-zoomify the file from the base resolution to eliminate it entirely:
cooler zoomify --balance 4DNFIFLDVASC.mcool::resolutions/1000 -o 4DNFIFLDVASC.new.mcool

Thank you very much for the quick help and detailed instructions!


Docs review - batch 2

Hello !
Next batch of docs review 📝
Today, pages:

Column sizing
Column moving
Column pinning

+ Minor modifications of pages Column headers and Column state

For the first example, I tried to use something like defaultState as in AG Grid example, instead of updating the pinned state of all cols, but couldn't find anything.
Moreover, while investigating, I found in AgGrid component the parameter updateColumnState, that triggers AG Grid
method updateColumnState() when set to True, but I didn't find this method in AG Grid docs

To set a default state, you would pass it inside the columnState prop, as when passed it performs the applyColumnState, so anything passed to it will be applied like in the docs:
columnState={ defaultState: { pinned: None} }
As far as updateColumnState, we removed it from the docs as this is a catch all for snagging the columnState from the grid, this may be obsolete due to changes we made when we released 2.0.0, but I insisted on keeping it incase the columnState =/= the grid's current columnState.

@sdidier-dev Thanks for another great pull request :partying_face:
A couple comments:
Column Headers
With the floatingFilterHeight set to  25, you can't see the filter icon  next to the filter input box -- it's still there, it's just not visible.  It makes it unclear that it's a floating filter row.

Here's a floating filter with the icon

I was unable to align the icon.  If you know a way, that would be awesome -- otherwise we should remove the floating filter for now.
Column Sizing
I like your changes in this section.  I'm certainly open to a major overhaul.  The way Dash handles the column sizes is different than the upstream AG Grid component, so anything to make this section more understandable will be great.
For the code formatting, we use Black.  Even though I don't always agree with how it formats, it does make the code very consistent.  No need to change anything in your pull request. Just know that after it's merged, some formatting will change when we run Black.
All the other changes to other sections look fantastic.
Just let me know about the floating filter height.  One option is to take that out for now so it doesn't hold up all these other great changes.  :tada:

Hi @AnnMarieW and @BSd3v !
@BSd3v,
Thank you for this explanation ! Full of hope, I ran some tests.
As you suggested, I tried to provide the argument columnState={'defaultState': {'pinned': None}}, but it expects an
array:
Invalid argument `columnState` passed into AgGrid with ID "column-pinning".
Expected `array`.
Was supplied type `object`.

What I can understand, the applyColumnState should have the form:
.applyColumnState({
    state: [{ colId: 'country', pinned: 'left' }],
    defaultState: { pinned: null },
})

and the dash AG Grid component seems to provide the value only for the state key, meaning something like
columnState=[{ 'colId': 'country', 'pinned': 'left' }] will perform
.applyColumnState({
    state: [{ colId: 'country', pinned: 'left' }],
})

So I still can't find a way to use defaultState. Do I miss something?
It is not really important right now, I think the example works fine as is.
@AnnMarieW,
Weird, on my side, the icon is still there, even with a smaller height (I tried 15px):

Whatever, I wanted to "provide a unique look and feel", but who will do this? 😅
I'm going to set the floating filter height to 50px like in AG Grid docs
I think it is still useful to keep it in this example, because if we use a floating filter and set the headerHeight
and not floatingFiltersHeight, it seems that the later will be equal to headerHeight. Here, meaning 150px...
I don't know Black for the code formatting, but I'm going to take a look.
And I will of course check the result of the formatting once merged.
About the community forum, I'm definitely going to use it, even if I need to use Edge as long as I didn't solve my issue 😀

Here we go!
I agree with you @BSd3v (for what I have seen until now)👍
It was mainly to stick with the AG Grid docs.

@sdidier-dev
Strange the filter icon works for you. I'll merge as-is and we'll see how it looks live.
Just a heads up  - the Plotly folks are making great progress moving these docs over to the official Dash Docs.  If you are willing to continue your review, we'd still appreciate your input.   All the content and example apps are being moved over.  There will likely be more editing on the content and formatting like headings etc once it's on the Plotly site :-)

The changes are live - but they still look odd.  How do they look for you?  https://dashaggrid.pythonanywhere.com/columns/column-headers

Yes, I saw that too! I think I know the issue, it seems to be the .css formatting.
I 'm going to take a look

Found it!
In columns.css:
/*Floating filters*/
.header1 .ag-floating-filter-body {
    height: 50px;
}

.header1 .ag-floating-filter-body input {
    height: 49px;
}

.header1 .ag-floating-filter-button {
    margin-top: -49px;
}

.header1 .ag-floating-filter-button button {
    height: 49px;
}

.header1 .ag-floating-filter-body input {
    font-size: 15px;
    font-weight: bold;
}

It probably comes from AG Grid docs in their style.css (they don't even use floating filters in the example...)
I checked, it seems that the class .header1 is not used elsewhere in dash_ag_grid module, so it should be safe to remove them
I'm going to make the modification


Can certain properties be 'skipped' during recursive iteration?

Not really and issue just a question regarding functionality; how would I go about 'skipping' specific  properties in an object?
[
   {
      name: 'John Doe',
      occupation: <Object>
   }
]

I want to iterate over the object above, 'skipping' the occupation value because it's a complex object I don't need to iterate over for reasons specific to my project. I'm using ES5 and have tried playing with variations of item.done = true in my for loop to no avail. Any suggestions? A big THANK YOU to @nervgh for the great tool :)

let root = [
   {
      name: 'John Doe',
      occupation: [1,2,3],
      test: {
      	a: null
      }
   }
];
let iterator = new RecursiveIterator(root);
iterator.onStepInto = function(state) {
	let {key} = state;
	return key !== 'occupation';
};

for(let {path} of iterator) {
	console.log(path.join('.'));
}

https://jsfiddle.net/pty37z1o/

Thanks for the quick and thorough reply @nervgh.  I'm going to close this since, as I mentioned, it's not really an issue. That said, can you help me with the ES5 equivalent of your  example? Struggling to understand how to skip iterating of children of a specific object, moving to it's sibling instead ... wondering if it's via continue or return or neither. Thanks again!

This is easy:

replace let --> var
replace for .. of --> for loop

es5
var root = [
   {
      name: 'John Doe',
      occupation: [1,2,3],
      test: {
      	a: null
      }
   }
];
var iterator = new RecursiveIterator(root);
iterator.onStepInto = function(state) {
	return state.key !== 'occupation';
};

for(var item = iterator.next(); !item.done; item = iterator.next()) {
    var state = item.value;
    console.log(state.path.join('.'), state.node);
}

https://github.com/nervgh/recursive-iterator/wiki/Syntax#es5

Ah, I'm an idiot lol I didn't even realize there was a onStepInto callback or that you were using it in your example -- apologies for the oversight, I guess I need to spend some more time on the documentation before I start asking questions. Thanks again :)


Heroku Precompile Error

I was deploying a new heroku app by clicking the Deploy heroku button and got this error several times. Not sure if this is just me or for everyone.
   Cheers.

   ***

   Bundle completed (186.47s)

   Cleaning up the bundler cache.

-----> Preparing app for Rails asset pipeline
   Running: rake assets:precompile

   rake aborted!

   PG::ConnectionBad: could not connect to server: Connection refused

   Is the server running on host "<IP_ADDRESS>" and accepting

   TCP/IP connections on port 5432?

   /tmp/build_6e3d9dc8081cc473bde2dcd21b0de848/cantino-huginn-da1b467/vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `initialize'

Found something in heroku that may be helpful
https://devcenter.heroku.com/articles/rails-asset-pipeline

+1

Maybe our Rails upgrade broke the one-click.  If someone wants to take a look, it'd be appreciated, otherwise I'll get to it soonish.

I am getting  !     Push rejected, failed to compile Multipack app  which seems to be a known issue ddollar/heroku-buildpack-multi#49

I have a fix for this, deploying shortly.

Okay @signallhill  and @devilankur18, this should be fixed now.  I'd appreciate if someone could test it.  It looks like Heroku stopped auto-provisioning their postgres addon, so I added
"addons": ["heroku-postgresql"]

to the app.json config and
unless $config['DATABASE_URL']
  puts "Setting up the postgres addon"
  puts capture("heroku addons:add heroku-postgresql")
  puts
end

to bin/setup_heroku.

New deployment worked like a charm :+1:

Thanks!


20230209 dnsdist

To-do:

[x] settle on value for TCP Fast Open queue size
[x] figure out how to REFUSE queries for catalog.internal.
[ ] ensure that other ports (webserver) are not exposed, especially on IPv6 (Docker has an issue there, may need iptables)

TCP Fast Open queue size: People in DNS OARC Mattermost don't know and wonder the same, but Mongo uses 1024, so I went for that.

That is, if we expose pdns directly, we also serve catalog.internal. - I don't think that's problematic, as that zone does not have DNSSEC (i.e. no enumeration possible), and the qnames therein are hashes of domain names we managed, with PTR records pointing to that name. I don't see any room for abuse here, so let's just expose it.

Suggestion to validate the effectiveness of these changes with before/after performance test.
Before deployment some attention needs to be given to DoT/DoQ, as they have no (or little) coverage by the tests.

Suggestion to validate the effectiveness of these changes with before/after performance test.

Yes. As I think it's reasonable to assume that none of the changes will cause performance degradation, I think it's enough to compare the current state with the state after this PR (i.e. not commit by commit).

Before deployment some attention needs to be given to DoT/DoQ, as they have no (or little) coverage by the tests.

Yes. I changed the networking quite a bit and am surprised that the tests passed (I would have bet I had made a mistake). But the "Run e2e2 Tests" stage took 2:50h now whereas it took 0:50h before. That's peculiar.
Unfortunately, I haven't had time to look into these things, and I likely won't have before Feb 20.

I've run performance tests against main and this branch, which some unexpected results:
Performance of this branch:
Queries sent:         2359455
Queries completed:    2359455 (100.00%)
Queries lost:         0 (0.00%)

Response codes:       NOERROR 2216757 (93.95%), SERVFAIL 188 (0.01%), NXDOMAIN 89477 (3.79%), REFUSED 53033 (2.25%)
Average packet size:  request 31, response 59
Run time (s):         47.778935
Queries per second:   49382.745764

Average Latency (s):  0.002018 (min 0.000072, max 0.011304)
Latency StdDev (s):   0.000532

Performance of main:
Queries sent:         2359455
Queries completed:    2359455 (100.00%)
Queries lost:         0 (0.00%)

Response codes:       NOERROR 2216757 (93.95%), SERVFAIL 188 (0.01%), NXDOMAIN 89477 (3.79%), REFUSED 53033 (2.25%)
Average packet size:  request 31, response 59
Run time (s):         24.540079
Queries per second:   96147.000994

Average Latency (s):  0.001027 (min 0.000018, max 0.007213)
Latency StdDev (s):   0.000244

Tests are based on real-world query data and run on my laptop.

I ran tests with dnsperf, and found all f1d531daca1cb26e90e15a5c4d97808b696507b3, 5889fc3014ee74e5613de63fc5788c954feacd10, 8f02e6b7b679b23712bfb5c5bb46ff08f353f88d, 4ddf468fa3d51d99fafec0ae24b6cd514597b4ab to have a positive impact on performance (or neutral, but expected to provide a benefit for other traffic patterns).
Disabling the packet cache (cache-ttl=0), although advised in https://doc.powerdns.com/authoritative/performance.html#packet-cache, decreased performance by about 100%.
Turning of distributor multithreading (distributor-threads=1) was found to come with a performance penalty of about 10%.
ce9a437f2154e591a434adc8d0434398ec835678 was upon @hs-viktor's request.
My assessment is that this configuration is now sufficiently tested for deployment.


stm32: uart fix pin pull-up

Is your enhancement proposal related to a problem? Please describe.

Pull-up are enable on the TX pins of stm32 uart, they are unnecessary and a waste of energy since TX pins are always driven by the peripheral.
Pull-ups are not enable on RX pins, this is a problem when the uart is not connected (a shell uart for instance).
( see defines in drivers/pinmux/stm32/pinmux_stm32).

Describe the solution you'd like
Remove pull-ups on outputs and enable pull-ups on inputs.
Describe alternatives you've considered
Enable pull-ups only on dis-connectable uart rx pins.

Good point!

Closing, cf https://github.com/zephyrproject-rtos/hal_stm32/pull/88.
Re-open if required


Octal modes

When trying to use js-git in ES6, the octal mode flags are no longer supported with a leading zero: http://www.2ality.com/2015/04/numbers-math-es6.html.
To make a portable version, I used parseInt with the radix argument: https://github.com/kmalakoff/js-git/blob/master/lib/modes.js although I'm not sure if the benefits of representing the modes in octal are worth the verbosity to make a portable version.
nodegit uses binary representations:
NodeGit.TreeEntry.FILEMODE = {
  UNREADABLE: 0,
  TREE: 16384,
  BLOB: 33188,
  EXECUTABLE: 33261,
  LINK: 40960,
  COMMIT: 57344,
};

NodeGit.Object.TYPE = {
  ANY: -2,
  BAD: -1,
  EXT1: 0,
  COMMIT: 1,
  TREE: 2,
  BLOB: 3,
  TAG: 4,
  EXT2: 5,
  OFS_DELTA: 6,
  REF_DELTA: 7,
};

What do you prefer?

By "binary" do you mean "decimal"?  Also since these are just constants, I'm fine with using parseInt.  The performance cost will be one-time for the most part.

Yeah, decimal - updated and submitted a pull request. https://github.com/creationix/js-git/pull/127


Turn AsyncPipe into mod

Turn AsyncPipe into mod

The buidld 0cf368d failed. Merging anyway with the added info in the leak test. Thanks @alfonsoros88


Add support for GitHub auth token

This adds support for BAZELISK_GITHUB_TOKEN which is a GitHub token used
for API requests when it is set. This fixes the issue of being on a
shared network and getting rate limited when using bazelisk.
Fixes https://github.com/bazelbuild/bazelisk/issues/18

Sounds great, at that point we could delete this


ASYNC jetty9-compat image - Incorrect URL generated in a compat image for login

https://accounts.google.com/ServiceLogin?
service=ah
&passive=true
&continue=https%3A%2F%2Fappengine.google.com%2F_ah%2Fconflogin%3Fcontinue%3Dhttp%3A%2F%2F0.20160126t110119.lesv-004.appspot.com%2Fguestbook.jsp
&ltmpl=gm
&shdf=ChQLEgZxxxxxxxxxxx

Using https://github.com/GoogleCloudPlatform/appengine-java-vm-guestbook-extras/
cd stage3; mvn gcloud:deploy; visit site - logout, login note URL's.
https://accounts.google.com/ServiceLogin?
service=ah
&passive=true
&continue=https%3A%2F%2Fappengine.google.com%2F_ah%2Fconflogin%3Fcontinue%3Dhttps%3A%2F%2F20160126t111625-dot-lesv-004.appspot.com%2F
&ltmpl=gm
&shdf=ChQLEgZxxxxxxx

Note - https://20160126t111625.lesv-004.appspot.com/guestbook.jsp

vi src/main/webapp/Dockerfile
add the suffix :githubheadasync to the FROM line
mvn gcloud:deploy

The Redirect URL on the ASYNC is http://0.20160126t110119.lesv-004.appspot.com/guestbook.jsp which is wrong for several reasons:
a. It's to a specific Instance
b. It's not using https
The correct redirect URL should be https://20160126t110119.lesv-004.appspot.com/guestbook.jsp

@ludoch This is IMPORTANT

For Greg, when he is back next week.

Relevant code path: https://code.google.com/p/googleappengine/source/browse/trunk/java/src/main/com/google/appengine/api/users/UserServiceImpl.java

If I add a security constraint to the web.xml of CONFIDENTIAL, this problem doesn't occur, the earlier jetty-compat didn't require this.

Interesting find about the CONFIDENTIAL bit, I wonder if its related to https://bugs.eclipse.org/486511 (recently identified and fixed in Jetty 9.3.x branches)

haha!
On Tue, Jan 26, 2016 at 6:05 PM, Joakim Erdfelt<EMAIL_ADDRESS>wrote:

Interesting find about the CONFIDENTIAL bit, I wonder if its related to
https://bugs.eclipse.org/486511 (recently identified and fixed in Jetty
9.3.x branches)
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/issues/164#issuecomment-175343016
.

I'm not due back until mid next week. But as i have torn a calf muscle and
I'm not skiing anymore and may have time for a look tomorrow.
Joakim, was that fix put into 9.3.7 for the https?
For the specific server names, does the proxy set any headers to say what
it is? If so it is easy for us to use that.  Or does it rewrite the normal
host header with a specific instance? If so then we may need to do a
rewrite filter.
Getting the full headers of a request would help.
On 27 Jan 2016 12:24 pm, "ludovic Champenois"<EMAIL_ADDRESS>wrote:

haha!
On Tue, Jan 26, 2016 at 6:05 PM, Joakim Erdfelt<EMAIL_ADDRESS>wrote:

Interesting find about the CONFIDENTIAL bit, I wonder if its related to
https://bugs.eclipse.org/486511 (recently identified and fixed in Jetty
9.3.x branches)
—
Reply to this email directly or view it on GitHub
<
https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/issues/164#issuecomment-175343016
.

—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/issues/164#issuecomment-175368501
.

@ludoch both the host name and scheme used for redirects can be affected by the proxy environment and headers injected by the proxy.   We inherited the following configuration from prior versions, but it is not currently used:
      <!-- Requests arriving through App Engine should be treated as forwarded. -->
      <Call name="addCustomizer">
        <Arg>
          <New class="org.eclipse.jetty.server.ForwardedRequestCustomizer">
            <Set name="forwardedHostHeader">Host</Set>
            <Set name="forwardedServerHeader">Host</Set>
            <Set name="forwardedForHeader">X-AppEngine-User-IP</Set>
          </New>
        </Arg>
       </Call>

This configuration doesn't look exactly right - not sure about the need to set the Host header.  Also it doesn't handle a forwarded protocol.
So I'm guessing we need to properly configure the request customization - specially if the proxy is rewriting the host header with the specific instance.   Also do we assume all requests are https or is there an indication in the headers?
I'll do some experiments to determine the headers - but it would be good to know what they are intended to be and how http vs https traffic is intended to handled/offloaded.
cheers

@lesv I just failed to reproduce with the current githubheadasync label.  All the URLs in the params looked correct.
I'll try a few more variations tomorrow.

I'll try to replicate tonight.
On Tue, Feb 2, 2016 at 10:06 AM, Greg Wilkins<EMAIL_ADDRESS>wrote:

@lesv https://github.com/lesv I just failed to reproduce with the
current githubheadasync label. All the URLs in the params looked correct.
I'll try a few more variations tomorrow.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/issues/164#issuecomment-178726274
.

--

•  *Les Vogel
•  *Cloud Developer Relations
•<EMAIL_ADDRESS>•  *+1-4 <%2B1-650-338-7103>08-676-7023

It seems to work for me now.

Nothing changed there. Weird, but glad it works
On Tue, Feb 2, 2016 at 4:11 PM, Les Vogel<EMAIL_ADDRESS>wrote:

It seems to work for me now.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/issues/164#issuecomment-178901594
.

OK I have reproduced the problem and investigated a bit more.    This version of guestbook JSP is updated to printout some extra info:
getRequestURI()=/guestbook.jsp
userService.createLogoutURL(request.getRequestURI())=http://0.20160203t071839.jetty9-work.appspot.com/_ah/logout?continue=https://www.google.com/accounts/Logout%3Fcontinue%3Dhttps://appengine.google.com/_ah/logout%253Fcontinue%253Dhttp://0.20160203t071839.jetty9-work.appspot.com/guestbook.jsp%26service%3Dah

So you can see both the wrong scheme and wrong host in the output of UserService.createLogoutURL(String).     I don't have the source for that method (links?), but I've been trying to work out if there is anything that the server is setting that might be giving the scheme/host incorrectly?
So I added a dump.jsp and DumpServlet to the webapp.  In both those, you can see the correct scheme and no mention of the instance in any host name.
Thus the scheme and host name must be derived by the UserService through some other mechanism?      I need that source before I can determine exactly what the issue is.

Sending you the info.
On Tue, Feb 2, 2016 at 10:37 PM, Greg Wilkins<EMAIL_ADDRESS>wrote:

OK I have reproduced the problem and investigated a bit more. This version
of guestbook JSP https://20160203t071839-dot-jetty9-work.appspot.com/
is updated to printout some extra info:
getRequestURI()=/guestbook.jsp
userService.createLogoutURL(request.getRequestURI())=http://0.20160203t071839.jetty9-work.appspot.com/_ah/logout?continue=https://www.google.com/accounts/Logout%3Fcontinue%3Dhttps://appengine.google.com/_ah/logout%253Fcontinue%253Dhttp://0.20160203t071839.jetty9-work.appspot.com/guestbook.jsp%26service%3Dah
So you can see both the wrong scheme and wrong host in the output of
UserService.createLogoutURL(String). I don't have the source for that
method (links?), but I've been trying to work out if there is anything that
the server is setting that might be giving the scheme/host incorrectly?
So I added a dump.jsp
https://20160203t071839-dot-jetty9-work.appspot.com/dump.jsp and
DumpServlet
https://20160203t071839-dot-jetty9-work.appspot.com/dump/info to the
webapp. In both those, you can see the correct scheme and no mention of the
instance in any host name.
Thus the scheme and host name must be derived by the UserService through
some other mechanism? I need that source before I can determine exactly
what the issue is.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/issues/164#issuecomment-179039947
.

Looking at the code, I now suspect that the wrong values are being taken from environment variables, however deployment is currently broken (I just get 503s) so I can't verify.
I'm out of time this week, but will investigate more next week.

Now you got me intrigued!!!
On Fri, Feb 5, 2016 at 1:39 AM, Greg Wilkins<EMAIL_ADDRESS>wrote:

Looking at the code, I now suspect that the wrong values are being taken
from environment variables, however deployment is currently broken (I just
get 503s) so I can't verify.
I'm out of time this week, but will investigate more next week.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/issues/164#issuecomment-180273670
.

From https://20160203t071839-dot-jetty9-work.appspot.com/SystemViewer
I see these:

System.getenv()

PATH=/usr/local/jetty/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

APPENGINE_LOADBALANCER=
MEMCACHE_ENV_DEBIAN_FRONTEND=noninteractive
RUNTIME_DIR=/var/lib/jetty
MODULE_YAML_PATH=app.yaml
MEMCACHE_PORT_11211_TCP_ADDR=<IP_ADDRESS>
GAE_LONG_APP_ID=jetty9-work
APPENGINE_LOADBALANCER_IP=
GAE_MINOR_VERSION=390434114197675026
MEMCACHE_NAME=/gaeapp/memcache
MEMCACHE_PORT=tcp://<IP_ADDRESS>:11211
SERVER_SOFTWARE=Google App Engine/1.9.32
MEMCACHE_PORT_11211_TCP_PORT=11211
GAE_MODULE_VERSION=20160203t071839
MEMCACHE_PORT_11211_TCP_PROTO=tcp
GAE_APPENGINE_HOSTNAME=jetty9-work.appspot.com
JETTY_HOME=/usr/local/jetty
GAE_VM=true
USE_MVM_AGENT=true
PWD=/var/lib/jetty
GAE_PARTITION=s
_=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
JETTY_BASE=/var/lib/jetty
GAE_MODULE_NAME=default
OLDPWD=/var/lib/jetty/webapps/root
TMPDIR=/tmp/jetty
DEBIAN_FRONTEND=noninteractive
HOSTNAME=4decf4ae8b8b
GAE_MODULE_INSTANCE=0
MEMCACHE_PORT_11211_TCP=tcp://<IP_ADDRESS>:11211
GAE_AFFINITY=true
HOME=/root
SHLVL=1

On Fri, Feb 5, 2016 at 7:59 AM, Ludovic Champenois <
<EMAIL_ADDRESS>wrote:

Now you got me intrigued!!!
On Fri, Feb 5, 2016 at 1:39 AM, Greg Wilkins<EMAIL_ADDRESS>wrote:

Looking at the code, I now suspect that the wrong values are being taken
from environment variables, however deployment is currently broken (I just
get 503s) so I can't verify.
I'm out of time this week, but will investigate more next week.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/issues/164#issuecomment-180273670
.

Ah - I've been misreading the code and the host/port it was looking up were for the API server, not the HTTP server (looked for in API_HOST and API_PORT).
But interesting that GAE_MODULE_INSTANCE=0 is there as that is so far the only indication of the instance itself.   So if the URL is being generated incorrectly due to something in compat, then it could be based on GAE_MODULE_INSTANCE, which is definitely read by the VmApiProxyEnvironment.
Hmmm but that is going to be the same for the default environment and the per request environment, so I don't see how the async changes can affect that.... and tracing it through to com.google.apphosting.vmruntime.VmApiProxyDelegate.createRequest(VmApiProxyEnvironment, String, String, byte[], int)  I can see that the environment instance is not encoded into the API request.
So I think the env stuff is a red herring.    I can't see how client side can effect the instance being put into the UserService URLs.  I think we need to see the server side code.

Yes, Filing an internal bug.
On Fri, Feb 5, 2016 at 1:32 PM, Greg Wilkins<EMAIL_ADDRESS>wrote:

Ah - I've been misreading the code and the host/port it was looking up
were for the API server, not the HTTP server (looked for in API_HOST and
API_PORT).
But interesting that GAE_MODULE_INSTANCE=0 is there as that is so far the
only indication of the instance itself. So if the URL is being generated
incorrectly due to something in compat, then it could be based on
GAE_MODULE_INSTANCE, which is definitely read by the VmApiProxyEnvironment.
Hmmm but that is going to be the same for the default environment and the
per request environment, so I don't see how the async changes can affect
that.... and tracing it through to
com.google.apphosting.vmruntime.VmApiProxyDelegate.createRequest(VmApiProxyEnvironment,
String, String, byte[], int) I can see that the environment instance is not
encoded into the API request.
So I think the env stuff is a red herring. I can't see how client side can
effect the instance being put into the UserService URLs. I think we need to
see the server side code.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/issues/164#issuecomment-180563595
.

https://lesv-004.appspot.com starts with https and sign in link.
Sign in, then
you go to http://0.20160211t173320.lesv-004.appspot.com/guestbook.jsp
which is now https... So same bug

sample deployed with
FROM gcr.io/google_appengine/jetty9-compat:ludoticketoldjetty

I confirm I can reproduce with the image from head just modified to use the global API ticket, so this is not related to the ASYNC branch... It has to be on the server impl for the user service via this global ticket.

@ludoch
I've made some progress on the UserService workaround, but it needs more work.
The workaround makes the RPC call, then takes the resulting URL and fixes the scheme and host.   That part works fine!  BUT the resulting URL actually contains nested URLs (2 deep) as URL parameters of URL parameters! eg.
getRequestURI()=/guestbook.jsp
userService.createLogoutURL(request.getRequestURI())=https://jetty9-work.appspot.com/_ah/logout?continue=https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout%253Fcontinue%253Dhttp://0.20160222t120239.jetty9-work.appspot.com/guestbook.jsp&service=ah

So to really work around this, I'm going to have to delve deep into the resulting URL looking for nested URLs.  It also will need conversion of hosts
like 0.123456.jetty9-work.appspot.com, not just to 123456.jetty9-work.appspot.com, but to 123456-dot-jetty9-work.appspot.com.
Doable, but either complex to be general or very specific to this particular form of URL (and thus fragile).
I guess we don't have any idea when a server side fix will come?  Or is there any indication of why the async branch is tickling this bug when master is not???      Shall I proceed or hold?  Also what form of env variable do you want if I proceed? something to turn it on, or something to turn it off?

No eta on our side, but I am putting more pressure as it can be seen in
Python as well. This is really because of this new global API ticket value.
When the ticket comes from the http header, the API works. Master is using
the header value of the ticket.
Do not put too much effort on it and treat is as a hack that may allow us
to have more usage, and find other bugs down the road.
I would turn the hack on by default.
On Mon, Feb 22, 2016 at 3:55 AM, Greg Wilkins<EMAIL_ADDRESS>wrote:

@ludoch https://github.com/ludoch
I've made some progress on the UserService workaround
https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/compare/async-support...jetty-project:async-support-hacked,
but it needs more work.
The workaround makes the RPC call, then takes the resulting URL and fixes
the scheme and host. That part works fine! BUT the resulting URL actually
contains nested URLs (2 deep) as URL parameters of URL parameters! eg.
getRequestURI()=/guestbook.jsp
userService.createLogoutURL(request.getRequestURI())=https://jetty9-work.appspot.com/_ah/logout?continue=https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout%253Fcontinue%253Dhttp://0.20160222t120239.jetty9-work.appspot.com/guestbook.jsp&service=ah
So to really work around this, I'm going to have to delve deep into the
resulting URL looking for nested URLs. It also will need conversion of hosts
like 0.123456.jetty9-work.appspot.com, not just to
123456.jetty9-work.appspot.com, but to 123456-dot-jetty9-work.appspot.com.
Doable, but either complex to be general or very specific to this
particular form of URL (and thus fragile).
I guess we don't have any idea when a server side fix will come? Or is
there any indication of why the async branch is tickling this bug when
master is not??? Shall I proceed or hold? Also what form of env variable do
you want if I proceed? something to turn it on, or something to turn it off?
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/issues/164#issuecomment-187140868
.

Ah - and we can't switch to using the header value of the ticket, as it is not valid after the response is committed.... and since we are no longer using the delayed response technique, the commit can come before our API usage.
OK, I'll do a very hacky string substitution!

Closing for now. We will remove the workaround when needed.


flutter-3.22.2-null-safety-and-deprecated-theme-background-fix

This fork combines the fixes from the following pull requests:
kenjishiromajp:kenjishiromajp-update-for-2.12-null-safety-casting: Dn-a#69
Smibser:fix-deprectaed-theme-backgroundColor:
Dn-a#82

Until this change is merged, you may use the following workaround in your pubspec.yaml file:
  flutter_inner_drawer:      git:       url: https://github.com/amerchDev/flutter_inner_drawer.git       ref: flutter-3.22.2-null-safety-and-deprecated-theme-background-fix


SSDT SqlTasks.targets generate spurious 'High importance' logs

I realise that this bug is probably a little OT.. but SSDT doesn't have a repository to log a bug against.. and it does impact my msbuild scripts...
Steps to reproduce
Add an SSDT (sqlproj) project to the solution. run the build step. sqlproj outputs messages that aren't that interesting or necessary even though I've set my build to minimal verbosity.
Command line
msbuild x.sln /v:minimal

Expected  behavior
I don't want any 'info' type logging to be output
Actual behavior
The following messages are output:

Creating a model to represent the project...
Loading project references...
Loading project files...
Building the project model and resolving object interdependencies...
Validating the project model...
Writing model to  ... \Model.xml...

I have tracked down the issue to Microsoft.Data.Tools.Schema.Tasks.Sql.TaskHostLoader.LogMessage(), which is passing 0 as the importance level, which is mapped to 'High'..
internal static void LogMessage(TaskLoggingHelper providedLogger, string msg)
{
    providedLogger.LogMessage(0, msg, Array.Empty<object>());
}

This means that all logging from within SSDT is highly important, which it definitely is not..

Please file a VS Feedback ticket through Visual Studio and this can then be routed to the right team internally. Even if it is for SSDT.


E-Board page only missing final content and Become a member first section done

Second attempt to get Vercel to recognize last commit


Picker: text property does not work on Android

iOS implemented a getter for the text property, but Android did not. However, we should implement this getter in JavaScript based on the index. Since the text cannot change on the client, we don't need to obtain the value from the client.

On iOS, any property you can setyou can also get. There is no "special" getter implemented.

Picker does not support a text property (anymore?).

text is now called selection and it's implemented as suggested.


use queueMicrotask instead of process.nextTick

Replaced process.nextTick with queueMicrotask, since there was no direct reason to use nextTick, based my decision on https://nodejs.org/api/process.html#process_when_to_use_queuemicrotask_vs_process_nexttick
The problem is with process's browserified version of process.nextTick. It uses a setTimeout(fn, 0) as a fallback, this is a major performance issue with large amounts of data and calls.

Nice! I’ll review and merge this, this week

Nice! I’ll review and merge this, this week

sweet, if this actually breaks something we could use the https://www.npmjs.com/package/process-fast package as a polyfill instead

Perfect! Will merge and release later

@ThaUnknown anyway you can rebase master on here? I updated the node versions, just so we know it passes CI

@ThaUnknown anyway you can rebase master on here? I updated the node versions, just so we know it passes CI

sorry, saw this a bit late, merged master into my branch

Thanks! Running CI...

2.11.0

\o/


Laut.fm - General ICY discussion. How to get metadata to oOPlayer and other devices and services

The metadata from Laut is sent to the client via ICY headers.
I have not yet managed to find out how to extract the metadata from the stream file. Because they don't arrive in the browser. And even VLC has problems with https streams from Laut and other servers that use ICY. For this reason, the player pulls all metadata from the API. Whether it's displaying the metadata, forwarding it to the operating system or forwarding it to Chromecast via Cast. The metadata here always comes from the Laut.fm API and was queried via JavaScript in addition to the media file. The reason for this is the way in which the metadata is transferred. This is incompatible with HTML5 Player, which is the basis for Chrome Player and also for Chromecast Player. They cannot do anything with ICY - otherwise the metadata would be transferred there automatically.
I ask for your patience and, if I may, also for support from people who are familiar with this.

When you press the Cast button, the following currently happens: The Chromecast is addressed, provided with the metadata and a cover. After that, there is technically still a connection to the browser, but that's actually it. Chromecast takes care of the playback itself.
However, I am now faced with the problem that the file that the Chromecast plays does not have compatible metadata. This means that I have to pass the data via the API, and casting doesn't actually work in this way.
So please be patient or give me tips if you have them.


Add tables section with all the JS/CSS

Please add the tables section with all the JS and CSS files. (PIP version too).

Hi, thanks for the issue. I think I just need a little more detail. In particular, which specific files do you feel are missing?

Closing due to inactivity, feel free to reopen if you come back to this though.
Also, I've just released 0.2.0 to pypi.

All the css and JS files, that are for representing tables section. Please check Your version and the original one.


Feature/daef 540 Setup HTTPS/TLS with Mantis

This PR introduces Mantis HTTPS/TLS setup.

Details for setting up Mantis with TLS can be found on Youtrack: https://iohk.myjetbrains.com/youtrack/issue/DAEF-540


sass 'use', netlify CSP, css syntax, min_version

Updated sass to @use instead of @import import deprecated
Update theme.toml min_version to 0.17.0 (to support @use)
Added imgur to CSP img-src (The Cat picture)
Use CSS syntax (otherwise unsafe-inline is required under style-src)

I just realised and for the other PR I just merged, what's this charcoal syntax file?

its a syntax file converted to css from the .tmTheme, and then adjusted to be useable as mixins.
If you have a prefered syntax theme just let me know which one and I will convert it to css, and adjust it to work as a mixin.

I just pushed a different theme, this is the one I use primarily on Abridge, its a little larger in file size, but has more highlights.

I think I covered all the information on what it is and why it is there. Let me know how you would like to proceed and I can submit a commit here and a pull request on the other 2 themes I recently contributed to.

Side note, I got an idea while thinking about and writing these replies. I am thinking adjust the syntax files to use variables for the colors, then it would be easier to change some of the colors in the syntax file, just added this to my todo list for abridge.

It's a bit harder. It's roughly the way it would be if we were using vscode themes I think, or at least how I would want them to work.

In vscode, do you use the default vscode theme? (if not what theme do you use for vscode?)

In vscode, do you use the default vscode theme? (if not what theme do you use for vscode?)
I am going to see how close I can get it to looking like vscode, and I am going to do so using variables in the most clean way that I can.
When I first implemented the syntax theme files I simply tried a bunch of them and picked the ones that looked good, without really worrying about any bloat they might have.

LOL! me neither, I first installed it when you shared your screenshots in the treesitter thread.

I got the bulk of the work done, as you are already well aware, it is simply not possible to make it look exactly like vscode, but now the syntax file in abridge uses a handful of variables, so swapping or adjusting colors is much easier:
https://github.com/Jieiku/abridge/issues/117

It's ok, no need to try to be too similar since the highlighter works differently


Add syntax highlighting for viewing source files - fix #82

Resolves: #82
Currently, unpkg is just serving the source files as plain text, as here:

Being able to view the files with syntax highlighting would be really nice and convinient. That's why I, subsequently to #82 , implemented syntax highlighting using highlight.js.
I personally like the default theme, but we can also change it to dracula or something else.
Now, it looks like this:

Hey @flxwu, thanks for the PR :)
We need to be careful we don't serve HTML files when people are expecting JavaScript files. Currently, at that URL we serve a JavaScript file. But in order to do syntax highlighting we'll need to serve an HTML file. So we'll need a different URL.
Maybe a ?html or ?page query parameter?

@mjackson I now made it return the html page if a ?html param is given, otherwise it will just return the javascript or css or whatever file the client requests. Also documented it in the README

About the theme, what about adding another get parameter to specify it? (e.g. ?html&theme=darcula). It is just a matter of parsing another get parameter instead of hardcoding the default style, and it will definitely be useful for a lot of people

Done :+1: @mjackson

@mjackson Did you rereview it? :)

Suggestion: use ?source instead of ?html.

Looks like this PR is pretty stale. Closing.


Add instrumentation when using Starlette / FastAPI

Add instrumentation when using Starlette / FastAPI
After been puzzled for ages trying to get Starlette set up, not understanding why it didn't really add instrumentation for anything but the request itself, it seems this was never added.
I haven't contributed to this project before, but I assume you're accepting community PRs.
I've looked through the other framework implementation tests, and can't see any tests for this in those, so I haven't touched those.
What should this be categories as in the change log?

I realise now that I missed that an issue should be created before submitting a PR; let me know if I should create a separate issue to track this. Sorry!


Improve wind resource option labels, documentation and defaults

Add description of wind resource distribution table option to Help.

Better defaults for speed/direction distribution table to illustrate how the table works.

Rename options for clarity:

Name options (note that distribution table is for both speed an direction):
Choose Wind Resource File
Define Wind Speed Weibull Distribution
Define Wind Resource Distribution
Other options that are consistent with the other names might be:
Wind Speed Distribution Table
Wind Resource Distribution Table
Wind Speed Probability Table
Also note related issue on Wind UI forms: https://github.com/NREL/SAM/issues/533

Here’s a 2d histogram for the default wind file of WY – Southern Flat Lands with 4 bins where the speed and dir values are the middle value of the bin. So for the first bin, the speed goes from 0 - 6.0445 m/s and the dir from 0 – 90.

Speed
Dir
Probability

3.1185
45
3.44E-02

9.1355
45
1.72E-02

15.1525
45
4.57E-04

21.1695
45
0.00E+00

3.1185
135
4.68E-02

9.1355
135
5.91E-02

15.1525
135
3.20E-03

21.1695
135
1.14E-04

3.1185
225
6.38E-02

9.1355
225
2.82E-01

15.1525
225
2.63E-01

21.1695
225
4.87E-02

3.1185
315
6.24E-02

9.1355
315
9.74E-02

15.1525
315
2.05E-02

21.1695
315
1.03E-03


ERROR: configmaps "werf-synchronization" not found during deploy process

Before proceeding

[X] I didn't find a similar issue

Version
v2.10.5
How to reproduce
Good afternoon, when executing the command
werf dismiss --with-namespace
Result
I get the following error
┌ Waiting for resources elimination: namespaces/test-app
ERROR: lock server responds with an error: cannot get /v1, Resource=configmaps by name “werf-synchronization”: configmaps “werf-synchronization” not found
└ Waiting for resources elimination: namespaces/test-app (33.11 seconds)

release "test-app" uninstalled
Deleted release "test-app" (namespace: "test-app")
ERROR: unable to release lock 18142b4e-69a9-4b41-9342-5c228c06e99b release/test-app: cannot get /v1, Resource=configmaps by name "werf-synchronization": configmaps "werf-synchronization" not found
Retrying in 1 seconds (1/10) ...
ERROR: unable to release lock 18142b4e-69a9-4b41-9342-5c228c06e99b release/test-app: unknown id "18142b4e-69a9-4b41-9342-5c228c06e99b" for lock "release/test-app"
Retrying in 7 seconds (2/10) ...
ERROR: unable to release lock 18142b4e-69a9-4b41-9342-5c228c06e99b release/test-app: unknown id "18142b4e-69a9-4b41-9342-5c228c06e99b" for lock "release/test-app"
Retrying in 6 seconds (3/10) ...
ERROR: unable to release lock 18142b4e-69a9-4b41-9342-5c228c06e99b release/test-app: unknown id "18142b4e-69a9-4b41-9342-5c228c06e99b" for lock "release/test-app"
Retrying in 8 seconds (4/10) ...
ERROR: unable to release lock 18142b4e-69a9-4b41-9342-5c228c06e99b release/test-app: unknown id "18142b4e-69a9-4b41-9342-5c228c06e99b" for lock "release/test-app"
Retrying in 0 seconds (5/10) ...
ERROR: unable to release lock 18142b4e-69a9-4b41-9342-5c228c06e99b release/test-app: unknown id "18142b4e-69a9-4b41-9342-5c228c06e99b" for lock "release/test-app"
Retrying in 4 seconds (6/10) ...
ERROR: unable to release lock 18142b4e-69a9-4b41-9342-5c228c06e99b release/test-app: unknown id "18142b4e-69a9-4b41-9342-5c228c06e99b" for lock "release/test-app"
Retrying in 1 seconds (7/10) ...
ERROR: unable to release lock 18142b4e-69a9-4b41-9342-5c228c06e99b release/test-app: unknown id "18142b4e-69a9-4b41-9342-5c228c06e99b" for lock "release/test-app"
Retrying in 8 seconds (8/10) ...
ERROR: unable to release lock 18142b4e-69a9-4b41-9342-5c228c06e99b release/test-app: unknown id "18142b4e-69a9-4b41-9342-5c228c06e99b" for lock "release/test-app"
Retrying in 6 seconds (9/10) ...
ERROR: unable to release lock 18142b4e-69a9-4b41-9342-5c228c06e99b release/test-app: unknown id "18142b4e-69a9-4b41-9342-5c228c06e99b" for lock "release/test-app"
Running time 86.35 seconds

Expected result
successful operation
Additional information
use rke2 v1.27.11+rke2r1

Thank you for your feedback and the provided details.
We are aware of the regression in this functionality and will work on resolving it.


Kolibri Windows installer: "Kolibri application already running"

Reporter is unable to run kolibri manage createsuperuser

Needs investigation quickly as it reportedly blocks usage on Windows.

Hi @benjaoming thanks for reporting this. I will work on it.

Hi @benjaoming I think you're looking at the wrong Kolibri exe file. The exe file you're using is the kolibri windows application. Use this exe path C:\Python34\Scripts\kolibri.exe to create a superuser.

Hi @mrpau-richard - I didn't report this :)
But BP Panwar updated us by email:

Thank you for testing the issue on your PC and sending me the screenshot.  Your screenshot helped me to find the root cause of this problem.  I noticed that you have two copies of the Kolibri.exe.  One is in the folder "C:\Program Files\Kolibri" created on 24th October 2016 and another one is in folder C:\Python34.   As the Kolibri server is running from C:\Program Files\Kolibri\Kolibri.exe", I was trying to run the Kolibri with the parameters to create additional ‘superuser’ from the same folder. However after seeing the screenshot from you, I tried to run the Kolibri from the folder C:\Python34\Scripts and managed to create the additional superuser.

Does the update indicate that this is not an issue?

@benjaoming Yeah, I think this was not an issue. closing this.


Blazor's Individual Identity does not display login page after changing from defaultUI

Describe the bug
On a new blazor project if you change services.AddDefaultIdentity to services.AddIdentity,
the link to login/register page does not work
To Reproduce
Create a new Blazor Server Project with Authentication as Individual USer Account
Go to startup.cs
change the adddefaultidentity to
services.AddIdentity<IdentityUser,IdentityRole>()
Run application and navigate to login page.

@bhrugen thanks for contacting us.
That's by design.
You are removing the UI, so unless you scaffold it there's no UI for the links to go to.

Even after scaffolding the UI it gives the same error.

@HaoK can you take a look? Maybe there's a step missing we need to add to the docs?


Add support for reading pod logs

Will be helpful to have functions that can fetch pod logs, it will simplify test cases when is required to identify if the application started correctly or not

Released in https://github.com/gruntwork-io/terratest/releases/tag/v0.41.10


conditional-rendering

This PR completes the translation of @black-sheep777 (#47)

@sorousht I appreciate your help. I'm kinda new to this PR thing, should I wait for the 3rd reviewer or proceed with changing the translation & making a new PR?

@black-sheep777 You did not show up since you submitted your PR #47. So I had to close that and opened a new one in order to continue your translation. Now It's almost done. If you have any comment on this page, please leave your comments here, otherwise, if you are interested in translating another page, write a comment on issue #1, then I will assign the desired page to you.


Exception Thrown: System.ArgumentNullException when Running the WebSocketExample

Hi! I was just checking out your WebSocketExample repo. Looks like a great job!
When trying to run the WebSocketExample project, this line triggers a System.ArgumentNullException exception:
if (context.Request.AcceptTypes.Contains("text/html"))

At that point context.request.AcceptTypes is null
Here is the locals window at that point in time:

Sorry I took so long to reply, I've been heavily tied up on some other projects.
I'm surprised Accept is missing, that's about as basic and standard as headers get in HTTP! Technically there are probably other possible problems in that super-simplified code, for example */* is a common Accept header value, too.
Can you tell me more about the scenario you're testing? I see AppleWebKit in the UserAgent, are you running this on a Mac with Safari maybe? I'm not really set up to test with that, but I just pulled down the code and updated the Kestrel project and the newer console project to .NET 3.1. When I wrote the article I was using Chrome on Win10, and now I've switched to Firefox. Both a browser client and the console project are still working normally.


Update DELETE /dp/v1/dataset/{dataset_uuid}

Need
The frontend needs an endpoint to delete a dataset that has been uploaded to the data-portal.
Approach
Update DELETE /dp/v1/dataset/{dataset_uuid} to delete a dataset even if it has already finished uploading

Make the dataset unreachable by users through the backend API.
delete all of its conversions (CXG, .rds, .loom, etc), if the upload has already completed. An upload is completed when all of the conversions are either Failed or Converted
Delete all artifacts, deployment_directories, and processing_status from the database.
The dataset will no longer appear in the list of datasets in a Collection.
Only datasets that are apart of a private collection can be deleted
DELETE /dp/v1/dataset/{dataset_uuid} always returns 202 even if the dataset does not exists or has been tombstoned.

Definition of Done

Tombstoned Datasets that were in the collection are not retrieved with GET collection/{collection_id}.
Artifacts cannot be download from direct links
Get dataset/status returns 403 for a deleted dataset
DELETE /dp/v1/dataset/{dataset_uuid}  returns 202

Hi @MDunitz ! Just wanted to double check to make sure that after completing this ticket, a user will be able to cancel/delete the dataset in any of the following phases:

Uploading
Validating
Converting
Converted

And the first one should be working already, and this ticket will cover the rest of the phases?
Thank you!
CC: @mckinsel @brianraymor

The work in this ticket is somewhat blocked/dependent on work done in https://app.zenhub.com/workspaces/single-cell-5e2a191dad828d52cc78b028/issues/chanzuckerberg/corpora-data-portal/875 to prevent race conditions during cancellation. Work to close that ticket will be included in the work closing this ticket leading to somewhat longer than expected dev time.