Expired JWT returns a 401

Description
When trying to use an expired token (the one I used was created on Monday and expired this morning at 9:26am GMT+1), you get a 401 response from the API.
I don't think this is standard but also it's confusing for us using the API. We cannot know if it is just because the token is expired, malformed, or missing.
I've tested with a malformed token and I get the same 401 error.
Edition
Community
Version
0.14.3-rc1

By returning 401, we inform the requester that there is an issue with the authentication, encompassing malformatted, invalid, or missing tokens. The MDN states:

The 401 Unauthorized response status code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource.

For that reason, I don't believe there is a status code with a semantically correct meaning for each case. In my experience with API development and consumption, this behavior aligns with the standard.
However, if you have any suggestions on this matter, we would be happy to consider them.

Thank you !
While it does make sense to only return a 401, I (personally) enforce more specifics error messages when encountering errors with authentication.
For example, taken from our main backend codebase (In Python/Flask, using flask-jwt-extended)
    @jwt.expired_token_loader
    def expired_token_loader(di, di2):  # pragma: no cover
        json = {
            "success": False,
            "error": {
                "type": "UnauthorizedError",
                "name": "Unauthorized Error",
                "message": "Token has expired.",
                "solution": "Please refresh your token.",
            },
            "code": 401,
        }
        resp = jsonify(json)
        resp.status_code = 401
        return resp

    @jwt.invalid_token_loader
    def invalid_token_loader(reason):  # pragma: no cover
        json = {
            "success": False,
            "error": {
                "type": "UnauthorizedError",
                "name": "Unauthorized Error",
                "message": f"Token is invalid: {reason}.",
                "solution": "Please refresh your token.",
            },
            "code": 401,
        }
        resp = jsonify(json)
        resp.status_code = 401
        return resp

    @jwt.needs_fresh_token_loader
    def needs_fresh_token_loader(di, di2):  # pragma: no cover
        json = {
            "success": False,
            "error": {
                "type": "UnauthorizedError",
                "name": "Unauthorized Error",
                "message": "Fresh token is needed.",
                "solution": "Please refresh your token.",
            },
            "code": 401,
        }
        resp = jsonify(json)
        resp.status_code = 401
        return resp

    @jwt.revoked_token_loader
    def revoked_token_loader(di, di2):  # pragma: no cover
        json = {
            "success": False,
            "error": {
                "type": "UnauthorizedError",
                "name": "Unauthorized Error",
                "message": "Token is revoked.",
                "solution": "Please refresh your token.",
            },
            "code": 401,
        }
        resp = jsonify(json)
        resp.status_code = 401
        return resp

    @jwt.unauthorized_loader
    def unauthorized_loader(reason):  # pragma: no cover
        json = {
            "success": False,
            "error": {
                "type": "UnauthorizedError",
                "name": "Unauthorized Error",
                "message": f"Unauthorized: {reason}.",
                "solution": "Check your parameters.",
            },
            "code": 401,
        }
        resp = jsonify(json)
        resp.status_code = 401
        return resp

    @jwt.token_verification_failed_loader
    def token_verification_failed_loader(di, di2):  # pragma: no cover
        json = {
            "success": False,
            "error": {
                "type": "UnauthorizedError",
                "name": "Unauthorized Error",
                "message": "Token verification failed.",
                "solution": "Please refresh your token.",
            },
            "code": 401,
        }
        resp = jsonify(json)
        resp.status_code = 401
        return resp

    @jwt.user_lookup_error_loader
    def user_lookup_error_loader(di, di2):  # pragma: no cover
        json = {
            "success": False,
            "error": {
                "type": "BadRequestError",
                "name": "BadRequest Error",
                "message": "User in identity not found in database.",
                "solution": "Try again.",
            },
            "code": 400,
        }
        resp = jsonify(json)
        resp.status_code = 400
        return resp

For each specific error I have a message that explains what happened and possibly how to fix it. It allows to guide developers to use our API correctly and not just get stuck with a 401 and not being sure why

Unfortunately, the current state of the API lacks descriptive error messages. Addressing this is a key goal for the upcoming v2 version.
I plan to keep this issue open and will add a milestone, closing it upon the release of v2. Sound good to you?

Wonderful, sounds great to me! Thank you very much for taking this into consideration

Quick question, when can we expect the api V2 to enter into development/be released ?

Quick question, when can we expect the api V2 to enter into development/be released ?

Currently, we're finalizing the requirements, so I cannot provide a specific date for the start of development.


Intrinsic type extensions are not visible from C# even though same namespace and file

I can't get F# intrinsic extensions to visible from C# if they are in the same namespace AND file but a DIFFERENT module. I'm not sure the online documentation is correct. It says...

Intrinsic type extensions must be defined in the same file and in the same namespace or module as the type they're extending. Any other definition will result in them being optional type extensions.

My test involves the code below which is all in the same file called Contacts.fs. This is .net core 3.1. This all compiles but the extension FullName is NOT visible from C#. A bare bones Visual Studio solution with this code is at extension problem on github. I'm not an F# expert so I might be missing something here. I wonder if these intrinsic extensions have to be in exactly the same module AND file AND namespace to be visible from C#.
namespace Contacts

module AddressBookTypes =

    type Person = { FirstName: string; LastName: string }

module AddressBookFunctions =

    open AddressBookTypes

    let fullName (p: Person) = p.FirstName + " " + p.LastName

    type Person with
        member public me.FullName = me |> fullName

    // This works as expected
    let getFullName1 (p: Person) = p.FullName

module SomeOtherModule =

    open AddressBookTypes
    open AddressBookFunctions

    // This works too but only if I also "open AddressBookFunctions"
    // Seems to behave like an extension method
    let getFullName2 (p: Person) = p.FullName

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

ID: 640cc89f-e2da-021c-daf3-68f6772ffabf
Version Independent ID: 1df801b1-3a11-0aa5-44d7-78c5e2751393
Content: Type Extensions - F#
Content Source: docs/fsharp/language-reference/type-extensions.md
Product: dotnet-fsharp
GitHub Login: @cartermp
Microsoft Alias: phcart

This is by design. F# type extensions are not consumable from C#. You can write extension methods with the [<Extension>] attribute as the document described further on.

I don't think so. If I move the extension into the same module where type is defined then I can access it from C# without using any of the [Extension] stuff.
Also, the documentation for "Optional type extensions" says...

An optional type extension is an extension that appears outside the original module, namespace, or assembly of the type being extended.

This conflicts with the definition of intrinsic because it says it is for "outside the original module" but intrinsics can also be defined outside the original module ("in the same namespace OR module").


Fix type of BaseUserMeta

Removes scopes from BaseUserMeta and adds the property to the definition of RoomStateServerMsg.
Scopes should not be defined by clients as they are internal to Liveblocks.

Ohh, I like this fix!


[modify][cms] node/part disable setting

Coverage: 82.95% (-0.007%) from 82.956% when pulling c765e12c661c6abc137ee720204c8f80d43c7359 on pr-cms-node-part-disable-setting into 1c06cb3112f9ee942df99b8ac1ecd6eda6de18eb on master.


Laravel 5.4 testing very different from 5.3

Laravel Version: 5.4

Description:
I recently restarted the course but using Laravel 5.4 and looking to see how to get the missing controller and controller method errors without the browser-kit-testing package.
Why is:
$response = $this->get('/concerts/'.$concert->id); so different from
$this->visit('/concerts/'.$concert->id);
If I don't assert 200 it doesn't tell me anything and goes straight to "SOME TEST" isn't found.
Asserting 200 gives the following with no further details "Expected status code 200 but received 500."
I can see NotFoundHttpException and ReflectionException - Class App\Http\Controllers\ConcertsController does not exist and View [concerts.show] not found. in the browser alright but nothing in the tests.
Steps To Reproduce:
Restart course with Laravel 5.4

It looks like you're talking about @adamwathan's testing course. This is the wrong place to open issues. There's an issue tracker on the TicketBeast repo you can use.

@thecrypticace Balls that was a late night. Didn't even realise I was in the wrong place. Sorry folks.

No worries :)


Numbers omitted when formatted as shell or dotenv

Given the following environment file:
values:
  one: 1
  two: 2
  pi: 3.14

  environmentVariables:
    ONE: ${one}
    TWO: "${two}"
    THREE: 3
    FOUR: "4"
    PI: ${pi}

esc env open produces the JSON I'd expect:
$ esc env open integer-test
{
  "environmentVariables": {
    "FOUR": "4",
    "ONE": 1,
    "PI": 3.14,
    "THREE": 3,
    "TWO": 2
  },
  "one": 1,
  "pi": 3.14,
  "two": 2
}

But when formatted as shell or dotenv, the values I'd expressed as numbers are missing:
$ esc env open integer-test --format shell
export FOUR="4"

I'd expect to see all five environment variables exported, since all are derived from valid YAML:
$ esc env open integer-test --format shell
export ONE="1"
export TWO="2"
export THREE="3"
export FOUR="4"
export PI="3.14"

So this is intentional and probably undocumented, and I'm very open to changing the behavior here.
We decided to export only variables of type string in shell/dotenv format b/c they have a clear + predictable string representation (i.e. the identity function). We could extend this to all scalars (booleans + numbers) without too much surprise, I expect.
I'm less certain about what to do for arrays and objects, as these generally don't have a uniform representation when it comes to envvars (e.g. some systems may want an object to be JSON-serialized when represented as an envvar, some may want some key/value pair repo, etc.).
wdyt about exporting all scalars as their string representation? That would give us the behavior you expect.
And in the meantime you can work around the limitation by explicitly stringifying non-strings:
values:
  one: 1
  two: 2
  pi: 3.14

  environmentVariables:
    ONE: {fn::toString: "${one}"}
    TWO: {fn::toString: "${two}"}
    THREE: {fn::toString: 3}
    FOUR: "4"
    PI: {fn::toString: "${pi}"}

wdyt about exporting all scalars as their string representation? That would give us the behavior you expect.

Implicitly casting these would make sense to me, yeah. I'm assuming this would include booleans also? (So true would become "true"?)

That’s right.


Documents rapport

Please use pull requests to the public framework only for well documented changes that are useful for all JPacman-Framework users.


Improve CI/CD

