Print top 5 smells when failing on threshold

When detekt build fails due to threshold (see maxIssues), the concluding error message does not help you find what got you over the threshold. Instead, it sends you to go over the log, and look for issues found.
This has two problems:

The build log can be very long, and it may take time to go over it
I case you have many existing issues with small weight, and one new issue with big weight - it becomes a search for a needle in a hay-stack.

I'll elaborate on problem 2:
Background
In my team, adoption of Detekt is slow. There are some that embrace Detekt, some that are indifferent, and some who would rather see it removed. The main issue is the question "what rules should we adopt?", combined with the fact that when we added Detekt we already had thousands of warnings.
So after tweaking and disabling some rules, and adding some custom ones, we now have ±500.
But we still don't want to fail the build over any minor issue that is yet in dissagreement.
So the solution was to pick a few that we consider critical (all of them custom rules that reveal a certain bug), give them
weight 10001, and set the threshold to 10000.
Problem
Now the build fails only on these "critical" issues, but when it does - it's hard to tell by the build's log.
Running the plugin in IntelliJ helps, but it's another step to take, and you'd have to make sure you're on the exact commit etc.
Solution
What this commit aims to do, is change the print in case of threshold-failure, to something like this:
Build failed with 300 weighted issues. Top 5:
  10001      ExpectWithoutToBe   /src/test/foo/BarTest.kt:56
  1          MaximumLineLength   /src/main/foo/Bar.kt:145
  1          MaximumLineLength   /src/main/foo/Qux.kt:172
  1          ComplexCondition    /src/main/foo/Quux.kt:172
  1          LongMethod          /src/main/foo/Quuz.kt:172

Now the user knows immediately exactly what broke the build
I didn't know about custom reports API when I wrote this,
but I think this is a reasonable default format for this message - I think everyone can benefit from it. I'm guessing there are other Detekt users that use the threshold mechanism in a similar way.

Could you explain the reason of this PR? Do you know the custom reports API? Isn't it enough for your use case? What do you miss in it?

Could you explain the reason of this PR? Do you know the custom reports API? Isn't it enough for your use case? What do you miss in it?

Thanks!
I didn't know about custom reports API when I wrote this,
but I think this is a reasonable default format for this message - I think everyone can benefit from it. I'm guessing there are other Detekt users that use the threshold mechanism in a similar way.

(I still need to fix and add tests)

@BraisGabin -
Does the idea of this PR sound reasonable?
Would it be accepted, once I fix everything and add tests?
I want to know if to invest in this.
If you give me a general OK, I'll fix and add tests, and ask for review when done.

I think that we don't need this new report. Right now the html report shows the number of fails for each rule. It's not sorted by that number but we could add some javascript to the report to get that behaviour. Somthing like:
Sort by:

set/rule (alphabetic)
rule (number of issues)
files (this would be out of the scope of this issue but I think that it could be useful too)

I see the point to have a report like yours in some projects but I don't think it would be used that much to add it in the main project.
Kind of related with #3668 (not the same feature but they are similar)
I'd like to know the opinion of other maintainers too.

this report style would be great!

I would vote for using a custom extension to configure the report - Every team would like to customize the console output like https://github.com/detekt/detekt/issues/3423.
If your codebase has too many violations, I would suggest disabling those rules with extensive violations in the beginning, then enabling them slowly. This process is quite a chore, so my team set the Detekt upgrading policy by every time we need to upgrade Android Gradle Plugin.

Additionally, top 5 smells do not work really well with per-module / per-variant detekt, as there can be several Detekt gradle tasks that failed and we would print top 5 smells multiple times in the console.

Thanks for the proposal but for the reasons explained above I'm going to close this. I think that this is a perfect example for a custom report. If you create it, please let us know so we can link it so other people with the same needs can find it.


nginx version update to close security vulnerability

Hi,
as we are scanning all our VMs with a nessus scanner we saw the following critical security warning for the cf redis broker VM:
nginx 0.6.x < 1.20.1 1-Byte Memory Overwrite RCE	Web Servers	Critical	0	Yes	"Path
This vulnerability has been fixed in nginx versions 1.20.1 / 1.21.0.
Right now the release uses the old 1.16.1 version.
Could you bump the nginx package/blob to the latest nginx version to close this vulnerability please?
In addition: What are the plans for this BOSH release? Is it still actively maintained and updated?
Kind regards and thanks in advance
Julian

Hi @julweber, sorry for the late response.
Nginx package/blob has been updated to 1.21.6 and yes this BOSH release is still actively updated and maintained.


Show GPU models in bids

With bid attributes supported https://github.com/akash-network/support/issues/124 we should display GPU model type and any other available attributes in the bid requests in cloudmos

#59


unable to add creators to a specific dataset

Describe the improvement
We are unable to add a creator to the record https://backend.biblio.ugent.be/dataset/8649002. For other records, this issue did not occur.
The popup shown in the screenshot remains after clicking "Add". It is not specific to the creator added, nor whether it is a UGent or an external creator.
Screenshots

indeed fixed. I was able to add the missing creator to the dataset and publish the dataset.


At the locales replaced 6 with MIN_PASSWORD_LENGTH

LGTM

LGTM

Is this a bug? @Bwko If it's a bug, please send also to release/v1.0. Thanks!

@lunny done #501


https://novelsparadise.net/

Source information
Hmm
Steps to reproduce
X123
Expected behavior
Iii
Actual behavior
No
LNReader version
124
Android version
Android 11
Other details
Hmmmmm1
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 1.1.12.
[X] I have updated all installed extensions.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

Uuikqbqm khwkwn


Deleting a library in library list doesn't remove the library from the library list

https://github.com/IBM/vscode-ibmi-projectexplorer/assets/42983653/9a2e1047-bd9e-4f5f-a496-9f169eb80da5

@SanjulaGanepola Sanjula confirms that there is missing functionality to update the iproj.json when deleting or renaming a library.  The view reflects iproj.json and therefore still shows the old library


MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences)

I think this may have been caused by a flutter upgrade.  I tried downgrading to the stable channel but the issue persisted.
I tried changing to an Alpha Android Studio, predictably no change with that.
I've tried various ideas such as running the app from the command line using --noshrink
I began the app so long ago, perhaps April, so I tried create a brand new Flutter project and pasting the dart files across, the issue persists.
I've tried cleaning flutter, redownloading the sdk etc from the command line.
Any suggestions welcomed.  Lost much productivity on this, frustrating!
x
Sam

OK this is now solved, sorry.
I removed Facebook Auth.  For Facebook login.  Jesus, so glad it's working again! :)

OK this is now solved, sorry.
I removed Facebook Auth.  For Facebook login.  Jesus, so glad it's working again! :)


Guest has not initialized the display (yet)

I get this message
Left it for an hour!!!
Worked about 3 weeks ago, not working now

same here.
when using the UEFI Bios the vm does not start but uses 90-100% cpu.

I am getting the same, it just sits and will not start up, I have tried changing the drive to IDE etc and bios  but nothing will make it boot

