Move database-specific tx validation rules to be part of the database abstraction

The following blog post gives an overview of all the things that get checked when checking to see if a transaction is valid:
https://blog.bigchaindb.com/what-is-a-valid-transaction-in-bigchaindb-9a1a075a9598
There are now some MongoDB-specific transaction validation rules (which will apply to both asset.data and metadata once the metadata full text search PR #1812 is merged). That is:
1, The names of keys must not begin with $ and they must not contain . or the null character (Unicode code point U+0000).
2. If the JSON document is stored in a collection that is being indexed for full text search, and it contains a key named "language", then the value must be one of the supported language codes. That’s because MongoDB uses the language code to help it index the text.
Since those validation rules are backend-database-specific, they should be added to the backend database abstraction layer. (RethinkDB doesn't have any such special validation rules right now, for example.) Those backend-datagase-specific transaction validity checks should be called as part of the "check transaction" logic.
Note: Currently, the MongoDB-specific transaction validation rules are checked:  in the webserver code (i.e. Flask code), so they're only checked for transactions coming in via the HTTP API.

I labelled this issue tendermint just now but it's a change that would also be useful for the 1.x series.

I have very mixed feelings about this.
I totally agree about putting things that are database specific in the database specific component(s). So totally in favour of this issue from that point of view, and great call!
Where I am less sure, is whether we want to complicate the transaction model in such a way. Ideally, I would prefer to see a transaction model that is more generic, more independent of databases-specific constraints. In other words the transaction model could be kept as simple as possible such that it can be working on different databases regardless of the constraints of these DBs. This may be too idealistic but I think it may be worth to give some thoughts to this view as the benefits may be quite considerable in terms of portability, and possible future developments, in which different projects could easily re-use the transaction model against different databases without having to worry about database-specific validation particularities.

I think it's okay to have things that every implementation must satisfy (i.e. as part of the transaction model spec), but to allow for implementation-specific deviations (such as those forced on us when we use MongoDB but not when we use RethinkDB).

On the other hand...
Maybe we could create a transaction model that is "maximally constrained" so that it will work with all known implementations, as you suggest. That's definitely appealing!
My concern is, what if, for example, someone wants to use AwesomeNewDB in their new implementation of an IPDB-compliant server, and it won't allow emojis in Unicode strings? All the existing, stored transactions with emojis in the Unicode strings will prevent their new implementation from working.
Maybe there is some set of constraints that we can put on the transaction JSON (i.e. as part of the transaction spec) so that that 99% of all JSON-storing databases can store them without complaint?

Related issue: #1766

Well, here's a very rough sketch of one way we could think of it:

Let's start by identifying the limitations of crypto-conditions.
Could we find a way to have a transaction model that does not add constraints besides those of crypto-conditions?
If not, what are those new minimal constraints?
Could we then present a transaction model which has a very minimal set of constraints, such that it can easily used on different databases, etc.
Can we provide hooks, or methods, techniques, etc that would allow designers and implementers to "specialize" the transaction model to their needs?

In other words, the idea is to think of the transaction model in terms of 3 fundamental layers;

crypto-conditions
IPDB protocol transaction model (basic) layer
extensible transaction model, as wild as it can get, according to the needs of various communities

our job at the moment would stop at 2 + whatever is needed for the MongoDB/RethinkDB specifics as intially outlined in this issue
The "whatever is needed for the MongoDB/RethinkDB specifics" part could then be an exercise on how we can actually practically the above proposed phase 3.
These are just "brainstormed" ideas.

As a concrete example of a constraint that is forced on us by our use of MongoDB:
In the value of the metadata field, if that value is a JSON object, then the key names (keys) cannot begin with the character $
As you see, this isn't related to crypto-conditions. It's just a JSON constraint that comes from MongoDB. Thanks MongoDB! (There are more.) Moreover, other JSON-storing databases might impose other constraints. I wouldn't be surprised if some restrict the set of allowed Unicode code points in string values. Others probably have constraints on JSON numbers, such as maximum integer size, or maximum floating-point precision (which is why I mentioned issue #1766 above).
I think what we want is a maximal set of JSON constraints, such that any transaction satisfying those constraints will work with almost any JSON-storing database.

I was curious so I went to the RethinkDB docs to see what kind of constraints/restrictions it imposes on the JSON it can store. There are many restrictions! I guess we never ran into them so didn't notice. They're listed at:
https://rethinkdb.com/limitations/

I'm closing this issue because it was replaced by issue #1900


Cannot read property 'indexOf' of undefined

Hello! I have an error after reinstall npm packages. I remove "node_modules" and "package-lock.json", after "npm i" and "npm run dev". I have an error - "can read property indexOf of undefined".

I see difference in "package_lock.json"
NEW:

OLD:

To fix this issue I use "npm i<EMAIL_ADDRESS>but I think it will be better to update the package version in this library

No, we need the new version. There is something else in your project that is incompatible. Possibly the sass-loader. Try using version 10.

How to fix it?

Actually that seems to indeed be a bug in sass-resources-loader 2.2.2. You can force 2.2.1 instead for the time being.
https://github.com/shakacode/sass-resources-loader/issues/144

"sass-resources-loader": "2.2.1" - it helps

also published v1.2.0 that bumps sass-resources-loader to v2.2.3


Hugo 0.120.0 causes escaped HTML to appar around the reading time for each post

Issue description
Escaped HTML suddenly appears near the "reading time" for each post with congo 2.7.2 and hugo 0.120.0:
<time datetime="2023-09-25 00:00:00 +0000 UTC">25 September 2023</time>·1412 words·7 mins

Theme version
v2.7.2
Hugo version
hugo v0.120.0-20c3bae2c4839ec993ec3c353da4fd7b09215cd8+extended linux/amd64 BuildDate=2023-10-30T14:06:47Z VendorInfo=gohugoio
Which browser rendering engines are you seeing the problem on?
Chromium (Google Chrome, Microsoft Edge, Brave, Vivaldi, Opera, etc.), Firefox (Mozilla Firefox)
URL to sample repository or website
https://major.io/posts/
Hugo output or build error messages
No response

Thanks for the report. Having just read the release notes for Hugo 0.120.0, I think I know why this is happening.
I'll aim to get a fix out shortly, but in the meantime, the best workaround is to build using Hugo 0.119.0.

Thank you, @jpanther!


Refactor vscode to use common types and errors from taqueria protocol

Describe the feature you would like
In 620-operations, there was a large refactoring effort to reduce code duplication by having many of our custom defined concrete types moved to the taqueria-protocol package, which is shared between the taqueria-cli, taqueria-sdk, and too, the vscode extension. As such, we were able to remove a lot of duplication from the SDK and I suspect we can do the same with the vscode extension.
The 620-operations branch should be merged in some time tomorrow. I hold hold on working on this issue till that occurs.
Is this feature solving a problem?
Consistent parsing, validation, and error messaging.
Please share any additional details you have?
No response
Code of Conduct

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

Closing: complete


Merge the /bin/crystal Shell script in the compiler?

The /bin/crystal script is setting environment variables, then calling the compiler.
The questions are:

is it a limitation of the language to not be able to write this script directly in Crystal?
can't this environment variables like our other ones in our .bashrc or .zshrc?
How about Windows, would it be in Powershell?

Issues:

As noted by jemc on Gitter/IRC, this complicates compiler debugging with tools like lldb.
This also render counter-intuitive to have multiple crystal - one may think to copy the shell script, which isn't going to work.

I think exposing CRYSTAL_PATH=$CRYSTAL_ROOT/src:lib, and potentially other variables, through an API that can be used by shards and other projects (ameba?)  would be a nice plus, instead of assuming the library path in each project and hard-coding it.

This isn't a problem.

This is a problem for the Windows port, or we create bin/crystal.bat. Whatever the solution chosen, something has to be done.

Prevents also to set i_know_what_im_doing when we think we know what we are doing like https://github.com/crystal-lang/crystal/issues/5835, but in fact not so much :sweat_smile:

I think we should keep bin/crystal as a developer tool. But I don't think the distribution packages should need it.

@straight-shoota Then who sets CRYSTAL_PATH to point it to the standard library?

For example look on Alpine, file $(which crystal) returns directly the binary.
docker run -it --rm -v $PWD:/app -w /app jrei/crystal-alpine sh -c 'ldd $(which crystal)'
        /lib/ld-musl-x86_64.so.1 (0x7f1d127c1000)
        libLLVM-5.0.so => /usr/lib/libLLVM-5.0.so (0x7f1d0f7d2000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7f1d0f67d000)
        libpcre.so.1 => /usr/lib/libpcre.so.1 (0x7f1d0f620000)
        libgc.so.1 => /usr/lib/libgc.so.1 (0x7f1d0f5b1000)
        libevent-2.1.so.6 => /usr/lib/libevent-2.1.so.6 (0x7f1d0f566000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7f1d0f552000)
        libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f1d127c1000)
        libffi.so.6 => /usr/lib/libffi.so.6 (0x7f1d0f549000)
        libz.so.1 => /lib/libz.so.1 (0x7f1d0f52f000

Environments variables:
docker run -it --rm -v $PWD:/app -w /app jrei/crystal-alpine crystal env
CRYSTAL_CACHE_DIR="/root/.cache/crystal"
CRYSTAL_PATH="lib:/usr/lib/crystal/shards:/usr/lib/crystal/core"
CRYSTAL_VERSION="0.27.2"

So it's definitely possible. I've pushed commits in this way. Here the CI won't run, the draft PR being closed.

The compiler can assign that itself. It would simply use the same default as the wrapper script, which is essentially #{File.dirname(File.dirname(File.real_path(PROGRAM_NAME)))}/src/:lib.
The wrapper script doesn't do anything else when used from the distribution package.

@j8r The value for CRYSTAL_PATH comes from CRYSTAL_CONFIG_PATH which is set at compile time (see build step in APKBUILD). A hard coded path is not portable.

Or just src:lib @straight-shoota when either CRYSTAL_PATH or CRYSTAL_CONFIG_PATH aren't set

Distribution packages don't have to be portable, they know absolute paths so use CRYSTAL_CONFIG_PATH. The portable tar.gz uses a different bin/crystal to the one in this repo and needs to set CRYSTAL_PATH dynamically based on where it's run. The one in this repo needs the same since it needs to override the standard library location from the system location, and it needs additional logic to handle choosing a compiler.
Presumably if you're running gdb on a compiler, then you've built it using make crystal (otherwise the debugging information is likely not present, or it's an optimized binary) and so the correct CRYSTAL_PATH has already been compiled into the executable. So most of the pain is gone just by using gdb on .build/crystal

Ok, why @straight-shoota solution won't work? What prevents this logic to be in Crystal rather than in Shell, Python or Windows batch?

Either we are an user, then using crystal thats takes the stdlib from ../src, from where the binary is located
We develop the compiler, we use .build/crystal and the stdlib comes from again ../src. make use .build/crystal if present, else system's crystal

A wrapper doesn't look like being needed to solve this problem.

@RX14 We could replace the crystal-wrapper fro distribution-scripts with a native crystal implementation as suggested in https://github.com/crystal-lang/crystal/issues/7391#issuecomment-486688064. This is immediately portable and doesn't require a separate solution for windows. Having one less piece in the puzzle is generally an improvement as well.
@j8r

make use .build/crystal if present, else system's crystal

That's actually the primary job of bin/crystal. We shouldn't remove the development version from the repo. But the distribution version can be replaced.

What's the net benefit of doing this?

@asterite one less (possibly useless) file to support? (minus https://github.com/crystal-lang/distribution-scripts/commits/master/linux/files/crystal-wrapper).
It's also better to have less divergence between distributions. Some use this wrapper (tarball) , some don't (Alpine).
Another issue, the compiler is developed with a wrapper but the release is distributed with another one – not ideal.
The benefit is small, but the work is small too.
There are also confusion about this wrapper and the compiler binary.

Reopening because this has come up again in #10702. I think it would be feasible and a good improvement to get rid of (the need for) the wrapper script in distribution.


RSpec.configure not including capybara dsl in spec_helper.rb

rspec-rails: 2.8.1
capybara: 1.1.2
in new rails 3.2 app (using either MRI 1.9.2 or 1.9.3) tests are failing with the error:
undefined method `visit' for #RSpec::Core::ExampleGroup::Nested_1:0x00000003e05580
(visit is a capybara method that loads a page, like webrat's get)
capybara gets this method included in the rspec framework by this line in spec_helper:
require 'capybara/rspec'
this in turn runs a block like :
RSpec.configure do |config|
..
end
this is not working to include the Capybara dsl methods.
An ugly workaround fixes the problem:
insert the following lines into spec_helper.rb
module ::RSpec::Core
class ExampleGroup
include Capybara::DSL
include Capybara::RSpecMatchers
end
end

Why did you close this?


Update button styles to be more consistent and theme agnostic

I think the action buttons in BookStack, (Not text links/actions), are currently a bit too distracting and don't always fit well when the app primary colour is customised.
I'm proposing an update to standardise these to the following two styles:

Grey outline button

For most, general purpose uses.
To be the default choice unless the criteria of one of the below styles is met.

Solid primary colour button

For primary actions on a page - Where there is only one primary action or where it's the primary action within a view that's hidden by default (Popup, Slide-in toolbar).

I was initially thinking of a red delete button but I think we always show a confirmation page to inform of the danger. On delete confirmation pages it would be the primary action so can be the 'Solid primary colour button'.
Just an idea to achieve cleaner visuals while better suiting app colour changes.

Implemented as of v0.26


Drop scala :)

Pure java FTW :)

TODO: make scala2java roadmap

If we are rewriting this using Java (I think we should :)), IMO we can do that separately (maybe in a separate repo)? WDYT?

I hope, that we can start with rewriting tests to java, then some parts of scala classes. Scala can use java classes (can't it?), so we can rewrite it partialy in long time.
I really don't want to use some other repo instead of feature branches for it. Sync problems and long-living-branch problems, you know.

Yeah you are right. I meant if we could create a separate organization and start working on a fork there, it will be better for #5 and #6 as well. Any way we can move with after having some progress and considering the other's ideas as well :)

i am not too fond of scala. is more than ten years ago i really did a lot with it. having java 8 and lambdas gives already a lot of options

@NipunaRanasinghe, ah, got the point. I could create an "intellij-lsp" organinization and transfer this repo to it. Ok?

@nixel2007 Exactly! :) IMO by that we could make these as more community-driven projects and probably gather JetBrains related language server clients into one place in the long run. Thanks for your effort on this!

@nixel2007 One small suggestion, since we will be making this organization as the 'Home' for more jetbrains + language server developments in the long run, shall we name this organization in a more general sense ( maybe something like lsp4jetbrains ;) ) ?

@NipunaRanasinghe the platform is called "IntelliJ Platform", LSP is LSP... :) So i think we can leave this name for organization. We could try to rename the repo itself in more specific to "plugin" way. like intellij-lsp-plugin

@nixel2007 +1 :)


⚠ ClamAV has degraded performance

In f743401, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 92 ms

Resolved: ClamAV performance has improved in beca51b.


Settings button is not working

Somehow "Settings" button on the right corner is not working.
Any idea why is it so ?

I am using Pinpoint v1.6

It's now fixed.

Thanks. I tried with the fresh build. Now setting button is working.
But there is button called " View Servers". It is not working now. Nothing happened when I click on it.

Sorry.


community: Add MiniMaxChat bind_tools and structured output

Description:

Add bind_tools method to support tool calling
Add with_structured_output method to support structured output

@eyurtsev cc


Set the expiry date for the jwt token

Hi folks!
This project is simply stunning 🎉. Now I am learning how to use it and use it to build applications.
I had a few questions, the answers I could not find in the documentation, and I would be very happy if you helped me to deal with them 🙂
Documents paid little attention to the entire authorization process.

The JWT token has exp field to set for 1 day, what would happend after the expired date? I expect that the token will not be accepted by database, but I couldn't find information about this in the documentation.

Is it possible to change the ttl of the token? I think it would be nice to set the ttl of the token via the key.

If I want to use another authorization system through JWT which fields I need to use the database accept it?

{
  "role": "forum_example_person",
  "person_id": 1,
  "iat":<PHONE_NUMBER>,
  "exp":<PHONE_NUMBER>,
  "aud": "postgraphql",
  "iss": "postgraphql"
}

This fields is forum_example JWT key fields. Which fields check for work with postgres?
role, person_id, exp and aud?

It will be great if you add some examples of work refresh with tokens 😳

Thank you so much for this project, it is very much easier in many aspects of building a full stack applications 🏄🏼

The PG JWT spec may answer a few of your questions here, particularly number 3.

Thank you so much for your this issue, it’s very helpful to know where the documentation can be improved :wink:
I’ll try to write an article on this sometime soon including a refresh token example. As for now here’s some answers:

You got it, the token will be rejected effectively logging the user out requiring them to reauth for a new token.
If you add an exp attribute to your JWT type, you can override the expiration time. exp should be an integer representing the seconds since the Unix epoch. In projects I’ve worked on before, you could express that integer with some SQL like this extract(epoch from (now() + interval '1 week')). That should give your token a one week expiration. Your type definition would look like so:

create type forum_example.jwt_token as (
  role text,
  person_id integer,
  exp integer
);

The minimum viable JWT you would need to create must have an aud set to postgraphql. So { "aud": "postgraphql" }. The rest is completely up to you. exp sets the expiration time, role is the database role, there are some other reserved claim names, and anything else is simply passed on to the database.
I’ll try to do this soonish, however it isn’t too hard to implement on your own :+1:

@calebmer, @benjie thank you for your answers, it's very helpful 😎

Is there a refresh token example available yet?

Not AFAIK

I'm trying to conceptualize how the refresh should work. Is this the correct approach?
I currently have an authentication/authorization component that wraps all routes that require authorization and verifies the JWT against the database using the current_person function as described in the Authentication and Authorization documentation.
Should I add a mutation to that wrapper component that will generate a new JWT token based on: current_setting('jwt.claims.person_id')?
The JWT expiration is set to one week so would it be sufficient to just run this additional mutation once/day?

@chris-guidry if I understand the concept correctly, reset tokens are sent to the user when they login.  Successive requests only include the JWT.  If the user sends along the reset token, they can get a new JWT.  It shouldn't be based on the current user, at that would allow anyone with a valid JWT to get another valid JWT which isn't really the point.  If a JWT expires, it will no longer be valid, at which point the user would send along the reset token and a new JWT would be dispatched assuming the reset token is valid.

How is everyone doing the refresh token nowadays?


docs: add documentation around debugging applications

see bugs like #2705. We should document the general workflow for debugging and reporting an application failing to start.

I know it took a while but thanks for getting round to this @bacongobbler 😂 good work. Hope everything at Deis is going ok!

No worries, and yes everything is awesome here :)
Thank you for submitting the issue!


chore: Add test for getting SVG MIME type

SVG files are fairly common in websites.  We want to add SVG to support website crawler asset ingestion.  sharp.js can convert SVGs so this should be a fairly trivial change.
Trello:  https://trello.com/c/ldpWR4tk

NOTE:  No code changes to the actual code were required for this.  I just added a test to make sure that SVG works already (it does).


JSON output gives incorrect error lines

Bug Report
I found a bug with the starting line reported by the JSON output provided by TSLint.

TSLint version: 5.14.0
TypeScript version: 3.3.4000
Running TSLint via: (pick one) CLI

TypeScript code being linted
Line 55 is linted from a security plugin of TSLint: https://github.com/webschik/tslint-config-security

with tslint.json configuration:
{
    "extends": ["tslint-config-security"],
    "jsRules": {
      "tsr-detect-buffer-noassert": [true],
      "tsr-detect-child-process": [true],
      "tsr-detect-eval-with-expression": [true],
      "tsr-detect-no-csrf-before-method-override": [true],
      "tsr-detect-non-literal-buffer": [true],
      "tsr-detect-non-literal-fs-filename": [true],
      "tsr-detect-non-literal-regexp": [true],
      "tsr-detect-non-literal-require": [true],
      "tsr-detect-possible-timing-attacks": [true],
      "tsr-detect-pseudo-random-bytes": [true],
      "tsr-detect-unsafe-regexp": [true],
      "tsr-disable-mustache-escape": [true],
      "tsr-detect-html-injection": [true],
      "tsr-detect-sql-literal-injection": [true],
      "tsr-detect-unsafe-cross-origin-communication": [true],
      "tsr-detect-unsafe-properties-access": [true]
  }
}

Actual behavior
When I run tslint with upon a file like this:
tslint -c tslint/tslint.json cache.js

I get this result:
ERROR: cache.js:55:3 - Found fs.writeFileSync with non-literal argument at index 0

When I run tslint like this
tslint -c tslint/tslint.json cache.js -t json

I get this JSON output:
[
   {
      "endPosition":{
         "character":18,
         "line":54,
         "position":1920
      },
      "failure":"Found fs.writeFileSync with non-literal argument at index 0",
      "name":"cache.js",
      "ruleName":"tsr-detect-non-literal-fs-filename",
      "ruleSeverity":"ERROR",
      "startPosition":{
         "character":2,
         "line":54,
         "position":1904
      }
   }
]

As you can clearly see "startline" in the JSON output is different from the line provided in the default output.
Expected behavior
No difference between startline in the JSON output and the reported line in the default output.

Duplicate of #4528.


CICD releases aren't setting the pre-release flag correctly in Github's release action

We release on merge/push to dev or main.  If on dev, we want the prerelease flag to be set - we also pick a version number that indicates a pre-release to PyPI.
I thought we were doing that, but it seems to be not working.  As it is now I'm constantly marking it as pre-release after the fact and I'd prefer I didn't have to do that.  At the least set it to true at all times and I'll manually set it to false later.

So I thought I had fixed this, but it still seems like the prerelease flag is just straight up ignored.  I can conditionally run an action depending on branch and hardcode the true/false but it's galling that I have to.
I hate trying to track down CICD issues >.<


Support inheritance for @Input properties

This is not new, but I didn't find it in open issues here and I guess it should be documented:
 class BaseComponent {

   @Input()
   String name;

 }

 @Component(
   selector: 'child-component',
   template: '''

Hello {{name}}!

     '''
 )
 class ChildComponent extends BaseComponent {

 }

Calling this component like this:
<child-component name="Angular"></child-component>

... renders "Hello !" instead of expected "Hello Angular!".
Real world example: I have a bunch of custom "input" components of all kind and they all can be "required", "readonly", "disabled", ... It make sense to define these properties in shared parent or in a mixin ...
Just another case for https://github.com/dart-lang/angular2/issues/48 :-)

Generally speaking, I'm not sure that the semantics of inheritance for component metadata properties has been fully nailed down.
Anyhow, a workaround to the issue you mention is, of course, to provide a complete list of supported inputs and or output in the annotation of ChildComponent:
@Component(...,
    inputs: const ['name'], // <***************************
    template: '
Hello {{name}}
'
)
class ChildComponent extends BaseComponent { }

cc @kwalrath

This is really important to me, but yes, we need to figure out semantics. It will be post-V3.

Duplicate of https://github.com/dart-lang/angular2/issues/231.


fix: inline SPDX license in Cargo.toml

Currently, crates.io and GitHub dependency review API are detecting the license is non-standard, even though the LICENSE file clarified Apache License 2.0

https://github.com/rust-lang/cargo/blob/2e309bd75403176790c446be32d83509eb139eca/src/cargo/util/toml/mod.rs#L1627-L1631
                 `license` should be used if the package license can be expressed \
                 with a standard SPDX expression.\n\
                 `license-file` should be used if the package uses a non-standard license.\n\

Thank you!


Scope of @angular/cdk: will overlays be added? a11y?

Bug, feature request, or proposal:
Proposal / Question
What is the expected behavior?
What is the scope of the cdk?
What is the current behavior?
CDK works fine!
My question is: what is the scope of the CDK?
In special: will the overlays from core be added to the CDK?
Also on a11y: there seems to be some overlap between core a11y and cdk a11y
What is the use-case or motivation for changing an existing behavior?
I am asking because some of the features in core seem so generic that they can be shared and re-used through CDK.
What are the steps to reproduce?
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Is there anything else we should know?

See #6100


Update Gallery and WindowsAppSDK Version

Description

Update Gallery Version to 2.5.0
WindowsAppSDK Version to 1.6.241106002

/azp run

@karkarl  When will 2.5 be released on this repo and via Store? 2.4.3 is from last June.


Can't call this.super() in my authenticator.

In authenticators/oauth-custom.js:
import Authenticator from 'simple-auth-oauth2/authenticators/oauth2';

export default Authenticator.extend({
  makeRequest: (url,  data) => {
    data.client_id = EmberENV.clientId;
    return this._super(url, data);
  }
});

When this._super(url, data) gets called I get:

TypeError: Cannot read property '_super' of undefined

It seems this code is generated:
define('frontend/authenticators/oauth-custom', ['exports', 'simple-auth-oauth2/authenticators/oauth2'], function (exports, Authenticator) {

  'use strict';

  var _this = undefined;

  exports['default'] = Authenticator['default'].extend({
    makeRequest: function makeRequest(url, data) {
      data.client_id = EmberENV.clientId;
      return _this._super(url, data);
    }
  });
});

I'm using the current latest ember-cli 0.2.7, ember 1.13.2, ember-simple-auth 0.8.0.  Shouldn't _this be set to something or am I doing something wrong?

this is undefined at top level. Using arrow function means that  this  inside the arrow function body refers to the this value at the outer level.
use a normal anonymous function instead.
import Authenticator from 'simple-auth-oauth2/authenticators/oauth2';

export default Authenticator.extend({
  makeRequest: function (url,  data) {
    data.client_id = EmberENV.clientId;
    return this._super(url, data);
  }
});

Ohhh right, thanks for clearing that up, silly me.


LoadError in Devise::RegistrationsController#create

cannot load such file -- bcrypt_ext
raise Bootsnap::LoadPathCac

he::CoreExt.make_load_error(path)
rescue Bootsnap::LoadPathCache::ReturnFalse
return false
rescue Bootsnap::LoadPathCache::FallbackScan

Hello @ashutoshpith, thanks for your report.
Can you provide us a sample application that reproduces the issue in isolation?
You can also use our bug report template.
That would help us find the issue.
Thank you!

I'm using rails 5.2 nd on applying devise it raise an error for bcrypt_ext ...after changing version of bcrypt ...It arise for all for other project to...is devise compatible with rails 5.2 or not??

Yep, I've just tested with a newly created Rails 5.2 application and it worked, that's why I asked for an application that reproduces the issue. Here's the one I created:
test-5.2.zip

Here is the fie which creating the issuse
Socop.zip

I've tested here and haven't got any errors. Here's a gif of a new signup:

This seems like a gem installation issue. One thing that I had to change in your application is that the .ruby-version file had one version (2.2.6) and Gemfile had another (2.3.3). I've changed them to use the same version.
I suggest you try to do that and maybe purge your gems and do a clean install.

I've made a new app and have the same .ruby-version and gemfile i.e ( 2.3.3 ) but it again shows the same error cause that "cannot load such file -- bcrypt_ext"
Arsenal-1.0.0.zip

I did reinstall the ruby on rails but it causes the same error...I used devise in lower version of rails and it works fine

every time it shows devise error and cannot load bcrypt_ext error

Seems like a bcrypt issue with Windows. I did a search here and found somethings:
https://github.com/codahale/bcrypt-ruby/issues/142
https://github.com/codahale/bcrypt-ruby/issues/128
https://stackoverflow.com/questions/41621029/cannot-load-such-file-bcrypt-ext?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
https://github.com/codahale/bcrypt-ruby/issues/149
https://stackoverflow.com/questions/46434362/cannot-load-such-file-bcrypt-ext-loaderror-on-windows?rq=1


Show keybinding source in GUI

Fixes #37034
I stumbled upon my old PR #67819 and thought that it was pretty solid.
Uses Source column:

Filters examples:
@user - shows user defined keybindings
@default - shows default keybindings
@extensions - shows all extension contributed keybindings
@extensions:"${EXTENSION_NAME}" - shows keybindings contributed by ${EXTENSION_NAME}
@extensions:${EXTENSION_NAME} - same as above only without quotes (spaces are invalid for this one)
Searching with filter and text also works:
@extensions:bookmarks list - shows keybindings from bookmarks extension that contain the word "list"
The old syntax is deprecated in favor of the new one:

@source:user => @user
@source:default => @default

Added 1 new command to the menu to show extension keybindings.
Tested only on Windows OS.

Outdated.


SCRAM authentication issues with 2.8.3

In what version(s) of Spring for Apache Kafka are you seeing this issue?
2.8.3 and 2.8.4, only when using Springboot version 2.6.5, 2.6.6, and 2.6.7
Describe the bug
When attempting to produce records to Kafka using a client configured with SCRAM authentication, the authentication is being rejected, and the following exception is thrown:
org.apache.kafka.common.errors.ClusterAuthorizationException: Cluster authorization failed.

I am seeing this happen with spring kafka versions 2.8.3 and 2.8.4, but only when using the Springboot versions listed above (configured using the springboot gradle plugin)
Using Springboot version 2.6.4 seems to work, with no changes to my configs. I can see that with this version of Springboot, spring kafka 2.8.3 is brought in. Seeing this, I then attempted to use Springboot version 2.6.6 and manually import spring kafka 2.8.3. However, this still did not work.
Debugging through my application, it seems that all the correct properties are being set, even up to where events are being published.
To Reproduce
Configure a gradle project, and configure Springboot using the gradle plugin (note that I am using Kotlin):
plugins {
	id("org.springframework.boot") version "2.6.7"
}

Configure a ProducerFactory using the following configurations:
    @Bean
    fun producerFactory(kafkaProperties: KafkaProperties): ProducerFactory<String, String> {
        val props: MutableMap<String, Any> = HashMap()
        props[ProducerConfig.BOOTSTRAP_SERVERS_CONFIG] = kafkaProperties.bootstrapServers.joinToString()
        props[ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG] = StringSerializer().javaClass.name
        props[ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG] = StringSerializer().javaClass.name

        props["ssl.endpoint.identification.algorithm"] = "https"
        props["sasl.mechanism"] = "SCRAM-SHA-512"
        props["security.protocol"] = "SASL_SSL"
        props["sasl.jaas.config"] = "org.apache.kafka.common.security.scram.ScramLoginModule  required username=\"${apiKey}\" password=\"${apiSecret}\";"

        return DefaultKafkaProducerFactory(props)
    }

Connect to a kafka service that uses SCRAM authentication and attempt to publish an event. I realize that this step might be tricky to come by. I looked to see if there were any docker containers that would allow for SCRAM authentication, and I wasn't able to get anything working.

Spring Boot 2.6.5 switched from kafka-clients 3.0.0 to 3.0.1.
I suspect the problem is there.
Perhaps you can try downgrading to kafka-clients 3.0.0 to see if that helps.
If so, I suggest you try using the kafka-clients directly to connect, to see if you can reproduce the problem that way, in which case, you should open an issue agains the kafka-clients and close this.
If you can't reproduce it with the kafka-clients, we need to figure out what else might have changed in Spring (but I seriously doubt it's s Spring problem).

@garyrussell, that seemed to be the issue! I downgraded and everything works now. I will close this issue.

Sure thing. Here's the issue I opened: https://issues.apache.org/jira/browse/KAFKA-13859

I suspect they will need to see the configuration - maybe the INFO log put out by the producer or consumer, as well as the full stack trace.
They might also want to see the server logs too (if you can get them from AWS).
This could also be an AWS problem so you might want to raise an issue over there too.


[BEAM-4113] Install latest pip/virtualenv in Gradle Python precommit.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand:

[ ] What the pull request does
[ ] Why it does it
[ ] How it does it
[ ] Why this approach

[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

I like the idea of always using an up-to-date pip/virtualenv, but I think it'd be preferable to not mess with the user's environment when they run gradle test. Note also that the --user flag is incompatible with already being in a virtual environment.
Maybe run these commands (or at least the pip one) once the virtual environment is already created?

@robertwb I created a JIRA for this as well. I'm not sure if this PR is needed. Will reevaluate after #5167 is merged.

Should we close this?

Yep. Closing.


python312Packages.appthreat-vulnerability-db: 6.1.0 -> 6.1.1

Diff: https://github.com/AppThreat/vulnerability-db/compare/refs/tags/v6.1.0...v6.1.1
Changelog: https://github.com/AppThreat/vulnerability-db/releases/tag/v6.1.1

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 351591

x86_64-linux

:white_check_mark: 6 packages built:

dep-scan
dep-scan.dist
python311Packages.appthreat-vulnerability-db
python311Packages.appthreat-vulnerability-db.dist
python312Packages.appthreat-vulnerability-db
python312Packages.appthreat-vulnerability-db.dist


Reactivate sonar

List of changes:

Reactivate sonarQube parser. (more info: see https://github.com/DefectDojo/django-DefectDojo/issues/810)
Fix it for python3
add file_path and line_number
fix an issue with the logic for finding the vulnerabilities and the rules

before it was finding all the "tbody" and expect to find data always at the same nth tbody.
However sometimes there are more "tbody" in the rules description, and when there are no vulnerabilities found, one of the tbody disappears so it didn't work. Fix by using xpath instead to locate the list of vuln and the rules.

force the findings as static findings (they were dynamic before)
add unit tests

Beware that you'll need the last version of the sonar html export for this to work. it's here https://github.com/soprasteria/sonar-report but the npm registry is not up to date yet.
See also

a sample report here https://github.com/DefectDojo/sample-scan-files/pull/32
updated documentation: https://github.com/DefectDojo/Documentation/pull/57

I have an idea for a perf improvment: that get_rule_details function has a complexity of number of findings * (number of rules/2).
It could be lowered to number of findings + number of rules  if we go through the rules just once and put them in a hashmap.
@praveendvd also found a issue when importing non-vulnerability findings. i'll check this too

Hey @ptrovatelli please reactivate here as well. Thanks.

Hey @ptrovatelli please reactivate here as well. Thanks.

Nice catch thanks! done.


feat: add time range events filter

API Changes

Deprecates the creationDate filter in favor of the oneof From filter
The oneof From filter behaves exactly the same as the creationDate filter
The oneof Range filter enables specifiying a since and until date

Console Changes

Seconds are displayed in the events creation dates
Enables filtering in console by time range with second precision
Creation Date is sorted instead of sequence

Definition of Ready

[ ] I am happy with the code
[ ] Short description of the feature/issue is added in the pr description
[ ] PR is linked to the corresponding user story
[ ] Acceptance criteria are met
[ ] All open todos and follow ups are defined in a new ticket and justified
[ ] Deviations from the acceptance criteria and design are agreed with the PO and documented.
[ ] No debug or dead code
[ ] My code has no repetitions
[ ] Critical parts are tested automatically
[ ] Where possible E2E tests are implemented
[ ] Documentation/examples are up-to-date
[ ] All non-functional requirements are met
[ ] Functionality of the acceptance criteria is checked manually on the dev system.

@adlerhurst could you please review the api changes (.go and .proto)
@peintnermax could you please review the rest.
thx


Some callback functions missing for WebSockets

In the Elysia WebSockets documentation I see that there are 4 callback functions:

close()
open()
message()
drain()

But there are some useful ones that are missing that are in the uWebSockets library documentation.

ping()
subscription()
...

The subscription() callback function is specially important to handle the subscriptions to topics and to track users in websockets. Is there any plan to add these callback functions?

If you want to use them the Elysia exposes the uWebSocket socket in the raw prop

If you want to use uWebSocket functionality, Elysia exposes the uWebSocket socket in the raw prop.
This is an assumption btw, based on some tests I've been doing. Can't verify right now but you can.

Unfortunately, the subscription() callback function does not exist in the raw prop. It might be an outdated version of uWebSockets, I'm not sure. Thanks anyway, the rest of the methods are working!

If you want to use uWebSocket functionality, Elysia exposes the uWebSocket socket in the raw prop.
This is an assumption btw, based on some tests I've been doing. Can't verify right now but you can.

Unfortunately the subscription() callback is missing in the raw property of the socket. Anyway, I need the subscription callback not to be inside a socket object, as it should be global for any websocket connection. Thank you anyway!

There are some uWebSockets functionalities missing in bun.js. Check this GitHub issue: https://github.com/oven-sh/bun/issues/2988

There are some uWebSockets functionalities missing in bun.js. Check this GitHub issue: oven-sh/bun#2988

is this issue still open?
If yes i want to work on it

There are some uWebSockets functionalities missing in bun.js. Check this GitHub issue: oven-sh/bun#2988

is this issue still open?
If yes i want to work on it

Yes, the issue is still open in both repositories.


rbac.authorization.k8s.io/v1beta1 deprecated

rbac.authorization.k8s.io/v1beta1 is unavailable in v1.22+
Please upgrade your templates to use rbac.authorization.k8s.io/v1

I've merged the changes from the example repository. This should fix this problem.


Uday seiv2 rebase

Describe your changes and provide context
Testing performed to validate your change

Codecov Report
Attention: Patch coverage is 65.38330% with 1016 lines in your changes are missing coverage. Please review.

Project coverage is 60.91%. Comparing base (e696486) to head (731e688).
Report is 45 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1560      +/-   ##
==========================================
- Coverage   63.44%   60.91%   -2.53%
==========================================
  Files         257      366     +109
  Lines       16739    26062    +9323
==========================================
+ Hits        10620    15876    +5256
- Misses       5613     9181    +3568
- Partials      506     1005     +499

Files
Coverage Δ

app/antedecorators/priority.go
100.00% <100.00%> (ø)

app/upgrades.go
40.74% <ø> (ø)

evmrpc/config.go
100.00% <100.00%> (ø)

evmrpc/echo.go
100.00% <100.00%> (ø)

evmrpc/query_builder.go
100.00% <100.00%> (ø)

evmrpc/tracers.go
100.00% <100.00%> (ø)

evmrpc/web3.go
100.00% <100.00%> (ø)

precompiles/bank/bank.go
55.60% <ø> (ø)

precompiles/common/precompiles.go
15.15% <ø> (ø)

precompiles/distribution/distribution.go
48.57% <ø> (ø)

... and 39 more

... and 80 files with indirect coverage changes


is there any segmentation example?

It's in the dev branch. We using our own dataset.

cool! thanks!
Does it means that I have to use the kkmaster branch and recompile?

thanks will try later.


Confusing error message when peer ID mixed between relaychain part & parachain part of a parachain node

I am running a parachain local testnet and I am passing bootnodes to allow parachain nodes to discovery each other. But I passed the relaychain peer id instead of parachain peer id to the parachain node. Now I am getting this confusing error message
[Parachain] 💔 The bootnode you want to connect to at /dns/parachain-2000-1/tcp/30333/p2p/12D3KooWN6S4KHT2jCs9M84UJgWJ6xLV14QQDWnuBXN4HgFC8dapprovided a different peer ID than the one you expect:12D3KooWN6S4KHT2jCs9M84UJgWJ6xLV14QQDWnuBXN4HgFC8dap.
Note that the peer ID in the error message are the same.
cc @tomaka

Issue still relevant and important.


Members API

Add basic functions of the members API(getMembers, addMember)
Add unit tests for the API

Description

Get members list: Get /api/members/:groupName
Get member by index: Get /api/members/:groupName/:index (index for new added member will be [max index of the list + 1])
Add member: Post /api/members/:groupName <- Body { identityCommitment: "..."}
Add unit tests for the API

As there is no DB at the moment, I just made it with fake list
More functions and test will be added after the Groups API and DB tasks are completed
Related Issue
#4
Does this introduce a breaking change?

[ ] Yes
[x] No

Other information

hey @Insun35
While creating the group module, the member and group modules are integrated.
feat(api): create groups api #8
Please check this pull request and review it ;)


Fix drawing angle lines on reversed radial scale

TODO: Add test
Resolves: https://github.com/chartjs/Chart.js/issues/11785

Change makes sense; good to add a test


firebase build

@yatendra2001
can i have a screen shot of your firebase? because i cant create task
below is my firebase build

Would you share the specific error that you're getting?

@yatendra2001
i have solved the error
it was about creating new indexes ! as below
many thanks bro for your help, appreciate your time and prompt replys

Awesome @dextermax3


Better pinia-plugin-persistedstate-2 setup

Can we make setup of pinia-plugin-persistedstate-2 similiar to pinia-plugin-persistedstate
It is much cleaner to have pesisted-state settings inside defineStore
Something like this.
export const useStore = defineStore("store", {
  state: () => {
    return {
      someState: "hello pinia",
    };
  },
  persist: {
    getItem: async (storeId) => {

    },
    setItem: async (key, value) => {

    },
    removeItem: async (key) => {

    },
    onReady: async () => {}
  },
});

Are you looking for the store options?

@iendeavor yes but it would be better to move getItem, setItem, removeItem, onReady inside the store options


docs: update bad undo-add links

per https://github.com/iterative/dvc.org/runs/1179565776

p.s. should I also add a temporary redirect Ivan?

p.p.s. hey @jeremydesroches, how would we inspect how much traffic dvc.org/doc/user-guide/updating-tracked-files
used to get? The Search Console says "URL is not on Google": https://search.google.com/u/1/search-console/inspect?resource_id=sc-domain%3Advc.org&id=1BHK2EaGld46LRxtSJ8TlA

p.s. should I also add a temporary redirect Ivan?

nah, I think we are fine here
CI checks are still broken ^^

Sorry my bad... Typo 🤦
BTW these new checks against the deployment app are great! Thanks @shcheklein @rogermparent

p.p.s. hey @jeremydesroches, how would we inspect how much traffic dvc.org/doc/user-guide/updating-tracked-files
used to get? The Search Console says "URL is not on Google": https://search.google.com/u/1/search-console/inspect?resource_id=sc-domain%3Advc.org&id=1BHK2EaGld46LRxtSJ8TlA

The trick is to go into performance and then filter by the url. This link should get you there on Search Console.

I see. Yeah I discovered that recently on Search Console actually. But this tells me how many impressions and clicks it gets, as well as the search queries, which is useful (screenshot below). But I was wondering even more general than that: the net traffic it gets, so should probably check in Google Analytics instead?

the net traffic it gets, so should probably check in Google Analytics instead?

Yes. Usually the clicks will line up pretty well with sessions (for organic), but try this view in Analytics.

Oh cool, thanks @jeremydesroches. Do you know if there's a way to add more than one page? I'd like to overlay that one with the new URL, dvc.org/doc/user-guide/how-to/update-tracked-files to see how smooth the transition was (there's a redirect form the previous one to this one).

Oh cool, thanks @jeremydesroches. Do you know if there's a way to add more than one page? I'd like to overlay that one with the new URL, dvc.org/doc/user-guide/how-to/update-tracked-files to see how smooth the transition was (there's a redirect form the previous one to this one).

Yep, try this report in Analytics. You can also use compare in Search Console.
I tried out the original link and there doesn't seem to be a working redirect at the moment. It's good that the intent is to have a redirect, and I assume that will be fixed. This is actually a pretty important thing to handle for SEO purposes, so I'll just spell out what should happen in cases like this:

Publish the updated page at new url: dvc.org/original-url becomes dvc.org/new-url.
Create 301 redirect from dvc.org/original-url to dvc.org/new-url.
In Search Console, request indexing for dvc.org/new-url.
In Search Console, request indexing for dvc.org/original-url (so it picks up the redirect immediately).
Provided that new content is similar or better, organic traffic and ranking should transition seamlessly.

Hope this helps!

Yep, try this report in Analytics.

By the way, to produce that report: Find or search for the urls you want in the table, then check them off and select "Plot Rows".

Sweet! Looks like that search box takes regexps too, which is useful to find typos in links out there. I just fixed 2 old links that now cause 404s in old GitHub comments based on this:

I like that GA let's you look at weekly graphs too, which are much more smooth. If you find a way to do that in SC please lmk.

Page Compare on SC is also good but you can only have 2.

This is actually a pretty important thing to handle for SEO purposes, so I'll just spell out what should happen

Actually we completely flopped on this this time. Not a big deal since we're talking about 100 visits/week but totally agree with those steps. We usually setup the redirects (which get removed later at some point) but we never reindex on SC — good tip, thanks.
I would add a step: to find any old links we have control of and update them, so the redirect can be removed later on.  We already do this in all the docs of course, since it's easy to grep the old URL, but they're also common in old GH comments, for example (maybe some 3rd party blogs we wrote?) which tend to not get updated.

Sweet! Looks like that search box takes regexps too, which is useful to find typos in links out there. I just fixed 2 old links that now cause 404s in old GitHub comments...

Nice @jorgeorpinel! Yes, you can do some amazing things with regexp in GA. Another spot I've used them is with Filters... easy to get carried away, but if you ever find visits coming in with strange event/channel/tag data, a regexp filter can clean everything up nicely. Only for data going forward though.

I like that GA let's you look at weekly graphs too, which are much more smooth. If you find a way to do that in SC please lmk.

Page Compare on SC is also good but you can only have 2.

Yes, SC is pretty limited... BUT you can view SC data in GA if you enable the connection! Maybe you can get the best of both... 🙂

Actually we completely flopped on this this time. Not a big deal since we're talking about 100 visits/week but totally agree with those steps. We usually setup the redirects (which get removed later at some point) but we never reindex on SC — good tip, thanks.

Probably no harm done, as long as it's redirected relatively soon. The sitemap is likely being read daily, so new URLs will get picked up easily (e.g., a new blog post or doc will get indexed almost immediately). When URLs change it's a bit different: the 301 redirect assigns the previous URL's ranking to the new URL so takes its place in the index. Without a redirect the new URL might be recognized as the old page, but could actually "start over". The old URL can hang around in the index for quite a while, too.

I would add a step: to find any old links we have control of and update them, so the redirect can be removed later on.

Yes, a very practice if the scope of your content allows for it. It's definitely better to have a well-maintained redirects file than hundreds of historical entries — but it happens. 😒

Thanks for the tips about Filters and on linking SC and GA @jeremydesroches, will check it out.

Probably no harm done, as long as it's redirected relatively soon

Well, the change happened weeks ago already and as you may have noticed in the merged PR comment where I mentioned you, there was some damage done 😓 but if you want (and it can be good so you learn this) feel free to setup the redirect in redirects-list.json with a small PR.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target/pull/1035 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target.git

Docs Build status updates of commit 82d092b:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch Release_Archive_main_2022-02-16-03-14-14 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Provide for "elm-platform/master not working" in README

To provent problems/issues like the following from coming up again: https://github.com/elm-lang/elm-lang.org/issues/448#issuecomment-196097817

Thank you! I am glad we can help people who run into this in the future.

I'll just list the tag explicitly, that should work more often.


Create a dynamic image add-on in the homepage

feat: Visit Suggestion Section

Cities you like to visit

[ ] Create an new upstash project
[ ] put city as  query
[ ] generate 3 images and description

section to update

If no one is working on it, could you please assign me on it


Device.serial_number returns None if 0

If the serial number is 0 then the call to util.get_string returns None.
print(f'iSerialNumber: {self.dev.iSerialNumber}')
print(f'serial_number: {self.dev.serial_number}')

results in
iSerialNumber: 0
serial_number: None

This is expected: iSerialNumber is a reference to a string descriptor, and descriptor index 0 is used to indicate that (in this case) the device doesn't report a serial number (string).

Zero is never the index of a real string. The USB spec allows a device to use zero in a string index field to indicate that no string is provided.  So the caller does not have to treat that case specially, this function returns None if passed an index of zero, and generates no traffic to the device.

This is expected: iSerialNumber is a reference to a string descriptor, and descriptor index 0 is used to indicate that (in this case) the device doesn't report a serial number (string).

Zero is never the index of a real string. The USB spec allows a device to use zero in a string index field to indicate that no string is provided.  So the caller does not have to treat that case specially, this function returns None if passed an index of zero, and generates no traffic to the device.

The documentation should reflect this then. I was expecting '0' and ended up having to use iSerialNumber directly.

That quote was taken from the documentation.
More importantly, you probably shouldn't treat that device as having a serial number equal to 0 (string), because in reality it doesn't have any serial number.
Which is what iSerialNumber == 0 means, according to the USB specification.  Though, admittedly, the spec isn't super clear on that...

That quote was taken from the documentation.
More importantly, you probably shouldn't treat that device as having a serial number equal to 0 (string), because in reality it doesn't have any serial number.
Which is what iSerialNumber == 0 means, according to the USB specification. Though, admittedly, the spec isn't super clear on that...

https://github.com/pyusb/pyusb/blob/bf88211d65caf01b903005efae7f0915a53a8c4e/usb/core.py#L829-L838
There is nothing about it being None there which is why I had expected '0'.
Regardless I've given up. I was looking to recreate https://github.com/raspberrypi/usbboot/blob/master/main.c but no matter what I did it always times out during writing even though I was doing the exact same thing. Ended up just running rpiboot with subprocess and moving on.


Suggest upgrade to BlueBird 3 version

BlueBird recently upgrade to a new major version (v3). I checked the source-code and I think the code will be perfectly capable to work with BB v3. I would suggest allowing this version too.

Actually, I'll be looking into migrating to native promises to reduce the amount of dependencies we're using, but thanks for the tip of bluebird 3!

@jeduan you should check out this benchmark table. native promises aren't yet performant enough.
results for 10000 parallel executions, 1 ms per I/O op

file                                       time(ms)  memory(MB)
promises-bluebird.js                            322       31.92
promises-ecmascript6-native.js                  847      182.71

Upgraded to bluebird 3 in 2.1


PyBuffer support with limited ABI in py3.11+

Starting with https://github.com/python/cpython/commit/f66c857572a308822c70fd25e0197b6e0dec6e34 (landed about 5 minutes ago) PyBuffer is supported in the limited ABI. Once py3.11 ships, it'd be great if pyo3 took advantage of this!

I think definitely once the next alpha gets released and it's running on Github actions, we can then start testing with it 👍


Web issues

When transpiling for Dart Web I got this warning, which is fatal because it breaks the transpile:
[WARNING] build_web_compilers:entrypoint on web/main.dart: Skipping compiling my_project|web/main.dart with dart2js because some of its
transitive libraries have sdk dependencies that are not supported on this platform:

logger|lib/src/outputs/file_output_stub.dart

https://github.com/dart-lang/build/blob/master/docs/faq.md#how-can-i-resolve-skipped-compiling-warnings

I tried to bypass it by replacing this:
import 'package:logger/logger.dart'

into this:
import 'package:logger/src/logger.dart';
import 'package:logger/src/filters/production_filter.dart';
import 'package:logger/src/outputs/console_output.dart';
import 'package:logger/src/printers/simple_printer.dart';
import 'package:logger/src/log_level.dart';

which leads to these static warnings (non-fatal), but the fatal warning still not solved:
Import of a library in the 'lib/src' directory of another package.
Try importing a public library that exports this library, or removing the import

Firstly I want to solve the fatal warning: Is there a way to import in a web safe way?
Secondly, would be great that the first solution also removes the non fatal warnings.
Thanks

Hi, what a bummer...
Sorry, this took me some time to research and understand your use-case and investigate possible solutions.
It seems that there are only two viable options for Dart Web projects:

Modify the build.yaml to change the web_compiler strategy to fine, as described here (I have successfully tested this myself, however I am not sure whether this configuration has any other side effects, so use with care!)
Remove the stub from the exports, or in other words, make a web-only export library (as in your PR).

I also tried modifying the stub to circumvent the pointless warning, but without using dynamic as type it seems to be impossible to satisfy the web compiler (using dynamic would also render the stub effectively impractical).
Interesting sidenote: The reason why this problem "only" exists in Dart and not in Flutter is because they made an (originally temporary) exception for Flutter Web. Source: https://github.com/dart-lang/build/issues/3614#issuecomment-1819457471


Typo "**box, choose **"→"box, choose"

https://docs.microsoft.com/en-us/azure/devops/repos/tfvc/find-view-changesets?view=azure-devops

@hyoshioka0128 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@hyoshioka0128 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Validation for start date and end date in Event and Integration of BBB meeting in Events

In Event Create api of Content-service, added a validation for date/time.
Validation Added :
Start Date/Time should be less than the End Date/Time.
If the EndDate/Time >= StartDate/Time, then create Event.
If the EndDate/Time < StartDate/Time, then Valildation error.
Big Blue Button (BBB) integration (New Join Event api)
GET       /event/v4/join/moderator/:identifier     : Used to get Join meeting URL for Moderator
GET       /event/v4/join/attendee/:identifier     : Used to get Join meeting URL for Attendee
The Moderator GET api is used to create new BBB meeting, if it was not created before, otherwise it uses same BBB data saved in onlineProviderData attribute - https://github.com/project-sunbird/knowledge-platform/blob/master/schemas/event/1.0/schema.json#L76 to generate and return link.
The Attendee GET api is used to just get the BBB meeting if it is already created by Moderator, otherwise gives exception as wait for Moderator to start meet.

@maheshkumargangula @vrayulu could you help with review/merging this PR. A simple date validation to check end date is later than start date. There is no PRD for this specific fix, but it's an attempt for @GauravTekdi to get started with KP and the contribution process.

@maheshkumargangula - Review comments are resolved.
cc - @coolbung

@maheshkumargangula - Review comments are resolved. Can you please review this?? cc - @coolbung

@maheshkumargangula - Can you please review BBB implementation??
cc - @coolbung

@AmiableAnil - Thanks for the review comments. We will work on this and update the PR.
cc : @coolbung

@AmiableAnil - Thanks for the review comments. We will work on this and update the PR.
cc : @coolbung


Prevent first/last pages from sliding further than the carousel's borders

Feature
New Prop to stick first/last CarouselItems to the edges, regardless of the value of centered prop, always displaying a full page.
Context
When slidesPerPage is greater than 1, reaching the first or last element adds unnecessary blank space. Instead, getTransformOffset() could prevent the carousel from sliding further, allowing the entire page to remain visible (respecting slidesPerPage at all times).
Unwanted behaviour:
CodePen: https://codepen.io/anoz/pen/OJVmBxB

IssueHunt Summary

Backers (Total: $59.00)

 roberthebel ($59.00)

Submitted pull Requests

#606 new Prop: stickyEdges

Become a backer now!
Or submit a pull request to get the deposits!
Tips

Checkout the Issuehunt explorer to discover more funded issues.
Need some help from other developers? Add your repositories on IssueHunt to raise funds.

@a-nozeret
Thanks for reporting.
I think the example below, possible to reproduce in the docs, is the same issue.
<Carousel
  centered
  arrows
  addArrowClickHandler
  slidesPerPage={4}
  slidesPerScroll={4}
>

</Carousel>

I think it may be also related to this mobile issue https://github.com/brainhubeu/react-carousel/issues/181
Maybe we'll fix this issue but you're PR is more than welcome.

aayush420
I leave the brainhubeu organization so I must remove the IssueHunt funding as it's only me who's able to manage these funds.
Moreover, the team decided on Thursday about stopping using IssueHunt but as you've already opened a PR maybe they'll agree to reward you. Please ask @RobertHebel , @humbak, @Lukasz-pluszczewski or other brainhubeu organization members.

Hey @piotr-s-brainhub please merge and close #608 . It has the fix you need. You forgot to add the new prop stickyEdges to your code. And hey, why did you remove funding on issuehunt after the PR is submitted?

@aayush420
For me, it doesn't work correctly.
As I've previously mentioned, I'm leaving the brainhubeu organization so nobody would be able to reward it on IssueHunt.
Please contact @RobertHebel , @humbak, @Lukasz-pluszczewski, or other brainhubeu organization members so maybe one of them will re-assign funding and reward it to you.

@aayush420 We are working on restoring funding for already opened PRs. On the next Thursday, I will be able to re-assign money for this issue. Is it ok for you to wait for the funding one week?
And regarding bug @piotr-s-brainhub has mentioned it's not caused by your code so I think everything looks 👍 .

@aayush420 issue hunt for this issue will be recovered tomorrow, sorry for the delay also I've found one bug regarding stickyEdges prop on your PR

@aayush420 issue hunt for this issue will be recovered tomorrow, sorry for the delay also I've found one bug regarding stickyEdges prop on your PR

Hey, Nice catch! #626 Addresses this new bug.

Any update on this? Is anyone still working on this issue?

Any update on this? Is anyone still working on this issue?
The PR is basically finished ages ago. The team is not finding time to merge it, it seems.


system.vm.public.ip.reservation.mode.strictness not honored during initial Cluster creation

ISSUE TYPE

Bug Report

COMPONENT NAME

management

CLOUDSTACK VERSION

4.14

CONFIGURATION

ACS 4.14, Ubuntu 18, KVM, Advanced Networking, Local Primary Storage.
OS / ENVIRONMENT

SUMMARY

I did configure ip reservation strictness set to true, but forgot to create an IP range for system vms.
I create a new cluster, and it starts, System VMs are generated with Public IPs despite the setting.
When I attempt to restart the System VMs later on, I get  Insufficient capacity exception.
STEPS TO REPRODUCE

configure system.vm.public.ip.reservation.mode.strictness =true
create a zone,
create networks
create traffic types
ip ranges (do not create any range for system IPs)
create pod, cluster
enable zone
enable networks
add hosts,

EXPECTED RESULTS

cluster creation should fail, or SVMs should report insuficient capacity

ACTUAL RESULTS

cluster was created and SVMs assigned public IPs despite setting
when attempting to recreate the SVMs, insuficient capacity is reported.

is it possible that modifying system.vm.public.ip.reservation.mode.strictness=true requires a platform restart?

OK, after manually setting it on the UI I can see that the setting requires the cluster to restart.


Creating a Test Double for http:Client fails with incompatible return type

Description:
Creating a Test Double for http:Client fails with incompatible return type
Steps to reproduce:
When trying out the following code, it fails to mock the http:Client giving the mentioned error.
import ballerina/test;
import ballerina/http;

public client class MockHttpClient {
    remote function get(@untainted string path, map<string|string[]>? headers = (), http:TargetType targetType = http:Response) returns @tainted http:ClientError|http:Response {
        http:Response response = new;
        response.statusCode = 500;
        return response;    }
}

@test:Config {}
public function getJoke() {
    clientEndpoint=<http:Client>test:mock(http:Client, new MockHttpClient());
    string|error result = getRandomJoke("Sheldon");
    test:assertTrue(result is error);
}

Error message:
incompatible return type provided for function get()
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

The reason for failure is https://github.com/ballerina-platform/ballerina-lang/issues/29589

We can overcome this issue by switching the source type and target type as it adheres to the spec.


Feature/timeline details

Description
Explanation video

Updates the timeline to correctly show a title (if there is one) or the desc... if there is not.
Adds a title field and a tags field to the CompleteIncident form.
Adds a helper function to convert force_rank from the short form to the longer, descriptive form.

Type of change

[x] New feature (non-breaking change which adds functionality)

Change Status

[x] Complete, tested, ready to review and merge

How Has This Been Tested?

[x] npm test
[x] new tests added for forceRankHelper

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] There are no merge conflicts

Overall looks good. Maybe could have split this up into a couple/few pull requests but otherwise seems ok

Yeah, the timeline changes could be separated from the incident editing changes, but since I need to be able to change an incident's title to test the timeline, they ended up in the same PR.

Ok, I think I read all of it. It looks like it does what you said and a bit more and doesn't break anything. Ill approve it once the merge conflict is resolved between this and your other PR.


Syntax issue on string 66

The after the last chunk of data an 'end' chunk must be sent to indicate successful and complete transmission.  >>> Then, after the last chunk of data, an 'end' chunk must be sent to indicate successful and complete transmission.

thanks


Prompt before closing with unsaved changes

One can currently simply close the HAL main window with an unsaved netlist and/or unsaved python script, discarding those changes. There should be a warning message before actually quitting and discarding unsaved files.

Fixed in #91

Although the code itself is present, the closing prompt for unsaved python scripts does not appear due to the current development of the branch feature/python_editor_tabs which adds functionality to check if python files have been modified. I suggest reopening the issue to indicate that's the case and close it after the python tabs have been integrated.


[FLINK-35464] Fixes operator state backwards compatibility from CDC 3.0.x

This closes FLINK-35441 and FLINK-35464.
Flink CDC 3.1 changes how SchemaRegistry [de]serializes state data, which causes any checkpoint states saved with earlier version could not be restored in version 3.1.0. This PR adds serialization versioning for state payloads and ensures 3.0.x state could be successfully restored.
Unfortunately 3.1.0 introduces breaking changes without bumping serialization version, so this release will be excluded from state compatibility guarantee.

Running some real savepoint restore tests with https://github.com/yuxiqian/migration-test reveals that:
Before this change: (Snapshots compiled from release-3.1 and master)

From \ To
3.0.0
3.0.1
3.1.0
3.1-SNAPSHOT
3.2-SNAPSHOT

3.0.0
❓
❓
❌
❌
❌

3.0.1

❓
❌
❌
❌

3.1.0

✅
✅
✅

3.1-SNAPSHOT

✅
✅

3.2-SNAPSHOT

✅

✅ - Compatible, ❌ - Not compatible, ❓ - Target version doesn't support --from-savepoint

After this change: (Snapshots compiled from FLINK-35464-BP-3.1 and FLINK-35464)

From \ To
3.0.0
3.0.1
3.1.0
3.1-SNAPSHOT
3.2-SNAPSHOT

3.0.0
❓
❓
❌
✅
✅

3.0.1

❓
❌
✅
✅

3.1.0

✅
❌
❌

3.1-SNAPSHOT

✅
✅

3.2-SNAPSHOT

✅

Thanks for @PatrickRen's comments! I too agree that it's not very elegant to package all history versions just for compatibility test, but seems to be inevitable since there's no such thing like C's macro or conditional compilation in Java.
What I'm thinking of is 1) moving those dummy projects to somewhere outside (like yuxiqian/dummy-cdc-migration-test repo), or 2) write a script to dynamically generate dummy projects during the CI. WDYT?

Thanks for the tips! Addressed your comments to simplify pom files.


Config manager

Sorry about the delay.  Couple things (quoting the Trello card):

These "question entries" can be stored as a JSON in core/configuration/questions.json

Honestly I thought this was a textbook description of a CSV since every "row" has a question, , config section, key and default answer. So I just made those the columns and created a CSV. I still think it's easy to update, since adding to the question bank is simply adding a row.

Check setup mode is entered when the configuration file doesn't exist

Yes, I know configuration.ini exists right now. But the tests remove the file (using reset) at the beginning, so a new config is actually created for each test. Why don't I just use a new directory for testing? I could mock out ConfigurationManager in the components that depend on it, but I ultimately decided that it was important to test that each file can access the config in their respective ways. Because each test removes configuration.ini at the start and leave a copy of the default configuration.ini at the end, the functionality is still proven to be correct.

Summarizing what I said in meeting for clarity
I revamped the design of the class. __init__ takes optional parameters for config_filepath and input_function, which are attributes of the instance. bootstrap and get_instance take no parameters. So from a consumer's point of view (as long as the file path does not change), all that needs to be done is initialize the class and call get_instance to retrieve the instance.
The tests are a bit more complex. So in order to uphold all the design suggestions you made (singleton, keep bootstrap in __init__, don't use test variables, etc.) I decided to use fixtures. Each test file creates/alters a ConfigurationManager instance so that it knows where to pull/create the config file. The only exception is DMLScheduler, where all of that happens outside of the test methods and fixtures because the runners never finish running otherwise. Not sure if this worth worrying about for now, but I can create a TODO card to try to debug why fixtures don't work for the scheduler at a later point.
Tl;dr tests pass and from a consumer standpoint, I believe I've addressed all your concerns.

Looks like we've come into agreement with the final design of ConfigurationManager. Merging now.


Fix #50 and fix #51: use open to call protocol handler if installed

Download:
Environment: QT=5.12, ARCH=32, PYTHON_PATH=C:\Python35
installer/trik-studio-installer-master-i686.exe
trik-studio-master_qt5.12_i686.zip
Environment: QT=5.12, ARCH=64, PYTHON_PATH=C:\Python35-x64
installer/trik-studio-installer-master-x86_64.exe
trik-studio-master_qt5.12_x86_64.zip

Download:
Environment: QT=5.12, ARCH=64, PYTHON_PATH=C:\Python35-x64
installer/trik-studio-installer-master-x86_64.exe
trik-studio-master_qt5.12_x86_64.zip
Environment: QT=5.12, ARCH=32, PYTHON_PATH=C:\Python35
installer/trik-studio-installer-master-i686.exe
trik-studio-master_qt5.12_i686.zip