[x] Add Docker image pushing to the Github Container Registry
[x] Implement automatic frontend docker container building
[ ] Add code format and syntax checking on all branches (gofmt on the backend and eslint+prettier  on frontend
[ ] Add auto-deploy for the main branch

Backend package pushing is done at 4bfcd6328953c7e597324fa008216f99d9a7e92f, it's available at ghcr.io/merpw/forum/backend:main

Frontend package pushing is done at 297ce4ff38cf45b53e21a1f75e583cead9182b2f, it's available at ghcr.io/merpw/forum/frontend:main

Code format checks are done at 7aee4e86867b264e9caa9305a853556cbf7b6eb8 and 66d378699d695771331dc820bb83357b4579edf2


Add a README file for setting up this repo on Local Machine

Description
This is a README file for helping out the beginners with cloning this repository hassle free and start their open source contribution journey
Issue: #150
Note: I've attached some image links which will work perfectly once you merge this PR to the main branch as I've written the path according to the original repository.

Main intention of that issue was to show how to set-up client and server folder, not just cloning 😅.

@NancyNegi23 do you want to improve this further?

No, you can assign this to someone else.


Use overloads when both protocol and convenience are new at the same time

If we are creating the protocol and convenience methods at the same time they should both use the same name and the overload that takes RequestContent should not have optional parameters.
As an example with this comment https://apiview.dev/Assemblies/Review/0eacd79245e14c6fa88d5991aac2e02f#5fdf7c9f2e154394a459e56ea4a166ce the two method would be
public virtual Pageable<Model> GetMultivariateModels(int? skip = null, int? maxCount = null, CancellationToken cancellationToken = default);
public virtual Pageable<BinaryData> GetMultivariateModels(int? skip, int? maxCount, RequestContext context);

Will load the previous version Generate code to SourceInputModel to identify the existence of protocol or convenience method.

Solution: load the previous version Generate code to SourceInputModel to identify the existence of protocol or convenience method, and then apply override strategy accordingly.

Short-term: take the existing code in azure-sdk-for-net as base SourceInputMode

Long-term: release version compatible, use released version as bas SourceInputMode. Refer to https://github.com/dotnet/arcade/blob/main/src/Microsoft.DotNet.ApiCompat/src/Microsoft.DotNet.ApiCompat.Core/Rules/Compat/CannotMakeNonVirtual.cs

@pshao25 will investigate the cost of short-term and long-term solutions, choose one suitable solution to implement according to the results.

Case 1: v1 has no methods and v2 add protocol method
// v1: no protocol
// v2: only add protocol (context is optional)
public virtual Response RoundTrip(RequestContext context = null);

Case 2: v1 has no methods and v2 add protocol + convenience
// v1: no protocol
// v2: add protocol + convenience (context is required)
public virtual Response<RootModel> RoundTrip(CancellationToken cancellationToken = default);
public virtual Response RoundTrip(RequestContext context);

Case 3: v1 has only protocol and v2 add convenience
// v1: only protocol
public virtual Response RoundTrip(RequestContext context = null);
// v2: add convenience (context is optional and name is suffixed with value)
public virtual Response<RootModel> RoundTrip(CancellationToken cancellationToken = default);
public virtual Response RoundTripValue(RequestContext context = null);

What should this operation be generated if there is no protocol method generated before?
@convenienceAPI
op test(optional?: int32): void;

Option 1: Not going to pass the compilation
public virtual Response Test(int? optional = null, RequestContext context);

Option 2: Not good I think
public virtual Response Test(RequestContext context, int? optional = null);

Option 3: Not apply the overload when there are optionl parameters
public virtual Response Test(int? optional = null, RequestContext context = null);

We have analyzer AZC0002 avoid generating required RequestContext without any overloads.
Case 1: generate protocol and convenience together
public virtual Task<Response> Method(string resultId, RequestContext context = null);
public virtual Task<Response<Model>> Method(string resultId, CancellationToken cancellationToken);
public virtual Task<Response<Model>> Method(string resultId);

Conform to analyzer and won't break calling Method("aaa") as convenience method
Case 2: protocol in v1 and add convenience in v2
public virtual Task<Response> Method(string resultId, RequestContext context);
public virtual Task<Response<Model>> Method(string resultId, CancellationToken cancellationToken = default);
public virtual Task<Response> Method(string resultId);

Conform to analyzer and won't break calling Method("aaa") as protocol method

Current design of flow:

Flag "load-existing" in cadl-location.yaml to indicate whether we download the latest code (not GA code) in sdk repo. True after the service is GAed. False when the service is under preview.
Parameter in codegen called "existing-project-folder", after we download the latest code, we pass the path to this parameter, then the codegen will take the existing code into consideration.

Remaining issue:
When the "existing-project-folder" is empty, should codegen take it as "this is the first time to generate, so we generate required requestcontext for protocol", or "we don't apply this feature, so still optional requestcontext for protocol".

Decision on 2.28:

Download the latest GA version: get GA number from csproj file, and get the commit number from release tag. Put this script into azure/azure-sdk-tools.
We don't need this parameter, codegen just read it from download path.

Remaining issue: the answer is "this is the first time to generate, so we generate required requestcontext for protocol"

Workflow:

If we end up needing to pull down the latest GA source code for every library, I have some concerns that doing the validation step across the entire repo will become more expensive as well as have more networking reliability issues. I'm less concern if we only need to do it for one library when we are generating but when we try to do it for hundreds of libraries that is likely going to cause some issues.
Do we not have better options such as getting the source from before we do the generation to feed that as an input instead?

@weshaggard I am not sure I understand the difference.  If we "get the source from before we do the generation to feed that as an input instead" wouldn't that still require us to download the source?

In the case I was thinking we would already have cloned the source down and that could be an input to the generation and then it could update the source in place.

In the case I was thinking we would already have cloned the source down and that could be an input to the generation and then it could update the source in place.

Say they project is sdk\anomalydetector\Azure.AI.AnomalyDetector and we are in commit A now. Commit B is the latest GA version. Are you saying we check out to commit B first and read contract from folder sdk\anomalydetector\Azure.AI.AnomalyDetector itself? Then:

I don't think checkout is a faster thing. In my daily practice, checkout takes far more longer than the sparse download.
Consider the user scenario. They are writing typespec and want to see what the SDK would look like after some change. They write an operation and then generate once. They find the SDK is not what they want so they change the typespec and generate again. Repeat this kind of process several times. Then what should we do? Revert every change and go back to a clean commit B? This is another cost. (Think about the sparse download is just a one-time effort)
If we checkout to commit B, how about the other projects? They would go to commit B together.
Consider the merge process.  We generate new SDK and have a commit C based on commit B. Now we want to merge the commit C back to commit A. I'm afraid there are conflicts.

No I wasn't suggesting we do a checkout at all I'm hopping we don't need to have the latest GA and we can get away with just having the current source code before the code generation and we can use that as input to get what we need. So in your scenario if they generated and didn't like what they had they would simply revert the updated source code to get back to the original state.

@weshaggard

Then users should have the knowledge of the download step, which we definately not want they have. They should take generator as a black box instead of knowing how the box works.
The download step is kind of a "workaround". We want to apply new features but we shouldn't break existing version, so we download the GA version to make sure the GA version not break. We want to apply new features as more as possible (as long as GA not breaks). If we take the current source code as input, it would hold back us doing this.

I'm not sure I understand what you mean by users would have to have knowledge? What knowledge to they need to have? All they do is run the code gen and our tools will take the current files as input.
@m-nash it seems like this might require a higher-level design meeting to get on the same page before we go down the path of needing to pull older versions of source code everytime we code gen.

What knowledge to they need to have?

They should know "the results depend on the current status in the project, i.e., if they don't revert the change the output would be not correct", which they don't now.


[Refactor] Move some codes in SchemaChangeHandler to AlterJobV2Builder

I'm working on supporting schema change operations on our
lake tables now, before doing that I need to refactor some parts
of our codebase and here is the first one. This PR aims to move
the codes of creating AlterJobV2 instances to AlterJobV2Builder
so that we can add new implementation of AlterJobV2 without
modifying SchemaChangeHandler.
What type of PR is this：

[ ] bug
[ ] feature
[ ] enhancement
[x] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

run starrocks_fe_unittest

[FE PR Coverage Check]
:heart_eyes: pass : 106 / 120 (88.33%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/alter/LakeTableAlterJobV2Builder.java
0
2
00.00%
[8, 11]

:large_blue_circle:
com/starrocks/lake/LakeTable.java
0
1
00.00%
[132]

:large_blue_circle:
com/starrocks/alter/OlapTableAlterJobV2Builder.java
60
70
85.71%
[39, 64, 99, 102, 103, 104, 126, 127, 128, 129]

:large_blue_circle:
com/starrocks/alter/SchemaChangeHandler.java
13
14
92.86%
[369]

:large_blue_circle:
com/starrocks/catalog/OlapTable.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/alter/AlterJobV2Builder.java
32
32
100.00%
[]


NTR: medium-chain fatty acid omega-hydroxylase activity

Please provide as much information as you can:

Suggested term label:
medium-chain fatty acid omega-hydroxylase activity

Definition (free text)
Catalysis of the reaction: an omega-methyl-medium-chain fatty acid + O2 + reduced [NADPH--hemoprotein reductase] = an omega-hydroxy-medium-chain fatty acid + H+ + H2O + oxidized [NADPH--hemoprotein reductase].

(Based def on existing sibling terms for GO:0102033 long-chain fatty acid omega-hydroxylase activity & GO:0140692 very long-chain fatty acid omega-hydroxylase activity)

Reference, in format PMID:#######
PMID:35934685

Gene product name and ID to be annotated to this term
D. melanogaster Cyp6a8 (FBgn0013772, Q27593)

Parent term(s)
fatty acid omega-hydroxylase activity (GO:0120250)
(also see #24664 for related issue with this term)

Children terms (if applicable) Should any existing terms that should be moved underneath this new proposed term?
GO:0102116 laurate hydroxylase activity
GO:0102114 caprate dehydroxylase activity
(laurate = C12, caprate = C10, so are classed as medium-chain)

Alternatively, could choose to obsolete these specific terms and effectively merge them into this NTR - see related ticket #24662.

Synonyms (please specify, EXACT, BROAD, NARROW or RELATED)

Cross-references
EC:1.14.14.M34 (https://biocyc.org/META/NEW-IMAGE?type=EC-NUMBER&object=EC-1.14.14.M34)
MetaCyc:RXN-19719 (https://biocyc.org/META/NEW-IMAGE?type=REACTION&object=RXN-19719)

Any other information

Hi @sjm41
I dont think this enzyme is in EC, is it? I think I came across this missing term before, and was not sure what to do.

Hi @pgaudet  It's a EC term specifically created by MetaCyc that should make it into the main EC set when they have time to make a specific request (I believe).  We've come across these 'temporary' ECs before, and @hdrabkin has said it's OK to include them as xrefs in the GO.  I think there are several examples in the current GO.  @kaxelsen may know more.

Thanks @sjm41
I thought the temporary ECs were .nxx, for example
https://enzyme.expasy.org/EC/1.14.14.n1 (this has already been transferred)
RIght now I would no add this one, because GO cannot make a xref to MetaCyc for an EC number.
@kaxelsen Is EC going to make a temporary EC for this one?
Thanks, Pascale

But we can still make the term, omitting the EC xref, right?

I believe the format/syntax of the last (temporary) character depends on which group requests/uses it - so it's different for MetaCyc vs UniProt.  Ron Caspi at MetaCyc told me this in an exchange last year:
Several entities have come up with their own temporary EC numbers for enzymes that have not been classified yet by the EC. Uniprot uses N numbers, BRENDA uses B numbers, and MetaCyc uses M numbers. There is no coordination between the three of us, so in theory there could be multiple such numbers describing the same reaction.

+[Term]
+id: GO:0140981
+name: medium-chain fatty acid omega-hydroxylase activity
+namespace: biological_process
+def: "Catalysis of the reaction: an omega-methyl-medium-chain fatty acid + O2 + reduced [NADPH--hemoprotein reductase] = an omega-hydroxy-medium-chain fatty acid + H+ + H2O + oxidized [NADPH--hemoprotein reductase]." [PMID:35934685]
+xref: MetaCyc:RXN-19719
+is_a: GO:0120250 ! fatty acid omega-hydroxylase activity
+property_value: term_tracker_item https://github.com/geneontology/go-ontology/issues/24661 xsd:anyURI
+created_by: pg
+creation_date: 2023-01-10T14:42:33Z

We do not create more preliminary EC numbers, as I now can submit real EC numbers. In other cases we just create Rhea reactions, and that is what we have chosen to do in this case. We have created:
RHEA:75279 an ω-methyl-medium-chain fatty acid + O2 + reduced [NADPH—hemoprotein reductase] = an ω-hydroxy-medium-chain fatty acid + H+ + H2O + oxidized [NADPH—hemoprotein reductase]
The reaction will become public in release 2023_02 scheduled for 19.04.2023

I should add that we have created RHEA:75279 (omega-hydroxylation) based on pmid:1723761 that is about a plant protein. pmid:35934685 is mainly about an (omega-1)-hydroxylase.
Generic (omega-1)-hydroxylation is covered by RHEA:44548 an (ω-1)-ethyl fatty acid + O2 + reduced [NADPH--hemoprotein reductase] = an (ω-1)-hydroxy fatty acid + H+ + H2O + oxidized [NADPH--hemoprotein reductase] and the specific reaction with dodecanoate described in the paper by RHEA:39751 dodecanoate + O2 + reduced [NADPH—hemoprotein reductase] = 11-hydroxydodecanoate + H+ + H2O + oxidized [NADPH—hemoprotein reductase]

Just looking again at this ticket.
Seems we have the 'fatty acid omega-hydroxylase activity' branch in good shape:
fatty acid omega-hydroxylase activity GO:0120250 (RHEA:39023)
    |__medium-chain fatty acid omega-hydroxylase activity GO:0140981  (RHEA:75279)
    |__long-chain fatty acid omega-hydroxylase activity GO:0102033 (RHEA:56748, EC:<IP_ADDRESS>)
    |__very long-chain fatty acid omega-hydroxylase activity GO:0140692 (RHEA:67952)

But from Kristian's last comment, it seems I still need a new term to annotate D. melanogaster Cyp6a8 from PMID:35934685, since that describes omega-1 hydroxylation.
term label: medium-chain fatty acid omega-1 hydroxylase activity
Def: "Catalysis of the reaction: an (omega-1)-ethyl medium-chain fatty acid + O2 + reduced [NADPH-hemoprotein reductase] = an (omega-1)-hydroxy-medium-chain fatty acid + H+ + H2O + oxidized [NADPH-hemoprotein reductase.". [PMID:35934685]
There's not an existing RHEA that matches that, though there is RHEA:44548 that Kristian mentions that could be used as a parent term:
term label: fatty acid omega-1 hydroxylase activity
Def: "Catalysis of the reaction: an (omega-1)-ethyl fatty acid + O2 + reduced [NADPH--hemoprotein reductase] = an (omega-1)-hydroxy fatty acid + H(+) + H2O + oxidized [NADPH--hemoprotein reductase] [RHEA:44548]
We also have an existing term for long-chain fatty acid omega-1 hydroxylase activity (RHEA:60936) that would become a second child of the new term 'fatty acid omega-1 hydroxylase activity':
id: GO:0120319
name: long-chain fatty acid omega-1 hydroxylase activity
namespace: molecular_function
def: "Catalysis of the reaction: an (omega-1)-ethyl long-chain fatty acid + O2 + reduced [NADPH-hemoprotein reductase] = an (omega-1)-hydroxy-long-chain fatty acid + H+ + H2O + oxidized [NADPH-hemoprotein reductase." [GOC:nhn, PMID:18577768, PMID:22772592, PMID:24242247, RHEA:60936]
synonym: "cytochrome P450 fatty acid omega-1 hydroxylase activity" RELATED []
xref: RHEA:60936
is_a: GO:0016705 ! oxidoreductase activity, acting on paired donors, with incorporation or reduction of molecular oxygen
property_value: term_tracker_item "https://github.com/geneontology/go-ontology/issues/21648" xsd:anyURI
created_by: krc
creation_date: 2021-06-21T18:31:38Z

So, to summarise the outstanding tasks:

[ ] NTR for 'medium-chain fatty acid omega-1 hydroxylase activity'
[ ] NTR for parent term 'fatty acid omega-1 hydroxylase activity' [RHEA:44548]
[ ] make existing GO:0120319 a child of NTR 'fatty acid omega-1 hydroxylase activity'
[ ] Also, should changed the def xref on GO:0140981 from PMID:35934685 to RHEA:75279.

@kaxelsen I noticed that the def for RHEA:60936 is:
an (omega-1)-ethyl fatty acid + O2 + reduced [NADPH--hemoprotein reductase] = an (omega-1)-hydroxy-long-chain fatty acid + H(+) + H2O + oxidized [NADPH--hemoprotein reductase]
Should that be changed to:
an (omega-1)-ethyl long-chain fatty acid + O2 + reduced [NADPH--hemoprotein reductase] = an (omega-1)-hydroxy-long-chain fatty acid + H(+) + H2O + oxidized [NADPH--hemoprotein reductase]
?

+[Term]
+id: GO:0120502
+name: fatty acid omega-1 hydroxylase activity
+namespace: molecular_function
+def: "Catalysis of the reaction: an (omega-1)-ethyl fatty acid + O2 + reduced [NADPH--hemoprotein reductase] = an (omega-1)-hydroxy fatty acid + H+ + H2O + oxidized [NADPH--hemoprotein reductase]." [RHEA:44548]
+xref: RHEA:44548
+is_a: GO:0016712 ! oxidoreductase activity, acting on paired donors, with incorporation or reduction of molecular oxygen, reduced flavin or flavoprotein as one donor, and incorporation of one atom of oxygen
+property_value: term_tracker_item "https://github.com/geneontology/go-ontology/issues/24661" xsd:anyURI
+created_by: sjm
+[Term]
+id: GO:0120502
+name: fatty acid omega-1 hydroxylase activity
+namespace: molecular_function
+def: "Catalysis of the reaction: an (omega-1)-ethyl fatty acid + O2 + reduced [NADPH--hemoprotein reductase] = an (omega-1)-hydroxy fatty acid + H+ + H2O + oxidized [NADPH--hemoprotein reductase]." [RHEA:44548]
+xref: RHEA:44548
+is_a: GO:0016712 ! oxidoreductase activity, acting on paired donors, with incorporation or reduction of molecular oxygen, reduced flavin or flavoprotein as one donor, and incorporation of one atom of oxygen
+property_value: term_tracker_item "https://github.com/geneontology/go-ontology/issues/24661" xsd:anyURI
+created_by: sjm
+creation_date: 2024-04-26T10:00:25Z


Cow: Watch (?-i:careerbytecode)(?# substack.com)

Cow requests the watch of the watch_keyword (?-i:careerbytecode)(?# substack.com). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

(?-i:careerbytecode)(?# substack.com) has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Dragonrage in Charcoal HQ


Release: Version v0.6.9 RC

:package: :rocket:

Builds ready [68171cd]builds: chrome, firefox, opera
bundle viz: background, ui, portal-inpage, portal-contentscript, ui-libs, bg-libs, phishing-detect
dep viz: background
all artifacts


0.2pcb/0.3pcb - ethernet jack is missing connections

Ethernet jack is missing:

Center Tap (CT's) should go to AVCC.
Termination resistors on RX & TX pair.

Here is the dev board reference:

Here is Sonata:

The quick fix is this sort of hackery, where the resistors are 50 ohm, and capacitor is 100nF. The capacitor may not be required, in which case you could use just a 100 ohm across the transformer:

Note the ethernet has other issues on the build - may need to remove the crystal (TBD)

Here is a photo of one bodge version:

This is fixed on the 0.4 PCB.


Use recyclerview foldingcell, will appear this problem, how should I solve?

When an open item, sliding half way to hide this item, click this item, there will be a foldingcell cannot fold, click again, although there is a click event, but no effect, how should this change

Unfortunately I can't reproduce this behavior using any of provided examples from repository. Can you provide more details about your layout and code?

I see lastest version, already fixing bugs, thanks!

I have this very same issue. Is there a new released version that fixes it? I'm using CardView as the root elements of the folded and unfolded cells if it matters.


New workflow action: show jobs from workflow

Allow users to get a list of all jobs associated with a workflow

Done in https://github.com/prominence-eosc/prominence/commit/d30ceae0da0040bed8327eec5b9972388a2867c1


Helm support

Any interest in also adding Helm support to this? It would be amazing.

Thanks for the suggestion! Do you mind elaborating slightly on what features you'd like to see? Was it support for completion in the Helm-specific files like Chart.yaml and requirements.yaml?

Yes exactly helm specific files and also it’s templating syntax like {{.Values.foo}} and {{template }}.
There’s something similar in VSCode which also does autocompletion and validation for both Helm and K8: https://marketplace.visualstudio.com/items?itemName=technosophos.vscode-helm
Do you think this is something of interest? I also don’t mind lending a hand if that helps.

Thanks for that link; this definitely seems like it would be good to support. I'll have a look into how it could fit in this weekend.

Thanks, let me know if you need any help.


Implement the Bottom Tap Bar, Youtube and Twitch have this and it's easy to navigate

it's not convenient to tap the top left corner to access these things:

This is the repo for the native app and it will have this.


Fix the backsolved tag/sheet renaming interaction

I broke this when I changed the casing of the default tags. Making this case-insensitive.

Looks like the tests are broken here because GH actions are using sqlite so I made a PR to change that over.

Looks like the tests are broken here because GH actions are using sqlite so I made a PR to change that over.

I'm guessing this is the failed run?: https://github.com/cardinalitypuzzles/cardboard/runs/4786213594?check_suite_focus=true
AssertionError: expected call not found.
Expected: delay(sheet_url='testsheet.com', name='[BACKSOLVED: ANS, ANS2] Test')
Actual: delay(sheet_url='testsheet.com', name='[SOLVED: ANS, ANS2] Test')

Do we know why it failed with sqlite but passed with Postgres? This doesn't involve the case-insensitive field so I'm surprised at the difference in behavior.

This doesn't involve the case-insensitive field so I'm surprised at the difference in behavior.

Oh nvm, I just looked at the code and you are testing case-insensitive updates. That explains why


Water Sensors: KLB Indigo Brooke (1022428)

R1B deep sensor isn't sending data
R2C top sensor isn't sending data, deep sensor is sending data that doesn't look real

most likely broken cables at the top of the sensor. will send replacements. or a rock in between the prongs.

issues persist. Poking Brooke today.

Poking today.

bare rep 1 is having -999 on deep sensor, need to replace the sensor
cover rep 2 is having -999 on top sensor, need to replace sensor, deep sensor is not all the way in it is reading zero.

Poking today

Available data downloaded at end of season.


Build fails on Mac M1

   Compiling h2 v0.3.3
error: failed to run custom build command for `console-api v0.1.0 (/Users/joelr/Work/Rust/console/console-api)`

Caused by:
  process didn't exit successfully: `/Users/joelr/Work/Rust/console/target/debug/build/console-api-509b6171e0106590/build-script-build` (exit status: 1)
  --- stderr
  Error: Custom { kind: Other, error: "failed to invoke protoc (hint: https://docs.rs/prost-build/#sourcing-protoc): Bad CPU type in executable (os error 86)" }
warning: build failed, waiting for other jobs to finish...
error: build failed

Hmm, this looks like a prost issue, cc @LucioFranco

I don't have a M1 mac to test on but seems related to https://github.com/protocolbuffers/protobuf/issues/8062? That said, this error seems like it may be with how prost invokes protoc. I've read some stuff that ZSH may be related but I don't know and can't test it right now.

@LucioFranco any tips for how I can troubleshoot this on my own?

By the way, the Protobuf issue is about precompiled binaries, it builds from source just fine
https://github.com/protocolbuffers/protobuf/issues/8062#issuecomment-730047763

@joelreymont I guess the main question is can you invoke protoc --version?

@joelreymont I guess the main question is can you invoke protoc --version?

I sure can!
❯ protoc --version
libprotoc 3.17.3

Interesting, I think there is something going on with how m1 mac runs its binaries https://apple.stackexchange.com/questions/408375/zsh-bad-cpu-type-in-executable kinda gives a hint but honestly I am not sure what the fix is here..
That said, maybe its looking for a binary with the wrong name? https://github.com/tokio-rs/prost/blob/5d93c55426d9c219fb1fb065adfa8fd3e43833a1/prost-build/build.rs#L59

I just checked out Prost, let me see if I can fix this...

That said, maybe its looking for a binary with the wrong name? https://github.com/tokio-rs/prost/blob/5d93c55426d9c219fb1fb065adfa8fd3e43833a1/prost-build/build.rs#L59

Yes, this is the issue! How do I submit a pre-built protoc for bundling? Just stick it under ./prost-build/third-party/protobuf/?

I'm gonna patch tonic to use my local copy of prost, just to test my fix. Then I'll submit the PR to prost and, hopefully, it will be the end of it. @carllerche @LucioFranco anything else?

@joelreymont a patch PR works great! Just tag me in the PR and ill take a look.

This should fix it https://github.com/tokio-rs/prost/pull/508


Dart analysis error

Analyzer Feedback from IntelliJ
Version information

IDEA WS-171.4424.63
1.22.1
WS-171.4424.63, JRE 1.8.0_121-b13x32 Oracle Corporation, OS Windows 10(x86) v10.0 , screens 1920x1080

Exception
Please append the contents of:
file://C:\Win10\User\Local\Temp\report1.txt
Dart analysis server, SDK version 1.22.1, server version 1.17.0, error: Failed to send analysis.implemented notification.
type 'FunctionElementImpl' is not a subtype of type 'ClassElement' in type cast where
  FunctionElementImpl is from package:analyzer/src/dart/element/element.dart
  ClassElement is from package:analyzer/dart/element/element.dart

#0      Object._as (dart:core-patch/object_patch.dart:76)
#1      SearchEngineImpl.searchAllSubtypes.<searchAllSubtypes_async_body>.<anonymous closure> (package:analysis_server/src/services/search/search_engine_internal.dart:37)
#2      MappedListIterable.elementAt (dart:_internal/iterable.dart:412)
#3      ListIterable.toSet (dart:_internal/iterable.dart:227)
#4      SearchEngineImpl.searchAllSubtypes.<searchAllSubtypes_async_body> (package:analysis_server/src/services/search/search_engine_internal.dart:37)
#5      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:27)
#6      _rootRunUnary (dart:async/zone.dart:1158)
#7      _CustomZone.runUnary (dart:async/zone.dart:1037)
#8      _FutureListener.handleValue (dart:async/future_impl.dart:131)
#9      _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:637)
#10     _Future._propagateToListeners (dart:async/future_impl.dart:667)
#11     _Future._complete

Can you provide us with any information about how to reproduce this bug?

Unfortunately we won't be able to reproduce very old analyzer stack traces. Please file a new issue if you are seeing analysis server crashes with a recent SDK.


Dev Test: Geometric Optics 1.3.0-dev.1

Dev Test
Mentions: @arouinfar @kathy-phet @KatieWoe
Simulation links

github repository for issues
phet top-level directory
sim: all_phet.html
phet-io wrapper index

Test Matrix
Please include all (non-screen reader) feature testing in these records if applicable.

[x] Latest macOS, Safari (Time =1.5hrs)
[ ] Windows 10, Chrome (Time = )
[x] Windows 10/11, Firefox (Time = 2)
[x] Latest iOS, Safari (Time =1hr)
[x] Windows 11, Chrome (Time = 3)

Light testing, or optionally skip if time crunch:

[ ] Latest macOS, Chrome (Time = )
[x] Latest Chrome OS, Chrome (Time = 1)

If PhET-iO is being tested:

[x] Latest macOS, Safari (Time = 3hrs)
[x] Windows 10, Chrome (Time =1.5hrs)
[x] Windows 10/11, Firefox (Time = 2.5)
[x] Latest iOS, Safari (Time = 1.5)
[x] Windows 11, Chrome (Time = 3)

Features included

[x] PhET-iO
[x] Alternative Input
[x] UI Sound

[ ] Sonification
[ ] Description
[ ] Voicing

Focus and Special Instructions
This dev test should be done with https://github.com/phetsims/qa/issues/939 (Dev Test: Geometric Optics: Basics 1.3.0-dev.1).
Note that the PhET-iO Wrapper Index currently does not contain the "Examples" link, because examples.md was not completed yet. You can skip it for now, and we'll review it in the next test cycle.
Note that the Wrapper Index has this known problem: https://github.com/phetsims/phet-io-wrappers/issues/497
Issues to Verify
These issues have the "status:ready-for-review" label. You may close them after verifying.
Note that it's sufficient to verify these for Geometric Optics. You do not need to verify them in Geometric Optics: Basics for https://github.com/phetsims/qa/issues/939.

[x] https://github.com/phetsims/geometric-optics/issues/426
[x] https://github.com/phetsims/geometric-optics/issues/430
[x] https://github.com/phetsims/geometric-optics/issues/431

For QA...

General features

What to Test

Click every single button.
If there is sound, make sure it works.
Make sure you can't lose anything.
Play with the sim normally.
Try to break the sim.
Try to include browser version numbers
If there is a console available, check for errors and include them in the Problem Description.
Run through the string tests on at least one platform, especially if it is about to go to rc.
Check the Game Up harness on one platform.

PhET-iO features

What to Test

Make sure that public files do not have password protection. Use a private browser for this.
Make sure that private files do have password protection. Use a private browser for this.
Make sure standalone sim is working properly.
Make sure the wrapper index is working properly.
Make sure each wrapper is working properly.
Launch the simulation in Studio with ?stringTest=xss and make sure the sim doesn't navigate to youtube
For newer PhET-iO wrapper indices, save the "basic example of a functional wrapper" as a .html file and open it. Make
sure the simulation loads without crashing or throwing errors.

Accessibility features

What to Test

Specific instructions can be found above.

Make sure the accessibility (a11y) feature that is being tested doesn't negatively affect the sim in any way. Here is
a list of features that may be supported in this test:

Alternative Input
Interactive Description
Sound and Sonification
Pan and Zoom
Mobile Description
Voicing

Test all possible forms of input.

Test all mouse/trackpad inputs.
Test all touchscreen inputs.
Test all keyboard navigation inputs (if applicable).
Test all forms of input with a screen reader (if applicable).

Screen Readers
This sim may support screen readers. If you are unfamiliar with screen readers, please ask Katie to introduce you to
screen readers. If you simply need a refresher on screen readers, please consult the
QA Book, which should have all of the information
you need as well as a link to a screen reader tutorial made by Jesse. Otherwise, look over the a11y view before opening
the simulation. Once you've done that, open the simulation and make sure alerts and descriptions work as intended.

Platforms and Screen Readers to Be Tested

Windows 10 + Latest Chrome + Latest JAWS
Windows 10 + Latest Firefox + Latest NVDA
macOS + Safari + VoiceOver
iOS + Safari + VoiceOver (only if specified in testing issue)

Critical Screen Reader Information
We are tracking known screen reader bugs in
here. If you find a
screen reader bug, please check it against this list.

Keyboard Navigation
This sim supports keyboard navigation. Please make sure it works as intended on all platforms by itself and with a
screen reader.
Magnification
This sim supports magnification with pinch and drag gestures on touch screens, keyboard shortcuts, and mouse/wheel controls. Please test magnfication and make sure
it is working as intended and well with the use cases of the simulation. Due to the way screen readers handle user input, magnification is NOT expected to
work while using a screen reader so there is no need to test this case.

FAQs for QA Members

There are multiple tests in this issue... Which test should I do first?
Test in order! Test the first thing first, the second thing second, and so on.

How should I format my issue?

We typically assign the developer who opened the issue in the QA repository.

My question isn't in here... What should I do?
You should:

Consult the QA Book.
Google it.
Ask Katie.
Ask a developer.
Google it again.
Cry.

QA, please review examples.md on master when testing this sim:
https://github.com/phetsims/phet-io-sim-specific/blob/master/repos/geometric-optics/examples.md

Calling QA here

Thanks QA team.  We're in good shape here -- 1 issue reopened, 3 PhET-iO issues to address.
Closing.


Events don't propagate across modules?

I'm working with a modularised nodejs application. I'm creating events in one module and subscribing to them in another module. This doesn't seem to work. Am I doing it wrong? E.g.
module1
var eventEmitter = new events.EventEmitter()
module.exports = {
       addItem: function() {
            eventEmitter.emit('item_add',newItem)
       }
}

module2
var module1 = require('module1')
var eventEmitter = new events.EventEmitter()
var listener = listener ||
eventEmitter.on('item_add',function(obj) {
    console.log('do something')
})

module1.add({some: "stuff"})

My event never reaches module2

Found a workable solution here: https://stackoverflow.com/questions/27257793/nodejs-in-memory-message-bus-using-eventemitter-for-cross-modules-communication

@geoidesic from attached examples I have a notion that you didn't really use this package (at lest new events.EventEmitter() is not a construct it provides).
Anyway I'm glad you sorted it out


skipped services (no extractors) for apigee

Hello,
can you please explain to me the concept of extractor services? because in the logs of my cluster under GCP, I encounter the following logs:
- skipped services (no extractors): [apigee_googleapis_com_Environment, apigee_googleapis_com_ProxyV2, apigee_googleapis_com_Proxy]
I would like to be able to activate these metrics
best regards,
Badr

@mmajcher

I improved the logs, this should be merged soon and released.
The improved log msg should be more clear for you :)
https://github.com/dynatrace-oss/dynatrace-gcp-monitor/pull/378


UX improvements, bugfixes, docs etc

[x] https://github.com/filecoin-project/bacalhau/pull/601 - includes 2k of stdout/stderr in describe output
[x] https://github.com/filecoin-project/bacalhau/issues/611
[x] https://github.com/filecoin-project/bacalhau/issues/624
[x] Progress bars!
[-] Streaming logs! See https://github.com/filecoin-project/bacalhau/issues/448

Stale. Last remaining issue is covered by another bigger issue.


Updating regex for printing go version

Since i use go 1.10, i can see in my bar the version is go 1.1 that's not the true :)
I try multiple case and upgrade the regex for the go tooling.
you can try here : https://regex101.com/r/bWTMwf/1
Hope it will help ^^

oups, just seen the pr https://github.com/caiogondim/bullet-train.zsh/pull/264
Forget about me 👍


Migrate Delete Detector results to SDK using SDKRestClient

Is your feature request related to a problem?
Part of https://github.com/opensearch-project/OpenSearch/issues/5224
What solution would you like?
Migrate the Delete Detector results Rest API to Extensions SDK using SDKRestClient.
Use the implementation of #353 as a reference.  Add new issues for any steps you skip.
Implement the following API endpoints:

[ ] DELETE _plugins/_anomaly_detection/detectors/results

API: DELETE localhost:9200/_extensions/_ad-extension/detectors/results
{
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "detector_id": {
              "value": "XqAwu4cBQBVk3lUtpDvr"
            }
          }
        }
      ]
    }
  }
}

Response:
{
    "took": 304,
    "timed_out": false,
    "total": 20,
    "updated": 0,
    "created": 0,
    "deleted": 20,
    "batches": 1,
    "version_conflicts": 0,
    "noops": 0,
    "retries": {
        "bulk": 0,
        "search": 0
    },
    "throttled_millis": 0,
    "requests_per_second": -1.0,
    "throttled_until_millis": 0,
    "failures": []
}


Add additional tracing instrumentation.

This commit lays the ground-work for making mini-redis a better example of an instrumented tokio application. While it does not go so far to turn mini-redis into a fully-featured guide for using tracing, it ensures that people who use mini-redis as a basis for experimenting with different subscribers get a more complete experience out-of-the-box.
E.g., with tracing-tree a tracing-tree subscriber and level=Debug:
 INFO mini_redis::server accepting inbound connections
┐mini_redis::db::purge_expired_tasks
├─┐mini_redis::db::Shared::purge_expired_keys
├─┘
┐mini_redis::server::Handler::run peer_addr=<IP_ADDRESS>:56574
├─┐mini_redis::server::Handler::process_frame
│ ├─0ms DEBUG mini_redis::server cmd=Unknown(Unknown { command_name: "config" })
│ ├─0ms DEBUG mini_redis::cmd::unknown response=Error("ERR unknown command 'config'")
├─┘
├─┐mini_redis::server::Handler::process_frame
│ ├─0ms DEBUG mini_redis::server cmd=Unknown(Unknown { command_name: "config" })
│ ├─0ms DEBUG mini_redis::cmd::unknown response=Error("ERR unknown command 'config'")
├─┘
├─┐mini_redis::server::Handler::process_frame
│ ├─0ms  WARN mini_redis::connection connection closed abruptly by peer
├─┘
┘
┐mini_redis::server::Handler::run peer_addr=<IP_ADDRESS>:56576
├─┐mini_redis::server::Handler::process_frame
│ ├─0ms DEBUG mini_redis::server cmd=Set(Set { key: "key:000000000027", value: b"VXK", expire: None })
├─┘
├─┐mini_redis::server::Handler::process_frame
│ ├─0ms DEBUG mini_redis::server cmd=Set(Set { key: "key:000000000001", value: b"VXK", expire: None })
├─┘
├─┐mini_redis::server::Handler::process_frame
├─┘
┘

This PR also reduces ConnectionReset 'errors' to warnings, as they do not reflect errors in mini-redis, but rather client misbehavior. (And you get them frequently when using redis-benchmark.)

Looks pretty good to me

@hawkw I've added a few such comments; e.g.:

https://github.com/tokio-rs/mini-redis/blob/49ef356960f4b3cfcf7af2ed4c06028f455d2de9/src/cmd/mod.rs#L50-L54
https://github.com/tokio-rs/mini-redis/blob/49ef356960f4b3cfcf7af2ed4c06028f455d2de9/src/cmd/mod.rs#L109-L113
https://github.com/tokio-rs/mini-redis/blob/49ef356960f4b3cfcf7af2ed4c06028f455d2de9/src/server.rs#L378-L393

So... LGTM? @jswrenn

@hawkw I've applied most of the suggestions (will need to think more about the last two), and rebased (to fix a merge conflict).

too bad this never got merged, it would have been useful


Optimization

Generating backplanes for large images can be very slow (potentially minutes), so need to optimize the code and/or let the user know what's going on. Profiling suggests that most of the execution time is spent calling the spice functions, so there's probably relatively little we can do to directly speed these up.
Code optimizations

[ ] Profile code to identify slowest parts
[x] Cache results where possible (e.g. with the @cache_result decorator)
[ ] Test using a multiprocessing pool to do stuff in parallel (e.g. 2c1a7ee7749cebd783547d1670205bb41a820624)
[x] #25
[x] #26

[ ] Add check for $r \ll d$ to make sure this is valid?

UX stuff

[ ] Display progress bar to user during long running process - either in command line (tqdm?) or through tkinter
[ ] Add explicit warning about it being slow somewhere in the UI
[ ] When running the GUI, maybe create separate subprocess to perform the actual backplane generation and file writing. This can then run in the background (maybe have a dialog box with a progress bar?) so the user can e.g. start work fitting the next observation immediately.

Possible improvements by using array functions such as https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/latsrf_c.html in the backend?

Possible improvements by using alternative functions e.g. https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/srfrec_c.html rather than recpgr


Reworked PL translation

Check if this PR fulfills these requirements:

[X] My changes respect the Kodi add-on development rules
[X] I have read the CONTRIBUTING document.
[X] I made sure there wasn't another one Pull Requests opened for the same update/change
[X] I have successfully tested my changes locally

Types of changes

[ ] New feature (non-breaking change which adds functionality)
[ ] Feature change (non-breaking change which change behaviour of an existing functionality)
[X] Improvement (non-breaking change which improve functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
Completely corrected translation for the Polish language.
Polish has many possible translations for a given phrase, which, despite being correct, does not always fully reflect the meaning. This translation is to fix it

i wait to merge this,
until i merge the new rating system and also fix maturity level
so you can also include upcoming changes

ok I'll wait
So if you merge new rating system and fix maturity level to the master, I will have to rebase my (this) branch from the master and pull request?

yes alter you have to rebase with my new changes,
when you rebase git will warn you of conflicts to be resolved
so you update the translation, and then do a "forced push". no need open new pull request
i hope that tweimer reply otherwise we have to ask someone else in your country that helps..

In my country (Poland) Italy is asking you to do something for a German? Madness ... it's a joke, of course.

hahahaha :) now we look to the future.. the past can not change

we can't change, but we have to remember :) end off topic

Ok - I saw that you put these two patches to the master, so I did REBASE - but that's probably not the point. As I said, I'm not a programmer but a user - and GitHub overwhelms me over and over again.

so seem you have done all good
before the end, remember to fix typo in line 3
https://github.com/CastagnaIT/plugin.video.netflix/blob/ce0715fb0190ed9c462c2a933563bbe343a51426/resources/language/resource.language.pl_pl/strings.po#L3

Hurray! I think I managed to do it for the first time ... As Gianluca says (the only Italian in my family), a Pole with Italian always gets along - at the most you will need another bottle of vodka

something went wrong. comparing the version with which I did rebase I see the difference. I didn't get info about the conflict. However, I saw that in your last PR there have been changes in languages. and some texts are missing which I have to translate.

this PR is fine you don't need to make a new one, there are no more conflicts, just add the missing translations

Something got mixed up, only today it showed me (and here) that there is a conflict. Corrected. I'll add the missing phrases later.

Done


Implement eval command to upsert command piping

Description

Upsert command will accept the result of Eval command as a parameter and will be used to perform the upsert.
Motivation

This will improve the usability of both Eval and Upsert commands in general. A very nice use case is migration between different stores.
Tasks

[x] TS/Node SDK implementation
[ ] CLI implementation
[ ] Python implementation
[ ] Go implementation

re-opened because this needs to be implemented in other SDKs

re-opened because this needs to be implemented in other SDKs

This issue is no longer relevant due to the Python and Go SDKs being deprecated in favor of @configu/proxy


Game crashes while using gui on match

So I recently injected the .dll with Extreme Injector v3, while using the debug version of your source code, (I´ve compiled it myself on Visual Studio) it runs fine on the main menu but at the moment I use it on any match, it crashes, it used to only occur when using specifically the inventory changer, now it occurs in general. After it crashes it generates this file with the name: "cs2_2023_0419_223207_0_accessviolation.mdmp" on bin\win64, if this file remains on the folder, the .dll doesnt work, if i delete it, it returns to normal. im not an expert on this, so any help? or any idea why this happens?

open the mdmp in vs and click run with mixed code. if it doesnt show debug info it means you have built it again since the crash

Ok this pops up:

translation: Unhandled exception in 0x00007FFB3BAF0689 (client.dll) in cs2mod_2023_0420_021223_0_accessviolation.mdmp: 0xC0000005: Access violation when reading location 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.

Also should mention, the game crashes whenever I switch weapons, not just when using the gui, now it occurs like it used to before

record yourself clicking all the functions in the callstack. give me the console log and are u injecting with load library?

why have you closed it this you fix it?

does the latest commit fix the issue?

Oh god, so sorry if i closed this i have no clue sometimes how do I use github lmao, im checking rn the latest commit

https://anonfiles.com/t6Q54fmdzc/stuff_zip
I think those are all the files

looks like you crashed in client.dll can you play few times again until you crash in the base dll?

looks like you crashed in client.dll can you play few times again until you crash in the base dll in case that happens?

Wym? Should I play without injecting anything? Is that what you mean?

no. i meant inject again and send again if you crash in cs2cheat debug.dll

Oh, got it, give me a sec

i would also like to know your game version

"Build: 9640 (revision 7941244)"

that is a pretty old game version not supported by the sdk. ill keep this issue open until you find a newer game version to tell me if it works or not. i got Build: 9652 (revision 7964241)

Got it, i will keep you in touch

Finally I got it working, thanks for the help man


Feature Request: Collapse the info of crate when it has too many versions

Take tokio as an example

It may be more ergonomic for users if we do this.
Great website! Thank you

I added collapsable container. If the crate has more than 20 versions, it will show only 20 versions and the rest you have to expand them.


Issue with Prompts.choice: irrelevant string match if user provide choice as text instead of selecting it from the list of choices provided.

System Information (Required)

SDK Language: NodeJS
SDK Version:  3.8.3
Development Environment: Bot Service

Issue Description
While prompting user a list of choices it allow user to either select an option from the list or enter a text value. I know most convenient is to select from the given choices by tab or click on it but if user want to select same option by typing it manually then bot framework return wrong selected values.
See below example:
Screenshot from attached sample nodeJS application->

It is weird but what I observed is that if there is any number in the text entered and it doesn't completely matches the provided choices it selects the option at that position. For example I entered cockpit 4 expecting it will match with 3rd option in the list but it actually returns 4th option.
I consider it as bug as its behavior is not documented and is not working as expected.
I have also created a sample/demo app to show case this issue and since above screenshot is from same app you can try out the example I have mentioned.
Download project from below link:
Demo app at github
Demo app at onedrive
Code Example
Demo app uploaded at above location
Steps to Reproduce the Issue

type anything
a list of choices will appear as in the screenshot at above link
type "cockpit 4"

Expected Behavior
Expected bot return with the choice option matching string "cockpit 4"
Actual Results
Bot return the wrong choice and in fact it return the option at 4th position instead of matching the complete text entered i.e. "cockpit 4"

I already answered on StackOverflow (here), it is the normal behaviour and you can:

disable the recognition of ordinals
or improve the score provided by PromptRecognizers.findTopEntity(PromptRecognizers.recognizeChoices(utterance, choices, options));

Thanks for you reply. Can you please help how can I disable the recognition of ordinals? FYI I am using Prompts.choice to display Choices to the user.

I will let a node.js specialist answer. @nwhitmont  maybe?

Here is how I sorted it.
const builder = require('botbuilder');
builder.Prompts.customize(builder.PromptType.choice, new builder.PromptChoice({minScore: 0.5}));
builder.Prompts.choice(...);

In my case I wanted to avoid getting answers with low score of certainty, so the prompt choice would ask me again. But you can use the same method to change any PromptChoiceFeature like "recognizeOrdinals"

@nsantini I've tried yours and it worked for me. Thanks so much!!! 👍

Hi,
Can u help me in how to disable the recognition ordinal bcz the solution provided by @nsantini  is not working for me.
The issue i am asking is , the prompt choice button (Yes|No) , sometimes when Yes is clicked its giving the correct response and sometimes its giving the other response

@vishmonne
Hi there,
If you want the answer to match exactly "yes" or "no", you should adjust minScore is 1, just like this:
const builder = require('botbuilder');
builder.Prompts.customize(builder.PromptType.choice, new builder.PromptChoice({ minScore: 1 }));
builder.Prompts.choice(session, "your question...", "yes|no");

Hope this helps :)

hi @levotragiang  i am giving the same thing above , still its like random , sometimes the bot goes to the function(session,results) and sometimes it goes to recognize the intent

@nrobert hi how to disable the recongnition of ordinal ?

@vishmonne
builder.Prompts.customize(builder.PromptType.choice, new builder.PromptChoice({ recognizeOrdinals: false }));

hi @EricDahlvang , i have given this is my code still the same problem exists, the prompt choice button is sometimes working and the other times its going to the default intent classifying ie its ending the dialog .
Can u help me with this ?

@vishmonne  Please ask a question on StackOverflow using the BotFramework tag: https://stackoverflow.com/questions/tagged/botframework  Be sure to provide the code you are using in the question.

hi all ,
can u help me out with this issue
https://stackoverflow.com/questions/53279820/prompts-choice-button-result-is-not-working-as-expected-ex-sometimes-its-callin


Issue-268: Changes needed to allow RHEL based builds via Islandora-playbook #268

GitHub Issue: #268

Other Relevant Links (Google Groups discussion, related pull requests,
Release pull requests, etc.)

Related to Issue #268.
No other relevant links are applicable.

What does this Pull Request do?
This pull request largely enables the ansible build of RedHat based systems to go
along with already existing Debian based system build process.  There are a few other
changes that we felt could also be included.  A brief listing of these changes is included below.
What's new?
A in-depth description of the changes made by this PR. Technical details and
possible side effects.

Changes x feature to such that y
Added x
Removed y
Does this change require documentation to be updated?
Does this change add any new dependencies?
Does this change require any other modifications to be made to the repository
(i.e. Regeneration activity, etc.)?
Could this change impact execution of existing code?

The primary focus of this pull request is to allow for building RedHat based systems (RedHat) the same way that Debian based systems are built using the Islandora-playbook.  As such the majority of the changes are tied into accommodating RedHat based approaches to the installation of the same components used by Debian or using an equivalent package repositories for the same components.  A number of changes relate to changing the default locations of variables used for RedHat instead of Debian.  There are a few other changes that we identified that we felt would fit better for both RedHat and Debian.

No documentation changes are required. Following the existing Islandora-playbook documentation should be sufficient.
No new dependencies besides the inclusion of the rpmfusion repo for RHEL based systems are included.
No changes are required to be made the repository (i.e. Regeneration activity, etc.).
These changes should not impact execution of existing code other than accommodating RedHat based systems.

See below for a brief description of the list of changes.
Primary Changes:
Files/Roles that were updated:
requirements.yml - There were a few changes in versions of geerlingguy modules that addressed issues when running these modules under RHEL.

geerlingguy.repo-remi - Fix GPG key validation failures with Remi's repository -https://github.com/geerlingguy/ansible-role-repo-remi/commit/c78186a982555c9f7861bafed90a73f81d830192
geerlingguy.php-versions - Support for PHP 8.1
geerlingguy.solr - Support for RHEL 8

Islandora-Devops.activemq - Adjusted how ActiveMQ is downloaded to add a timeout value as we were experiencing an issue with this.  Also instead of using 'mv', we opted for creating a symlink to the extracted content.  This allowed us to retain the version information from the original file extraction in the folder name but also providing the activemq folder to be used generally.
Islandora-Devops.alpaca - Adjusted obtaining the JAVA_HOME environment variable for RHEL.
Islandora-Devops.blazegraph - Adjusted the location of variables based upon OS based vars instead of hardcoded in defaults/main.yml.  Created tasks/config-RedHat.yml and tasks/define-home.yml to pull in the OS based variable.  Also adjusted the install.yml to be renamed install-Debian.yml and then created install-RedHat.yml.  Created vars/Debian.yml and vars/RedHat.yml to store the OS based variable.  Adjusted tasks/main.yml to reflect the above changes.
Islandora-Devops.canaloupe - Adjusted the location of variables based upon OS based vars instead of hardcoded in defaults/main.yml.  Moved tasks/install.yml to tasks/install-Debian.yml and created tasks/install-RedHat.yml.  Created tasks/os-vars.yml to pull in OS based vars and adjusted tasks/main.yml to reflect the above changes.
Islandora-Devops.crayfish - Added the rpmfusion repository for RedHat 8 ffmpeg instead of the nux repo and updated the when clauses to accommodate the change based upon OS flavor and version.
Islandora-Devops.fcrepo-syn - Adjusted the location of variables based upon OS based vars instead of hardcoded in defaults/main.yml similar to other previously mentioned modules above.
Islandora-Devops.fcrepo - Adjusted the python dependencies to only install either PostgreSQL or MySQL/MariaDB python modules.  RedHat only allows for one or the other installed due to a conflict.  As the database variant is chosen elsewhere (see variable islandora_db) it seemed fitting that one or the other and not both are needed at the same time.
Islandora-Devops.matomo - Adjusted the SQL to use a different collation when used with RedHat/MySQL/MariaDB.  Collation 'utf8mb4_0900_ai_ci' is not a recognized collation and using the collation of utf8mb4_unicode_ci resolved the error: "Unknown collation: ‘utf8mb4_0900_ai_ci’ " when importing the database.
Islandora-Devops.tomcat - Adjusted how Tomcat is setup in RedHat and also pulling default variables from OS specific vars instead of the defaults/main.yml file similar to those mentioned above.
solr.yml - Updated the version of Java from 1.8.0 to Java 11 for RedHat.  Included installation of zip package for RedHat.
tomcat.yml - Updated the version of Java from 1.8.0 to Java 11 for RedHat.
bootstrap.yml - Exchanged the ansible execution of the command "setenforce permissive" to using the ansible selinux module to perform the same function.
crayfish.yml - Changed to calling roles using "role:" instead of "name:" for bit of clarity to distinguish the calling of a role from other "name:" instances and to match other already existing "role:" conventions in the code.
post-install.yml - Add when clause to run tasks only for Debian based systems.  This excludes the tasks from running against RedHat based systems where folders differ between Debian and RedHat.
vars/RedHat.yml - Added selinux_permissive variable to allow bootstrap.yml to set selinux settings for RedHat.
Other Changes:
.gitignore - Excluded all other folders under the inventory folder besides vagrant from being captured by git.
ansible.cfg - Included color stanza for "verbose = bright blue" so as to have verbose ansible messages show with better contrast against a black terminal background.
How should this be tested?
A description of what steps someone could take to:

Reproduce the problem you are fixing (if applicable)
Test that the Pull Request does what is intended.
Please be as detailed as possible.
Good testing instructions help get your PR completed faster.

Testing of this pull request should follow the existing Islandora-playbook documentation for a newly built RedHat based system.  Our RedHat testing was done with a RedHat 8.9 (Ootpa) x86_64 VM installation.  Additionally this pull request should continue to work with Debian based systems.  To confirm the Debian setup was still functional our Debian testing was done with Ubuntu 22.04.03 LTS (Jammy Jellyfish).  These two test systems were VM's in our current VMware vSphere 7.0 environment.  For our Ansible host we used our already existing ansible system (RedHat 7 with the standard ansible 2.9.27-1 package from EPEL) to invoke the playbook to our test systems.
From our ansible playbook directory we followed the steps outlined in "Deploying to a remote environment" at https://islandora.github.io/documentation/installation/playbook/#deploying-to-a-remote-environment
Additional Notes:
Any additional information that you think would be helpful when reviewing this
PR.
NOTE: Although the resulting RedHat system seems to build and work properly, we are experiencing an issue with derivative creation for some images resulting in not having a FITS media file created.  We are unable to ascertain what the root cause of this is and are asking that someone that is more familiar with the derivative generation components to investigate to see if we missed something in the  configuration or settings wise.
Interested parties
Tag (@ mention) interested parties or, if unsure, @Islandora-Devops/committers

So, just for clarity, this is intended for an existing RedHat box, not for building a Vagrant/VirtualBox RedHat instance, correct?
This worked as expected of a default debian install. I also tried to change the ISLANDORA_DISTRO to generic/rhel7 but that failed out when it couldn't find python3 on the box.

Seth,
Correct - at least for us - we used a golden image that we already had to setup a RHEL 8 box.  I would suspect that if Vagrant/VirtualBox stood up say a RockLinux 8 box etc. it should follow along.   We haven't done much with Vagrant here on our end but we could potentially give it whirl.
As for the python3 for RHEL7 we didn't test anything with RHEL 7 as it is coming EOL shortly and we are keen on our end to build RHEL 8.  We could test this out with a RHEL 7 - I am assuming more OS version changes would be forthcoming.
Thanks,
-Brian.
Brian D. Gregg
Solutions Architect
University Library System
University of Pittsburgh
7500 Thomas Blvd.
Pittsburgh, PA 15208
voice:<PHONE_NUMBER>
fax:<PHONE_NUMBER>

From: Seth Shaw @.>
Sent: Thursday, January 18, 2024 3:43 PM
To: Islandora-Devops/islandora-playbook @.>
Cc: Brian D. Gregg @.>; Author @.>
Subject: Re: [Islandora-Devops/islandora-playbook] Issue-268: Changes needed to allow RHEL based builds via Islandora-playbook #268 (PR #273)
So, just for clarity, this is intended for an existing RedHat box, not for building a Vagrant/VirtualBox RedHat instance, correct?
This worked as expected of a default debian install. I also tried to change the ISLANDORA_DISTRO to generic/rhel7 but that failed out when it couldn't find python3 on the box.
—
Reply to this email directly, view it on GitHubhttps://github.com/Islandora-Devops/islandora-playbook/pull/273#issuecomment-1899175304, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAC5B3VTUAYAO62S7KOXBH3YPGCNNAVCNFSM6AAAAABB5JBHXOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJZGE3TKMZQGQ.
You are receiving this because you authored the thread.Message ID: @.***>

Well, I couldn't get the generic RH or RockyLinux vagrant base boxes to work, but since it doesn't break the official debian version we use in the Vagrant file, I'm going to approve this.

Thanks Seth,
I'll work on testing this against vagrant and at least one of the RH base boxes as soon as possible.
Thanks,
-Brian.
Brian D. Gregg
Solutions Architect
University Library System
University of Pittsburgh
7500 Thomas Blvd.
Pittsburgh, PA 15208
voice:<PHONE_NUMBER>
fax:<PHONE_NUMBER>

From: Seth Shaw @.>
Sent: Friday, January 19, 2024 11:35 AM
To: Islandora-Devops/islandora-playbook @.>
Cc: Brian D. Gregg @.>; Author @.>
Subject: Re: [Islandora-Devops/islandora-playbook] Issue-268: Changes needed to allow RHEL based builds via Islandora-playbook #268 (PR #273)
Well, I couldn't get the generic RH or RockyLinux vagrant base boxes to work, but since it doesn't break the official debian version we use in the Vagrant file, I'm going to approve this.
—
Reply to this email directly, view it on GitHubhttps://github.com/Islandora-Devops/islandora-playbook/pull/273#issuecomment-1900733129, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAC5B3UIXTB2YXGS6Z33AFTYPKOD5AVCNFSM6AAAAABB5JBHXOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBQG4ZTGMJSHE.
You are receiving this because you authored the thread.Message ID: @.***>

Seth,
Following up on this a bit.  We were able to get the Vagrant Box "generic/rocky8" (RHEL 8 variant) to work using the Islandora-playbook as is.  We were also able to get the Vagrant Box "generic/rock9" (RHEL 9 variant) to work with some tweaking of the Islandora-playbook.  Other attempts of using other Vagrant boxes "rockylinux/8" or "rockylinux/9", "generic/centos8", "generic/centos8s", "generic/alma8" all had issues such as the OS version of the box and package requirements relating to OS or they had underlying OS issues such as unable to boot, etc.
Would you be able to test Islandora-playbook on the "generic/rocky8" vagrant box to see if this indeed works for you?
Thanks,
-Brian Gregg.
Brian D. Gregg
Solutions Architect
University Library System
University of Pittsburgh
7500 Thomas Blvd.
Pittsburgh, PA 15208
voice:<PHONE_NUMBER>
fax:<PHONE_NUMBER>

From: Brian D. Gregg @.>
Sent: Friday, January 19, 2024 12:59 PM
To: Islandora-Devops/islandora-playbook @.>; Islandora-Devops/islandora-playbook @.>
Cc: Author @.>
Subject: Re: [Islandora-Devops/islandora-playbook] Issue-268: Changes needed to allow RHEL based builds via Islandora-playbook #268 (PR #273)
Thanks Seth,
I'll work on testing this against vagrant and at least one of the RH base boxes as soon as possible.
Thanks,
-Brian.
Brian D. Gregg
Solutions Architect
University Library System
University of Pittsburgh
7500 Thomas Blvd.
Pittsburgh, PA 15208
voice:<PHONE_NUMBER>
fax:<PHONE_NUMBER>

From: Seth Shaw @.>
Sent: Friday, January 19, 2024 11:35 AM
To: Islandora-Devops/islandora-playbook @.>
Cc: Brian D. Gregg @.>; Author @.>
Subject: Re: [Islandora-Devops/islandora-playbook] Issue-268: Changes needed to allow RHEL based builds via Islandora-playbook #268 (PR #273)
Well, I couldn't get the generic RH or RockyLinux vagrant base boxes to work, but since it doesn't break the official debian version we use in the Vagrant file, I'm going to approve this.
—
Reply to this email directly, view it on GitHubhttps://github.com/Islandora-Devops/islandora-playbook/pull/273#issuecomment-1900733129, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAC5B3UIXTB2YXGS6Z33AFTYPKOD5AVCNFSM6AAAAABB5JBHXOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBQG4ZTGMJSHE.
You are receiving this because you authored the thread.

Simply setting ISLANDORA_DISTRO to generic/rocky8 with a fresh clone of the playbook produced the following error:
TASK [include OS specific variables] *******************************************
Tuesday 20 February 2024  16:20:40 -0800 (0:00:00.932)       0:00:00.982 ******
fatal: [default]: FAILED! => {"ansible_facts": {}, "ansible_included_var_files": [], "changed": false, "message": "Could not find or access 'vars/Rocky.yml'\nSearched in:\n\t/home/sshaw28/islandora-playbook-cent/vars/vars/Rocky.yml\n\t/home/sshaw28/islandora-playbook-cent/vars/Rocky.yml\n\t/home/sshaw28/islandora-playbook-cent/vars/vars/Rocky.yml\n\t/home/sshaw28/islandora-playbook-cent/vars/Rocky.yml on the Ansible Controller.\nIf you are using a module and expect the file to exist on the remote, see the remote_src option"}

Is there another variable I needed to set as well?


source ip

Could we followed the source ip from  the request?

solved it: var customeIpV6 = requestDetail._req.socket.remoteAddress;


Reuse $DIR when setting the prefix for the private folder

Move constant functions to global vars.

 Reuse $(dir) when setting the prefix for the private folder

Rebase done, and comments have been taken care of.


list all know features and their maturity level

We have many features in the controller. Some of them are causing production issues.
We need to list all of available features we're providing and grading them as alpha, beta and ga.

alpha means the feature is experimental, and not ready for production yet.
beta means the feature is stable, it is ok to use on production with cautions.
ga general available means the feature is stable, confirmed to be working by many users, so it's ready for production use.

Feature: auto reconciliation

maturity level: ga
why? it's known to be widely used on production clusters.

Feature: force unlocking

maturity level: alpha
why? it's known to cause problems on some production systems. There's still no way to unlock mass terraform objects.

Feature: namespace multi-tenancy

maturity level: beta
why? it's caused the problems when people deleting the whole namespace because the SA, source, secrets, configmaps may get deleted before the controller clean up Terraform resources.

Hey @chanwit I suggest having the alpha and beta features behind feature flags. For beta you could enable those features by default but still allow cluster admins to disable them. For alpha, people should opt-it, thus making them aware they are using unstable features that could incur breaking changes. You can use the package we have in Flux for this, here is an example https://github.com/fluxcd/kustomize-controller/blob/main/internal/features/features.go


Added Test Case Generator

Test case generator using python with UI based on tkinter.

@appleboy @bluszcz @GoudaOnBeamPro @dmahugh my PR has failed and the issue seems to be with insertion sort.py program which I neither created nor changed. Please let me know if I need to attach the Screenshot of the same to prove my point. kindly review my PR.


To add Decimal/Octal Converter

Is your feature request related to a problem? Please describe.
no theres no problem
Describe the solution you'd like
I want to add a converter that can directly convert Decimal to Octal Number system and vice versa

Please assign me this issue I will start working on it as soon as possible

Go ahead!
Deadline 30 March,2021 (11:59 PM IST)

Do implement in Octal/ Binary converter under Binary Calculations category.


install.sh error

pi@raspberrypi(rw):~/StanfordQuadruped$ sudo bash install.sh
Reading package lists... Done
Building dependency tree
Reading state information... Done
libatlas-base-dev is already the newest version (3.10.3-8+rpi1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
install.sh: line 2: pip3: command not found
install.sh: line 3: pip: command not found
sudo: pip: command not found
install.sh: line 7: git: command not found
install.sh: line 8: cd: PupperCommand: No such file or directory
bash: install.sh: No such file or directory
install.sh: line 12: git: command not found
install.sh: line 13: cd: PS4Joystick: No such file or directory
bash: install.sh: No such file or directory
Failed to enable unit: Unit file joystick.service does not exist.
--2019-02-14 18:30:30--  https://github.com/joan2937/pigpio/archive/v74.zip
Resolving github.com (github.com)... <IP_ADDRESS>
Connecting to github.com (github.com)|<IP_ADDRESS>|:443... connected.
ERROR: The certificate of ‘github.com’ is not trusted.
ERROR: The certificate of ‘github.com’ is not yet activated.
The certificate has not yet been activated
unzip:  cannot find or open v74.zip, v74.zip.zip or v74.zip.ZIP.
install.sh: line 20: cd: pigpio-74: No such file or directory
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target 'install'.  Stop.
install.sh: line 25: cd: StanfordQuadruped: No such file or directory
ln: failed to create symbolic link '/etc/systemd/system/robot.service': File exists
Failed to enable unit: Unit file robot.service does not exist.
Failed to start robot.service: Unit robot.service not found.

 There should be a script in your home directory called install_packages.sh that’s should installed them. Alternatively you can apt install the missing packages (pip, git, ) manually

Thank you very much for your help, you are right, however, after I executed install_packages.sh, a new problem appeared, when I executed the [sudo bash ./install.sh] command again, I got the following error:
......
running install_egg_info
Writing /usr/local/lib/python2.7/dist-packages/pigpio-1.45.egg-info
if which python3; then python3 setup.py install ; fi
/usr/bin/python3
running install
running build
running build_py
creating build/lib
copying pigpio.py -> build/lib
running install_lib
running install_egg_info
Writing /usr/local/lib/python3.7/dist-packages/pigpio-1.45.egg-info
install -m 0755 -d /usr/local/man/man1
install -m 0644 p*.1 /usr/local/man/man1
install -m 0755 -d /usr/local/man/man3
install -m 0644 p*.3 /usr/local/man/man3
ldconfig
ln: failed to create symbolic link '/etc/systemd/system/robot.service': File exists
Failed to enable unit: Unit file robot.service does not exist.
Failed to start robot.service: Unit robot.service not found.

Looks like it installed succesfuly - its just that you already have a file called /etc/systemd/system/robot.service. if you type ls -la /etc/systemd/system/robot.service it will show it if its a symbolic link and if so where it points. Its a service file that explains how to start up the program. You can read more about them here


[PE-D][Tester B] UG did not mention that sorting by name in ascending order will result in names starting with a lower case letter being placed after names starting with upper case letter, regardless of the starting alphabet

For example, when I have names "john" and "Roy", although "j" comes before "r" in the alphabet, sorting by ascending order causes "john" to be placed after "Roy". It will be good to mention this in the UG so that users who have a large database of students will not be confused when they are looking for "john" and is not able to find it after scrolling past "Roy" as they assume that "john" will be placed before "Roy"

Labels: severity.Low type.DocumentationBug
original: joosxi/ped#1

Resolved by #106


⚠ Bofrost.at has degraded performance

In e13b0b0, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 926 ms

Resolved: Bofrost.at performance has improved in 6de4014 after 7 minutes.


DNS responses are cached

According to https://github.com/NixOS/nixpkgs/pull/89274, NixOS uses nscd only for dispatching nss modules, and caching functionality of nscd is disabled by default. But when I run any application that resolves the same DNS name in a loop on a clean NixOS system, I observe that DNS packets are not sent on each request, they are only sent after ttl elapses. It means that other requests are served from some local cache. Only if I stop nscd service I see the packets being sent on each request.
A simple script to reproduce this: while true; do getent ahosts github.com; sleep 1; done
Is there some component other than nscd that does this caching, or does nscd itself needs some extra configuration to actually disable caching?
cc @flokli

Confirmed.
When changing nameserver in /etc/resolv.conf, nslookup and dig resolve through new server but other applications return a  cached result. No systemd-resolved/local DNS services
I think this is somewhat new behavior.
# echo "nameserver $NS1" > /etc/resolv.conf
# nslookup $HOST
Server:         $NS1
Address:        $NS1#53

Name:   $HOST
Address: $IP1

# ping $HOST
PING $HOST ($IP1) 56(84) bytes of data.
^C

# echo "nameserver $NS2" > /etc/resolv.conf
# nslookup $HOST
Server:         $NS2
Address:        $NS2#53

Name:   $HOST
Address: $IP2

# ping $HOST
PING $HOST ($IP1) 56(84) bytes of data.
^C

Thanks for the digging! In that case, one more reason to work on https://github.com/NixOS/nixpkgs/issues/55276 :-)

A quick note as we have a similar issue: the caching is so bad that we're affected by negative caches with an unknown but longish (at least multiple minutes) TTL and have to restart nscd. For us, we're debugging some annoyance where one upstream DNS server sometimes (but rarely) does something bad and responds either with a negative answer or times out and I'm a bit suspicious that nscd is caching that timeout as a negative entry (although that doesn't correspond with the timeout glibc fallback behaviour).

I spent some time reading the glibc/nscd code. There was a "recent" change (5e74e6f85842892bc25da8e8c70d8dadd485941a) where the shared cache made a problem. I'm going to try running with a disabled shared cache...

Enabling and disabling the shared flag did not change anything. However, I noticed that doing a negative lookup actually is not cached, but positive values are (based on our current nscd.conf). I wonder what value it is assuming. The code internally has some defaults like 3600 for positive values. Digging deeper.

Check nixos/modules/services/system/nscd.conf and the git history around it.

Yeah, I'm aware of that. Any specific thing that you think I'm missing?
I'm a bit worried that we do not have tests for this behaviour and that either the previous change was bogus or glibc changed its behaviour without us noticing.

I'm a bit worried that we do not have tests for this behaviour and that either the previous change was bogus or glibc changed its behaviour without us noticing.

Yes, that.

Alright. I set up a test case that shows how to reproduce this and I based it on the original commit where nscd caching was supposedly disabled. It doesn't work even back then: f9a5a65801889df5848eff0d90b2edeee0fe390a
I guess next step would be debugging nscd?!? Le sigh.
Anyone got a better idea?

I've been iterating a bit with @erikarvstedt on how to accomplish https://github.com/NixOS/nixpkgs/issues/55276 in a non-breaking fashion, which would put nscd out of the loop for most of the requests. This is still WIP though.

Yeah, I've seen that. We're seeing some relevant breakage and I need to come up with a short term fix, though.

If you don't need any custom NSS modules (not even nss-systemd for dynamic user resolution), you should be able to disable it already today - with the caveats mentioned in the docs.

Yeah, unfortunately we just started using the container integration with mymachines ... perfect timing ;)

I did some more digging and the whole dance of how nscd works with timeouts and pruning the cache just seems off. I found a piece of code in the cache_add method that handles the case of running out of memory and just ignores things added to the cache. I'm currently running a test (waiting for a large system rebuild) that patches this method to always choose the 'ignore the new cache entry' path so nothing will ever be added to the cache. That should solve this reasonably well for now.

Ok, so here's a patch to glibc to just simply deactivate the cache function in NSCD completely. We likely would not want to ship it this way to the general userbase, but I could run it this way on our platform and if we're interested to use this upstream until you r work for ripping nscd out is done then we could add this as a configuration option to nscd or so.

https://udrepper.livejournal.com/16362.html suggests:

For all getaddrinfo lookups the TTL value from DNS replies takes precedence over the TTL value from /etc/nscd.conf. The latter is used for services which do not provide a TTL themselves (today all other services).

i.e. perhaps modifying the positive-time-to-live has had no impact because that value is overridden by the DNS TTL.
As an aside, the default reload-count of 5 means each DNS query will be re-queried 4 times.

From my perspective (I'm interested in the negative-time-to-live case) this looks like it doesn't differentiate between SERVFAIL and NXDOMAIN.

@stale not stale

I've been running this patch today. So far I did not hit any bug. I don't use any dodgy/segfaulting NSS module that being said.
The post-boot/resume firefox name resolution issues I was experiencing are gone.

I sent a proper PR to nixpkgs, see https://github.com/NixOS/nixpkgs/pull/196917.

The post-boot/resume firefox name resolution issues I was experiencing are gone.

Enabling nsncd through the new option fixed it for me too! I hated that issue...

Good to hear! Let's see if we here any negative reports, otherwise we should probably default to this after some more testing…

I think that this issue can be closed, nsncd is now used by default: https://github.com/NixOS/nixpkgs/pull/214153

Yes, thanks for the ping.