Unfortunately I have the same problem.

Sorry for the double post!
I have found today an update in the Proxmox! After the installation of these updates, I have retried the execution of the script and NOW works!

Yes - update, then script works


SDAP-208 ICOADS plugin misconfiguration

I think the wrong document fields were being used for the Solr query.

Looks good.


Worked on the iCarousel features

Verified the code and merged with the master

Verified and merged with the master


[GithubActions] add date information to cache to get daily versions

This PR adds date tag on cache to get daily builds for the html preview mechanism.

addresses: https://github.com/QuantEcon/lecture-python-website/issues/59


Error in Godot physics. "Dancing" box.

Godot version: 3.1.alpha.custom_build.8068d02
Win 7x64, GeForce 960 GTX, Bullet
Issue description:
I maked simple scene with a box. Player push a box and it have down on the floor
and begin "to dance".
Video: https://youtu.be/Pq3F3nAK7do
Steps to reproduce:

Press F5 to start game.
Go to the box.
Push them on the floor.
Box begin "to dance"

Demo project:
FPS.zip

I'm pretty sure this has to do with three points:

Scaled rigidbodies
Convex collisionshape for the floor
Generated trimesh collisionshape for the stairs

Just the same project without scaled rigidbodies, a boxed collisionshape for the floor and a convex collisionshape for the stairs:
FPS.zip

