Circular reference is considered an error

When you have a yaml model that reference itself, the validate function consider it an error, which is not. It is completely supported by tools like swagger-editor and swagger-codegen.
I'm using the latest release on npm (1.0.1).
To reproduce, use the petstore and add this in the definition part:
MenuItemDescription:
  type: string
  description: "List of all menu item descriptions"
  enum:
    - Choice1
    - Choice2
    - Choice3
MenuItem:
  type: object
  description: "Item in a menu"
  required:
    - description
    - childMenuItems
  properties:
    description:
      $ref: "#/definitions/MenuItemDescription"
    childMenuItems:
      type: array
      items:
        $ref: "#/definitions/MenuItem"

The error is as follow:
Swagger schema validation failed.
  Expected type object but found type string at #/definitions/$ref

JSON_OBJECT_VALIDATION_FAILED

Thanks!

Circular references are fully supported.  Please see the docs for more information.
The error message that you mentioned above does not appear to be due to a circular reference though.  Can you post a complete code sample that reproduces the problem?  I tried to reproduce the error using your example above, but it validated fine.  Here's the Swagger file that I tested with:
swagger.yml
swagger: "2.0"
info:
  title: My API
  version: 1.2.3
paths:
  /:
    get:
      responses:
        default:
          description: Dummy response

definitions:
  MenuItemDescription:
    type: string
    description: "List of all menu item descriptions"
    enum:
      - Choice1
      - Choice2
      - Choice3
  MenuItem:
    type: object
    description: "Item in a menu"
    required:
      - description
      - childMenuItems
    properties:
      description:
        $ref: "#/definitions/MenuItemDescription"
      childMenuItems:
        type: array
        items:
          $ref: "#/definitions/MenuItem"

Using  the above file (which contains a circular reference), I was able to successfully validate it using Swagger-CLI.  Here's the console output:
swagger-cli validate swagger.yml
swagger.yml is valid

You are right... I'm confused... I have this error in my big yaml file and I was sure that I had find the problem but it seems that it's not that. Let me double check my real yaml file to see if I can really find what is the problem.

Ok I find a minimal way of reproducing it. It only happen with 2 files:
swagger.yaml
swagger: "2.0"
info:
  title: My API
  version: 1.2.3
paths:
  /:
    get:
      responses:
        default:
          description: Dummy response
definitions:
  $ref: ./definitions2.yaml

definitions.yaml
MenuItemDescription:
  type: string
  description: "List of all menu item descriptions"
  enum:
    - Choice1
    - Choice2
    - Choice3
MenuItem:
  type: object
  description: "Item in a menu"
  required:
    - description
    - childMenuItems
  properties:
    description:
      $ref: "#/MenuItemDescription"
    childMenuItems:
      type: array
      items:
        $ref: "#/MenuItem"

I have no clue what the problem is because if I put everything in the same file like I put in the original post, it work...

Ok, cool.  I was able to reproduce the problem.  Looks like a bug in Swagger-Parser.
In the meantime, here's a workaround that I found:
swagger.yml
swagger: "2.0"
info:
  title: My API
  version: 1.2.3
paths:
  /:
    get:
      responses:
        default:
          description: Dummy response

definitions:
  MenuItemDescription:
    $ref: ./definitions.yml#/MenuItemDescription
  MenuItem:
    $ref: ./definitions.yml#/MenuItem

definitions.yml
MenuItemDescription:
  type: string
  description: "List of all menu item descriptions"
  enum:
    - Choice1
    - Choice2
    - Choice3
MenuItem:
  type: object
  description: "Item in a menu"
  required:
    - description
    - childMenuItems
  properties:
    description:
      $ref: "#/MenuItemDescription"
    childMenuItems:
      type: array
      items:
        $ref: "#/MenuItem"

Basically, you create a $ref for each type definition, rather than a single $ref for all the definitions.  It's not as elegant, but it works for now.  Another option would be to split definitions.yml into separate files for each type (e.g. MenuItemDescription.yaml and MenuItem.yaml)

Thanks @BigstickCarpet !
Unfortunately, this fix is not possible as I have about 500 models. I'm 100% confident that this is a regression of swagger-parser because it was working a couple of days ago and this code didn't change.
Do you know when this will be fix?
Thanks!

I can't say for sure how soon I'll have a fix, since I work on these projects in whatever spare time I have.  Of course, I'd gladly accept a pull request if you have the time to fix it.
If this was previously working, then you can install an older version of Swagger-CLI and use that for the time being.

@BigstickCarpet I tried with version 1.0.0 which I'm pretty sure was working but I think both version get the same version of the parser.
Unfortunately, I don't have time to work on the fix as all my time left is used to work on swagger-codegen but I will wait patiently for your fix!
Have a great day!

FWIW, I've hit a different error that I'm pretty sure is still about recursion handling. I'm working on finding a minimal repro example. I'll post more details once I do, hopefully later today or some time tomorrow.

OK. Here's the repro:
openapi.yaml
openapi: 3.0.1
info:
  title: Recusion Example
  version: 1.0.0
paths:
  /:
    get:
      $ref: get-root.yaml

get-root.yaml
x-definitions:
  Foo:
    type: object
    properties:
      foos:
        type: array
        items:
          $ref: "#/x-definitions/Foo"

responses:
  200:
    description: The root.
    content:
      application/json:
        schema:
          type: object
          properties:
            foo:
              $ref: "#/x-definitions/Foo"

Then run:
$ swagger-cli validate openapi.yaml
Swagger schema validation failed.
  Missing required property: responses at #/paths///get

JSON_OBJECT_VALIDATION_FAILED

The weird triple slash is because the middle slash is the name of the key for the path. IDK if there's a better way to format that, but it's saying that there's no responses key in my get definition. But there is.
If you just comment out the recursive Foo reference, it checks out.
To work around this, you can just inline the definition of get. Then it's OK even if Foo is in another file or whatever, AFAICT.

Also, if you promote the responses key up to the main file, but keep everything below it in the second file like this:
openapi: 3.0.1
info:
  title: Recusion Example
  version: 1.0.0
paths:
  /:
    get:
      responses:
        $ref: get-root.yaml

Then the error is this:
Swagger schema validation failed.
  Additional properties not allowed: $ref at #/paths///get/responses

JSON_OBJECT_VALIDATION_FAILED

Which is at least reasonable because it's telling you it can't handle the $ref. But that doesn't seem to be the same problem as my first example, which can follow the $ref because it works if you take out the recursion.

No solution for this bug yet?

It seems there isn't solution but better error description:
Circular $ref pointer found at /Users/name/go/src/github.com/repo/docs/myModel.yaml#/properties/elements/items

where elements/items:
myModel:
  properties:
    elements:
      items:
        $ref: "./myModel.yaml"
      type: array
      x-go-name: Elements

It seems there isn't solution but better error description:
Circular $ref pointer found at /Users/name/go/src/github.com/repo/docs/myModel.yaml#/properties/elements/items

where elements/items:
myModel:
  properties:
    elements:
      items:
        $ref: "./myModel.yaml"
      type: array
      x-go-name: Elements

There is a solution for this ?

+1

+1

any resolution to this?


Add service published event to the spec

This is WRT the issue https://github.com/cdfoundation/sig-events/issues/111
Also fix a typo

Hello @ishankhare07 - are you still working on this?

Hey @afrittoli , just left a response to the feedback comment. We can discuss over it and if it seems good I'll add the details to the relevant sections.

Hey @afrittoli @m-linner-ericsson made the necessary changes to the spec.

@afrittoli @m-linner-ericsson can we merge this one? or do we need more details?


Credit Card Interfaces

I'm feeling more solid about these interfaces now. I looked closely at what our previous solutions were actually using and looked closely at BlueSnap as a payment provider.

Simplified by removing AuthAndCapture() because that is not recommended to do in one step.
Simplified by removing GetTransaction() because it shouldn't be necessary if you're saving transactions on the OC payment as you go.
Added some optional fraud prevention to the authorize request like address verification and IP address.
Added support for saved credit cards to the authorize request.

It could use a once over from the perspective of Stripe to make sure things line up.

I think this should line up with Stripe. I haven't spent too much time looking into saving cards but I can spend time looking at that today/tomorrow.

Great! This document may help with saved cards in stripe https://stylelabs.atlassian.net/wiki/spaces/PRD/pages/3704455389/ICreditCardSaver#Stripe-Implementation


Choosing a testing framework for the scheduling algorithms

Is your feature request related to a problem? Please describe.
Good to have a testing framework to make sure that the scheduling algorithm are always testing and not affected by any changes done. This issue is to just choose the right testing framework.
Describe the solution you'd like
Django prefers unittest for unit testing in Django.
Additional context

unittest — Unit testing framework
Testing in Django
https://docs.djangoproject.com/en/3.2/topics/testing/overview/

This could be good first strat actually will give an idea into how the components designed

I would say this is not a good first issue, since currently there is no testing done. Maybe once we have a setup for testing, adding the test cases for algorithms can be a good first issue. Thoughts?

Then again that test environment would never interfere with actual application so, i would say anyone can give it a try there is nothing to mess up there. And continue creating test cases for it

I had started to work on this some time ago, for this ticket, I wouldn't add test cases for all the algorithms, just a setup and a skeleton using unittest, and a few basic tests that are required.


After updating it to the latest, I've been getting this error

Traceback (most recent call last):
  File "K:\AI\10\Retrieval-based-Voice-Conversion-WebUI 2\gui_v1.py", line 87, in <module>
    import FreeSimpleGUI as sg
ModuleNotFoundError: No module named 'FreeSimpleGUI'
Press any key to continue . . .

Any solution?

try
pip install FreeSimpleGUI

I found a walk around that is copy FreeSimpleGUI folder to project folder , then it works


Lock down es-abstract to avoid build issues on s390x

Related to https://github.com/ManageIQ/manageiq-rpm_build/pull/409

Backported to petrosian in commit c74b698c3f486221045adb587911d4a79f860a62.
commit c74b698c3f486221045adb587911d4a79f860a62
Author: Jason Frey<EMAIL_ADDRESS>Date:   Tue Aug 1 16:59:06 2023 -0400

    Merge pull request #1857 from bdunne/es-abstract

    Lock down es-abstract to avoid build issues on s390x

    (cherry picked from commit cab1c3e4d55d0fd69e91594500ade08c87d56bf2)


Move the miio library to a folder in this repo

We are maintaining our own version of the miio library because the original dev stopped accepting PRs.
Maybe it makes sense to copy the library (the version in https://github.com/homebridge-xiaomi-roborock-vacuum/miio) to this repo so it's easier to maintain :)

Probably worth copying https://github.com/tinkerhub/abstract-things as well

And removing everything unrealted to non vacuum cleaners in this case

Do you think we need to go that low? Personally, I never found myself needing to change anything in that library (so far).
+1 on removing anything unrelated to vacuum cleaners during the migration process.
I think I have some time this Friday to do so :)

https://github.com/tinkerhub/abstract-things/pull/5

Personally, I don't think that's a change that requires moving the library. If you want to ensure the library debug logs the Things library logs, you can simply set the environment variable DEBUG=thing:*. More documentation about the debug library: https://www.npmjs.com/package/debug

And we can still publish a fork of it if really needed.
The reason for moving miio though, is because we are constantly modifying that library. The development of this plugin is tightly bound to that library and, on many occasions, it means changing both libraries.

Looks like you’ll have a busy Friday )

Hahaha! I had a day off today, but my girlfriend is working so... having fun here :D


[NEED ASSIST] How to do IOS integration with AppDelegate.swift file

Adyen IOS integration was working with AppDelegate.m file. However, we converted AppDelegate.m file to AppDelegate.swift file.
Could you please guide me, if possible, on how to convert IOS integration codes of AppDelegate.m into AppDelegate.swift file?
I tried it with the below code in AppDelegate.swift file, but it does not handle the redirection at the end of the 3DS1 authentication.
import adyen_react_native

func application(_ app: UIApplication, open url: NSURL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
  RedirectComponentProxy.proccessURL(url)
}

Hey @ahmetgsu
Seems like you have a typo in open url: NSURL -> open url: URL.
Could you check if RedirectComponentProxy.proccessURL(url) got hit if you debug ?

@descorp Thank you for your prompt response.
Since RedirectComponentProxy.processURL method accept parameter type NSURL, I replaced URL type with the NSURL.

Hey @ahmetgsu
I see the problem. So we are going to add this #37  :)
The correct "override" is with URL.
For now you can do:
import adyen_react_native

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
    RedirectComponentProxy.proccessURL(url as NSURL)
}

Hey @descorp
I tried your above suggestion. However, it is stuck on this screen. I also try to check it on XCode build.

Few questions:
Redirects were working previously?
What version of Xcode are you using?
Does RedirectComponentProxy.proccessURL(url) got hit if you debug in Xcode?

My issue looks to be solved. We have both AppDelegate and SceneDelegate files together. I was working on the AppDelegate file but that should be SceneDelegate. Now, it is working. Thank you for your assistance @descorp

Any time :)
I am closing this topic


Update README.md

Adding pepitothe-cat.bsky.social on README

Thanks, already merged here https://github.com/Clement87/Pepito-API/pull/1


mock modules that aren't found, test failing

closes https://github.com/iambumblehead/esmock/issues/126
@cawa-93 when esmock is chained with other "--loader" modules (node v18) each module loader must call await nextResolve and this call breaks the loader and this is demonstrated with the failing test here.
      duration_ms: 0.008446949
      failureType: 'testCodeFailure'
      error: "Cannot find package 'vue' imported from /home/bumble/software/esmock/tests/local/notinstalledVueComponent.js"
      code: 'ERR_MODULE_NOT_FOUND'
      stack: |-
        new NodeError (node:internal/errors:387:5)
        packageResolve (node:internal/modules/esm/resolve:909:9)
        moduleResolve (node:internal/modules/esm/resolve:958:20)
        defaultResolve (node:internal/modules/esm/resolve:1173:11)
        nextResolve (node:internal/modules/esm/loader:173:28)
        resolve (file:///home/bumble/software/esmock/src/esmockLoader.js:50:13)
        nextResolve (node:internal/modules/esm/loader:173:28)
        ESMLoader.resolve (node:internal/modules/esm/loader:852:30)
        ESMLoader.getModuleJob (node:internal/modules/esm/loader:439:18)
        ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:40)

Feel free to try anything out here. I will try and think about more and experiment to try and get around the runtime error.

@cawa-93 if we skip calling nextResolve for this specific situation the tests pass I think this will work but I'm taking a break now :)

the tests should be passing but there is a seemingly random issue that affecting the 18.x pipeline

this issue causes the ci to fail https://github.com/avajs/ava/pull/3091


Redesign the design of the selector pool to make it work in windows.