@pwab, you are right.
Problem is collision shape of floor and stairs. But there are problem with a box: space between box and stairs. I set simple box collision. I played with settings. Nothing. :(

Can you check with current master please #cff89fc ? I think that this #22759 PR fix this issue

I test latest master branch. The problem still exists.
Video: https://youtu.be/_3qeaPDnSOI
FPS.zip

From the video doesn't seems that the box bounces

doesn't seems that the box bounces

LGTM, checked master with Linux and that's right.

From the video doesn't seems that the box bounces
Yes. This problem solved. But there are problem of margin collision shape. In video that seems.

Oh ok, Ther's another issue open for the margin so feel free to close this one

Ok. Thanks


Manage e-mail confirmation link does not work at all

Cannot associate mail addresses any more.
I removed the previous mail association.
Note that I had to do this multiple times, as the deletion did not appear to take.
Perhaps there were multiple entries for the same address?
Now I cannot add the association for the same e-mail address.
I get the mail, but the link is rejected with the message:
"Either you supplied an invalid hash or something else went wrong."
Same happened with an email address that I have not yet used with Pony Mail

This appears to be due to the following line:
if v and (not v == JSON.null) and v.hash == get.hash then
It looks like 'not' binds tighter than '==' [1]
It should probably be
if v and not (v == JSON.null) and v.hash == get.hash then
[1] https://www.lua.org/pil/3.5.html


:bug:  Fix bugs in the resource controller

Signed-off-by: David Festal<EMAIL_ADDRESS>Summary
This PR fixes several bugs in the resource controller:

We should not add the RequestState label to Sync for a SyncTarget when the namespace already has the deletion annotation for this SyncTarget. It doesn't make sense to start syncing a resource to a SyncTarget while the intent already expressed on the namespace is to delete all resources from this SyncTarget
Additional small fixes in the resource computePlacement function.

See the individual commits for more information
Related issue(s)
Bugs spotted while debugging the Syncer Virtual Transformations e2e test

Needs better commit message.
Are these two changes or one?

Some nits about better go docs. Don't document the obvious. Document more high level what the loops do instead of every line.
/lgtm
/approve

/lgtm
/approve

@davidfestal is there any thing for QE to validate here ? Any user facing change or functionality impact that we need to look at ? thanks !!


fix syntax errors

I'm sorry. In previous PR, there was syntaxt error on proxy.go codes.
Because, latest master branch has removed a function and changed some function parameter types.
So, I will fix proxy.go file for the golang/crypto latest.

wip now...

@tsurubee
Can I get a review for fix previous PR's problem? 🙏

Thank you for your great work!


How to block accounting.formatMoney() rounding

Hi
I'm using accounting.formatMoney() function. I want to write a number as € 1,119 but it's rounding 1,120 how to disable this ?
accounting.formatMoney(1,119, '€', 3, '.', ',');
Thanks

This lib is not maintained. Please refer to my lightweight alternative that supports all that: https://github.com/zdanowiczkonrad/number-currency-format - look for the showDecimals: "AS_IS" option.


BatchUpdate no longer working with EFCore 2.1 Preview

EF Core merged a PR in December that broke Batch Update in EntityFramework-Plus.
Here is the commit in question.
Looking at the code it appears as though this is the offending line

The NodeTypeProvider was refactored out to the QueryProcessor, so another call will be required to reference it.
Thanks!

Hello @hhorton2 ,
Thank you for letting us know.
We will look at it,
Best Regards,
Jonathan

Hello @hhorton2 ,
We looking at it and made a fix according to this PR but it looks the code has already changed a lot and the IQueryProcessor has already been removed from the latest preview build.
We have chosen to not anymore support preview release but only stable release.
Feel free to hit us again with this request when the stable will be released.
Best Regards,
Jonathan

That sounds reasonable! Just thought I would give you a heads up. 2.1 will most likely be in preview for another couple months though. Thanks for looking into it.


chore: update ng cli, make e2e run sucessfully

Bump the CLI version so that ng e2e surfaces the correct error code
Doubles the default protractor timeouts
Remove e2e-specific stuff from button demo.
Removed the a11y checks, which need to be added back later once the a11y plugin supports passing a configuration through to the underlying AXS.

R: @robertmesserle @hansl

LGTM


create_render_pipeline needs target blend to be optional

An arguably poor WebGPU API design, a RenderPipelineDescriptor color target determines if blending is enabled or disabled by the existence of the BlendState member in the ColorTargetState dictionary. If 'blend' is defined, then blending is enabled even if set to ONE,ZERO. If 'blend' is not included, blending is disabled.
Currently wgpuReadRenderPipelineDescriptor always sets the BlendState, so blending is always enabled. Some color target formats don't allow blending, so these color targets don't work with the way wgpuReadRenderPipelineDescriptor constructs the RenderPipelineDescriptor.

For now, I locally changed wgpuReadRenderPipelineDescriptor so that if the blend.color.operator is set to WGPU_BLEND_OPERATION_INVALID, it skips adding the BlendState to the descriptor, disabling blending.

Thanks, should be fixed in above commit. First opted to add an explicit blendEnabled field to enable alpha blending, because there's both color and alpha blend ops, but on further thought, it reads simpler to C/C++ code to set blend.color.operation = WGPU_BLEND_OPERATION_DISABLED or blend.color.operation = WGPU_BLEND_OPERATION_ADD to control alpha blending, rather than to manage two different fields to control alpha blending. (even though that will read a bit like enabling the color operation will also control the enabling of alpha operation, but that should be ok since those two can never be independently enabled/disabled anyways).


hysteric assault damage missing

When using hysteric assault, the BP damage does not seem to register at all.

What does the line in your chat log say when it shows damage? I can use
that to try and find the action packet.
On Mon, Nov 30, 2020 at 9:34 PM Kennochas<EMAIL_ADDRESS>wrote:

When using hysteric assault, the BP damage does not seem to register at
all.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/flippant/parse/issues/15, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAVPQNCFNUFKNF2MIKNIKADSSRW5FANCNFSM4UIPHUZA
.


alpha weight for negative loss

Hi,
On line 512 and forward of _binary_focal_loss.py:
def _binary_focal_loss_from_probs(labels, p, gamma, pos_weight,
                              label_smoothing):
"""Compute focal loss from probabilities.

Parameters
----------
labels : tensor-like
    Tensor of 0's and 1's: binary class labels.

p : tf.Tensor
    Estimated probabilities for the positive class.

gamma : float
    Focusing parameter.

pos_weight : float or None
    If not None, losses for the positive class will be scaled by this
    weight.

label_smoothing : float or None
    Float in [0, 1]. When 0, no smoothing occurs. When positive, the binary
    ground truth labels `y_true` are squeezed toward 0.5, with larger values
    of `label_smoothing` leading to label values closer to 0.5.

Returns
-------
tf.Tensor
    The loss for each example.
"""
# Predicted probabilities for the negative class
q = 1 - p

# For numerical stability (so we don't inadvertently take the log of 0)
p = tf.math.maximum(p, _EPSILON)
q = tf.math.maximum(q, _EPSILON)

# Loss for the positive examples
pos_loss = -(q ** gamma) * tf.math.log(p)
if pos_weight is not None:
    pos_loss *= pos_weight

# Loss for the negative examples
neg_loss = -(p ** gamma) * tf.math.log(q)

# Combine loss terms
if label_smoothing is None:
    labels = tf.dtypes.cast(labels, dtype=tf.bool)
    loss = tf.where(labels, pos_loss, neg_loss)
else:
    labels = _process_labels(labels=labels, label_smoothing=label_smoothing,
                             dtype=p.dtype)
    loss = labels * pos_loss + (1 - labels) * neg_loss

return loss

With the negative loss calculation:
# Loss for the negative examples
neg_loss = -(p ** gamma) * tf.math.log(q)

Shouldn't there be a '1-pos_weight' weighting factor just like for the pos_loss in the lines above it?

Thanks for the question! The reason the negative component of the loss isn't scaled by 1-pos_weight is that optimizing a weighted sum of the form pA+(1-p)B, where 0<p<1 is equivalent (up to a multiplicative constant) to optimizing a weighted sum qA+B, where q>0.
This is because pA+(1-p)B can be written as (1-p)((p/(1-p))A+B)=C(qA+B), where C=1-p (constant) and q=p/(1-p). Likewise, qA+B can be written as (q+1)((q/(q+1))A+(1/(q+1))B)=C(pA+(1-p)B), where C=q+1 (constant) and p=q/(q+1).
In binary_focal_loss, the weighted sum has the second form (qA+B, where A=positive loss, B=negative loss, and q=pos_weight), and pos_weight isn't restricted to being between 0 and 1. This design choice was made to be consistent with tf.nn.weighted_cross_entropy_from_logits.

Make sense now.
So let say based on the paper, for alpha=0.75, to get the same weighting factor, pos_weight should be 3. And for alpha=0.25, pos_weight should be 1/3. Obviously, the loss value will not be the same but at least one should be a factor or a multiple of the other.
I'm I right?

Yes, exactly! 😀

Thank You. Cheers


GraphEdit get_children() always returns internal child '_connection_layer'

Tested versions

Reproducible in: 4.3.dev6
Not reproducible in: 4.3.dev5

System information
Godot v4.3.dev6 - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3080 Ti (NVIDIA; <IP_ADDRESS>76) - AMD Ryzen 5 5600X 6-Core Processor (12 Threads)
Issue description
The get_children() method for GraphEdit node always returns an internal node named '_connection_layer' regardless of the include_internal parameter.
Steps to reproduce

Create a GraphEdit node.
Attach a tool script with a _ready() method that prints out the node's children.
Notice that the output upon loading the scene in the editor contains the child '_connection_layer'.

Minimal reproduction project (MRP)
issuerepro_mrp.zip

@Geometror The node's internal flag was removed in https://github.com/godotengine/godot/commit/a81561cbd960d4787ea0dbd68f60f0af67323721 (expand the diff of graph_edit.cpp then go to line 2762).

This is a duplicate of #85005.
From https://github.com/godotengine/godot/pull/88014:

GraphEdit automatically puts frames behind the connection layer

This requires to make the connection layer a non-internal child again (reintroduces https://github.com/godotengine/godot/issues/85005) since there is no better solution at the moment to keep it between background nodes, e.g. frames, and connectable nodes (just modifying the z_index of each node type would mess up the input and is just confusing)

It's sadly a limitation we have to live with for now since we don't allow internal nodes at arbitrary positions (in children), just front and back. GraphEdit is kind of an exotic Control node, which reaches the limits of Godot's UI system.
As a workaround you can just add a check (since it has an specific name _connection_layer) and continue the loop.
However, the least what we could do is mentioning this in docs. I know, there were some concerns regarding human-readable unique names for (internal) nodes (#76563), but in this case it's necessary I think.
Another admittedly not very ergonomic solution/improvement would be exposing a getter method for the (already internally stored) connection layer index. But this would would allow implementing a very efficient check for the connection layer which doesn't rely on node names, providing a cleaner API.

Thanks for clarifying. I'm curious if there's any plans for a change which would fix this either by lifting the limitations mentioned or by changing how GraphEdit works? After all, just mentioning it in the docs and never addressing it doesn't seem like a permanent fix.

As a stop-gap measure, wouldn't it be better to have get_children() encapsulated for GraphEdit specifically so that it filters out _connection_layer if include_internal is false? This way, it does not have breaking changes and basic Node rules are respected. This could be removed down the line should the base causes be fixed.

As a workaround you have to filter out the connection layer by yourself (it has an specific name _connection_layer).

Ah, so we are requiring users to rely on internal node names. Another argument for PR https://github.com/godotengine/godot/pull/76563.


Clarify and Document use of 'throw redirect()' in try-catch block

Describe the problem
I have been wrecking my brain for weeks trying to figure out why my redirects where not working. I finally discovered it was because the throw redirect() was inside a try-catch block, see example below:
export const actions : {
	default: async(event) => {

		try {
			authenticate(...);
			throw redirect(301, '/success');
		} catch (error) {
			// Redirect being caught here as an error
			return fail()
		}

};

The redirect() is being caught as an error and the route won't redirect. I encountered this problem while migrating code from an older sveltekit project where the try-catch pattern of coding worked perfectly by returning a header instead. It wasn't obvious to me what I was doing wrong and console logging the error did not provide any clues to that end. I think I missed it, and many more might, because of Sveltekit's innovative use of throw.
Describe the proposed solution

I suggest putting a warning in the documentation, especially for the sake of beginners, so that if anyone get's stuck and turn to the docs, they can find a clue.

Sveltekit displays a more descriptive error in the console if the try-catch or similar pattern is to be used in conjunction with throw redirect() and similar throws.

Alternatives considered
No response
Importance
would make my life easier
Additional Information
No response

Option 2 is impossible because we can't detect at runtime that you threw something if it's catched.
Option 1: What specifically do you have in mind that could have helped you?

I, and I would like to believe most people, mostly use throw for errors. When the throw redirect() api was introduced the was some discussion around which helped reframe the new use of throw in this manner. I followed these discussions so I had some context which helped me pin point my mistakes eventually.

So maybe an explanation in the docs on the gotchas of throw redirect() and throw error() api, or just an explanation to reframe the mind. To emphasize that if you put throw inside a catch, the throw is what would be caught. For example, the warning on how not to confuse form actions in +page.server and and the use:enhanceaction.
An additional example that uses try-catch, to show how that can be implemented. Something like:

export const actions : {
	default: async(event) => {

		let success = false;

		try {
			authenticate(...);
			success = true;
		} catch (error) {
			success = false;
		}

                if(success){
                    throw redirect(301, '/success');
                } else {
                    return fail();
                }
};

An example that demonstrates that ´throw´ should be outside of catch for it to work, and that ´throw´ can be used in a similar way to return. These are not concepts every beginner knows. Since ´throw´ is going to be used in a lot of places in Sveltekit, it might as well be explained.

You're not alone. I also used to write return redirect() and throw invalid() (now changed to fail()) during the migration period.

This behaviour is also the case when working with .then() .catch() promise chaining as well.

I've used the Next.js isRedirectError approach. Basically I've created a function that checks if it's a redirect error or not. For example:
utils.ts
export function isRedirectError(error) {
  return error && typeof error === 'object' && 'status' in error && 'location' in error;
}

Then I can use it like this:
import { isRedirectError } from '$lib/utils';
import { redirect } from '@sveltejs/kit';

export const actions = {
  default: async ({ request, params }) => {
    try {
      const response = await fetch('https://...')

      if (!response.ok) {
        // Handle error
      }

      redirect(301, '/success')
    } catch(e) {
      if (isRedirectError(e)) throw e

      // Handle other errors
    }
  }
}

I don't know if this is the right way to do it, but it works for me.

I've used the Next.js isRedirectError approach. Basically I've created a function that checks if it's a redirect error or not. For example:
utils.ts
export function isRedirectError(error) {
  return error && typeof error === 'object' && 'status' in error && 'location' in error;
}

Then I can use it like this:
import { isRedirectError } from '$lib/utils';
import { redirect } from '@sveltejs/kit';

export const actions = {
  default: async ({ request, params }) => {
    try {
      const response = await fetch('https://...')

      if (!response.ok) {
        // Handle error
      }

      redirect(301, '/success')
    } catch(e) {
      if (isRedirectError(e)) throw e

      // Handle other errors
    }
  }
}

I don't know if this is the right way to do it, but it works for me.

@PeeJeeDR You can now shift to an official implementation isRedirect from Svelte 5.


Revised version of the protocol - team La Chouffe

Hi @open-sci/la-chouffe,
As anticipated in one of the previous lectures (practical part), you have to revise your protocol published on Protocols.io according to the reviews received by the members of the other team. Once your revision of the workflow is finalised, please publish it using the Protocols.io interface.
In addition, you must also write and publish a response letter to the reviewers, where you explain either how you have addressed their comments or the justification for not having addressed them (please remember that if the latter applies, then your justifications must be very robust). Once finalised, the response letter must be published in Zenodo, and it should explicitly link and mention (even in the metadata) the reviews received, the old version of the protocol and the revised one.
Then, close this issue by attaching in the comment the clickable DOI URLs (https://doi.org/...) of the revision of the protocol and of the response letter. The deadline to provide all this information is the 9th of May.
For further doubts, do not hesitate to contact me in the Slack group.

Here is the updated version of the protocol: dx.doi.org/10.17504/protocols.io.kxygxz7ywv8j/v3
and here is the response letter to the review: https://doi.org/10.5281/zenodo.6530982


Writing test

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: writegeist sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

This is a test PR; do not merge it.


No example exporting a model from an Estimator on TensorFlow.org

Please make sure that this is a documentation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:doc_template
System information

TensorFlow version: 1.9
Doc Link: https://www.tensorflow.org/tutorials/estimators/cnn

Describe the documentation issue
In this CNN tutorial example, there is no exporting savedmodel example. For users that need to save the trained model for future usage, it will be better to add exporting savedmodel part in the tutorial.
We welcome contributions by users. Will you be able to update submit a PR (use the doc style guide) to fix the doc Issue?

Nagging Assignees @isaprykin, @MarkDaoust: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignees @isaprykin, @MarkDaoust: It has been 29 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

@ hanmeng31
Please update as per above comment.


make DateField format and mask reactive to locale changes

Hmm... this doesn't look to fully solve the issue.  Maybe a responsive issue in Input with regards to mask
https://github.com/techniq/svelte-ux/assets/177476/d8e411d0-c14b-40aa-87db-69cc109282d2

Maybe here? Placeholder default value is not reactive to changes in mask
https://github.com/techniq/svelte-ux/blob/ca8bdfde1307b8473ff25029e66f19314f61051e/packages/svelte-ux/src/lib/components/Input.svelte#L27

seems better now

Much better, thanks!


System can not find specified path

I had to reinstall the game and now when I try to reinstall alexander it doesnt find the game on the folder that its saved saying "System can not find specified path", (game was installed in D:\SteamLibrary\steamapps\common\FINAL FANTASY XIV Online) and when I load it on the running game it works for a few minutes then my game crashes. the option to load the game and alexander at the same time also doesnt work, when it opens the launcher it says my game sub has expired (even tho when I open the launcher by myself its working properly). uninstall option gives the same message as the title.


Edit README to make it more beginner-friendly

I think that almost all of this information is correct, but please let me know if anything in here is inaccurate or misleading. In particular, I didn't quite understand how encryption and SSB interact.

Overall great updates, IMO. Just needs the fixes I suggested. @dominictarr thoughts?

@dominictarr I suggest we merge

Bumping: should this be merged, edited, or closed?

sorry I missed this, reviewing now...

I used this as one of my references when I put together http://ssbc.github.io/secure-scuttlebutt/, which now lives in this repo's gh-pages branch as https://github.com/ssbc/secure-scuttlebutt/blob/gh-pages/index.md

this looks great.
two small niggles. in links, dest can be pubkey or hash (or feedId, msgId, blobId) and source can be feedId.
in the intro you call it a kappa architecture. I kinda hate this term because "kappa" is just an arbitary greek letter so it doesn't carry any descriptive power. For things that have lots of arbitaryness a arbitary name is good, take for example "rugby". rugby is a sport where you run around with a ball, and the name doesn't mean anything. On the other hand "football" is a descriptive name (except in american football where you mostly carry the ball). In that case, I think football is a bad name, because there are a lot of things you could change and it wouldn't be soccer anymore, but it would still involve feet and balls. On the other hand, most track and field sports are really simple and suit descriptive names (100 meter sprint) though occasionally non-descriptive names sneak in (marathon)
Also, pretty much every database is "kappa architecture" (at least on the inside) all it needs to qualify for that is to expose a log of changes. We are currently discussing what sort of database secure-scuttlebutt is here in the indexes issue

But I'm gonna merge this and then change those bits, that is just my opinion about that name and this is otherwise great work!

oh yeah, and relatedMessages takes a msgId not a feedId

merged into 15.0.2


Feature/oauth client

This completes the addition of OAuth support to the Beam client, along with an example implementation. It does include some breaking changes (see my commit messages), hence the PR ;)

:+1:

:eyes: :white_check_mark: :shipit:

:+1:


ENYO-3164: Make Control be the default kind.

Issue
If enyo/Control is never required, the default kind becomes enyo/Component instead.
Fix
We explicitly require enyo/Control in enyo/ViewController.
Enyo-DCO-1.1-Signed-off-by: Aaron Tam<EMAIL_ADDRESS>

Think this should be implemented in ViewController which already states that it works on Controls in its doc (and requires something that is at least API-compatible for things like render()) but acquires it implicitly via kind.getDefaultCtor().

Yep that makes more sense - updated!


When nested sortable, the oldIndex is overridden by the parent sortable index

Hi,
When dragging an element, the function _onTapStart is called twice. Once for the nested sortable and once for the parent. Because of this, the oldIndex is overridden by the one of the parent.
Hope I'm clear enough.
To reproduce, just create a nested sortable and console.log the oldIndex after setting it in _onTapStart. You'll see it's called twice when sorting the nested sortable.
Thanks a lot

Correct, I believe this is related to #331.
I was able to fix it by adding evt.stopPropagation(); at the top of the _onTapStart function (around line 241/242).
I've been using the code without any negative effects for about a week now, I was planning on submitting a pull request after I tested it a little bit more.

Thanks for the trick. I'll do that :)
Hope it will be fixed soon

It looks like I have the same issue with 'from' and 'to‘. I've added some console.log in the _dispatchEvent to see what was happening with fromEl and rootEl and it seems that they are overridden too :(
I'm trying to move a block from a column to another (still with my nested sortable)
Any other trick in your hat tplaner ? ^^
Thx

Can you post a jsbin or jsfiddle with an example? I don't think I'm experiencing that issue.

Here is my jsfiddle: http://jsfiddle.net/yLo4aLdq/3/
You can open up your console. Move a block from a zone to another and see that the "target" property has the same value as the "from" property.
Thanks

Yop any idea guys ? I'll look into it myself... but I'm not sure I can do much

Thanks @tplaner, your recommendation was very helpful. I was curious if you have made a pull request yet as you mentioned you were planning on doing.

Any news on this? I am having the same issue.

Fixed, try dev-branch.

@RubaXa Thanks!!

@RubaXa do you know when this fix will be on master and on npm?

After 2-3 weeks.


Bootstrap Ansible whenever deploy.sh is run

openstack-ansible/scripts/bootstrap-ansible.sh is used to setup Ansible
which includes downloading the roles required by openstack-ansible
(OSA).
deploy.sh is updated so that bootstrap-ansible.sh runs whenever
deploy.sh does. This resolves an issue where the role
openstack-ansible-security is not getting downloaded because OSA
introduced it as part of a patch release.
This change should also ensure that all the OSA required roles are at
the correct versions as well as Ansible itself.

recheck_swift
recheck_upgrade

recheck_ceph

recheck_all

👍

recheck_all - persistent mirror issues causing failures

recheck_ceph
recheck_swift

LGTM

:+1: merging


Error when running :SqlsExecuteQuery with by line visual selection

For some reason, when I select by line in visual mode (using capital v) and run :SqlsExecuteQuery it fails with the message:

Error executing vim.schedule lua callback: ...m/site/pack/packer/start/sqls.nvim/lua/sqls/commands.lua:10: unexpected panic: runtime error: slice bounds out of range [:10] with length 9

But selecting by character in visual mode works fine.

Thanks for the report, I've actually encountered this issue before. I'm unsure whether it's a problem with the language server or if I'm using make_given_range_params() incorrectly. I suspect there might be some weirdness going on with the 'selection' option as well. I'll investigate.

I made some changes in #4 that should fix this issue

I haven't tried it yet, but I will when I get back to work. Thanks for your time!


How to access the current Hidden state of a column in Data Grid?

Things to check

[X] I have searched the existing issues for this bug
[X] To rule out a caching problem I made sure the bug also happens in an incognito tab

Bug type
Component
Component name
MudDataGrid, PropertyColumn
What happened?
I am trying to create a PDF report of my data that is being shown in MudDataGrid. I have set ShowMenuIcon = true and Hideable = true to provide the user with the functionality to only include certain columns in their report.
To generate this report, I am using DataGridReference.RenderedColumns to set the headers of the report. However, there does not seem to be a point of access to the columns that are shown to the user.
Upon checking the source code of MudDataGrid, the MudSwitch component's value is assigned to PropertyColumn.HiddenState and this HiddenState property is internal (here).
So my question is, how do I get which columns the user has selected so as to include only them in my report?
Expected behavior
Initially I was using DataGridRef.RenderedColumns.Where(c => c.Hidden == false) to get only the selected columns but it turns out this does not work. The value of Hidden is always set the default value that was set inside the MudDataGrid.
Since the HiddenState property is internal, there is no way of getting the visible columns.
Reproduction link
https://try.mudblazor.com/snippet/mamIvwlqzbgzRlmW
Reproduction steps

Create MudDataGrid
Set ShowMenuIcon = true
Set Hideable = true

Relevant log output
No response
Version (bug)
7.15.0
Version (working)
No response
What browsers are you seeing the problem on?
Chrome, Edge
On which operating systems are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

There are a few ways to solve your problem. By going to the unit tests and looking at how they do it you can obviously get the Hidden state by

Programmatically opening the column settings and getting the MudSwitch values. Similar to DataGridColumnHiddenTest in the DataGridTests.cs file.
Getting the html all .mud-table-head th
Binding values directly to the Hidden property of the PropertyColumn. You could even make this a dictionary. This is likely the easiest alternate solution.
use DataGridRef.RenderedColumns.Where(c => c.Hidden == false) but you have to call StateHasChanged first to get it's latest value. Might need to await.Yield() for updates not sure.

Here's a snippet showing when you get Generate PDF report it calls "StateHasChanged" updating your renderedcolumns value. I do still think Hidden should be updated automatically when HiddenState is (which is just a parameter wrapper for Hidden) but figured you'd appreciate a workaround.
https://try.mudblazor.com/snippet/QEceFwvApVfiTIne

Either, like @versile2 said you need to use two way binding, so that parent would update the underlying child [Parameter]'s value https://github.com/dotnet/aspnetcore/discussions/49187#discussioncomment-6372174, or you can use this trick
@using MudBlazor.Extensions;
....
var visibleColumns = dataGrid.RenderedColumns.Where(column => !column.GetState(x => x.Hidden)).ToList();

I have searched the existing issues for this bug

https://github.com/MudBlazor/MudBlazor/issues/8485
https://github.com/MudBlazor/MudBlazor/issues/8248


Migrate from Travis to GitHub Actions

This PR migrates the CI tool from Travis to GitHub Actions. We now have a GH Actions Workflow with two jobs:

test-and-lint which runs rake and rubocop when PRs are opened or changes are merged into master.
spec-live which runs the authenticated specs if the action is not running in a fork.

Ruby and JRuby versions are handled by ruby/setup-ruby which includes
support for all minor versions Travis was testing against. I've also added JRuby 9.2 as it's available in this action.
Credentials for the authenticated tests are provided via repository secrets, which are mapped in the workflow to
the same env vars that Travis had previously set.

Looks good @disposedtrolley - just need to ensure actions are under zendesk/* based on organisation policy.

@disposedtrolley one minor tweak - otherwise looks solid 👍


Shortcut for like button doesnt work

It always locked (in that state)

Hello @dumprop, thanks for reporting the problem.
Hello @d-r-q, is it possible to fix it?

Hi @jiri-janousek
I will look at it at the weekend

The fix is available in Yandex Music 1.8.1 (1-g6e4b5d5).

The fix is available in Yandex Music 1.8.1 (1-g6e4b5d5).

Yes, thanks!


Avoid triggering other extensions when read file content.

Moved here from #19.

When I run "ParseTODOs (all files)" all files are processed to find TODOs but in the same time other TS Code extensions are invoked - namely "Stylelint" and "Spelling and Grammar Checker" and they process those files also. It is a very frustrating effect.

Thank you for moving. I did not know that this efect could happen by default.

Unfortunately, after some investigation, I don't think this is possible at the moment.
The reason is that the extension relies on the API provided by Vscode to identify the language of a file. And there is no other suitable way I know to accomplish the task.

Hmm, not good. I do not understand only exactly why this is happening when the setting is:
"TodoParser": {
        "exclude": [],
        "include": ["ts"],
        "folderExclude": ["node_modules", ".vscode", "typings"],
        "markers": ["@todo"]
}

There are included only TS source files so I suppose that you touch only them and not others like CSS?
Thanks for your answer.

Oh, sorry. Here is a more detail explanation.
During the process, I call an API to open a file for me. Something like this:
workspace.openTextDocument(path).then(
  function (doc: TextDocument) {
    let lang = doc.languageId; // now, I can get the language

It's nice and simple. However, it also triggers other extensions related to the file (not 100% sure!).
If I manually open the file myself. Something like this:
fs.readFile(path, function(err, data) {
  // languageId?
});

Nothing is triggered! But now I'll have to detect the language by myself.
This is where I'm stuck. Have tried some npm modules but it does not work as expected.

Ok, thank you for explanation. By TS I meant *.ts files really. I was related to the line of config (that i want check only these files):
"include": ["ts"],

If understand correctly, there is currently possible to do:

Using fs.readFile to check file extensions on your own + using VS Code API function getLanguages(): Thenable<string[]> + your own config property (..., include, ...) which specifies what to check.
Accept that all associated extension on filtered and checked files (point #1) will run in this moment because of the actual functionality of API: openTextDocument(fileName: string): Thenable.
Report a new issue (as a bug or a new feature?) to VS Code development team to ask for a solution - maybe a new parameter on openTextDocument function will be necessary that will allow to open a file in "read only mode" (as you need in our case) without invoking anything else.

All above sounds reasonable, I think. What do you think?

For 1, there is a problem with languages that share a common file extension (e.g. C and C++ with *.h).
I reported an issue on VS Code repo here #11424

For 1, you are right but this problem has not probably any solution except using some extra special convention like "myfilename.sufix.h" and then would have sense not to use "getLanguages()" at all, and use config properties only. Users would filter their files like ["sufix.h"] then.
Thanks for reporting the issue. We will see ...

Looks like that's the way it is right now.

Hmm, I understand the explanation about caching (https://github.com/Microsoft/vscode/issues/11424) but the mention about "the consumer of the open event should be prepared for this" is a bit not understandable.
Did @jrieken mean that every extension has to know how to react to these type of event invoked by another extension?
The main problem with invoking many extension on "openTextDocument" is that after running "ParseTODOs (all files)" the info about errors and warnings on the status bar of VS Code is overloaded
 and the only way is close and re-open VS Code then = very frustrating.

I think he means that the users/developers have to understand that that's the way it works atm.
Yep, I will add "folderInclude" in the next version.

Thanks a lot.


build(deps): use llvm-14 from Debian snapshot

This is a suggestion. apt.llvm.org only keeps the latest build.
This uses the sid (unstable) channel from the Debian snapshot to get the LLVM 14 toolchain.
bookworm (testing) should also work depending on how stable or fast fixes are desired.
https://wiki.debian.org/DebianUnstable
https://wiki.debian.org/DebianTesting
It does get hard to tell which channel provides which package due to how they depend on each other, but unstable/testing should get the lowest priority if I understand correctly: https://manpages.debian.org/bullseye/apt/apt_preferences.5.en.html#APT's_Default_Priority_Assignments
Closes #449

If I'm not mistaken I understood we actually need the latest llvm14 version, not just any llvm14. @v-thakkar we had this conversation recently I think?

Yes, I just checked the container build and it seems to be working for arm64 build. I was unaware of the unstable channels. So this is a much better change. Thanks @maxbrunet. :clap:


LESS or SASS for viewer.css?

Was wondering if there are any LESS and/or SASS files for viewer.css?
There is a specific reason why I need it. I am "embedding" the pdf-viewer in an asynchronous container in my web-site. Your current .css clobbers many standard CSS naming conventions. Consider using "vendor" specific prefixes to isolate your styles. e.g. pdfjs-container-main or pdfjsContainerMain.
If no LESS or SASS files exists, I will create SASS file(s)from the existing generic viewer.css and share the results here. I will try to keep the viewer css names "as is" and isolate them using a wrapper of sorts.
Thanks for any feedback and insight. Cheers!

Was wondering if there are any LESS and/or SASS files for viewer.css?

No such files exist in this repo. (Also, as mentioned in e.g. http://mozilla.github.io/pdf.js/getting_started/ and https://github.com/mozilla/pdf.js/wiki/Setup-pdf.js-in-a-website#from-examples, the default viewer isn't really intended to be used as-is in custom deployments.)

Your current .css clobbers many standard CSS naming conventions. Consider using "vendor" specific prefixes to isolate your styles. e.g. pdfjs-container-main or pdfjsContainerMain.

This part sounds like a duplicate of issue #6706.
Closing as answered.


chore(master): release 1.9.3

:robot: I have created a release beep boop
1.9.3 (2023-08-26)
Bug Fixes

修复backtop失效问题 (37b6a7d)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/KYX1234/Element-Admin/releases/tag/v1.9.3 :sunflower:


add timeout respect to resource quota check

just edited the resource-quota check and pod-restarts readme. looks good 👍

@jonnydawg Some conflicts came up....


make batch-ack thread-safe

Motivation
if consumer acks batch-messages concurrently, then client-consumer is not acking the message to broker even if consumer acks all batch-Index-msg with in that batch-message. BitSet which tracks unack-batch-message is not thread-safe and it accessed by multiple thread while acking and therefore, it fails to conclude that all messages have been acked.
Modifications
make access of unack-BitSet thread-safe.
Result
batch-msg ack will be thread-safe.

re-trigger of build passed. but it doesn't reflect here and I am not admin so, not able to merge it. As I don't have access of jenkins-configuration or git-webhook, I am not able to see how to fix it. but there is some workaround mentioned in this thread.

@rdhabalia I think the only way to get the "rebuild" to work is to use the proper Jenkins GitHub PR plugin.. but then I think it will just comment on each PR when the build fails :)

retest this please

@rdhabalia Seen my previous comment? It triggered a new build, and this time it will update the status

retest this please


Load BioBERT weights

Figure out how to load BioBERTs weights.
See these links for help.

https://github.com/MeRajat/SolvingAlmostAnythingWithBert/tree/master/biobert_ner
https://github.com/dmis-lab/biobert/issues/2

Documenting how I finally got this to work:

Download one of the BioBERT pre-trained models from here.
Clone and cd into pytorch-pretrained-BERT:

git clone https://github.com/huggingface/pytorch-pretrained-BERT.git
cd pytorch-pretrained-BERT

Open pytorch-pretrained-BERT/pytorch-pretrained-BERT/modeling.py. Under the line init_vars = tf.train.list_variables(tf_path) add these two lines:

excluded = ['BERTAdam','_power','global_step']
init_vars = list(filter(lambda x:all([True if e not in x[0] else False for e in excluded]),init_vars))

From the top-level of the pytorch-pretrained-BERT repo, call:

$BERT_BASE_DIR=../biobert_v1.1_pubmed
pytorch_pretrained_bert convert_tf_checkpoint_to_pytorch \
  $BERT_BASE_DIR/model.ckpt-1000000 \
  $BERT_BASE_DIR/bert_config.json \
  $BERT_BASE_DIR/pytorch_model.bin

Where BERT_BASE_DIR should point to the downloaded and uncompressed BioBERT model and model.ckpt-1000000 should be whatever the checkpoint is named for that particular model.

Finally, place pytorch_model.bin, bert_config.json and vocab.txt (from BERT_BASE_DIR) in a folder biobert and tar.gz compress it with

tar -cvzf biobert.tar.gz biobert

This model can then be loaded with
model = BertForTokenClassification.from_pretrained('path/to/biobert.tar.gz', num_labels=num_labels)
self.tokenizer = BertTokenizer.from_pretrained('path/to/biobert.tar.gz', do_lower_case=False)

Hi, we've updated all the other BioBERT weights (v1.0) as the same format as v1.1, so it should work now.
Thank you.

That’s great, thanks for letting me know. Is there any reason to use v1.0 if I just want the best performance possible? Or should I stick with v1.1?

For most tasks, it will be better to stick with with v1.1, but v1.0 (+PubMed 200K +PMC 270K) works well, too  as shown in the paper (only minor differences). Note that we haven't updated our paper with performance of v1.1 (will take some time).
If performance on a single targeted task matters, you can compare them and choose what to use.

Right. Okay great, thanks for the response!

Thanks for sharing what worked for you. I followed the steps provided and everything worked except I discovered (as of writing) that when compressing the files together they can't be in a directory, they just have to be flat.

Hi, we've updated all the other BioBERT weights (v1.0) as the same format as v1.1, so it should work now.
Thank you.

Hi @jhyuklee , the download files[BioBERT-Base v1.1 (+ PubMed 1M] donot contain .ckpt file, it has : model.ckpt-1000000.data-00000-of-00001, model.ckpt-1000000.index, model.ckpt-1000000.meta
which one is an accurate checkpoint file?
when I try load weights from model.ckpt-1000000.data-00000-of-00001 --> tf.train.list_variables('model.ckpt-1000000.data-00000-of-00001') it is throwing me error:
DataLossError: Unable to open table file biobert_v1.1_pubmed/model.ckpt-1000000.data-00000-of-00001: Data loss: not an sstable (bad magic number): perhaps your file is in a different file format and you need to use a different restore operator?

Hi @JohnGiorgi , I tried the steps you mentioned, but this error while importing the gz file:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
any hints?

Hi @phaniram-sayapaneni,
Are you simply looking to load BioBERT with HF Transformers? If so, you can follow this code: https://huggingface.co/monologg/biobert_v1.1_pubmed.
If you search BioBERT here you can see several varients and how to load them.


Adding PerformSimultaneousRestoresDifferentDataService test

What this PR does / why we need it:
Adding PerformSimultaneousRestoresDifferentDataService test
Which issue(s) this PR fixes (optional)
Closes #DS-9024
Special notes for your reviewer:
https://jenkins.pwx.dev.purestorage.com/job/Users/job/Madan/job/platfrom-build-torpedo/595/

Merged as part of https://github.com/portworx/torpedo/pull/2416/files


fix cost of item when not purchasable

When an ingredient item is not purchasable or barterable, this fix makes the "cost" of that item its best sell-to-trader price.

.deploy


AJ-1649: remove extraneous comma

This should address intermittent errors in our e2e tests. We just had one last night, and the error message was:
--name: "wds-8017616954-1-dev," is not a valid environment name: environment name
must match regular expression \\A[a-z][a-z0-9]*(-[a-z0-9]+)*\\z"

if you look very carefully at the error message, you'll see that the name "wds-8017616954-1-dev," has a trailing comma which makes it invalid.
The reason this is so intermittent is that it only happens in the retry case of creating a bee.

🤯


Need Clarification - Configure Nicks Pallet Code and Comment

In Configure Nicks Pallet documentation page, code in runtime/src/lib.rs file is different from documentation and substrate-node-template v3.0.0. Please refer below screenshots.
Below code is given in documentation
 // No weight information is supplied to the Balances pallet by the Node Template's runtime.
    type WeightInfo = ();

But in node template code v3.0.0, it has
type WeightInfo = pallet_balances::weights::SubstrateWeight<Runtime>;
Can someone explain whether both the codes means samething or do we need to update the documentation with the latest node template code?

Hey @narulasrinivas
Indeed there is a version mismatch between the information shown in the tutorial and the current version of node-template runtime.
As you can read for the tutorial version of the code no information is given about the weights, but the following line
 type WeightInfo = pallet_balances::weights::SubstrateWeight<Runtime>;
means that it will use the weight information defined in SubstrateWeight. Nothing further than that.
As all the links point to current versions, the way to proceed will be creating a PR to update the code shown in that tutorial' section so it matches the latest version

@al3mart - Thanks for clarifying this.
I'm happy to do that change.
But do we've any process or steps documented somewhere to raise an PR.

Sure there is :) https://github.com/substrate-developer-hub/substrate-developer-hub.github.io#contributing

Feel free to tag me for review on those changes if you have time

I'll do that change and tag you for review. (y)

@al3mart - I followed below steps to complete this change

Created a new local branch (update-tutorial-addpallet) from source branch.
Update code in local repo
Committed to local branch
Tried to Push new local branch to remote location. But getting access denied since I'm not part of collaborator group.

remote: Permission to substrate-developer-hub/substrate-developer-hub.github.io.git denied to narulasrinivas.
Once branch get created, I raise a PR for review for other git repos.
Can you please help me on this?

@narulasrinivas you need to fork the repo and push to that. Then create a PR 😁

fork this repo
make a new branch on the fork
add remote for your new git: git add remote narulasrinivas git:github.com/narulasrinivas/substrate-developer-hub.github.io.git (or something close to this)
push to this remote: `git push narulasrinivas/
open a PR
http://www.dasblinkenlichten.com/how-to-create-a-github-pull-request-pr/

@NukeManDan - Sorry my bad. I got so used to branching and merging missed a point, Thanks for helping out. I did changes by forking the project.
@al3mart - Here is the PR Link Please check from your end.

Now I see the relation, and that #977 is actually a duplicate that we had not previously included. Opting for that PR, and will like to close this issue. Thanks for the extra context and work on this @narulasrinivas ! 😁


Fix fetching initial playlist data

Description
YouTube appears to have made some changes again, the response is an object instead of an array. The unused PlaylistDataFetchError error has also been repurposed.
How Has This Been Tested?
In Violentmonkey after building.
Types of changes

[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 change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

The response has now changed back.


Login Error - shell_exec

On a fresh install of Elk 2.0 dv
8.1.8
LiteSpeed webserver
Logging in is impossible due to a shell_exec
"Exception: Call to undefined function shell_exec()"
Commenting out all shell_execs in Subs.php works.
According to stack overflow we want to check
ini_get('disable_functions')
For shell_exec appearing in the array first, rather than trying with a warning suppressor which doesn't work on newer PHP.

After considering this further, is there a reason we don't use gethostbyaddr()?
https://www.php.net/manual/en/function.gethostbyaddr.php
I'll do some research to see if SMF ever considered it.

Apparently we use it because it can timeout? I have no idea whether that is preferable to just using gethostbyaddr() which is in there as a backup anyway.
I've submit a pull request to check the disabled functions list first before running the test. However I'm unsure if we're not better simplifying and just using gethostbyaddr() for all?
https://github.com/elkarte/Elkarte/pull/3660

Cross posting from site ...
Looking at that code, you may be right!

Currently it will randomly, 50% chance, call host  if running on *nix (maybe with a timeout, but maybe not)
Failing, or missing the random, it will, again at a 50% chance, call nslookup only if on windows (all of my *nix installs have this, not sure why it was limited to windows, but its also likely 2 decades old code)
Failing the above two it will call gethostbyaddr

I'd imagine there is some old commentary somewhere that would explain these programmed in behaviors, but they are probably no longer relevant :man_shrugging:  Even the cache the result only if it took more that 1/2 second seems odd.
I tried to determine what PHP's gethostbyaddr actually does, and I think it just calls host / nslookup anyway, at least in the recent versions.

From looking at a rabbit hole of reports, spanning lots of sites, the consensus seems to be that gethostbyaddr() can be very slow (measured in 5-20 seconds) on some configurations and should be avoided. Probably why [Unknown] tried to avoid it way back in the day + added a disable option to the admin panel.
Theres a third option;

use gethostbyaddr() only and then disable hostname lookups by default

I think it's only used for banning purposes?

Its used in a few spots, but its only interaction with the main flow of things is checking on bans.  That happens on a regular basis (not every page load but every so often) and that is causes the slow page load issue that is sometimes reported.
What feels strange in that code is the mt_rand, that would appear to defer to gethostbyaddr on a random basis (skipping host or nslookup) ... so I need to look at that, I could just be off in the weeds!

closed in https://github.com/elkarte/Elkarte/pull/3660 can revisit if we learn more


Fix stalls on WebOS

Fix for https://github.com/google/shaka-player/issues/1704

From a technical stand-point, this looks good, but there are some structural changes I would like, but I want @joeyparrish to chime in:

Could the check for WebOS be in the callback passed into |onStall|? That way the core code of StallDetector won't have platform-specific code.
Could we have some more documentation around why we are not reacting to stalls on WebOs?
Long term, @joeyparrish would it make sense to have StallDetector be an optional component that would only be initialized if we are on a platform that should react to stalls.

@avelad Could you offer me some feedback? The files you changed were created from some recent refactoring in which I move the stall detector and platform code into their own classes. Did that make it easier for you to find where to make your changes?

Could the check for WebOS be in the callback passed into |onStall|? That way the core code of StallDetector won't have platform-specific code.

Given that we have platform checks isolated in shaka.util.Platform now, I don't see a strong need to isolate StallDetector from that.  If we want to audit platform-specific logic in the future, it's easy to find these checks by looking for call sites of Platform.  If we had more complex logic for when to use StallDetector and when not to use it, I could see doing it differently.

Long term, @joeyparrish would it make sense to have StallDetector be an optional component that would only be initialized if we are on a platform that should react to stalls?

Yes, long term, I think greater modularity could be nice.  Stall detection could even be disabled via configuration at that point.  For now, though, it's not needed.  We can file that as an issue to come back to at a later time.

Could we have some more documentation around why we are not reacting to stalls on WebOs?

Yes, please.  @avelad, if you could add a brief comment to the code, that would help.  I left a suggestion on the code itself.
Looks good to me otherwise!  Thanks!

@joeyparrish I update the comment with your suggestion (that is the real problem)

This PR seems fixes the problem on WebOS.
For Tizen 4.0, I found that the stall issue seems related to DRM, by using the same code I can play live stream without any issue on Tizen 3.5 but not on 4.0, I will open an issue if needed.
Thank you for the PR.

thanks for your info @skipness

Hi Joey,
We are getting consistently good results on VOD content on Web OS but have frequent buffering issue when we pass over discontinuities for SSAI ad breaks where bitrates / resolutions change.  They eventually recover, but sometimes the buffering can take up to 5-10 seconds which leads to a really bad user experience.  We don't see this with other players but need to use ShakaPlayer to support DRM for VOD content (no DRM on live linear) on WebOS.  We also experience quite slow load times (5 seconds+).
        var configuration = { 'abr': { 'defaultBandwidthEstimate' : 500000 }, 'streaming': { 'bufferingGoal' : 15, 'rebufferingGoal': 4 } };

I can send a test stream via email but not here.
Thanks
James