This is the last major work before work on multithreading (#21) could begin.
The goal is to create a portable API to query asynchronous events. This will likely significantly redesign the public API of the nimgo/eventdispatcher library, and hopefully the API won't require many changes after this update.

https://www.ulduzsoft.com/2014/01/practical-difference-between-epoll-and-windows-io-completion-ports-iocp/
Always so simple with windows...

Hi @Araq,
I need your review. I'm working on providing a common API for windows async (IOCP) and unix async (std/selectors) to allow future transformation of NimGo into our M:N goal (without having to refactor every high level API later).
I came up with that kind of signature for private API of selector:
proc select*(selector: Selector, timeoutMs: int): tuple[fd: AsyncFd, customData: pointer]
proc registerReadFile*(selector: Selector, fd: AsyncFd, customData: pointer,
                       buffer: pointer, size: int, bytesRead: ptr int,
                       cancellation: out proc())

## select function doesn't use windows' select, but `getQueuedCompletionStatus`,
            which return only one completed event at a time.

Which could be used like that :
proc readFile(fd: AsyncFd, buffer: var string, size: int, timeoutMs = -1) =
  ## This is only an example usage:
  buffer = newString(size)
  # Here we pass coroutine by simplicity, but we could pass a more complex object
  var customData = cast[pointer](getCurrentCoroutine())
  var bytesRead: int
  var cancellationCb: proc()
  registerReadFile(ActiveSelector, fd, customData, addr(result[0]), size, addr(bytesRead), cancellationCb)
  if timeoutMs != -1:
    registerTimerExecution(cancellationCb, timeoutMs) ## -> this could be executed in a different thread
  suspend() ## After suspend, we could be in another thread
  buffer.setLen(bytesRead)

It might not be very useful, but here is my draft of the implementation of registerReadFile for windows (I don't show you the one for select, nothing fancy)
proc registerReadFile*(selector: Selector, fd: AsyncFd, customData: pointer,
                       buffer: pointer, size: int, bytesRead: ptr int,
                       cancellation: out proc()) =
  var customOverlappedPtr = allocShared()
  customOverlappedPtr[] = CustomOverlapped(customData: customData, bytesReadPtr: bytesRead)
  var overlappedPtr = cast[ptr OVERLAPPED](customOverlappedPtr) # this is what std/asyncdispatch do
  let success = bool(readFile(fd.Handle, buffer, size.int32, nil, overlappedPtr))
  if not success:
    let osError = osLastError()
    if osError.int32 == ERROR_HANDLE_EOF:
      # TODO: Add it inside the selector queue
      discard # For now
    else:
      dealloc(customOverlappedPtr)
      raiseOSError(osError)
  cancellation = proc() = cancel(selector, overlappedPtr)

Do you think this is the correct approach ?

FYI ringabout has done something similar before, check out https://github.com/ringabout/wepoll https://github.com/ringabout/ioselectors and https://github.com/ringabout/httpx.

Thanks, that's interesting, I have been looking for something similar but the following limitation is a nogo:
https://github.com/ringabout/wepoll/tree/master/src/wepoll

Limitations
Only works with sockets.

It also don't seem to support https://learn.microsoft.com/en-us/windows/win32/fileio/cancelio, which I need.

I think I found an appropriate design.
I'm currently writing the implementation for both IOCP and EPOLL, and it seems possible while maintaining performance.
type IOOperation

proc applyIO*(ioOperation: IOOperation, buffer: pointer): int
proc consume*(): pointer # return userdata, can be used for cancellation

proc select*(selector: Selector, timeoutMs: int): ptr IOOperation
proc readFileAsync*(selector: Selector, fd: AsyncFd, buffer: pointer, size: int, userData: pointer, ioOperation: var IOOperation)

And a cross platform usage
## Fiber 1
proc main() =
  var s = newSelector()
  var fd = AsyncFd(0)
  registerHandle(s, fd)
  var buffer = newString(1024)
  var ioOperation: IOOperation
  readFileAsync(s, fd, addr(buffer[0]), 10, cast[pointer](getCurrentCoroutine()), ioOperation)
  suspend()
  setLen(buffer, newOp.applyIO(addr(buffer[0]))
  echo buffer
resume(newCoroutine(main))

## Fiber 2
while true:
  var io = select(s, -1)
  resume(io.consume())

Of course, because it use raw memory, so harder to debug, but shall fit well into a multithreading design

Do you think this is the correct approach ?

Good question. Unfortunately I don't know. However, in general we should try and void .closure callbacks as the hidden state that is passed around is exactly the state that will cause problems for multi-threading.

Thanks, that's already a beginning

Good question. Unfortunately I don't know

API design is difficult, especially when that involves wrapping low level API, so I am not surprised ! And I bet, you are not much of an async guy ;-)
However, the fact you don't dismiss completly the design is a good sign I am not going the wrong way entirely ! I am confident I will come up with something

avoid .closure callbacks as the hidden state

Agreed, I will avoid that, I realized it cause issues even in single threaded design, and I think I can make state explicit without sacrificing too much performance.
Concerning the advancement
I think it will likely take two weeks (sigh.) before I can write the whole implementation of Async API with most corner cases. So, although you could contribute on some of the multithreading design, you will likely be blocked until I finish this part (so it's up to you if you want to wait). I'll inform you then.

I come to the news after quite a long time and I excuse myself. Some of my time was taken away by other projects and I am not sure when I could advance more.
In my opinion, there is a problem in how std/selectors works, because by design it uses the blocking call, which doesn't allow to leverage multithreading behaviour. Furthermore, using blocking calls induce an important number of syscalls which can be largely reduced in both linux's select, poll, epoll and kqueue by using non blocking read with EAGAIN. Furthermore, epoll and kqueue have special flags to allow efficient multithreading (like EPOLLET). Here is an interesting article discussing about it : https://eklitzke.org/blocking-io-nonblocking-io-and-epoll. This problem affects any library relying on std/selectors like std/asyncdispatch and guzba/mummy, which is likely to have a strong overhead. It also creates a design flaw in NimGo where registering a file descriptor for both read and write result in a busy loop (I am not sure how asyncdispatch and mummy avoid that, do they ?)
I think the most elegant and efficient way to allow multithreading is to have a dedicated threadpool for IO (syscalls), and dedicated threadpool for CPU tasks. std/asyncdispatch could also benefit from it without change in its public API.
I have begun to write a draft of how a multithreaded selector library could look like here : https://github.com/Alogani/nectar/tree/devel. However, my competence on multithreading are lacking and the presence of multiple performance critical-section don't help (avoiding lock contention).
To the continuation of NimGo project:

I have initiated it to be used as a core library to make a DSL for shell language allowing both async/sync features, concisness and human readability (Alogani/shellcmd)
However I recently come across a library that fits exactly my needs: xonsh. It is unfortunately not Nim, but is much better that I was trying to do
So my interest in continuing developing NimGo on my free time dropped as a consequence

very sorry to hear that, but community will appreciate your efforts


Adds an entrypoint for interactive tmt sessions

tmt is sometimes used for interactive browsing and experiments, and the recent development increased the amount of work needed to enable such a session (logging, plugin loading, etc.). The patch provides a simple-to-use entrypoint that would take care of preparing necessary pieces, but allows for customization.
import tmt

tree = tmt.interactive()
plan_names = (plan.name for plan in tree.plans())

@psss kicking off the easy-to-begin interactive sessions...

Will there also be a use case out of the interactive browsing? For example, I think sombody would like to use this also when using tmt as a library? In that case, I would think about rename.

Feel free to propose a better name. An interactive session was the original motivation, I expected tmt-as-a-library use case would mean more customization needed, but if you see a use for it, sure, definitely doable.

And as this looks super useful compared to how it would need to be done previously, it would deserve a documentation note, but I am not sure where. Depends on the intended usage. @psss any idea where to document the usage of tmt as a python library, which seems this is intended for, except for the interactive usage?

Point me to a file & I'll add a paragraph documenting this :)

Will there also be a use case out of the interactive browsing? For example, I think sombody would like to use this also when using tmt as a library? In that case, I would think about rename.

Feel free to propose a better name. An interactive session was the original motivation, I expected tmt-as-a-library use case would mean more customization needed, but if you see a use for it, sure, definitely doable.

For me this function provides an easy way how to initialize a tmt local tree for interactive usage or usage from python code. So something like tmt.init_local_tree would make more sense to me.
Of course, I am not good at naming things, so feel free to deny if it feels incorrect.

And as this looks super useful compared to how it would need to be done previously, it would deserve a documentation note, but I am not sure where. Depends on the intended usage. @psss any idea where to document the usage of tmt as a python library, which seems this is intended for, except for the interactive usage?

Point me to a file & I'll add a paragraph documenting this :)

I personally would add a new section under guide "Using tmt as library" which would mention the interactive usage.
https://tmt.readthedocs.io/en/stable/guide.html#
@lukaszachy @psss ideas welcome

Who is the audience for this? Is it worth the time and cost of the future maintenance?
How often we expect users to "play" in interactive python sessions from scratch?
Isn't it closer to "logger-less" Tree() than to "interactive"?
Our tmt command line is strong enough for most use cases (--condition especially)
IMO we should just add nicer hint about fastest way to get the logger into docstring of tmt.Tree

@psss any idea where to document the usage of tmt as a python library, which seems this is intended for, except for the interactive usage?

Currently we have the coding section in the examples. In the future, this kind of stuff should go to the Guide. Or we can start extending the guide step by step. On the other hand, putting small chapters here and there with no clear overall structure is probably not the best way to build the guide.

Feel free to propose a better name. An interactive session was the original motivation, I expected tmt-as-a-library use case would mean more customization needed, but if you see a use for it, sure, definitely doable.

The main use case really is to have a comfortable way to quickly explore tests, plans and stories. So this is closely tied to the tmt.Tree. What about introducing a new class method there which would do the stuff? Let's say Tree.grow()? The usage then could very straightforward and intuitive, I'd say:
[test.name for test in tmt.Tree.grow().tests()]

Who is the audience for this? Is it worth the time and cost of the future maintenance?
How often we expect users to "play" in interactive python sessions from scratch?
Isn't it closer to "logger-less" Tree() than to "interactive"?

I definitely find myself doing these quick experiments and I don't think there's any maintenance cost so I see a clear benefit for this. Yes, it should cover the logger-less Tree() use case but in a way that would avoid the optional in init.

The main use case really is to have a comfortable way to quickly explore tests, plans and stories. So this is closely tied to the tmt.Tree. What about introducing a new class method there which would do the stuff? Let's say Tree.grow()? The usage then could very straightforward and intuitive, I'd say:
[test.name for test in tmt.Tree.grow().tests()]

IIUIC, this would mean renaming & moving the newly added function, from tmt.interactive() into Tree.grow(), with the same set of parameters and the same behavior, correct? Sounds good to me, a class method would be as good as anything. Although the name suggests, in my mind, that the tree is extended with new nodes, rather than being instantiated. More naming options would be nice, no comments on the move part, +1 from me.

IIUIC, this would mean renaming & moving the newly added function, from tmt.interactive() into Tree.grow(), with the same set of parameters and the same behavior, correct?

Yes, exactly.

Although the name suggests, in my mind, that the tree is extended with new nodes, rather than being instantiated. More naming options would be nice

I see. Don't have many other ideas in my sleaves though... Perhaps Tree.init()? On the other hand, tmt.Tree.grow() would be a bit consistent with fmf.Tree.grow:
Grow the metadata tree for the given directory path

So maybe grow() is not that bad after all.

IIUIC, this would mean renaming & moving the newly added function, from tmt.interactive() into Tree.grow(), with the same set of parameters and the same behavior, correct?

Yes, exactly.

Although the name suggests, in my mind, that the tree is extended with new nodes, rather than being instantiated. More naming options would be nice

I see. Don't have many other ideas in my sleaves though... Perhaps Tree.init()? On the other hand, tmt.Tree.grow() would be a bit consistent with fmf.Tree.grow:
Grow the metadata tree for the given directory path

So maybe grow() is not that bad after all.

I see, this makes it easier to accept, at least for me. Being consistent is always a good thing. Done in 12deb896.

@psss docs updated in 6b80af74.


Be more flexible about context

Currently the @context of the JSON-LD is hard wired as schema.org (default), oerschema.org (oer: prefix) and https://github.com/K12OCX/k12ocx-specs/ (ocx: prefix).
@context default and prefixes should be configurable options.

done


token.maxAgeInSeconds seems to be completely ignored

Environment

Operating System: Darwin
Node Version:     v20.10.0
Nuxt Version:     3.10.0
CLI Version:      3.10.0
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      ssr, css, plugins, runtimeConfig, modules, build, vite, lodash, auth
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

nuxt-auth: V0.9.4
Reproduction
I am using Django with Dango REST framework and simple JWT as Backend.
This is my auth configuration:
    auth: {
      baseURL: process.env.BACKEND_BASE_URL + '/',
      provider: {
        type: 'local',
        session: {
          dataType: {
            shops: 'string'
          },
        },
        endpoints: {
          signIn: { path: 'api/token/', method: 'post' },
          getSession: { path: '/' },
          signOut: false
        },
        pages: {
          login: '/login'
        },
        token: {
          signInResponseTokenPointer: '/access',
          maxAgeInSeconds: 50 * 1 - 5,
          sameSiteAttribute: 'lax',
          cookieName: 'auth.token'
        },
        refresh: {
          isEnabled: true,
          endpoint: { path: 'api/token/refresh/', method: 'post' },
          refreshOnlyToken: true,
          token: {
            signInResponseRefreshTokenPointer: '/refresh',
            refreshRequestTokenPointer: '/refresh',
            maxAgeInSeconds: 115,
            cookieName: 'auth.refresh-token',
          }
        }
      },
      globalAppMiddleware: {
        isEnabled: true
      },
    }

To reproduce the error do a login, make a call to a protected API Endpoint and you should get a 401 because the access token expired and was not refreshed.
If you login and wait at least 120 seconds the refresh token expires and triggers a token refresh.
Describe the bug
When the token expires, it does not trigger a refresh and does not get renewed.
Only the lifetime of the refresh token triggers a refresh.
Expected behavior:
If the lifetime of the token expires, the refresh is triggered.
If the refresh token expires, the user gets logged out automatically.
Additional context
No response
Logs
No response

No bug, just me not being able to use the module correctly.
This 'bug' occurs if you do not implement the session correctly.


nixos-rebuild error: opening lock file ...  File name too long

Issue description
I really don't know what prompted this, but nixos-rebuild completely stopped working for me.
[krey@krey-laptop:~]$ sudo nixos-rebuild switch
building Nix...
building the system configuration...
error: opening lock file '/nix/store/h1cj6aq7yq6fxak277czdhn7ppmmypca-fvdkrmzgn9apjf1z079766a8a9im33jy-rvf6flsvmmzzjzb69fc80d8h42g3ga4b-zimm95lbi9f2cigmqzjmd275n83ppb7g-dy9zi1w3qsg7v6a14y6q1fgb58n1v56l-rg7fv8cjiyp0k4ddfqd85n36d1qv5r9v-wmn7w31gghf5v58bqbafw48vg67sm3wc-c41ild29k0zqflvhd8gfyw75sbixl6wb-cfg.lock': File name too long
(use '--show-trace' to show detailed location information)

With trace
[krey@krey-laptop:~]$ sudo nixos-rebuild switch --show-trace                                                                                ~
building Nix...
building the system configuration...
error: while evaluating the attribute 'activationScript' of the derivation 'nixos-system-krey-laptop-18.03.131807.489a14add9a' at /nix/store/arjjv36ilrr0vkmd4a785fi3g3avwd12-nixos-18.03/nixos/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating the attribute 'system.activationScripts.script' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/system/activation/activation-script.nix:62:9:
while evaluating 'textClosureMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/strings-with-deps.nix:70:35, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/system/activation/activation-script.nix:83:18:
while evaluating 'id' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/trivial.nix:9:8, called from undefined position:
while evaluating the attribute 'text' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/system/activation/activation-script.nix:9:5:
while evaluating the attribute 'text' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/strings-with-deps.nix:77:38:
while evaluating the attribute 'sources' of the derivation 'etc' at /nix/store/arjjv36ilrr0vkmd4a785fi3g3avwd12-nixos-18.03/nixos/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/system/etc/etc.nix:20:20, called from undefined position:
while evaluating the attribute 'source' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:199:44:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:75:45, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:199:52:
while evaluating the attribute 'value' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:312:9:
while evaluating the option `environment.etc.profile.source':
while evaluating the attribute 'isDefined' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:344:5:
while evaluating 'filterOverrides' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:419:21, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:328:18:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:425:8:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:323:17:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:323:28, called from undefined position:
while evaluating 'dischargeProperties' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:386:25, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:324:62:
while evaluating the attribute 'condition' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:467:14:
while evaluating the attribute 'text' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:199:44:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:75:45, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:199:52:
while evaluating the attribute 'value' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:312:9:
while evaluating the option `environment.etc.profile.text':
while evaluating the attribute 'isDefined' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:344:5:
while evaluating 'filterOverrides' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:419:21, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:328:18:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:425:8:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:323:17:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:323:28, called from undefined position:
while evaluating 'dischargeProperties' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:386:25, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:324:62:
while evaluating the attribute 'value' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:216:48:
while evaluating the attribute 'config.text' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/programs/bash/bash.nix:152:5:
while evaluating the attribute 'shellInit' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:199:44:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:75:45, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:199:52:
while evaluating the attribute 'value' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:312:9:
while evaluating the option `programs.bash.shellInit':
while evaluating the attribute 'isDefined' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:344:5:
while evaluating 'filterOverrides' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:419:21, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:328:18:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:425:8:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:323:17:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:323:28, called from undefined position:
while evaluating 'dischargeProperties' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:386:25, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:324:62:
while evaluating the attribute 'value' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:216:48:
while evaluating the attribute 'config.shellInit' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/programs/bash/bash.nix:128:7:
while evaluating the attribute 'system.build.setEnvironment.text' at /nix/store/arjjv36ilrr0vkmd4a785fi3g3avwd12-nixos-18.03/nixos/pkgs/build-support/trivial-builders.nix:32:16:
while evaluating 'mapAttrsToList' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:223:23, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/config/shells-environment.nix:26:9:
while evaluating 'zipAttrsWith' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:346:21, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/config/shells-environment.nix:23:9:
while evaluating 'zipAttrsWithNames' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:331:33, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:346:27:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:346:46:
while evaluating 'mapAttrs' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:198:17, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/config/shells-environment.nix:15:9:
while evaluating the attribute 'variables' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:199:44:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:75:45, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:199:52:
while evaluating the attribute 'value' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:312:9:
while evaluating the option `environment.variables':
while evaluating the attribute 'isDefined' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:344:5:
while evaluating 'filterOverrides' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:419:21, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:328:18:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:425:8:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:323:17:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:323:28, called from undefined position:
while evaluating 'dischargeProperties' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:386:25, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:324:62:
while evaluating the attribute 'value' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:216:48:
while evaluating the attribute 'config.variables' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/config/shells-environment.nix:157:5:
while evaluating the attribute 'environment.sessionVariables' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:199:44:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:75:45, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:199:52:
while evaluating the attribute 'value' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:312:9:
while evaluating the option `environment.sessionVariables':
while evaluating 'mapAttrs' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:198:17, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:307:11:
while evaluating the attribute 'mergedValue' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:339:5:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:339:32, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:339:19:
while evaluating 'merge' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/types.nix:267:20, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:342:8:
while evaluating 'mapAttrs' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:198:17, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/types.nix:268:9:
while evaluating 'filterAttrs' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:115:23, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/types.nix:268:35:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:116:18:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:116:29, called from undefined position:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/types.nix:268:51, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:116:62:
while evaluating the attribute 'NIX_PATH' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:334:7:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/types.nix:268:86, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:334:15:
while evaluating the attribute 'optionalValue' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:346:5:
while evaluating 'filterOverrides' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:419:21, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:328:18:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:425:8:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:323:17:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:323:28, called from undefined position:
while evaluating 'dischargeProperties' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:386:25, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:324:62:
while evaluating the attribute 'value' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/types.nix:273:55:
while evaluating the attribute 'NIX_PATH' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/services/misc/nix-daemon.nix:424:9:
while evaluating the attribute 'nixPath' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:199:44:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:75:45, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/attrsets.nix:199:52:
while evaluating the attribute 'value' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:312:9:
while evaluating the option `nix.nixPath':
while evaluating the attribute 'mergedValue' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:339:5:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:339:32, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:339:19:
while evaluating 'merge' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/types.nix:241:20, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:342:8:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/types.nix:242:35, called from undefined position:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:94:29, called from undefined position:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/types.nix:244:23, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:94:32:
while evaluating the attribute 'optionalValue' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:346:5:
while evaluating 'filterOverrides' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:419:21, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:328:18:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:425:8:
while evaluating 'concatMap' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/lists.nix:102:18, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:323:17:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:323:28, called from undefined position:
while evaluating 'dischargeProperties' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:386:25, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:324:62:
while evaluating the attribute 'value' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/types.nix:248:40:
opening lock file '/nix/store/h1cj6aq7yq6fxak277czdhn7ppmmypca-fvdkrmzgn9apjf1z079766a8a9im33jy-rvf6flsvmmzzjzb69fc80d8h42g3ga4b-zimm95lbi9f2cigmqzjmd275n83ppb7g-dy9zi1w3qsg7v6a14y6q1fgb58n1v56l-rg7fv8cjiyp0k4ddfqd85n36d1qv5r9v-wmn7w31gghf5v58bqbafw48vg67sm3wc-c41ild29k0zqflvhd8gfyw75sbixl6wb-cfg.lock': File name too long

Technical details

system: "x86_64-linux"
host os: Linux 4.14.32, NixOS, 18.03.131807.489a14add9a (Impala)
multi-user?: yes
sandbox: no
version: nix-env (Nix) 2.0
channels(root): "nixos-18.03, nixos-unstable, nixpkgs-unstable"
channels(krey): ""
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

The issue was caused by my completely mangled NIX_PATH
nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs:nixos-config=/nix/store/fvdkrmzgn9apjf1z079766a8a9im33jy-rvf6flsvmmzzjzb69fc80d8h42g3ga4b-zimm95lbi9f2cigmqzjmd275n83ppb7g-dy9zi1w3qsg7v6a14y6q1fgb58n1v56l-rg7fv8cjiyp0k4ddfqd85n36d1qv5r9v-wmn7w31gghf5v58bqbafw48vg67sm3wc-c41ild29k0zqflvhd8gfyw75sbixl6wb-cfg:/nix/var/nix/profiles/per-user/root/channels:nixpkgs-overlays=/nix/store/fvdkrmzgn9apjf1z079766a8a9im33jy-rvf6flsvmmzzjzb69fc80d8h42g3ga4b-zimm95lbi9f2cigmqzjmd275n83ppb7g-dy9zi1w3qsg7v6a14y6q1fgb58n1v56l-rg7fv8cjiyp0k4ddfqd85n36d1qv5r9v-wmn7w31gghf5v58bqbafw48vg67sm3wc-c41ild29k0zqflvhd8gfyw75sbixl6wb-cfg/overlays


Review Ticket-Khushi

Tutorials:
-attend tutorials when needed to catch up with deployment and the weekly projects.
Individual Runtime review on About Page progress/quality.
Individual Analytics:
-Stress Relief Page
CB progress:
-work on practice tests
-Deployment Certbot
update and deploy website
Databases:
-working on article API

Self-score:

Attendance and tutorial: 0.75
-explanation: I have been attending tutorial for additional help regarding the deployment process as well as the team projects that we are working on.
Individual Runtime: 0.5
-explanation: This week I made less commitments towards the my About page, however I had made plans as to what updates would be made.
Individual Analytics: 0.5
-explanation: This week I worked on the stress relief page, where the major contribution would be able to figure out the color of the button as well as the font of the button.
CB Progress: 1
-explanation: for further practice, I have been practicing MCQ questions
Deployment Certbot and Databases: 0.5
-explanation: I have been adding more technical, where I plan to create an article API based on our team idea: Mental Health Article API

Final Score: 3

Improvements:
-Work on technicals and relate to the tech talks each week.


Implement Conditional Delete

User Driven: https://discord.com/channels/905144809105260605/1146114778239078501/1146114778239078501
Use Case
When testing on localhost / a developer project, users often want to "reset" their project by clearing out groups  of resources. Currently, the only way to do this is to query all the resources to get their IDs, and then to create a batch request to delete each resource individuall
Proposal
The FHIR spec allows for deleting all resources according to a search query, known as conditional delete

This is a good feature request.
The trick will be finding a way to do it performantly.  In theory, it should be as simple as DELETE FROM "Patient" WHERE [...], but we do soft deletes and maintain the history table, so this will be O(n) queries :/


Add support for IDA Pro *.idc scripts highlight (C-like)

(Original issue 644 created by None on 2011-03-01T19:36:47.619263+00:00)
It can use C highlight directly, only need recognize *.idc file extension

(Original issue 644 last updated on 2011-06-18T09:17:12.407105+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by tshatch on 2011-03-17T07:19:36.070574+00:00)
Do you have a simple example file that we can include?

(Original comment by birkenfeld on 2011-06-18T09:17:12.397271+00:00)
<<changeset 43cd4af18b0a>>.


Reverting a bug in the casting logic to only cast if really needed

@goodwanghan - if you are currently testing with dask-sql, that will definitely interest you. The bug I introduced does a lot of unneeded column assignments and will slow down the processing by a lot. I am planning to release a patch release soon.

Codecov Report

Merging #176 (0e4ffb0) into main (90569c9) will decrease coverage by 0.09%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##              main     #176      +/-   ##
===========================================
- Coverage   100.00%   99.90%   -0.10%
===========================================
  Files           57       57
  Lines         2196     2194       -2
  Branches       299      301       +2
===========================================
- Hits          2196     2192       -4
- Misses           0        2       +2

Impacted Files
Coverage Δ

dask_sql/input_utils/hive.py
90.00% <ø> (-10.00%)
:arrow_down:

dask_sql/mappings.py
100.00% <100.00%> (ø)

dask_sql/physical/rel/base.py
100.00% <100.00%> (ø)

dask_sql/physical/rex/core/call.py
100.00% <100.00%> (ø)

dask_sql/utils.py
100.00% <0.00%> (ø)

dask_sql/context.py
100.00% <0.00%> (ø)

dask_sql/server/responses.py
100.00% <0.00%> (ø)

dask_sql/physical/rex/core/over.py
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 90569c9...0e4ffb0. Read the comment docs.


Release cherry pick

Description
Release cherry pick. Original PR here: https://github.com/Azure/azure-sdk-for-python/pull/36332
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


Support for CLI plugins

Support for command line plugins similar to Heroku
https://github.com/heroku/cli
https://devcenter.heroku.com/articles/developing-cli-plugins

So, their main cli used to be in Ruby, now it's in Go, but plugins can be in any language, for instance this one is in Javascript https://github.com/heroku/heroku-pg
Pretty neat!

For me it looks like the core is written in go but the plugins are written in Javascript.


Fix erroneous 404 redirect

I was experiencing a 404 redirect when loading any queue page, regardless of whether or not it actually existed. I experienced this on both Chrome and Safari on macOS. This change moves the redirection code so users are only redirected to the 404 page if the queue actually does not exist.

I'm going to go ahead and merge this (I totally introduced this bug, sorry!)


Fix bottom of the video is cut off

Hi!
This PR is a fix for a bug that is cutting off the bottom part of youtube videos.
I removed the relevant part because I don't think the height specification is necessary.
Finally, thanks for developing a useful plugin!

I think this PR may be a solution to this issue.

I'll adjust the overall preset on player size, but it may not be as simple as removing height. height: 40vh is used to fit player size to the window size. I think you could open a new issue about this, and I'll see what I can do.
PS: I won't have time for coding until mid-july (it's the exam period at uni currently)


Fix bug for unconsider cases

Coverage decreased (-0.007%) to 34.807% when pulling adf73adfdf716921923036dbbecd639bfd551d7a on qingweibinary:qingwei/merge_trade_contract_for_chart into 1c6a021bd2d96bade8d0d0c24e9e11b0dd1e6d2e on binary-com:master.

Coverage remained the same at 34.814% when pulling 2b09433e1f65fca1769d904ffa16605d6f5e50a7 on qingweibinary:qingwei/merge_trade_contract_for_chart into 1c6a021bd2d96bade8d0d0c24e9e11b0dd1e6d2e on binary-com:master.

Coverage remained the same at 34.814% when pulling af4af346ff5ca95af115a4ff0f82e36f9be39d27 on qingweibinary:qingwei/merge_trade_contract_for_chart into 1c6a021bd2d96bade8d0d0c24e9e11b0dd1e6d2e on binary-com:master.


A11y_Chat window_ScreenReader:Screen reader is reading message as sending whereas it is being displayed as send failed when using arrow keys to navigate.

Is it an issue related to Adaptive Cards?
No.
What is the PWD impact?
Screen reader users will get wrong information while navigating in scan mode.
What browsers and screen readers do this issue affect?
Windows: Edge with Windows Narrator, Windows: Chrome with NVDA
Are there any code-based customization done to Web Chat?
No, I am using Web Chat without any customizations except "styleOptions".
What version of Web Chat are you using?
Latest production
Which area does this issue affect?
Live region
What is the public URL for the website?
https://web.powerva.microsoft.com/environments/839eace6-59ab-4243-97ec-a5b8fcc104e4/bots/107725f1-d827-41a4-8375-c91d1a97affc
How to reproduce the issue?

Launch the application using URL: Home - Test | Power Virtual Agents (microsoft.com)
Tab till chat box and press enter to open it.
Start Narrator.
Type and send any message such that it fails to send.
Check is narrator is announcing information correctly.

What do you expect?
Screen reader should read message correctly as displayed on screen.
What actually happened?
Screen reader is reading message as sending whereas it is being displayed as send failed when using arrow keys to navigate.
Do you have any screenshots or recordings to repro the issue?
No response
Did you find any DOM elements that might have caused the issue?
No response
MAS reference
https://aka.ms/MAS1.3.1
WCAG reference
No response
WAI-ARIA reference
No response
Adaptive Card JSON
No response
Additional context
Need investigation.
When in browse mode and screen reader is reading the whole page, for messages that has "Send failed. Retry", screen reader actually still read it as "Sending"
https://msazure.visualstudio.com/CCI/_workitems/edit/15627650

I could not repro this on Web Chat loader and PVA, in both scan and browse mode. Tested on Narrator + Edge.
I am asking the tester to understand how they trigger the "send failed" prompt. Maybe the way they trigger the prompt kept the prompt as "sending".

The tester closed the original bug as fixed. 🎉


[FEATURE] Community Chat Frontend Only, {branch: dev}.

Detailed description
🔨Installation Guide
Make sure to create a branch from dev branch
Under Dashboard > Community:

Context
with this community will stay in network with each other
Possible implementation
No response
Additional information
No response
Code of Conduct

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

@kabir0x23 what do we need to do exactly, create UI from scratch or fix issues or what?

@kabir0x23 what do we need to do exactly, create UI from scratch or fix issues or what?

We have to include this new feature for chat, kind of discord but only one channel, and only frontend as of now.

Hey @kabir0x23 , I would like to contribute to this issue under Hacktoberfest. Could you please assign this to me?
Thank you for your consideration.

Hey @kabir0x23 , I would like to contribute to this issue under Hacktoberfest. Could you please assign this to me? Thank you for your consideration.

Issue assigned,
If u will have any doubts or questions, feel free to ask here
thank you.


open the device test from QR scan

change the ip address into QR image for easy test.

Yes, we plan on adding this :)

This will be a really useful feature. Looking forward to it! :+1:

+1


transaction submit: print transaction hash

Changelog
- description: |
    transaction submit: print transaction hash, like this:

    Transaction successfully submitted. Transaction hash is:
    456c614d5d547b7fe197a4d18fbb86e086cb9080594dabf9059adf08b00cf2bd

    Previously it was:

    Transaction successfully submitted.
# uncomment types applicable to the change:
  type:
  - feature        # introduces a new feature
  - breaking       # the API has changed in a breaking way
  # - compatible     # the API has changed but is non-breaking
  # - optimisation   # measurable performance improvements
  # - refactoring    # QoL changes
  # - bugfix         # fixes a defect
  # - test           # fixes/modifies tests
  # - maintenance    # not directly related to the code
  # - release        # related to a new release preparation
  # - documentation  # change in code docs, haddocks...

Context
Fixes https://github.com/IntersectMBO/cardano-cli/issues/896
How to trust this PR
We added a test in cardano-testnet: https://github.com/IntersectMBO/cardano-node/pull/6003
Checklist

[X] Commit sequence broadly makes sense and commits have useful messages
[X] Self-reviewed the diff

Why are we printing the txid here in the first place?

This PR is an answer to this ask by a user: https://github.com/IntersectMBO/cardano-cli/issues/896. Design has been validated by @CarlosLopezDeLara.

Why are we printing the txid here in the first place?

This PR is an answer to this ask by a user: #896. Design has been validated by @CarlosLopezDeLara.

Responded. We need to know what they intend to do with the information and that will inform what changes we should make, if any.

I believe this feature adds good value. After submitting a transaction, it's common to share the transaction ID (txid) with the recipient or check it in a blockchain explorer. Including the txid in the output seems like a natural addition, as it's the key information needed for any follow-up.
Of course, one can compute the tx-id with cardano-cli conway transaction txid  but printing it at submit makes the process more convenient and user-friendly without requiring additional steps to retrieve this essential detail.


Default user is not admin

The default user is defined to be of type 70 in the database, but this type does not exist in the code. The codified type for a default user is 65, and the type for an admin is 77. Because of that, a newly created user is assigned a type that does not correspond to anything, therefore can't be used.

Thanks your your feedback. The difference between the default type in the database and the user session come from a migration from an older project, from which the Framework originates. All you need to do is to update your database to use the type 65 per default.
A fix will be included in our next commit.


china

The new request for China seems to be different from what you said.(https://support.azure.cn/zh-cn/support/support-azure/)

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

ID: fe04a05a-f753-ee1f-5171-fd2a81a030f9
Version Independent ID: 1507a7ac-11cc-81a7-e932-9e8ef9644e2b
Content: Azure Resource Manager vCPU quota increase requests
Content Source: articles/azure-supportability/resource-manager-core-quotas-request.md
Service: microsoft-docs
GitHub Login: @ganganarayanan
Microsoft Alias: gangan

Thanks for the feedback! We are currently investigating and will update you shortly.


Breadcrumbs are not working in android

Hi there,
we've faced an issue that breadcrumbs are not shown in sentry.
I've activated the logging to see what is actually getting sent to sentry.io, and they are present there, but in the project interface they are missing.
Example of what is send, and what is shown in sentry interface (json) by raven-js https://gist.github.com/denstepa/adef096b5611bd992046369172ef95eb
Same for react-native-sentry https://gist.github.com/denstepa/c7e7d3535267cacacf2c65d5a94e7390
The Breadcrumbs are send in both cases, but in second one they are not visible in the interface.. Is that smth to do with library configuration ? We have for now to migrate back to raven-js as this feature is really important for us.

Can you try and not run it through the remote debugger?

Can you please upgrade to 0.14.8, this should be resolved now.


Download data for requests / projects

Description
@radumas requested the following:

How do I download data from this page? https://move.intra.prod-toronto.ca/requests/study/bulk/16

Acceptance Criteria

[ ] on View Request pages:

[ ] if the request is completed:

[ ] a "Download Data" button is shown;
[ ] clicking that button initiates a bulk export flow that downloads reports for the study associated with the request;

[ ] if the request is not completed, the user cannot download data from View Request;

[ ] on View Project pages:

[ ] if the project is completed:

[ ] a "Download Data" button is shown;
[ ] clicking that button initiates a bulk export flow that downloads reports for all studies associated with requests in the project;

[ ] if the project is not completed, the user cannot download data from View Project.

Additional Notes
This might be a good follow-up task to #768 - maybe a "Download Data" button here could drop the user into whatever flow we build there?  Alternatively we could build this as a standalone flow, but it's probably worth investing dev time in better data export tools anyways...
The notion of "associated request" needs to be defined here; we don't currently have an explicit linkage between requests and the studies they result in.  One possible way to identify which study is associated with a request is as the next study after the request submission date that matches the request parameters (location, study type, days of week, etc.)

If we have to guess the report that's associated with a request, I'd rather keep it simple and just redirect the user to the View Data page for that location, and let the user see what data is available.

Closing this for now, because this is not currently aligned with our Roadmap and objective of getting to parity with CRASH and FLOW.


Putting a Disc in a Jukebox Breaks the Timer

Describe the bug
For whatever reason using a disc on any Timer Category (only tested Custom and AA, but assuming that all have the same problem) resets the timer, setting both RTA and IGT to the same thing. It also for some reason ignores what decimal value you set it to, and always puts it at 3.
To Reproduce
Steps to reproduce the behavior:

Load up any world with the timer enabled
Insert any disc in a juke box
Now the timer's at 0:00.000 and will start counting upwards
Expected behavior
For the timer to not be affected and continue as normal.

Screenshots or logs

Versions info

MC Version: 1.19.2
SpeedRunIGT Version: 13.0.2
Fabric Loader Version: 0.14.9

Additional context
The timer can be fixed by relogging in and out of the world, however the time period at which the timer was broken will not be accounted for.

Fixed in 13.1


Duplicate tortilla recipe with Create

Tortillas have multiple mixing recipes with Create's mechanical mixer, both making use of corn. When making tortillas in bulk only the recipe using 3 corn will be used, not the one with wheat flour.

This was already reported in #17, going to close in favour of theirs which is more detailed.


Let Cargo capture subcommand output

Instead of explicitly capturing the output of the subcommands we invoke in our build script, we simply let them inherit our standard input and output so that Cargo's usual logic of capturing
the output of build scripts and only displaying it if the build script failed applies.
This means that one can use cargo build -vvv to get the full build even if it does not fail.

Does a release build adds O2 cflags?

Pull Request Test Coverage Report for Build 1255

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 95.184%

Totals

Change from base Build 1250:
0.0%

Covered Lines:
3182

Relevant Lines:
3343

💛  - Coveralls

Does a release build add O2 cflags?

I suspect this question is related to #401? And yes, release builds are done with optimization even though cargo resp. rustc and hence cc currently default to -O3 instead of -O2

bors: r+


Add a decline extension

Codecov Report

Merging #125 into master will decrease coverage by 0.09%.
The diff coverage is 100%.

@@           Coverage Diff            @@
##           master    #125     +/-   ##
========================================
- Coverage    92.3%   92.2%   -0.1%
========================================
  Files          63      54      -9
  Lines        1092     937    -155
  Branches       53      55      +2
========================================
- Hits         1008     864    -144
+ Misses         84      73     -11

Impacted Files
Coverage Δ

...ecline/src/main/scala/cron4s/decline/package.scala
100% <100%> (ø)

core/shared/src/main/scala/cron4s/expr/parts.scala
0% <0%> (-66.67%)
:arrow_down:

...d/src/main/scala/cron4s/lib/javatime/package.scala
50% <0%> (-8.34%)
:arrow_down:

core/shared/src/main/scala/cron4s/expr/nodes.scala
78.68% <0%> (-3.37%)
:arrow_down:

.../main/scala/cron4s/datetime/PredicateReducer.scala
100% <0%> (ø)
:arrow_up:

...main/scala/cron4s/testkit/gen/CronGenerators.scala
100% <0%> (ø)
:arrow_up:

...ain/scala/cron4s/testkit/CronDateTimeTestKit.scala
100% <0%> (ø)
:arrow_up:

...c/main/scala/cron4s/validation/NodeValidator.scala
100% <0%> (ø)
:arrow_up:

...e/shared/src/main/scala/cron4s/expr/CronExpr.scala
100% <0%> (ø)
:arrow_up:

...main/scala/cron4s/testkit/discipline/package.scala
0% <0%> (ø)
:arrow_up:

... and 14 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 104e810...1179688. Read the comment docs.


Merge all input data of unit test into one single file

To ruduce some redundant fake data in unit test, I merged all required fake data into pkg/utils/collection/data.go and in this way it will also be easier to change the data.

Coverage increased (+1.4%) to 46.814% when pulling 5ac9c7524f2491eba8c96d33687bba7ebaf6ba80 on leonwanghui:improver into 2f8c289df047c331b5c81ee1431828427b721c32 on opensds:development.


Add unix support

Fixes #2 (and supersedes it)
Let me know if you have any requests for changes @seanyen

@Tobias-Fischer It looks good to me in general. Thanks for iterating on that.

Great to hear, thanks @seanyen. I addressed your comment.

Thanks for the contribution!

Great, thanks for merging! What would the next steps look like to get CI running on this?
/cc @wolfv


Proposed standard: .SEGAS file in base of repo to describe engagement with SEGAS standards

Our engineering standards are the things that we expect engineers to do. Look at the 'writing a standard' standard and provide some brief information below
What is the standard you are suggesting?
.SEGAS file in base of repo to describe engagement with SEGAS standards
What would be the benefit to the Home Office of adopting this standard?
Foster engagement with SEGAS standards by engineers.  Be able to test engagement with standards by pipeline. Be able to report on SEGAS engagement/conformance.
How might people follow it
When a repo is created for a product or part of a product, a .SEGAS file is added to the root of the repo which lists, for each standard:

standard name and version
assertion whether standard is met or not
commentary/reason

For example:
{
    "SEGAS-00003": {
        "version": "1.2.3",
        "met": false,
        "reason": "We currently don't have a decision log"
    }
}

Please confirm the below

[x] I have looked at the writing-a-standard standard and think this would meet the standard
[x] I have looked through our existing standards and think this is not covered elsewhere
[x] I have checked through the open issues on the repository and this standard has not already been suggested

Standards may need clear versions for this to work properly.

potential for a little tooling to review current .SEGAS against current latest standards and report.

I agree that we need to track compliance with the standards, I'm not sure that can/should be done on a per repo basis though. The reason being that surely some standards will span multiple repos, or even apply more to ways of working than to the code itself?
That said, I'd think that there would be some standards that could be monitored on a per repo basis.

This issue was discussed on the Ways of Working guild call on 16/5/24 (3pm)
@robertdeniszczyc2 and @aaronrussellHO gave context on previous discussions over and above what is discussed her
The results of https://github.com/UKHomeOffice/engineering-guidance-and-standards/issues/408 were shared - the pull request was merged.
The resulting json file - https://engineering.homeoffice.gov.uk/standards.json to be used for an initial, limited scope alpha trial, as follows:
1 - The DSA Cloud Infrastructure & Tooling team to deploy json file to internal repos in GitLab (probably all of one group of repos)
2 - Staff to volunteer to assess the repos for compliancy and update
3 - Set up runner with read rights to scan repos and provide a PoC dashboard for results (Grafana? PowerBI?)
4 - UAT notes on experience, snags and comments to be collated
Challenges:
1 - There may need to be work to define numerical values to IDs in the json for alerting via dashboard
2 - Ensure UAT notes are measurable and a retro can be done on them

Thanks for volunteering for this @mikewaldnerscottwork. I would also speak to @GraemeSutherlandHO as he came up with it initially and may have more insights.

Thanks for volunteering for this @mikewaldnerscottwork. I would also speak to @GraemeSutherlandHO as he came up with it initially and may have more insights.

Great point, yes - @GraemeSutherlandHO happy to discuss further.

PoC now up and running - test repo has been scraped into central page. Currently in Confluence. Next step - document and look to move into a central area (maybe Core Cloud) for further scope and alpha stage plans.


Ollama API Documentation: Error responses are not defined.

I received a 500 Internal Server error as a response when using Ollama MacOS and Ollama-UI.
This made me realise that errors are not mentioned in Ollama's documentation, so other projects are unable to implement it in their proxy.
Here is the Ollama logs dump for my issue: https://github.com/ollama-webui/ollama-webui/issues/193#issuecomment-1849616910
Can we have Errors returned by each API in the documentation?

That’s a great point. thanks for posting the issue.


About mask encoder

Hello, as the title suggests, I have some questions about the mask encoder.
In the paper, $\boldsymbol{x}_i^0=\boldsymbol{x}_i+\hat{\boldsymbol{m}}_i, \forall i \in \mathcal{N}$ adds the mask to the original data, and the code (MaskEmdMultiMPN) does this as well. However, in Fig. 3 of the paper, it looks like the mask is treated as a new feature of the node, expanding the original node's feature dimension.
I would like to know if these two approaches would affect the results? To me, the method shown in the figure seems more intuitive.
Thank you!

Hello,
Indeed, we intended for a learnable mask embedding to be added to the initial node features.
This idea is similar to the way positional embedding works in the transformer Neural Network architectures. By having a mask embedding, we shift the distribution of the input nodes depending on the type of node (load, generator, reference). By shifting the data distributions we expect the following GNN to better learn the desired behavior.
In practice, we tried various architectures and ways to encode the type of node, for example, just by adding an extra node feature as an identifier; however, in the end, the PowerFlowNet (MaskEmdMultiMPN) gave us the best results in terms of training loss.

Hello,
Indeed, we intended for a learnable mask embedding to be added to the initial node features.
This idea is similar to the way positional embedding works in the transformer Neural Network architectures. By having a mask embedding, we shift the distribution of the input nodes depending on the type of node (load, generator, reference). By shifting the data distributions we expect the following GNN to better learn the desired behavior.
In practice, we tried various architectures and ways to encode the type of node, for example, just by adding an extra node feature as an identifier; however, in the end, the PowerFlowNet (MaskEmdMultiMPN) gave us the best results in terms of training loss.

Thank you very much for your response!
I would like to confirm if my understanding is correct: the current method of embedding the mask yields better performance within the current training framework, which is why this approach has been adopted in the research. At the same time, expanding the mask as a new node feature into the original feature vector is also feasible.
I look forward to your feedback and corrections!

Yes indeed you got it right!
Initially we tried having as node features a 4 number one-hot encoding of the type of node, however we found out it was not as efficient.
It would be interesting to see how having a learnable mask embedding work as additional node features.

Thank you very much for your explanation, it has been incredibly helpful in my understanding of the techniques in your paper. In fact, I am currently looking to apply a similar method to solve the carbon emission flow in power systems and incorporate it into a reinforcement learning framework to address some optimization-related problems.
Thank you again for your clarification

That's good to hear, I wish you best of luck with your research!


[docs] skipTypename description may be wrong

It currently says:

Automatically adds __typename field to the generated types, even when they are not specified in the selection set.

But based on my experiments in combination with this issue, I suspect it should probably be something like this instead?

Does not add __typename to the generated types, unless it was specified in the selection set.

Thanks @s-h-a-d-o-w ! Pushed a fix.
I will be deployed to our website with the next release.

Fixed in 1.9.0


Update endpoint: Level::getAll

Add deprecate header to original formats.
Create appropriate application/json -> application/json;version=2 alias.

I would love to work on this. Can you give me some starting points?


⚠ Bofrost.fr has degraded performance

In 87003d0, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 994 ms

Resolved: Bofrost.fr performance has improved in 1808635 after 7 minutes.


.resume() -ing a function causes it to be called again

Operating system or device - Godot version:
Windows 7 - 2.0.3
Issue description (what happened, and what was expected):
When .resume() -ing a .yield() -ed function, that function is resumed but it is also called again
This means that if you attempt to .yield() and then .resume() _ready(), the game crashes (due to the fact that the game crashes when _ready() is called in scripting after it's initial calling once the script is loaded, which I assume is intentional)
Steps to reproduce:

Create scene with single node with attached script
.yield() and then .resume() _ready
Observe crashing of game

Link to minimal example project (optional but very welcome):
Yield Test.zip

Either I can't confirm, or I can't understand the issue.
I get a GDScript stack overflow here from the recursion in _ready and func1.
Here is the script which was given by the OP (with some additional formatting):
func _ready():
	print("1")       #A
	func1()          #B
	yield()          #C
	func1().resume() #D

func func1():
	print("2")        #E
	_ready().resume() #F
	yield()           #G
	print("3")        #H

Let's see what happens when it runs:

_ready() is called

it prints "1" (A)
it then calls func1() (B)

then, "2" is printed. (E)
then, _ready() is called (F), and it's result would be .resume()-ed

it prints "1" (A)
it then calls func1() (B)

then, _ready and func1 get into mutual recursion, and overflow the stack no matter its size.

if something magical happens, and it gets out of the recursion, _ready() gets finally resumed (C)

then, func1() is called (F), and it's result would be .resume()-ed

this causes additional recursion, as it would call _ready again.

if something magical happens, and it gets out of the recursion, func1() gets finally resumed (G)

then, "3" is printed. (H) (but this doesn't stop the recursion, unless your magic continues to modify the memory in strange ways. Good luck with that.)

I guess @spookdogg didn't notice that he isn't resuming the already-running instance of _ready() or func1(), but instead, calling a new "instance" of those functions, and resuming it in turn.

This has been stalled for a long time and it seems like a misunderstanding from the OP, no really a bug. I don't see a reason to keep this open.


Rule Bot

The Python Kit provides IDLE-BOT that collect resources. The Kit provides the perfect starting point to develop the API and understand the game mechanics.
A rule based bot is to be developed to experiment with simple strategies, and develop methods for the game API, that will be needed later on by ML bots.

[x] BOT0-idle-bot : bot provided with the in the Python Kit
[x] #7 BOT2-research-bot: Emits of the CityTile Research action.
[x] #8

Work on RuleBOTs is complete.


doubt about grpc agent

Hello, I used the Grpc framework，client connect server, The IP, namespace, proto interface are the same, ideally should be a client to the server, why it is divided into the two lines? ? ?

Version os gRPC, or demo? I think this will help

No update in 10days. Closing.


Welcome release source code and pretrained model, Thanks

When will the code release? I am very interested at your work.

Hello. I have released the trained model and test code. Thank you for your interest.


Enhancement: Add -DallowVersionConflicts=true option to update-properties (and possibly use-latest-versions)

The Continuous Delivery book by Jez Humble proposes a really cool algorithm on page 365 that could be added to the versions plugin.  The algorithm basically follows that rule that updating a version should NEVER introduce a version conflict.  So if project C depends on B and A, and B also depends on A, when there is a new version of A, C won't update to the new A unless there's also a version of B built with that same version of A.  This could be implemented in the update-properties goal with an "allowVersionConflicts=false" option.  The value of this would be awesome because it would prevent binary incompatibilities from being accepted, which significantly reduces the risk when accepting new versions.  Anytime a version won't be accepted because of this rule, the goal should output a warning indicating that there is no version of B with the latest version of A.  The warning would make it very easy to know what the next step is to getting the latest A into the current project.

CC @dependabot / @greysteil; could be interesting for you guys.

Interesting. I'm really keen to do some kind of resolvability check during Dependabot's Maven updates - it's the one things that's blocking me taking it out of beta.


Tests: use path APIs to construct paths in PackageGraphTests

Use the path APIs to construct the path rather than a literal spelling
to enable alternate path separator characters to match.  This allows the
PackageGraph tests to pass on Windows.

@swift-ci please smoke test


I can't use this package with Vite: reactdatagrid.io

Describe the bug
There are lot of errors.
Reproduction
none
Steps to reproduce
Install and run dev server
System Info
"dependencies": {
    "@inovua/reactdatagrid-community": "^5.2.3",
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },

  "devDependencies": {
    "@types/react": "^18.0.27",
    "@types/react-dom": "^18.0.10",
    "@vitejs/plugin-react": "^3.1.0",
    "cross-env": "^7.0.3",
    "express-urlrewrite": "^2.0.1",
    "vite": "^4.1.0"
  }

Used Package Manager
npm
Logs
text: 'You can mark the path "@babel/runtime/helpers/defineProperty" as external to exclude it from the bundle, which will remove this error. You can also surround this "require" call with a try/catch block to handle this failure at run-time instead of bundle-time.'
        }
      ],
      pluginName: '',
      text: 'Could not resolve "@babel/runtime/helpers/defineProperty"'
    },
    {
      detail: undefined,
      id: '',
      location: {
        column: 37,
        file<EMAIL_ADDRESS>        length: 46,
        line: 9,
        lineText: 'var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");',
        namespace: '',
        suggestion: ''
      },
      notes: [
        {
          location: null,
          text: 'You can mark the path "@babel/runtime/helpers/interopRequireDefault" as external to exclude it from the bundle, which will remove this error. You can also surround this "require" call with a try/catch block to handle this failure at run-time instead of bundle-time.'
        }
      ],
      pluginName: '',
      text: 'Could not resolve "@babel/runtime/helpers/interopRequireDefault"'
    },
    {
      detail: undefined,
      id: '',
      location: {
        column: 37,
        file<EMAIL_ADDRESS>        length: 46,
        line: 9,
        lineText: 'var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");',
        namespace: '',
        suggestion: ''
      },
      notes: [
        {
          location: null,
          text: 'You can mark the path "@babel/runtime/helpers/interopRequireDefault" as external to exclude it from the bundle, which will remove this error. You can also surround this "require" call with a try/catch block to handle this failure at run-time instead of bundle-time.'
        }
      ],
      pluginName: '',
      text: 'Could not resolve "@babel/runtime/helpers/interopRequireDefault"'
    },
    {
      detail: undefined,
      id: '',
      location: {
        column: 22,
        file<EMAIL_ADDRESS>        length: 31,
        line: 11,
        lineText: 'var _typeof = require("@babel/runtime/helpers/typeof");',
        namespace: '',
        suggestion: ''
      },
      notes: [
        {
          location: null,
          text: 'You can mark the path "@babel/runtime/helpers/typeof" as external to exclude it from the bundle, which will remove this error. You can also surround this "require" call with a try/catch block to handle this failure at run-time instead of bundle-time.'
        }
      ],
      pluginName: '',
      text: 'Could not resolve "@babel/runtime/helpers/typeof"'
    },
    {
      detail: undefined,
      id: '',
      location: {
        column: 54,
        file<EMAIL_ADDRESS>        length: 39,
        line: 18,
        lineText: 'var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));',
        namespace: '',
        suggestion: ''
      },
      notes: [
        {
          location: null,
          text: 'You can mark the path "@babel/runtime/helpers/classCallCheck" as external to exclude it from the bundle, which will remove this error. You can also surround this "require" call with a try/catch block to handle this failure at run-time instead of bundle-time.'
        }
      ],
      pluginName: '',
      text: 'Could not resolve "@babel/runtime/helpers/classCallCheck"'
    },
    {
      detail: undefined,
      id: '',
      location: {
        column: 51,
        file<EMAIL_ADDRESS>        length: 36,
        line: 20,
        lineText: 'var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));',
        namespace: '',
        suggestion: ''
      },
      notes: [
        {
          location: null,
          text: 'You can mark the path "@babel/runtime/helpers/createClass" as external to exclude it from the bundle,
which will remove this error. You can also surround this "require" call with a try/catch block to handle this failure at run-time instead of bundle-time.'
        }
      ],
      pluginName: '',
      text: 'Could not resolve "@babel/runtime/helpers/createClass"'
    },
    {
      detail: undefined,
      id: '',
      location: {
        column: 61,
        file<EMAIL_ADDRESS>        length: 46,
        line: 22,
        lineText: 'var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));',
        namespace: '',
        suggestion: ''
      },
      notes: [
        {
          location: null,
          text: 'You can mark the path "@babel/runtime/helpers/assertThisInitialized" as external to exclude it from the bundle, which will remove this error. You can also surround this "require" call with a try/catch block to handle this failure at run-time instead of bundle-time.'
        }
      ],
      pluginName: '',
      text: 'Could not resolve "@babel/runtime/helpers/assertThisInitialized"'
    },
    {
      detail: undefined,
      id: '',
      location: {
        column: 48,
        file<EMAIL_ADDRESS>        length: 33,
        line: 24,
        lineText: 'var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));',
        namespace: '',
        suggestion: ''
      },
      notes: [
        {
          location: null,
          text: 'You can mark the path "@babel/runtime/helpers/inherits" as external to exclude it from the bundle, which will remove this error. You can also surround this "require" call with a try/catch block to handle this failure at run-time instead of bundle-time.'
        }
      ],
      pluginName: '',
      text: 'Could not resolve "@babel/runtime/helpers/inherits"'
    },
    {
      detail: undefined,
      id: '',
      location: {
        column: 65,
        file<EMAIL_ADDRESS>        length: 50,
        line: 26,
        lineText: 'var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));',
        namespace: '',
        suggestion: ''
      },
      notes: [
        {
          location: null,
          text: 'You can mark the path "@babel/runtime/helpers/possibleConstructorReturn" as external to exclude it from the bundle, which will remove this error. You can also surround this "require" call with a try/catch block to handle
this failure at run-time instead of bundle-time.'
        }
      ],
      pluginName: '',
      text: 'Could not resolve "@babel/runtime/helpers/possibleConstructorReturn"'
    },
    {
      detail: undefined,
      id: '',
      location: {
        column: 54,
        file<EMAIL_ADDRESS>        length: 39,
        line: 28,
        lineText: 'var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));',
        namespace: '',
        suggestion: ''
      },
      notes: [
        {
          location: null,
          text: 'You can mark the path "@babel/runtime/helpers/getPrototypeOf" as external to exclude it from the bundle, which will remove this error. You can also surround this "require" call with a try/catch block to handle this failure at run-time instead of bundle-time.'
        }
      ],
      pluginName: '',
      text: 'Could not resolve "@babel/runtime/helpers/getPrototypeOf"'
    },
    {
      detail: undefined,
      id: '',
      location: {
        column: 54,
        file<EMAIL_ADDRESS>        length: 39,
        line: 30,
        lineText: 'var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));',
        namespace: '',
        suggestion: ''
      },
      notes: [
        {
          location: null,
          text: 'You can mark the path "@babel/runtime/helpers/defineProperty" as external to exclude it from the bundle, which will remove this error. You can also surround this "require" call with a try/catch block to handle this failure at run-time instead of bundle-time.'
        }
      ],
      pluginName: '',
      text: 'Could not resolve "@babel/runtime/helpers/defineProperty"'
    },
    {
      detail: undefined,
      id: '',
      location: {
        column: 37,
        file<EMAIL_ADDRESS>        length: 46,
        line: 9,
        lineText: 'var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");',
        namespace: '',
        suggestion: ''
      },

Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

A reproduction will be helpful to address the issue, and it's likely the package is somehow relies on a phantom dependency. Form the log above, package is trying to import babel-runtime but it's not added as a dependency https://www.npmjs.com/package/@inovua/reactdatagrid-community?activeTab=explore.

Dear @fi3ework,
I will create a test environment for reproduce the problem.
Thanks: Bela

Thank you @fi3ework
If @inovua/reactdatagrid-community is using
babel-runtime in their code, the package should  have babel-runtime in dependencies or peerDependencies. You can install babel-runtime on your own though.
The reason why it was working with create-react-app is because create-react-app depends on babel-runtime and leakly exposed to the package. This is a known problem of package hoisting.
https://www.kochan.io/nodejs/pnpms-strictness-helps-to-avoid-silly-bugs.html

Dear @fi3ework,
The ReactDataGrid gives strange result with installed Babel: only one vertical line without error message :)

The expected behavior should look like this:

Test project:
https://github.com/robozb/ViteReactDataGridIo

Sorry It was my fault! I had to remove some CSS what Vite inserted automatically for sample :)


opus files are downloaded as octet-stream

Describe the bug
Files with content type audio/ogg; codecs=opus are downloaded as application/octet-stream.
The content type does not pass the regex check in the unrounted_handler.go.
To Reproduce
Steps to reproduce the behavior:

Upload an opus file
Download this file
See content type

Expected behavior
The content type is audio/ogg; codecs=opus.
Setup details
Please provide following details, if applicable to your situation:

Operating System: Windows
Used tusd version: 2.5.0
Used tusd data storage: disk store
Used tusd configuration: Go
Used tus client library: Uppy.js

That's correct. Additional parameters in the media type are currently not allowed. Would you be interested in a PR for extending the regular expression to allow the syntax specified in https://httpwg.org/specs/rfc9110.html#media.type?
Alternatively, we could also consider moving away from the regular expression entirely and instead use Go's builtin media type parser: https://pkg.go.dev/mime#ParseMediaType. The benefit is that we do not have to maintain a complex regular expression that might be incompatible with the actual specs.
If the parsing fails, we would use application/octet-stream. Otherwise, we set Content-Disposition depending on whether the media type is allowed to be displayed inline or not.
What do you think?