ValueError('channel must be in range

Here is an error that comes up intermittently. Usually with longer prompts.

KeyError                                  Traceback (most recent call last)
/usr/local/lib/python3.10/dist-packages/anticipation/convert.py in compound_to_midi(tokens, debug)
223                 try:
--> 224                     track, previous_time, idx = track_idx[instrument]
225                 except KeyError:
KeyError: 54
During handling of the above exception, another exception occurred:
ValueError                                Traceback (most recent call last)
7 frames
 in <cell line: 8>()
6
7 proposal = generate(model, start_time=length, end_time=length+n, inputs=history, top_p=1.1)
----> 8 Audio(synthesize(fs, proposal))
 in synthesize(fs, tokens)
10 # the MIDI synthesis script
11 def synthesize(fs, tokens):
---> 12     mid = events_to_midi(tokens)
13     mid.save('tmp.mid')
14     fs.midi_to_audio('tmp.mid', 'tmp.wav')
/usr/local/lib/python3.10/dist-packages/anticipation/convert.py in events_to_midi(tokens, debug)
337
338 def events_to_midi(tokens, debug=False):
--> 339     return compound_to_midi(events_to_compound(tokens, debug=debug), debug=debug)
340
341 def midi_to_events(midifile, debug=False):
/usr/local/lib/python3.10/dist-packages/anticipation/convert.py in compound_to_midi(tokens, debug)
232                         message = mido.Message('program_change', channel=idx, program=0)
233                     else:
--> 234                         message = mido.Message('program_change', channel=idx, program=instrument)
235                     track.append(message)
236                     num_tracks += 1
/usr/local/lib/python3.10/dist-packages/mido/messages/messages.py in init(self, type, **args)
112         if type == 'sysex':
113             msgdict['data'] = SysexData(convert_py2_bytes(msgdict['data']))
--> 114         check_msgdict(msgdict)
115         vars(self).update(msgdict)
116
/usr/local/lib/python3.10/dist-packages/mido/messages/checks.py in check_msgdict(msgdict)
97                 '{} message has no attribute {}'.format(spec['type'], name))
98
---> 99         check_value(name, value)
/usr/local/lib/python3.10/dist-packages/mido/messages/checks.py in check_value(name, value)
84
85 def check_value(name, value):
---> 86     _CHECKSname
87
88
/usr/local/lib/python3.10/dist-packages/mido/messages/checks.py in check_channel(channel)
14         raise TypeError('channel must be int')
15     elif not 0 <= channel <= 15:
---> 16         raise ValueError('channel must be in range 0..15')
17
18
ValueError: channel must be in range 0..15

What happened here is that the model has generated more than 16 unique instruments (hence why it tends to come up with longer prompts/generations). The error occurs when we try to write this music to MIDI, which has a 16 channel limit. I didn't attempt to multiplex multiple instruments onto channels, so the output script tries to put the 17'th instrument on a new channel and we get this error.
I tried to address this by preventing the model from generated more than 16 instruments (see here). But there must be a bug. I made a note to dig into this.
In the meantime, a workaround is to prune the number of unique instruments so you never get too close to the ceiling of 16. You can see the instruments in the current proposal (and how many notes were generated for that instrument) with:
print(ops.get_instruments(proposal))

And there is some logic in the Colab notebook that allows you to remove excess / undesirable instrument parts:
instr = 128
candidate = ops.delete(proposal, lambda token: (token[2]-NOTE_OFFSET)//2**7 == instr)
output = ops.clip(ops.combine(candidate, melody), 0, length+n, clip_duration=True)

In convert.py line 219
I found a minor off-by-one bug in the case of the presence of a drum track.
Whenever a drum is encountered before num_tracks=9, idx skips over one index. num_tracks is rightfully incremented and idx is set to 9 (for MIDI compatibility), later down the line when num_tracks=9, it is skipped over to avoid the same channel number. This causes one index to be unused for channels and only supports 15 channels.
A simple fix would be to decouple idx from num_tracks  or ignore the increment of num_tracks for the drum track.
    num_tracks = 0
    for time_in_ticks, event_type in sorted(time_index.keys()):
        for (note, instrument, velocity) in time_index[(time_in_ticks, event_type)]:
            if event_type == 0: # onset
                try:
                    track, previous_time, idx = track_idx[instrument]
                except KeyError:
                    idx = num_tracks
                    previous_time = 0
                    track = mido.MidiTrack()
                    mid.tracks.append(track)
                    if instrument == 128: # drums always go on channel 9
                        idx = 9
                        message = mido.Message('program_change', channel=idx, program=0)
                    else:
                        message = mido.Message('program_change', channel=idx, program=instrument)
                    track.append(message)
                    num_tracks += 1
                    if num_tracks == 9:
                        num_tracks += 1 # skip the drums track

                track.append(mido.Message(
                    'note_on', note=note, channel=idx, velocity=velocity,
                    time=time_in_ticks-previous_time))
                track_idx[instrument] = (track, time_in_ticks, idx)


Create container with environment

Fixes FLOC-1544

Thanks @dwgebler

I ran the acceptance tests and saw them pass.

I made some comments above. Please answer or address those and resubmit for final review.

Thanks @dwgebler
I left some further comments above.
We discussed in the standup last week, that acceptance tests will be be simplified when you have a container list API. Isn't it worth doing that next?
Anyway, please answer or address the comments as you see fit and then merge.

A few really minor comments - address and merge, since Buildbot seems happy.

Oh, actually: I just merged branch that turned Application.environment into a dictionary-like object. So you should also merge forward and make appropriate tweaks.


Get request and array params

It doesn't seem like GET requests are translating array params correctly.
    let params: [String: AnyObject] = ["q": ["one", "two"], "target": "en"]
    Alamofire.request(.GET, "https://www.googleapis.com/language/translate/v2", parameters: params)

generates the url:
q%5B%5D=one&q%5B%5D=two&target=en
I think it's trying to added []'s for the POST case.  But in the GET case it should be q=one&q=two

This is intended behavior. Per the README.md,

Since there is no published specification for how to encode collection types, the convention of appending [] to the key for array values (foo[]=1&foo[]=2), and appending the key surrounded by square brackets for nested dictionary values (foo[bar]=baz) [is used].

Instead of using GET, you should consider using POST or PUT and passing values via JSON, XML, or another well-defined format. This could require server side changes obviously.
If server side is out of your control, you should consider manually encoding these parameters instead.

Yea it's the google api endpoint, so it's out of my control.  The google API doesn't like that format.  I can construct it manually, thought I'd file it though so you guys are aware.

@JRG-Developer is correct—this is intended behavior. Use custom parameter encoding if you need anything other than the provided options.


Crop and zoom distortion

Is there anything known about this issue? It seems to occur on Android TV but not on mobile devices. The picture is distorted whenever the frame is cropped using either RESIZE_MODE_ZOOM, RESIZE_MODE_FIXED_WIDTH or RESIZE_MODE_FIXED_HEIGHT

What device is that? Xiaomi by any chance?

What device is that? Xiaomi by any chance?

This was confirmed so far on a Shield Pro 2019 device running Android 9 and another running Android 11

I'm not sure if this helps but the image is correct when capturing screenshot but displayed incorrectly on the TV

I have something similar with Xiaomi Mi Box S connected to 15 years old TV. In case of these Xiaomi boxes (only) I had to switch to TextureView instead the accelerated SurfaceView because otherwise zoom wouldn't work (device/system/driver bug). If RESIZE_MODE_ZOOM is causing this even with SurfaceView, I'm afraid that then this is an upstream (ExoPlayer) issue. If you can reproduce it with all video files, you would suggest attempting to replicate this with other ExoPlayer apps (NewPipe/SmartTubeNext...).

I could only replicate this with h.264 files on my 1080p display but this isn't confirmed as it was reported to be happening on most 4K files which are usually h.265.
And yes, after some testing I found this also happens with another ExoPlayer app, and also VLC.
Is there anything that can be done to have this identified with upstream ExoPlayer. I couldn't seem to find any mention of it anywhere?

UPDATE: After some further testing I found this to be the cause of the issue. I'm not certain if the "AI-Enhanced" feature is available in other devices or if it's specific to the Shield Pro 2019. Maybe someone else can confirm..

I also noticed (on Xiaomi Mi Box S) that Kodi works differently when it comes to video output, compared to any other video app.

I also noticed (on Xiaomi Mi Box S) that Kodi works differently when it comes to video output, compared to any other video app.

Maybe someone can take a look at the Kodi source and see what they do differently. Out of curiosity would this be related at all? https://stackoverflow.com/a/33775646

This "AI-Enhanced" bug seems to be triggered when the SurfaceView is cropped or zoomed around 100% of the original height.
Using the long press zoom option, a cropped 1.85:1 image distorts at 99% of the original height, and a zoomed 4:3 image distorts at 101% of the original height.
Would this be relevant to this at all? https://stackoverflow.com/a/33775646


Move node configuration to application

[x] Move the node configuration to the application (so that all nodes part of an application use the same configuration)
[x] Allow override of the configuration per node (toggle button?)

Has been implemented in 0.5.0.


Support name when game is created

add field to game with name to distinguish users with same ip address

https://github.com/AtomasBots/atomas_server_go/commit/27e35f55daa7e320a2768f0ab8e07807275c662a


amqp message from nodejs (rhea lib) not able to to extract when received

Hello, I'm currently testing this project between two languages (GO and NodeJs) but I'm currently unavailable to receive the messages correctly on the GOlang side of the project.
When I debug I can the message exists but unable to get it from the object.
Here is the configuration I have for nodejs using rhea library:
const container = require('rhea');

const destination = 'topic://VirtualTopic.raw-orders';
// const destination = 'topic://metrics';

class MessageProducer {
 static sendMessage(objectMessage) {
   container.on('connection_open', function (context) {
     console.log("Connected!");
     context.connection.open_sender(destination);
   });

   container.once('sendable', function (context) {
     context.sender.send(JSON.stingify({ body: 'objectMessage' }));
     context.connection.close();
   });

   container.connect({
     'host': 'localhost',
     'port': '5672',
     'username': 'admin',
     'password': 'admin'
   });

 }
}

module.exports = MessageProducer;

and here is the configuration I have on th GO side:
package queue

import (
    "context"
    "fmt"
    "time"

    . "bitbucket.org/rappinc/normalizer/config"

    "github.com/labstack/gommon/log"
    "pack.ag/amqp"
)

type BaseConsumerQueue struct {
}

func (base *BaseConsumerQueue) connection(topic string) *amqp.Receiver {
    var url = fmt.Sprintf("amqp://%s:%s@%s/", Settings.Queue.User, Settings.Queue.Password, Settings.Queue.Host)

    client, err := amqp.Dial(url)

    if err != nil {
        log.Error("BaseConsumerQueue => An error has occurred trying to connect to the server:", err)
    }

    session, err := client.NewSession()

    if err != nil {
        log.Error("BaseConsumerQueue => An error has occurred trying to creating a new session:", err)
    }

    receiver, err := session.NewReceiver(
        amqp.LinkSourceAddress(topic),
        amqp.LinkCredit(10),
    )

    if err != nil {
        log.Error("BaseConsumerQueue => An error has occurred trying to creating a new receiver link:", err)
    } else {
        log.Info(fmt.Sprintf("BaseConsumerQueue => Created Queue %s", topic))
    }

    return receiver
}

func (base *BaseConsumerQueue) Read(topic string, onReceive func(string)) {
    var receiver = base.connection(topic)
    var ctx = context.Background()

    defer func() {
        ctx, cancel := context.WithTimeout(ctx, 1*time.Second)
        receiver.Close(ctx)
        cancel()
    }()

    for {
        msg, err := receiver.Receive(ctx)

        if err != nil {
            log.Info("BaseConsumerQueue => An error has occurred trying to reading a message:", err)
        }

        msg.Accept()
        if onReceive != nil {
            // msg.MarshalBinary()
            // fmt.Println(len(msg))
            fmt.Println(len(msg.GetData()))
            // onReceive(string(msg.GetData()))
        }
    }
}

Here is the print output of the message:
&{0 [0] 0xc0000ee080 map[] map[] 0xc000146000 map[] [] { "body": objectMessage } map[] 0xc0000f0140 0 false}

I'm still very new to Golang so I'm not very sure of what I'm I doing. Any suggestion would be wonderful

So you printed out the msg (*amqp.Message)? Based on the field ordering it seems as though the message is being sent as a value rather than data. AMQP allows a few different ways to attach a payload, I'm guessing it's the sending client that's sending it as a value.
Try printing out msg.Value.

It worked ! thank you very much ... I tried with a producer on Go, and as you said the payload comes in the data object.
Kind of a weird situation but thank you anyways.


Highlight currently opened project in initial DDEV Manager view

Is your feature request related to a problem? Please describe.
Not a problem, but could be a small improvement. Consider the following workflow:

I open VSCode to my DDEV project named "stormtrooper".
I click on the DDEV Manager icon in the side bar and am presented with a list of all DDEV projects on the machine.
The list of DDEV projects does not indicate that VSCode is currently open to the "stormtrooper" project.

Describe the solution you'd like
The currently opened project should be highlighted, or at the top of the list.
Describe alternatives you've considered
None.
Additional context
None.

Oh wait - I just found the "Workspace project" toggle! I think that should be the default view, not the full list of all DDEV projects on the machine.

Hi, I'm glad you found it. I believe that using that as the default view defeats the purpose of this extension which is to be able to manage all your projects form the sidebar.
I'm sure everyone will find that toggle (to only show your workspace project) while playing with the extension for a few minutes.
There's also a setting in the VSCode extension settings page to configure if you always want to show all projects or only the current workspace project.


Runtime error

First of all, thank you for this great job!
In line 39 of graphlime/explainers.py,
for key, item in kwargs:
probably should be
for key, item in kwargs.items():
to avoid runtime error with attributed graph

@gui-li thanks for your report. The bug has been fixed.


Update jwt_auth.py

{% if config.JWT_AUTH_URL_RULE -%}	 is used in these 2 files , but its not defined. This will fix the bug.

https://github.com/rochacbruno/flasgger/blob/master/flasgger/ui2/templates/flasgger/index.html#L78
https://github.com/rochacbruno/flasgger/blob/master/flasgger/ui3/templates/flasgger/index.html#L106

Coverage remained the same at 90.377% when pulling 6aeba0c2aa647611ed44b31658da42cad5fa3159 on anilpai:patch-1 into 32132f300c637383735bc1d905b5aacdf08d389a on rochacbruno:master.


[bug]: Converting checkpoint to diffusers fails

Operating system
Linux (docker)
GPU vendor
Nvidia (CUDA)
Version number
a3cb5da130280d380cbb7bf4492f8cf50ebd060b
Browser
Firefox
What happened
When I try to convert one of my models to diffusers in the model manager it fails because there seems to be a mismatch in the convert_cache naming.
The conversion seems to work.
❯ ls .convert_cache/
<folder> invokeai_models_sd-1_main_cyberrealistic_v5_fp32.safetensors

However the model manager is looking for /invokeai/models/.convert_cache/8b1c8220-9abd-481f-9827-be64ec67461a which does not exist.
I patched invokeai/app/api/routers/model_manager.py with the following:
cache_path = loader.convert_cache.cache_path(key)
+logger.info(f"CachePath: {cache_path}")
assert cache_path.exists()

invoke_ai-1  | [2024-06-14 15:11:22,532]::[InvokeAI]::INFO --> CachePath: /invokeai/models/.convert_cache/8b1c8220-9abd-481f-9827-be64ec67461a
invoke_ai-1  | [2024-06-14 15:11:22,533]::[uvicorn.access]::INFO --> <IP_ADDRESS>:15583 - "PUT /api/v2/models/convert/8b1c8220-9abd-481f-9827-be64ec67461a HTTP/1.1" 500
invoke_ai-1  | [2024-06-14 15:11:22,533]::[uvicorn.error]::ERROR --> Exception in ASGI application
invoke_ai-1  |
invoke_ai-1  | Traceback (most recent call last):
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 412, in run_asgi
invoke_ai-1  |     result = await app(  # type: ignore[func-returns-value]
invoke_ai-1  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 69, in __call__
invoke_ai-1  |     return await self.app(scope, receive, send)
invoke_ai-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
invoke_ai-1  |     await super().__call__(scope, receive, send)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__
invoke_ai-1  |     await self.middleware_stack(scope, receive, send)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__
invoke_ai-1  |     raise exc
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
invoke_ai-1  |     await self.app(scope, receive, _send)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/middleware/gzip.py", line 24, in __call__
invoke_ai-1  |     await responder(scope, receive, send)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/middleware/gzip.py", line 44, in __call__
invoke_ai-1  |     await self.app(scope, receive, self.send_with_gzip)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/middleware/cors.py", line 93, in __call__
invoke_ai-1  |     await self.simple_response(scope, receive, send, request_headers=headers)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/middleware/cors.py", line 148, in simple_response
invoke_ai-1  |     await self.app(scope, receive, send)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/fastapi_events/middleware.py", line 43, in __call__
invoke_ai-1  |     await self.app(scope, receive, send)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
invoke_ai-1  |     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
invoke_ai-1  |     raise exc
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
invoke_ai-1  |     await app(scope, receive, sender)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/routing.py", line 756, in __call__
invoke_ai-1  |     await self.middleware_stack(scope, receive, send)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/routing.py", line 776, in app
invoke_ai-1  |     await route.handle(scope, receive, send)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle
invoke_ai-1  |     await self.app(scope, receive, send)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/routing.py", line 77, in app
invoke_ai-1  |     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
invoke_ai-1  |     raise exc
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
invoke_ai-1  |     await app(scope, receive, sender)
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/starlette/routing.py", line 72, in app
invoke_ai-1  |     response = await func(request)
invoke_ai-1  |                ^^^^^^^^^^^^^^^^^^^
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
invoke_ai-1  |     raw_response = await run_endpoint_function(
invoke_ai-1  |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
invoke_ai-1  |   File "/opt/venv/invokeai/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
invoke_ai-1  |     return await dependant.call(**values)
invoke_ai-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
invoke_ai-1  |   File "/opt/invokeai/invokeai/app/api/routers/model_manager.py", line 634, in convert_model
invoke_ai-1  |     assert cache_path.exists()
invoke_ai-1  | AssertionError
invoke_ai-1  | [2024-06-14 15:11:22,601]::[uvicorn.access]::INFO --> <IP_ADDRESS>:15584 - "GET /api/v2/models/ HTTP/1.1" 200

Note: Converting with older releases works fine.

Can confirm. The real path that gets generated after conversion is based on the full path to the original checkpoint and does not contain the UUID(?) that the conversion script seems to be looking for.
A workaround is to convert, let it fail with the above error, then manually move the converted checkpoint folder to the normal location where Invoke places models of that type, then tell Invokeai to scan for models within its root, and finally install the model from its new location. The model appears to work like diffuser models normally work after that point.

I just downgrade invoke to convert diffusers. Just have to fix the schema version in the invoke.yml. I had no issues with DB migrations so far...

I am also getting this error since the most recent update
[2024-07-31 05:07:54,641]::[uvicorn.error]::ERROR --> Exception in ASGI application

Traceback (most recent call last):
  File "E:\InvokeAI\.venv\lib\site-packages\uvicorn\protocols\http\httptools_impl.py", line 412, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "E:\InvokeAI\.venv\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 69, in __call__
    return await self.app(scope, receive, send)
  File "E:\InvokeAI\.venv\lib\site-packages\fastapi\applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\applications.py", line 123, in __call__
    await self.middleware_stack(scope, receive, send)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\middleware\errors.py", line 186, in __call__
    raise exc
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\middleware\gzip.py", line 24, in __call__
    await responder(scope, receive, send)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\middleware\gzip.py", line 44, in __call__
    await self.app(scope, receive, self.send_with_gzip)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\middleware\cors.py", line 93, in __call__
    await self.simple_response(scope, receive, send, request_headers=headers)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\middleware\cors.py", line 148, in simple_response
    await self.app(scope, receive, send)
  File "E:\InvokeAI\.venv\lib\site-packages\fastapi_events\middleware.py", line 43, in __call__
    await self.app(scope, receive, send)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\middleware\exceptions.py", line 65, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\routing.py", line 756, in __call__
    await self.middleware_stack(scope, receive, send)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\routing.py", line 776, in app
    await route.handle(scope, receive, send)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\routing.py", line 297, in handle
    await self.app(scope, receive, send)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\routing.py", line 77, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "E:\InvokeAI\.venv\lib\site-packages\starlette\routing.py", line 72, in app
    response = await func(request)
  File "E:\InvokeAI\.venv\lib\site-packages\fastapi\routing.py", line 278, in app
    raw_response = await run_endpoint_function(
  File "E:\InvokeAI\.venv\lib\site-packages\fastapi\routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
  File "E:\InvokeAI\.venv\lib\site-packages\invokeai\app\api\routers\model_manager.py", line 760, in convert_model
    assert cache_path.exists()
AssertionError

Can confirm. The real path that gets generated after conversion is based on the full path to the original checkpoint and does not contain the UUID(?) that the conversion script seems to be looking for.
A workaround is to convert, let it fail with the above error, then manually move the converted checkpoint folder to the normal location where Invoke places models of that type, then tell Invokeai to scan for models within its root, and finally install the model from its new location. The model appears to work like diffuser models normally work after that point.

I do not see any converted checkpoint folder in my models folder, just the original ckpt file as if nothing has changed.


Company Social Information Broken

When clicking these links this happens:

Looks like this ticket can be closed.


add standardized JBrowse2 links to yaml for jekyll consumption

Currently, the jekyll sites link to JBrowse2 by just going to the main entrypoint page, befuddling some users who are more used to the traditional "when I ask to see a genome browser I get a genome" sort of approach. The JBrowse2 URL API allows links into specific assemblies, and to specify what tracks will be enabled, as well as more complex cases like pairwise comparisons between assemblies for a dotplot view. The autocontent generator could facilitate use of this in the jekyll context by constructing a specific yaml file that creates links for all the assemblies (enabling the annotation track by default if it exists), and any pairwise comparisons under the synteny folders that exist in the form of paf files. The jekyll builder could consume this yaml file and add the links to the resources page, as is currently done for older browsers in a semi-manual process (ie the yaml files are constructed manually). Can specify this more concretely if needed.

Complete. reopen if needed.


Feature: add pre-commit support

Hi there,
It would be awesome if this tool had a configuration for pre-commit - www.pre-commit.com

Hi, good idea. I'll take it at this week.


[REQUEST] add Israel mobility data gtfs

What problem is your feature request trying to solve?
I would like to add the GTFS of Israel to the database.
*Describe the solution you'd like
The GTFS file complete with instructions an real time arrivals is available in https://www.gov.il/he/pages/gtfs_general_transit_feed_specifications
Thank you in advance <3

related to https://github.com/MobilityData/mobility-database-catalogs/commit/82d2bbd6c9506afa15856712a2106dc5ad785c55#diff-76889c5ff354f6b85441053a32b23e72f93075252a499998ef5d32e548b16cc8R5-R7


Azure driver: docker-machine active timeout

Issue

I created two Azure Docker Hosts using docker-machine with the Azure driver
I tried to call docker-machine active
I received the error message below

PS C:\Users\TrevorSullivan> docker-machine.exe active
docker-machine.exe : Error getting active host: timeout
At line:1 char:1
+ docker-machine.exe active
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Error getting active host: timeout:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

PS C:\Users\TrevorSullivan> docker-machine.exe -v
docker-machine.exe version 0.8.0-rc1, build fffa6c9

Expected Result
The docker-machine active command should properly return the active Docker Host.
Cheers,
Trevor Sullivan
Microsoft MVP: Cloud & Data Center Management
https://trevorsullivan.net
https://twitter.com/pcgeek86

Which value returns docker-machine ls and docker-machine url "name-of-vm"?

@pcgeek86 can you please run it with docker-machine --debug? If your azure auth has expired, that might be the cause. If you could re-auth with docker-machine ip <name> or something like that, it may solve your problem.

Please re-open if followup occurs.  Thanks

I am also receiving this error when running docker-machine active
wbr$ docker-machine active
Error getting active host: timeout

If I run the command a few times, it will eventually return a successful response.
I have no trouble connecting-to or running containers on my dockerized machines.
All docker-machine commands take almost 10s to complete.
Macbook Pro 2015, OSX 10.11, Docker 1.13
amazonec2 driver, debian host, Docker 1.13
Had the same issues when using Docker 1.12

Happy to provide more info if that will help.
Thanks,
William

There is something non-deterministic going on regardless of cloud provider, if I do something like :
eval $(docker-machine env a) && docker-machine active
eval $(docker-machine env b) && docker-machine active
eval $(docker-machine env c) && docker-machine active
eval $(docker-machine env d) && docker-machine active
eval $(docker-machine env e) && docker-machine active
eval $(docker-machine env f) && docker-machine active

It almost always times out on one of the machines. Some kind of racing condition possibly. These machines are fully accessible EC2 instances, I'm starting a cluster using this approach and I have like 50% chance of the whole cluster starting because of that...


fix: prevent building component overlay with stale layout

In the implementation of on_event for a component's overlay (both pure and impure), after processing local messages which may mutate the state and in turn alter the output of Component::view, the cached element and overlay must be rebuilt. Currently, it is rebuilt with a layout tree which is potentially stale, because the shape of the layout tree is dependent upon the cached element which may have changed.
I've added a preliminary fix here, which is to rebuild the cached element only after processing any local messages, then attempt to rebuild the overlay at the beginning of on_event if it is absent.
I'll open this as a draft because it feels a bit odd to intentionally leave the cached overlay element as None after on_event. I haven't yet thought of another way to resolve this though.

That explanation makes sense, and the solution looks good!
I had to make one small change in order for it to fix the issue though:
Since the component overlay will always invalidate the layout when there are local messages produced in on_event, and invalidation of the layout now results in the overlay being rebuilt in UserInterface::update, the overlay no longer needs to be rebuilt after processing local messages in the component's on_event (which is what triggered the panic, since it was still using the same layout to produce the overlay from the newly rebuilt cached element).


Lighting artifacts

This is from the reference screenshots for validate_light_shadow.py

In the sponza example we see the same effect
Not sure what's causing this

Looks a bit like z-fighting. Maybe a camera helper gets in the way or something?

Closed by #477


Latest version 1.3 does not work

See here: https://github.com/riege/atlas-customer-portal/actions/runs/7045447148/job/19175185236
node:internal/modules/cjs/loader:1051
  throw err;
  ^

Error: Cannot find module 'uuid'
Require stack:
-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>- /home/runner/work/_actions/riege/action-version/v1.3/index.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
    at Module._load (node:internal/modules/cjs/loader:901:27)
    at Module.require (node:internal/modules/cjs/loader:1115:19)
    at require (node:internal/modules/helpers:130:18)
    at Object.<anonymous> (/home/runner/work/_actions/riege/action-version/v1.3/node_modules/@actions/core/lib/file-command.js:28:16)
    at Module._compile (node:internal/modules/cjs/loader:1241:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)
    at Module.load (node:internal/modules/cjs/loader:1091:32)
    at Module._load (node:internal/modules/cjs/loader:938:12)
    at Module.require (node:internal/modules/cjs/loader:1115:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
<EMAIL_ADDRESS><EMAIL_ADDRESS>    '/home/runner/work/_actions/riege/action-version/v1.3/index.js'
  ]
}

Also: tag v1 is not updated and still points to an older version.

I also update v1 to the latest release.


Add protections to limit the impact of rogue queries

When a rogue query does an expensive/resource intensive operations (full table scan on a very large table), it may consume more resources and affect the health of the servers (out of memory, high cpu etc). The effects are more pronounced when multiple bad queries land around the same time window.
We could add some protection at table level to limit the max segments (count / %) scanned per query.

cc @elonazoulay @weixiangsun

cc: @vvivekiyer , @siddharthteotia

cc: @jasperjiaguo  and @siddharthteotia
We have an on-going effort where we try to protect the cluster from such cases to improve resiliency. Please refer to issues #9055 and #8618

Support for query killing on brokers and servers has been completed as part of https://github.com/apache/pinot/issues/9055


Settings - Action Wait Time not correct

Setting the action wait time to 5 seconds will result in a wait time of about 2 seconds at the most.

It seems that it also happens with the generic and the notepad.

Should have been fixed.


Experiment: a more resilient lexer

Resolves #522

I think this approach isn't great: separating out soft and hard errors doesn't make things easier.
Instead, I think we should:

always advance
produce error tokens recognised by the backend
leave the actual string parsing, escaping etc. to the Parser (=> moving to a Token = { offset: Int, length: Int } representation or something similar)


🐛 Bug ➾ if I do taq compile-all and not taq compile myfile.jsligo it create infite storageList files

🚥 Status (Internal Taqueria Team Use Only)

[ ] 🔬 Investigated and Verified
[ ] ⚗ Solution Identified and Designed
[ ] 🧫 Dev Implementation of Fix
[ ] 🧪 Fix Tested and Validated
[ ] 🏆 PR Merged

🆘 What happened?
here my printscreen

See that every time I run the command it duplicates the file created for storage and parameter ?
🆘 Steps to Reproduce?
TAQ_LIGO_IMAGE=ligolang/ligo:next taq compile-all
I use this version containing a ligo bugfix : npm i<EMAIL_ADDRESS>--registry https://npm.ecadinfra.com/
🪵 Relevant log output
No response
🐘 How impactful is this bug?
None
⏱ Prevalance
No response
💻 Operating System
None
🕸 System Architecture
None
🌮 Taqueria Version
specific look above
🌿 Node.js Version
No response
☎ Contact Details
No response
Code of Conduct

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

This needs to be tested against the work in #1864

on v0.28.5, taq compile-all does not work at all

@zamrokk mind attaching one or more of your contracts here that I can use to test with? Thanks!

I tested against v0.28.5 and was able to reproduce. The problem is fixed in v0.28.6.


[BUG]: Unable to update the InnovationBacklogAppURL environment variable

Hi,
When importing the CenterofExcellenceInnovationBacklog_1_1_managed solution, I get the below screen.

So, I entered a random text for the InnovationBacklogAppURL.  The solution imports fine but when I try to update the environment variable as shown in the next screenshot, I get the following error.

Duplicate of #663
Hello. You have to go to the Default Solution to change env vars once you've used the "updated" pane.

Duplicate of #663
Hello. You have to go to the Default Solution to change env vars once you've used the "updated" pane.


Capture reactions in ticket log

The text attachment created when a ticket is closed doesn't include reactions.  This is a gotcha for something like a reaction poll that occurs within the lifecycle of the ticket.  After the ticket is closed, there's no record of how participants responded.
It would be useful if any message reacts could be captured in the log format.  Perhaps an additional JSON definition after the message text if any reacts are present.

While Discord does provide the counts of reaction emojis when fetching messages in bulk, the users which reacted need to be fetched separately (there is no 'bulk fetch reactions on messages' endpoint). This would make it rather spammy and likely unfeasible to provide the users who reacted in the logs. However, as far as I can see the count of reactions may be provided without too much hassle.
Not sure if not having the users who reacted is an issue for you, just wanted to inform you in case it is.

That's good to know.  Tickets are a clever use of the platform, but also a little opportunistic, so it's understandable if there are compromises.  Moving the ticket channel to an archive category is an option too if the text archive isn't good enough.  I think the counts would be nice to have even if unaccountably, but it's low priority.


TAJO-2104: Implement Identifier which supports quotation information.

+1 LGTM!
Thanks for quick update.

Thank you for the quick review. I'll commit it soon.


.get_parsers() doesn't work with nvim-treesitter's main branch.

The change in f2eb6071cf3d85d1d872a0cc6c69d502e7fc3a60
local parser_configs = require("nvim-treesitter.parsers").get_parser_configs()

Via a plugin auto-load breaks when using nvim-treesitter on the main (not master) branch, as .get_parser_configs() doesn't exist anymore.
That entire block should be guarded with a pcall or made optional.
Thanks.

Hi, thank you for the report! I was not aware that nvim-treesitter is undergoing a rewrite.
This should address this issue https://github.com/bezhermoso/tree-sitter-ghostty/pull/10

Thank you!


pip-compile generates unexpected requirement format (PEP 508 support)

https://www.python.org/dev/peps/pep-0508/
pip-compile removes the first part before the @.
Environment Versions

OS Type: Linux
Python version: python3.9
pip version: pip 21.1.2
pip-tools version: 6.1.0

Steps to replicate

Create a base.in file and include a requirement that uses the PEP508 format

django-taggit@https://github.com/jazzband/django-taggit/archive/74460fdc4a8b8bf2d36fb8a59691403cde7b4528.zip#sha1=594b7dd32bec37d8bf70a6ffa8866d30e93f3c42
django-debug-toolbar@https://github.com/jazzband/django-debug-toolbar/archive/6ec6bfe0ba5912d7fd0a2b98176a215847157696.zip

pip-compile -v --output-file base.txt base.in

Expected result base.txt
#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile --output-file=base.txt base.in
#
asgiref==3.3.4
    # via django
django-debug-toolbar@https://github.com/jazzband/django-debug-toolbar/archive/6ec6bfe0ba5912d7fd0a2b98176a215847157696.zip
    # via -r base.in
django-taggit@https://github.com/jazzband/django-taggit/archive/74460fdc4a8b8bf2d36fb8a59691403cde7b4528.zip#sha1=594b7dd32bec37d8bf70a6ffa8866d30e93f3c42
    # via -r base.in
django==3.2.4
    # via
    #   django-debug-toolbar
    #   django-taggit
pytz==2021.1
    # via django
sqlparse==0.4.1
    # via
    #   django
    #   django-debug-toolbar

Actual result base.txt
#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile --output-file=base.txt base.in
#
asgiref==3.3.4
    # via django
https://github.com/jazzband/django-debug-toolbar/archive/6ec6bfe0ba5912d7fd0a2b98176a215847157696.zip
    # via -r base.in
https://github.com/jazzband/django-taggit/archive/74460fdc4a8b8bf2d36fb8a59691403cde7b4528.zip#sha1=594b7dd32bec37d8bf70a6ffa8866d30e93f3c42
    # via -r base.in
django==3.2.4
    # via
    #   django-debug-toolbar
    #   django-taggit
pytz==2021.1
    # via django
sqlparse==0.4.1
    # via
    #   django
    #   django-debug-toolbar

Most likely this is going to be fixed in #1392.

Yup, this has been fixed by the mentioned PR, and will be in the next release!


Upgrade Django storage to 1.6.6

Upgrade Django storage to 1.6.6 in order to fix the issues with both S3Boto3Storage and GoogleCloudStorage

https://github.com/jschneier/django-storages/issues/303

👍


coq: 8.19.1 → 8.19.2

Description of changes
https://coq.inria.fr/doc/V8.19.2/refman/changes.html#changes-in-8-19-2
Tested there: https://github.com/coq-community/coq-nix-toolbox/pull/223
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

There is now an optional dependency on memprof-limits. Should we add this as a dependency for versions > 8.19.2? I've added memprof-limits here: https://github.com/NixOS/nixpkgs/pull/318800

Can you please elaborate on this new (optional) dependency? Should it be opt-in or opt-out for nixpkgs users?

I think for the time being lets ignore it. We will need to think a bit harder about how we want to depend on it in the future.

Result of nixpkgs-review pr 318799 run on x86_64-linux 1

43 packages failed to build:

compcert (coqPackages.compcert)
compcert.doc (coqPackages.compcert.doc)
compcert.lib (coqPackages.compcert.lib)
compcert.man (coqPackages.compcert.man)
coqPackages.CoLoR
coqPackages.HoTT
coqPackages.ITree
coqPackages.QuickChick
coqPackages.VST
coqPackages.coq-elpi
coqPackages.coquelicot
coqPackages.corn
coqPackages.deriving
coqPackages.extructures
coqPackages.flocq
coqPackages.fourcolor
coqPackages.gappalib
coqPackages.hierarchy-builder
coqPackages.interval
coqPackages.math-classes
coqPackages.mathcomp
coqPackages.mathcomp-algebra
coqPackages.mathcomp-algebra-tactics
coqPackages.mathcomp-analysis
coqPackages.mathcomp-character
coqPackages.mathcomp-classical
coqPackages.mathcomp-field
coqPackages.mathcomp-fingroup
coqPackages.mathcomp-infotheo
coqPackages.mathcomp-real-closed
coqPackages.mathcomp-solvable
coqPackages.mathcomp-word
coqPackages.mathcomp-zify
coqPackages.metacoq
coqPackages.metacoq-erasure
coqPackages.metacoq-pcuic
coqPackages.metacoq-safechecker
coqPackages.metacoq-template-coq
coqPackages.multinomials
coqPackages.paco
coqPackages.vcfloat
coqPackages.zorns-lemma
framac

29 packages built:

coq (coqPackages.coq ,coq_8_19)
coqPackages.Cheerios
coqPackages.InfSeqExt
coqPackages.LibHyps
coqPackages.StructTact
coqPackages.aac-tactics
coqPackages.bignums
coqPackages.ceres
coqPackages.coq-ext-lib
coqPackages.coq-lsp
coqPackages.coq-record-update
coqPackages.coqide
coqPackages.coqprime
coqPackages.dpdgraph
coqPackages.equations
coqPackages.iris
coqPackages.iris-named-props
coqPackages.itauto
coqPackages.mathcomp-bigenough
coqPackages.mathcomp-finmap
coqPackages.ssreflect (coqPackages.mathcomp-ssreflect)
coqPackages.paramcoq
coqPackages.parsec
coqPackages.reglang
coqPackages.serapi
coqPackages.simple-io
coqPackages.stdpp
coqPackages.vscoq-language-server
satallax

Result of nixpkgs-review pr 318799 run on x86_64-linux 1

72 packages built:

compcert (coqPackages.compcert)
compcert.doc (coqPackages.compcert.doc)
compcert.lib (coqPackages.compcert.lib)
compcert.man (coqPackages.compcert.man)
coq (coqPackages.coq ,coq_8_19)
coqPackages.Cheerios
coqPackages.CoLoR
coqPackages.HoTT
coqPackages.ITree
coqPackages.InfSeqExt
coqPackages.LibHyps
coqPackages.QuickChick
coqPackages.StructTact
coqPackages.VST
coqPackages.aac-tactics
coqPackages.bignums
coqPackages.ceres
coqPackages.coq-elpi
coqPackages.coq-ext-lib
coqPackages.coq-lsp
coqPackages.coq-record-update
coqPackages.coqide
coqPackages.coqprime
coqPackages.coquelicot
coqPackages.corn
coqPackages.deriving
coqPackages.dpdgraph
coqPackages.equations
coqPackages.extructures
coqPackages.flocq
coqPackages.fourcolor
coqPackages.gappalib
coqPackages.hierarchy-builder
coqPackages.interval
coqPackages.iris
coqPackages.iris-named-props
coqPackages.itauto
coqPackages.math-classes
coqPackages.mathcomp
coqPackages.mathcomp-algebra
coqPackages.mathcomp-algebra-tactics
coqPackages.mathcomp-analysis
coqPackages.mathcomp-bigenough
coqPackages.mathcomp-character
coqPackages.mathcomp-classical
coqPackages.mathcomp-field
coqPackages.mathcomp-fingroup
coqPackages.mathcomp-finmap
coqPackages.mathcomp-infotheo
coqPackages.mathcomp-real-closed
coqPackages.mathcomp-solvable
coqPackages.ssreflect (coqPackages.mathcomp-ssreflect)
coqPackages.mathcomp-word
coqPackages.mathcomp-zify
coqPackages.metacoq
coqPackages.metacoq-erasure
coqPackages.metacoq-pcuic
coqPackages.metacoq-safechecker
coqPackages.metacoq-template-coq
coqPackages.multinomials
coqPackages.paco
coqPackages.paramcoq
coqPackages.parsec
coqPackages.reglang
coqPackages.serapi
coqPackages.simple-io
coqPackages.stdpp
coqPackages.vcfloat
coqPackages.vscoq-language-server
coqPackages.zorns-lemma
framac
satallax


"Ignore Project Tempo" Actions Bug with Pooled MIDI Items and Gradual Tempo

The "Ignore Project Tempo" actions don't seem to work correctly with pooled MIDI during gradual tempo shifts.  If only one item is selected, the expected behavior is performed, but the unselected,pooled MIDI items are adversely affected.  If more than one is selected, all pooled MIDI items are adversely affected.
Win7 x64, Reaper 5.0pre32 x64, sws 2.7.1
Here is a licecap (here i was using 32-bit versions, but with the same behavior):
http://stash.reaper.fm/24134/ignore project tempo bug.gif

anybody able to reproduce?

Pooled MIDI items are not exactly the prime candidate for these actions. Why? Because versions that preserve timing change timing of items, so if ghost items are positioned at different places of project with different tempo they really won't be pooled anymore...
I'll probably disable these actions for pooled items in the future (unless they are all positioned exactly at the same time) but until then, simply don't use it on pooled items and pool after doing it...

That's really unfortunate as my MIDI items are always pooled, but thanks.  This bad MIDI behavior has been my #1 gripe with Reaper since day 1 and I thought your actions had solved it until I recently noticed this anomaly.
Alternatively do you think it would be possible to temporarily disable pooling for the selected items and then re-pool based on item name?  My item names are always unique to each group of "ghosts."
Thanks again, you've been doing some amazing work!


Transition to semver

Placeholder, for now.

Is there a plan to make this happen?

This should be happening now, is there anything in specific you are looking for ..?

This might be related, I need to revise the GitHub issue milestones so that issues are tracking on 2.1.1, etc., instead of on the server versions (9.0-4, etc.).

Version numbers should reflect the client version, not the server.

GitHub issue milestones have been updated to reflect semver for client version (i.e., 2.1.1 and 3.0.1). Release version numbers shall follow this.


alpha.cuelang.org: preprocessor not formatting yaml file?

See https://review.gerrithub.io/c/cue-lang/cuelang.org/+/1167621/comment/0132b43e_226438bc/.
It is odd/strange that the build did not fail because of the trailing whitespace identified during code review.
We need to ensure we are actually formatting these files, and if not fix it.
If we are, we need to understand why the trailing newline was not stripped, because that could be a CUE/yaml encoding bug.

This was fixed in https://review.gerrithub.io/c/cue-lang/cuelang.org/+/1173332

This is still an issue, per https://github.com/cue-lang/cuelang.org/blob/bcf703c3b2d4cfbbab3d0b5cb779534793d4c223/internal/cmd/preprocessor/cmd/txtar_node.go#L267-L270


Dashboard help

Dashboard Bug
The page for localhost:8080 brings up the discord bot Auth, but after doing so it redirects back to it.
To Reproduce
Steps to reproduce the behavior: I really don't know
Expected behavior
A clear and concise description of what you expected to happen.
I expected it to bring up the dashboard
Screenshots
If applicable, add screenshots to help explain your problem.

If possible

NodeJS version: 16.14.0
Bot version: Latest Version

Additional context
Add any other context about the problem here.

Could you please join our discord server and show me your config files. You may have your redirect url mixed up but I need more info.

Currently the error messages are not logged for dashboard auth errors

not logged for dashboard auth errors

update the server link, the current one is outdated


Error updating public suffix list in 8.2.1

After updating from 8.0.2 to 8.2.1, we're seeing this error when trying to update the public suffix list:
> pnpm exec parse-domain-update

Fetching public suffix list from https://publicsuffix.org/list/public_suffix_list.dat...
parse-domain update failed: AssertionError [ERR_ASSERTION]: Public suffix list is shorter than expected

We're having the same problem

I've released a quick fix for it: https://github.com/peerigon/parse-domain/pull/170


Why is the number of points in MID-360 800,000?

There are a total of 800,000 columns in the presented CSV file.
However, MID-360 is listed in the official specifications as having a resolution of 200,000 points/s.
Why do we need another pattern of 800,000 points?

Because the Mid360 lidar has a non-repetitive scanning pattern. So the 800k points in the csv file represents 4 seconds of the Mid360 scanning pattern.


Refresh assume role credentials

Ensures that builds longer than 1 hour which use assume role will not
get an invalid token error and fail

Thanks again for your contribution!

Hey @leobaran-aws do you know when this will get released into the update center?  We're waiting eagerly!

We'll be releasing version 0.24 with your change today. Thanks for your patience!


hi ~  I like this but can u tell me how to not hide the status bar in the main controller?

when the left bar show up ,the main view's status bar become invisible , how to make it appear??
thank you ! ur code is great

Hi, I need to show status bar in right and left view controllers. Please give me a suggestion to implement this.
Thanks!

just do    SlideMenuOptions.hideStatusBar = false before push your slideMenuController


[FRS] Design Odyssey: Introduction & Business Model Workshop

Session Name
Design Odyssey: Introduction & Business Model Workshop
Abstract
Learn all about Design Odyssey’s DRIVE social innovation programme! Session includes Business Model exercise, where students will learn how to leverage on the Business model canvas as a strategic and management tool to describe, design and pivot a business!
Student Organisation organising this Session
Design Odyssey
Session Intent (What to Expect)

Participants will learn about Design Odyssey’s Drive program, and the opportunities available to them to Discover, Define, Develop and Deliver their self-initiated Social Innovations from Ideation to Business Pitching.

Sharing by Past Participants and their startup success!

Students will get a chance to participate in a Business Model exercise, where they will learn how to leverage on the Business model canvas as a strategic and management tool to describe, design and pivot a business.

Session Details
Date: 30 September (Wednesday)
Time: 2pm to 5pm (please log in 10mins prior to the start of the session)
Venue: Zoom (details will be provided closer to the date of event)
Speakers/Workshop Facilitators
Ms. Sio Lim, Associate Program Director, Design Odyssey, SUTD-MIT International Design Centre (IDC)
Ms. Ashreya M Venkatesh, Design Engineer, Design Odyssey, SUTD-MIT International Design Centre (IDC)
Logistical Details
Club’s Email Address<EMAIL_ADDRESS>Participants’ Sign Up Form: https://forms.office.com/Pages/ResponsePage.aspx?id=drd2NJDpck-5UGJImDFiPUgJpuzDUOxPqL7bSCpRONZUQTNDQlNWME5UVTZNUjNXT1FDRko5UThZVS4u

Update - 10 September 2020
Status: Approved*
Remarks:

Nil


Avoid changing field names and some field values

We're politely asking the LLM to only change some fields
Please update the following sections of `json_resume`'s fields to better match the `job_description`: "work", "skills", "interests", "projects", "summary", "label"

And to not change others
        Do not change any field names
        Do not change any values for the following fields: "name", "email", "phone", "url", "location", "profiles", "education", "certificates", "publications", "languages"

This should be more of a hard limit.
One possible solution: only pass the change-available sections to the LLM
Keep in mind that the JSON is deeply nested

I've tested the issue on my personal resume, and get results with

changed personal info (and the warning is not working)
changed field names (warning IS working)
work experience has no summary or description


query window not update content when i click from one to other

SQL Server Management Studio						15.0.18206.0
Microsoft Analysis Services Client Tools						15.0.1567.0
Microsoft Data Access Components (MDAC)						10.0.18362.1
Microsoft MSXML						3.0 6.0
Microsoft Internet Explorer						9.11.18362.0
Microsoft .NET Framework						4.0.30319.42000
Operating System						10.0.18362

@dishmaev Thank you for the feedback.
Unfortunately we can only address documentation issues in this forum.
Please move this issue to the SQL Server feedback and the product team can respond.


All Certificates are Valid for 1 year when generated using the dgca-issuance-web

The QR Code must have a Certificate Valid from and Valid to date set appropriately.
Currently, all QR Codes are valid for exactly 1 Year, which is not correct.
For Vaccination, there should be some variables to consider:

Vaccination Date
Certificate Valid From = Vaccination Date + X Days (how many days it takes to become immune)
Certificate Expiry Date = Vaccination Date + Y Days (Period when the QR Code can be considered as valid)

For Test

Valid From =  Test Sample Taken Date/Time
Valid Until = Valid From + X Hours (in Cyprus this is 72 hours)
Positive vs Negative = If a person has Covid, we should NOT allow to generate the Certificate.
If for some reason the Certificate is generated for a Covid Positive result, the expiry date must be set to the current date/time, as to have it expired immediately.

For Recovery

Valid From = CertificateValidFrom field from the form
Valid Until  = CertificateValidTo field from the form.
Parameter for Valid Days should be defined for validation that will ensure that the ValidUntil does not exceed ValidFrom + Parameter Valid Days.

Hi psavva,
for Vaccination and Test the dates were set in backend.
So maybe it is possible to adjust your Cyprus issuance service regarding that?
Best regards, Gordon

Hi @ggrund-tsi,
The Vaccination and Test Dates are set in the FrontEnd.
Only 2 Requests are set to the backend.  First to get the DGCI (No Dates)
Second is to supply the Hash (No Dates either here)
All Dates are defined in the FrontEnd when using the DGCA-Issuance-Web.
Please see the code here:
https://github.com/eu-digital-green-certificates/dgca-issuance-web/blob/d709ee3a0b7e3c2282c23ddc5c3a2bbde0cdaa91/src/misc/edgcProcessor.tsx#L46
const expiredSeconds = 60 * 60 * 24 * 364;
const encodeCBOR = (certData: any, certMetaData: CertificateMetaData): Buffer => {

    const cborMap = new cbor.Map();
    const issuedAtSec = Date.now() / 1000 | 0;

    // expiration
    cborMap.set((4 as number), issuedAtSec + expiredSeconds);
    // issued at
    cborMap.set((6 as number), issuedAtSec);
    // issuer country code
    cborMap.set((1 as number), certMetaData.countryCode);
    const v1 = new cbor.Map();
    v1.set((1 as number), certData)
    cborMap.set((-260 as number), v1);

    return cbor.encode(cborMap);
}

@ggrund-tsi  Please also see related: https://github.com/eu-digital-green-certificates/dgca-issuance-service/issues/73

Hi @psavva,
you are right. This fact was not present for me.
regards

@daniel-eder  I think this issue is critical and needs some attention how to proceed with some urgency.
Any member state that produces for example a Covid Test Certificate, will result in having a certificate valid for 1 year, when they may need to have it only valid for 3 days.
I can of course fix this for Cyprus, but I think this requires attention, and the dates expected is not what is coded here.
Same applies for the Recovery for the WEb and the Issuance Service.  Please see the linked issue .
https://github.com/eu-digital-green-certificates/dgca-issuance-service/issues/73

@SchulzeStTSI can you comment on this?

@psavva please check out this branch before we merge it https://github.com/eu-digital-green-certificates/dgca-issuance-web/tree/fix/cert-expiration

This is definitely in the right direction.
I would not hard code the periods, as each country has the option to configure the validity period.
Tests are still valid for a full year.
This PR will fix the Recovery Cert with the limitation of the duration.

@psavva now issuance service provide 3 days expiration for test certificate

Hi @ggrund-tsi
The expiration for the Test and Vaccination is set on the web when issuing a cert using this interface.
The issuance service does not control the issued and expiration dates at all.
The expiration is now set using your function
const getExpiration = (certData: EUDGC, certMetaData: CertificateMetaData) => {    let result = certMetaData.expired;
if (certData && certData.r && certData.r[0]) {        result = new Date(certData.r[0].du).getTime() / 1000 | 0;    }
return result;}
However, it's only handling the expiration of the recovery.  It must handle for all 3 types of certs.
ie: r,t,v collections

@ggrund-tsi   @SchulzeStTSI Do you agree with my analysis here?
How shall we proceed?

Hi @psavva,
for me this issue is finished. I don't understand what you mean.
Maybe I miss something?
I try to show my point of view.
recovery case:
only in this case you have the possibility to have influence on expiration in frontend.
The values 'Certificate Valid From - To*' calculate the expiration (now until 'Valid To').
This calculated value is entered in cose header.
vaccination and test case:
for these cases in frontend is no datepicker to choose expiration date. (no need for fulfill JSON Schema)
But for cose header you need an expiration date. This expirations are set in issuance service: line 51 in https://github.com/eu-digital-green-certificates/dgca-issuance-service/blob/main/src/main/resources/application.yml.
You get this expiration value as response from '/dgca-issuance-service/dgci/issue'.
I'm open for any other proposals and will discuss those things with achitecture lead but for the moment I see no real issue.
best regards, Gordon

Hi @ggrund-tsi
I might have a misunderstand here, but I don't believe the endpoint 'dgca-issuance-service/dgci/issue' for Vaccination and Recovery are using the overload which accepts the data as per hcert-schema, but it's using the overloads as such:

return api.post('/dgca-issuance-service/dgci/issue', certInit)
where certInit only contains one value of
enum CertType {    Vaccination = 'Vaccination',    Recovery = 'Recovery',    Test = 'Test'}

Generate the QR code internal to the WEB implementation via
createCertificateQRData(edgcPayload, certMetaData,                (hash)
And last, call the signerCall function which only accepts there Id and hash in order to get the TAN.

const signerCall = (id: string, hash: string): Promise<SigResponse> => {    return api.put('/dgca-issuance-service/dgci/issue/' + id, { hash: hash })        .then(res => {            const sigResponse: SigResponse = res.data;            return sigResponse;        });}
At no point in the Web Issuance is the api which creates the QR Code from the Issuance Service.
Please let me know if I've missed something here.
Best Regards
Panayiotis Savva

At no point in the Web Issuance code is it calling the api which creates the QR Code from the DGCA-Issuance-Service.
Please let me know if I've missed something here.

Hi @psavva,
for dataprivacy reasons (in germany) almost the complete QR-Code will be created in frontend. --> No personal data leaves frontend until wallet or verifier scan.
Only hash signing will be made by issuance-service.
Because of the need of other/backend implementations issuance-service also provides the creating functionality.
I hope this will clarify the issue and maybe we will hear us later.
best regards, Gordon

Hi @ggrund-tsi
We are on the same page here :)
But now you can see the implementation in the WEB Frontend is missing the expiry date handing for Vaccination and Tests?
https://github.com/eu-digital-green-certificates/dgca-issuance-web/blob/b543bc472f9651cc28c3bba1452d3e088ebfcf4f/src/misc/edgcProcessor.tsx#L64
const getExpiration = (certData: EUDGC, certMetaData: CertificateMetaData) => {    let result = certMetaData.expired;
    if (certData && certData.r && certData.r[0]) {        result = new Date(certData.r[0].du).getTime() / 1000 | 0;    }
    return result;}<br class="Apple-interchange-newline">

The above function must handle for certData.v and certData.t

Hi @psavva ,
in first line of getExpiration method the default-expiration from issance service is set.
let result = certMetaData.expired;
certMetaData is the response from /dgca-issuance-service/dgci/issue - I mentioned.
getExpiration Method will override the issuance-service expiration only for recovery case.
regards.

The above function must handle for certData.v and certData.t

it's handled implicite in /dgca-issuance-service/dgci/issue - you mentioned

return api.post('/dgca-issuance-service/dgci/issue', certInit)
where certInit only contains one value of
enum CertType { Vaccination = 'Vaccination', Recovery = 'Recovery', Test = 'Test'}

Let's discuss in our call in 20  mins with @SchulzeStTSI

please see possible fix:
https://github.com/eu-digital-green-certificates/dgca-issuance-web/tree/fix/expiration-for-vac-and-tst

This branch https://github.com/eu-digital-green-certificates/dgca-issuance-web/tree/fix/expiration-for-vac-and-tst
will be merge to main?

Hi @lexin10,
we've needed to adjust issuance service before.
Now it is able to merge (#93).
regards, Gordon


fix: image size on resize

It had to be done on next tick as the component wasn't rendered before the hooks was attached I think, but now you reference the refs in the template, so it should be fine.


Fix to handle negative exptime as common function

Every way to handle negative expiretime is different.
I united as one.

Thanks! Unfortunately I just modified some of this same code in another branch that I just merged. You'll have to update before I can review. It might be better as a macro since it can be a hot spot, too.

@dormando
I fixed. Please review it

@dormando
I fixed it. And I added test case.

Looks like the tests are failing on travis. Did you run them locally?

@dormando
I made a mistake. It works well now.

merged into next, thanks!

Fwiw though, I would accept even more tests (make another PR): you added a test for the set code path, which was functionally equivalent here (good to test), you also changed touch and gat so those should have specific tests so you can see the before/after impact.

OK. I'll do it later

out in 1.6.1!


lodash: changed _.pad(), _.padLeft() and _.padRight() methods

https://lodash.com/docs#pad
https://lodash.com/docs#padLeft
https://lodash.com/docs#padRight
https://lodash.com/docs#_ (description of the chainable wrapper)

@chrootsu thanks mate!


remove Rusty theme

Removing this theme due to breaking changes in Hugo 0.57.0.

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

@cecyc
Thank you for the Pull Request however the removal of your theme is incomplete.
There is also this reference in lines 690-692 of the .gitmodules file of the repo that needs to be removed.
Let me know how you want to proceed. Either add a second commit in this Pull Request that addresses the above or if you prefer you can close this and we will remove the theme on our own.

@onedrawingperday updated the PR removing the reference to the theme from .gitsubmodules.


schemaPath in ajv.errors does not show complete path info

What version of Ajv are you using? Does the issue happen if you use the latest version?
8.6.0
Ajv options object

{}

JSON Schema

var schema = {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "definitions": {
        "Def2": {
            "additionalProperties": false,
            "properties": {
                "prop3": {
                    "type": "string"
                },
            },
            "required": [
                "prop3"
            ],
            "type": "object"
        },
        "Def1": {
            "additionalProperties": false,
            "properties": {
                "condition": {"$ref": "#/definitions/Def2"},
                "prop2": {
                    "enum": [
                        "good_enum"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "prop2"
            ],
            "type": "object"
        }
    },
    "properties": {
        "prop1": {
            "items": {
                "$ref": "#/definitions/Def1"
            },
            "type": "array"
        }
    },
    "required": [
        "prop1"
    ],
    "type": "object"
}

Sample data

var data = {
  "prop1": [
    {
      "prop2": "bad_enum",
    }
  ]
}

Your code

Full code: https://runkit.com/yilu1021/60d870c41eee9b001af6d9ff
var Ajv = require('ajv'); //version 8.6.0
ajv = new Ajv({});
var validate = ajv.compile(schema);
validate(data);
console.log(validate.errors);

AFTER validation, error messages
validate.errors:
[{
	"instancePath": "/prop1/0/prop2",
	"schemaPath": "#/properties/prop2/enum",
	"keyword": "enum",
	"params": {
		"allowedValues": ["good_enum"]
	},
	"message": "must be equal to one of the allowed values"
}]

What results did you expect?
schemaPath should list the full path like below, instead of what's shown above.
[{
	"instancePath": "/prop1/0/prop2",
	"schemaPath": "#/definitions/Def1/properties/prop2/enum",
	"keyword": "enum",
	"params": {
		"allowedValues": ["good_enum"]
	},
	"message": "must be equal to one of the allowed values"
}]

Note that if you comment out the schema section highlighted in red rectangle below, then schemaPath does print out the full path (full code: https://runkit.com/yilu1021/60d881b9065cb6001a57b04c):

That's a known limitation since quite some time ago - see issue #516.
There was a relatively small interest in improving it, and it's not a simple fix...


Add SoundflowerBed 2.0.0

Changes to a cask
Adding a new cask

[X] Checked there aren’t open pull requests for the same cask.
[X] Checked there aren’t closed issues where that cask was already refused.
[X] When naming the cask, followed the token reference.
[X] Commit message includes cask’s name.
[X] brew cask audit --download {{cask_file}} is error-free.
[X] brew cask style --fix {{cask_file}} left no offenses.
[X] brew cask install {{cask_file}} worked successfully.
[X] brew cask uninstall {{cask_file}} worked successfully.

Soundflower, after being abandoned and picked up by someone else, no longer includes Soundflowerbed, a menu bar app for quick configuration of Soundflower. It has similarly been picked up by someone else, now with a capital B.

Would you mind adding an appcast?
https://github.com/caskroom/homebrew-cask/blob/master/doc/cask_language_reference/stanzas/appcast.md

Presumably using the GitHub releases feed? I don’t think there’s a proper appcast.

Yep

Done.

Thank you for the contribution. It needed some fixes, so they were made in 4746f3968393f8a79677d7ba5a79d2ea2cfd6572. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.

No worries, cheers!


Incorrect Bdr/Face Transformations

The comments at lines
https://github.com/mfem/mfem/blob/40795c21c6a70a381395265f7069afc83af51f99/mesh/mesh.cpp#L464
and
https://github.com/mfem/mfem/blob/40795c21c6a70a381395265f7069afc83af51f99/mesh/mesh.cpp#L527
are not actually correct and, consequently, the calls to GetVectorValues produce incorrect results.  The trouble is that the Nodes grid function is evaluated in the element Transformation::ElementNo but we don't know which element this is.  We should set this to be the elem_id identified earlier in these methods but this will overwrite the current ElementNo.  Since the Mesh::Transformation data member is not documented we cannot be sure if we need to preserve its contents or not.
I know this is a very simple thing to fix but I want to be sure that we can treat Mesh::Transformation as a temporary variable.

@mlstowell, you are right -- this is a bug in Mesh::GetFaceTransformation that was copied to Mesh::GetBdrElementTransformation.
It is interesting that the original use case (DG methods on periodic meshes) actually works correctly since Mesh::GetFaceTransformation is called from Mesh::GetFaceElementTransformations where Mesh::Transformation::ElementNo already has the correct value.
To fix this, it is probably best to replace Mesh::Transformation with Mesh::FaceElemTr.Loc1.Transf which is already used by these methods as a temporary. We can just set its ElementNo entry to elem_id -- the rest of the structure is not needed/used for the case of scalar FEs which is what the FEs used by Nodes should be.
I wonder how this implementation of Mesh::GetBdrElementTransformation seemed to actually work fine when introduced in #811. Buggy code finds mysterious ways to work correctly. 😁

Sounds good.  Thanks, @v-dobrev !


Security Prompt Avoid

Explain your changes
Update KindeSDKAPI.auth.enablePrivateAuthSession(true) before calling Login or Register method to avoid Security Prompt.
Checklist

[ ] I have read the “Pull requests” section in the contributing guidelines.
[ ] I agree to the terms within the code of conduct.

🛟 If you need help, consider asking for advice over in the Kinde community.

Summary by CodeRabbit

New Features

Enhanced authentication process by enabling private authentication sessions during user registration and login.
Improved user privacy and security during sign-in and sign-up operations.

Bug Fixes

Ensured consistent behavior in authentication methods by maintaining control flow while integrating new security measures.

This PR is approved


Add file UWTSD

@ML3110 First stage of verification passed, official domain is uwtsd.ac.uk as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@ML3110  Pull request merged. Thank you.


feat: the tangent bundle of a product is isomorphic to the product of the tangent bundles

There is a construction sometimes called 🝱, which, given vector bundles E₁ over M₁ and E₂ over M₂, constructs a vector bundle over M₁ × M₂.  This construction could be build out of the vector-bundle construction tools we already have in the library: let p₁ : M₁ × M₂ → M₁ denote projection onto the first co-ordinate, let p₂ denote projection onto the second co-ordinate; then define E₁ 🝱 E₂ to be p₁ ^* E₁ ⊕ p₂ ^* E₁ (where I am using ^* to denote pullback).
Would it make sense to state your result for TangentBundle I M 🝱 TangentBundle I' M' rather than (TangentBundle I M) × (TangentBundle I' M')?  Then your Equiv is actually an Equiv between two vector bundles over the same base M × M'.
You could even express your isomorphism as a section of the Hom-bundle from  TangentBundle (I × I') (M × M') to TangentBundle I M 🝱 TangentBundle I' M'.

Yes, I thought about that. But to me it looks more a way to reformulate the statement in a nice setting, than to a way to streamline the proof: the difficulty is to show that a map into the tangent bundle of a product is smooth, and for that I don't see a silver bullet. In fact, the proof I use follows essentially the intuition you give -- it's just more nontrivial than I would have thought, but maybe that's the way it has to be.
For my application, I really need the isomorphism with the product (to show that invariant vector fields on Lie groups are smooth), so for now I think I'll keep it like that.

If you don't mind, let me follow up to understand better. I would think of the smoothness proof as breaking into three parts:

smoothness of the section of the Hom-vector bundle (vector bundle of fibrewise homomorphisms from TangentBundle (I × I') (M × M') to TangentBundle I M 🝱 TangentBundle I' M')
if E, F are vector bundles over M and φ is a smooth section of Hom(E, F) then the induced map from the total space of E to the total space of F is also smooth
if E, F are vector bundles (over different spaces), then the natural map from "total space of E 🝱 F" to the product of "total space of E" and "total space of F" is smooth.

Do you have a sense of which of these three steps is the awkward one?

Note that there are two directions of smoothness in my goal: smoothness of TangentBundle (I x I') (M x M') -> (TangentBundle I M) x (TangentBundle I' M'), and the reverse direction. Only the reverse direction is nontrivial. In your sketch, I think the messy part is the reverse direction of your third point, i.e., showing smoothness of the map from (TotalSpace E) x (TotalSpace F) -> TotalSpace (E 🝱 F) (because it does not break up nicely in the product of two maps). But maybe it's worth fighting the mess just once in this general situation than doing it specifically for tangent bundles -- and maybe this would separate the issues and end up with something nicer.

(Maybe the reverse direction of the first point is also a little bit messy, by the way :-)

Ah, I see!  I had indeed missed that the backward direction was the hard one!
To show smoothness of (TotalSpace E) x (TotalSpace F) → TotalSpace (E 🝱 F), we need the following two constructions (which in fact could be unified):

[Universal property of the pullback bundle] Given a vector bundle V over A and a smooth map p : B → A, and given maps f : X → total(V) and g : X → B with ∀ x, p_V(f(x)) = p(g(x)), to construct a smooth map : X → total(p ^* V)

[apply this with A := M, V := E, B := M x N, X := total(E) x N, p₁ : M x N → M the projection onto the first factor, to get a smooth map from total(E) x N to total(p₁ ^* E)]

[Universal property of the direct sum of two vector bundles] Given vector bundles V and W over A, and maps f : X → total(V) and g : X → total(W) with ∀ x, p_V(f(x)) = p_W(g(x)), to construct a map f ⊕ g : X → V ⊕ W.

[apply this with A := M x N, V := p₁ ^* E, W := p₂ ^* F, X := total(E) x total(F), so f : total(E) x total(F) → total(p₁ ^* E) and g : total(E) x total(F) → total(p₂ ^* F), which we want to glue to get f ⊕ g : total(E) x total(F) → total(p₁ ^* E) ⊕ total(p₂ ^* F).]

Nice! Your approach is definitely much more promising that what I'm doing -- both more satisfactory and more general, avoiding the specificities of the tangent bundle to highlight what is really going on in the general situation.


Add reserved parameters docs

See title.
https://github.com/api3dao/api3-docs/blob/master/airnode/reserved-parameters.md

Added in 48da6f2


Added new test cases

Test cases based off options found in /etc/sysconfig/docker-storage-setup are added. Note: Test 11 and 12 take a bit longer since I have them simulate saturating the pool with data, which of course can be large amounts of data.

@rhatdan  @rhvgoyal  @shishir-a412ed  Please ignore PR #140, it was too messy.

@stephen679 Merge patches together.  We need jenkins to work in order to approve these tests.

stephen, can you add a test for testing VG= as well.


Update release tag to vX.Y.Z

Change tag format as requested in https://github.com/googlei18n/libphonenumber/issues/1362
Tested:
Running mvn locally gives the existing jar naming format, so the Maven Central jars are not expected to change:
carrier-1.47-SNAPSHOT.jar
carrier-1.47-SNAPSHOT-javadoc.jar
carrier-1.47-SNAPSHOT-sources.jar
demo-7.7.4-SNAPSHOT.jar
demo-7.7.4-SNAPSHOT-javadoc.jar
demo-7.7.4-SNAPSHOT-sources.jar
geocoder-2.57-SNAPSHOT.jar
geocoder-2.57-SNAPSHOT-javadoc.jar
geocoder-2.57-SNAPSHOT-sources.jar
prefixmapper-2.57-SNAPSHOT.jar
prefixmapper-2.57-SNAPSHOT-javadoc.jar
prefixmapper-2.57-SNAPSHOT-sources.jar
libphonenumber-7.7.4-SNAPSHOT.jar
libphonenumber-7.7.4-SNAPSHOT-javadoc.jar
libphonenumber-7.7.4-SNAPSHOT-sources.jar

This change is

Ah just realized I need to add pending_code_changes still...

Added


[ansible/postgres] Refactor Postgres role

PR Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Title of the PR starts with installer/product name (e.g. [ansible/artifactory])
[ ] CHANGELOG.md updated
[x] Variables and other changes are documented in the README.md

What this PR does / why we need it:
Makes database role modular and compatible with RHEL9. Configuration of PostgreSQL official repositories is now optional, default to false, use postgresql_use_official_repos: true to create postgresql repository
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
N/A
Special notes for your reviewer:
N/A

I have read the CLA Document and I hereby sign the CLA

Review in Progress


--master-host only accepts ipv4 formatted strings

Description of issue / feature request
When setting up a distributed setup via docker-compose, I'd like to set the master-host to the locust_master service name. However, it seems that non-ipv4 formatted strings cause an error and crashes the slave. This is an example of what I would like to do (but causes the slave to crash with a ZMQError):
services:
version: '3'
services:
  locust_master:
    build: .
    ports:
      - "8081:8081"
    volumes:
      - '.:/src'
    command:
      'locust'

  locust_workers:
    build: .
    command:
      'locust  --slave --master-host=locust_master'
    depends_on:
      - locust_master

Expected behavior
It connects to the host via it's alias'ed hostname.
Actual behavior
It crashes with a ZMQError
Environment settings (for bug reports)

OS: Red Hat Enterprise Linux 7
Python version: 2.7
Locust version: Stable

Steps to reproduce (for bug reports)
Create a dockerfile with locust and then try to bring up a master / slave where --master-host is set to locust_master

In case anyone else is also having this issue, the current work-around is to create a custom network and fix the locust_master ip address and set the slave's to use that fixed ipv4 address. Here is an example:
version: '2.1'
services:
  locust_master:
    build: .
    command:
      'locust'
    networks:
      locust_net:
        ipv4_address: <IP_ADDRESS>

  locust_workers:
    build: .
    command:
      'locust --slave --master-host=<IP_ADDRESS>'
    depends_on:
      - locust_master
    networks:
      - locust_net

networks:
  locust_net:
    driver: bridge
    ipam:
      driver: default
      config:
      -
        subnet: <IP_ADDRESS>/24

it crashes with a ZMQError

please post the stacktrace with error

Sorry for the delay. Here's the dump:
[2018-07-16 14:28:48,270] 68bb9eb87895/ERROR/stderr: Traceback (most recent call last):
[2018-07-16 14:28:48,271] 68bb9eb87895/ERROR/stderr: File "/opt/bb/bin/locust", line 11, in <module>
[2018-07-16 14:28:48,271] 68bb9eb87895/ERROR/stderr:
[2018-07-16 14:28:48,272] 68bb9eb87895/ERROR/stderr: load_entry_point('locust==0.8', 'console_scripts', 'locust')()
[2018-07-16 14:28:48,272] 68bb9eb87895/ERROR/stderr: File "/opt/bb/lib/python2.7/site-packages/locust/main.py", line 473, in main
[2018-07-16 14:28:48,278] 68bb9eb87895/ERROR/stderr:
[2018-07-16 14:28:48,279] 68bb9eb87895/ERROR/stderr: runners.locust_runner = SlaveLocustRunner(locust_classes, options)
[2018-07-16 14:28:48,279] 68bb9eb87895/ERROR/stderr: File "/opt/bb/lib/python2.7/site-packages/locust/runners.py", line 357, in __init__
[2018-07-16 14:28:48,281] 68bb9eb87895/ERROR/stderr:
[2018-07-16 14:28:48,281] 68bb9eb87895/ERROR/stderr: self.client = rpc.Client(self.master_host, self.master_port)
[2018-07-16 14:28:48,282] 68bb9eb87895/ERROR/stderr: File "/opt/bb/lib/python2.7/site-packages/locust/rpc/zmqrpc.py", line 30, in __init__
[2018-07-16 14:28:48,283] 68bb9eb87895/ERROR/stderr:
[2018-07-16 14:28:48,284] 68bb9eb87895/ERROR/stderr: self.receiver.connect("tcp://%s:%i" % (host, port+1))
[2018-07-16 14:28:48,284] 68bb9eb87895/ERROR/stderr: File "zmq/backend/cython/socket.pyx", line 580, in zmq.backend.cython.socket.Socket.connect
[2018-07-16 14:28:48,285] 68bb9eb87895/ERROR/stderr: File "zmq/backend/cython/checkrc.pxd", line 25, in zmq.backend.cython.checkrc._check_rc
[2018-07-16 14:28:48,285] 68bb9eb87895/ERROR/stderr: zmq.error
[2018-07-16 14:28:48,285] 68bb9eb87895/ERROR/stderr: .
[2018-07-16 14:28:48,286] 68bb9eb87895/ERROR/stderr: ZMQError
[2018-07-16 14:28:48,286] 68bb9eb87895/ERROR/stderr: :
[2018-07-16 14:28:48,286] 68bb9eb87895/ERROR/stderr: Invalid argument
[2018-07-16 14:28:48,286] 68bb9eb87895/ERROR/stderr:

@cgoldberg @aldenpeterson-wf Is there no other way than hardcoding an ipaddress to get this working ?
When we deploy this in kubernetes, hardcoding ipadress will be a pain.

I think this was a zeromq bug.. try upgrading that.

Closing this, if it was not a zeromq bug please reopen with a more descriptive title.


[consensus] remove timeout from twins test

Motivation
This commit removes the timeout from the test and ensure it works with coverage build.
Have you read the Contributing Guidelines on pull requests?
Y
Test Plan
cargo x test -p consensus --html-cov-dir coverage -- twins --nocapture
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/libra/developers.libra.org, and link to your PR here.)

/land


Invalid session

          This should be fixed with version [1.3.1](https://github.com/bgmulinari/B1SLayer/releases/tag/1.3.1). Sorry for the delay on this release.

Thanks for your report, @it-AhmedTaha.
Originally posted by @bgmulinari in https://github.com/bgmulinari/B1SLayer/issues/31#issuecomment-1653879012
Hi, thank you for the new update. I have performed some tests with the new update, but the issue still persists. I believe there might be a problem in the logic of the ExecuteLoginAsync method, specifically in determining whether a new login should happen or not.
Here's the part of the code that I think might be incorrect:
if (DateTime.Now.Subtract(this._lastRequest).TotalMinutes < (double)(this._loginResponse.SessionTimeout - 1))
The issue seems to be that the _lastRequest variable is always updated with each new request, so the result of DateTime.Now.Subtract(this._lastRequest).TotalMinutes will never be greater than _loginResponse.SessionTimeout.
As a potential solution, I suggest utilizing the LastLogin time instead to calculate the time difference accurately. Here's a possible modification:
var timeDifference = DateTime.Now - _loginResponse.LastLogin;
if (timeDifference.TotalMinutes < 29)
    return expectReturn ? LoginResponse : null;

Hi, @it-AhmedTaha. Thanks again for your report on this.
The way Service Layer's session works is based on a timeout of 30 minutes (by default). That means, your session will not expire unless you go for 30+ minutes without making any request with the active session. That's why I update _lastRequest each request, to check if the time between the last request and now is greater than the session timeout value.
I'm curious to know your scenario where you observe this invalid session error. Are you able to write a code snippet to simulate the issue?

@it-AhmedTaha, I did some more testing and I think I was able to reproduce the issue.
I pushed a fix to the dev branch. Can you check if it works for you? Thanks.

The way Service Layer's session works is based on a timeout of 30 minutes (by default). That means, your session will not expire unless you go for 30+ minutes without making any request with the active session.

I have done many tests with services layer session, and session timeout is 30 minutes even if you do a request at minute 29. After 30 minutes you have to do another a new login request to get a new session.

That's why I update _lastRequest each request, to check if the time between the last request and now is greater than the session timeout value.

The time between _lastRequest  and now will never be grater than the _loginResponse.SessionTimeout because each time there is a new request you are setting the value of  _lastRequest = DateTime.Now.

I'm curious to know your scenario where you observe this invalid session error. Are you able to write a code snippet to simulate the issue?

Sure, this is one of the requests I do with NumberOfAttempts = 1 :
await serviceLayer.Request("Invoices").PostAsync(invoices);

Do a request and then wait for about 32 minutes, and then try again you will get "Invalid session"

@it-AhmedTaha, I did some more testing and I think I was able to reproduce the issue.
I pushed a fix to the dev branch. Can you check if it works for you? Thanks.

I did some tests with it and so far I haven't got any "invalid session". However I think checking against the last login time is better than checking for Unauthorized status. It is faster to check against last login time than wait for Unauthorized response.

@it-AhmedTaha, I also did some extensive testing with the session management in Service Layer and from my experience it works exactly as I described. You can use the same session indefinitely and it will not expire, provided you don't go for 30+ minutes without making any request with the active session. If that happens, a new login should be performed to get a new valid session.
That means, if I used the login time (like you suggested) to check whether a session is valid, I would end up creating a new session without the need for one in most cases.
Here's a quick test I did, check out the login time and the session ID:

Here's a random GET request, almost 45 minutes later, still using the same session ID:

I understand why you might not want to rely solely on the login time for session management. Let's examine your logic using two different scenarios.
1.Scenario:
1.Case:
- A new request is made at 8:00 am, creating a new login session.
- Another request is made at 8:05 am.
- Let's calculate the time elapsed since the last request:
    - lastRequest is set to DateTime.Now, which is 8:05.
    - Check if the time elapsed (DateTime.Now.Subtract(this._lastRequest).TotalMinutes=> (8:05 am - 8:05 am)) is less than the session timeout (30 - 1).
    - The calculation is (0.777), which is indeed less than 29 minutes.
As a result, the condition is true, and the session is considered valid.

2. Case:
- Another request is made at 8:28 am.
- Let's calculate the time elapsed since the last request:
    - lastRequest is set to DateTime.Now, which is 8:28 am.
    - Check if the time elapsed (DateTime.Now.Subtract(this._lastRequest).TotalMinutes=>(8:28 am - 8:28 am)) is less than the session timeout (30 - 1).
    - The calculation is (0.777), which is indeed less than 29 minutes.
As a result, the condition is true, and the session is considered valid.

So far, the logic appears to be correct. However, there is another scenario that would return invalid session:

Scenario:

- A new request is made at 10:00 am, creating a new login session.
- Another request is made at 10:45 am.
- Let's calculate the time elapsed since the last request:
     - lastRequest is set to DateTime.Now, which is 10:45 am before LoginInternalAsync.
     - Check if the time elapsed (DateTime.Now.Subtract(this._lastRequest).TotalMinutes=> (10:45 am - 10:45 am)) is less than the session timeout  (30 - 1).
     - The calculation is (0.777), which is indeed less than 29 minutes.

Unfortunately, the result is true, indicating that the session is still valid, leading to incorrect behavior.
In reality, the session created at 10:00 am has already expired, and a new login request should be performed.
I think the problem is that you are setting the  _lastRequest = DateTime.Now; before calling LoginInternalAsync();

If I am still missing something and not really understanding the logic correctly, than I think a good solution would be this fix.

@it-AhmedTaha, I did some more testing and I think I was able to reproduce the issue.
I pushed a fix to the dev branch. Can you check if it works for you? Thanks.

I understand why you might not want to rely solely on the login time for session management. Let's examine your logic using two different scenarios.
1.Scenario:
1.Case:
- A new request is made at 8:00 am, creating a new login session.
- Another request is made at 8:05 am.
- Let's calculate the time elapsed since the last request:
    - lastRequest is set to DateTime.Now, which is 8:05.
    - Check if the time elapsed (DateTime.Now.Subtract(this._lastRequest).TotalMinutes=> (8:05 am - 8:05 am)) is less than the session timeout (30 - 1).
    - The calculation is (0.777), which is indeed less than 29 minutes.
As a result, the condition is true, and the session is considered valid.

2. Case:
- Another request is made at 8:28 am.
- Let's calculate the time elapsed since the last request:
    - lastRequest is set to DateTime.Now, which is 8:28 am.
    - Check if the time elapsed (DateTime.Now.Subtract(this._lastRequest).TotalMinutes=>(8:28 am - 8:28 am)) is less than the session timeout (30 - 1).
    - The calculation is (0.777), which is indeed less than 29 minutes.
As a result, the condition is true, and the session is considered valid.

So far, the logic appears to be correct. However, there is another scenario that would return invalid session:

Scenario:

- A new request is made at 10:00 am, creating a new login session.
- Another request is made at 10:45 am.
- Let's calculate the time elapsed since the last request:
     - lastRequest is set to DateTime.Now, which is 10:45 am before LoginInternalAsync.
     - Check if the time elapsed (DateTime.Now.Subtract(this._lastRequest).TotalMinutes=> (10:45 am - 10:45 am)) is less than the session timeout  (30 - 1).
     - The calculation is (0.777), which is indeed less than 29 minutes.

Unfortunately, the result is true, indicating that the session is still valid, leading to incorrect behavior. In reality, the session created at 10:00 am has already expired, and a new login request should be performed.
I think the problem is that you are setting the _lastRequest = DateTime.Now; before calling LoginInternalAsync();

If I am still missing something and not really understanding the logic correctly, than I think a good solution would be this fix.

@it-AhmedTaha, I did some more testing and I think I was able to reproduce the issue.
I pushed a fix to the dev branch. Can you check if it works for you? Thanks.

I can confirm this is also still happening for me on long lived processes, eventually, we start getting perpetual invalid session error

Hi, @it-AhmedTaha. Thanks for your detailed scenarios on this.
After taking a closer look, setting the last request time before the login was indeed an oversight on my part that would cause the issue you detailed in your scenario 2.
I pushed another commit to the dev branch that should fix this. Are you able to test it, please? Thanks!

Hi, @it-AhmedTaha. Thanks for your detailed scenarios on this.
After taking a closer look, setting the last request time before the login was indeed an oversight on my part that would cause the issue you detailed in your scenario 2.
I pushed another commit to the dev branch that should fix this. Are you able to test it, please? Thanks!

Hello, I did some tests with the new changes, and I did not get any invalid sessions errors.

@it-AhmedTaha, @rcalv002
This fix is now available in version 1.3.2. Thanks for the reports and the help with testing!


Support global.imageRegistry

Describe the feature:
Many Helm charts allow the image registry to be configured globally, most through a value called global.imageRegistry:
https://github.com/bitnami/charts/blob/master/bitnami/postgresql/values.yaml#L7
https://github.com/bitnami/charts/blob/master/bitnami/kafka/values.yaml#L7
https://github.com/helm/charts/pull/8465/files
Describe a specific use case for the feature:
When deploying a Helm chart, especially one with a lot of dependencies, on EKS or AKS I'd like to configure my pods so that they get their images from an ECR or ACR instance close to my K8s cluster. This improves startup time of my pods (e.g. when scaling out) and reduces the dependency on remote resources (docker.io, quay,io, etc.).
This is also a common thing with Bitnami charts:
https://docs.bitnami.com/aws/get-started-charts-eks-marketplace/
For the chart that we publish, we've created a script to copy all images used by the chart to a configurable image registry:
https://github.com/StackVista/helm-charts/blob/master/stable/stackstate/installation/copy_images.sh
We use ElastichSearch and we have forked the chart to add this capability, but I'd rather integrate that functionality into the main branch:
https://github.com/StackVista/helm-charts/tree/master/stable/elasticsearch
https://github.com/StackVista/helm-charts/blob/master/stable/elasticsearch/templates/_helpers.tpl#L30
I can certainly make a PR (that is backwards compatible). Before I do, I'd like to get the feedback/input from the other users of this chart.
Regards, Vincent.

Hi @vpartington,
I'm not sure to get the point of this global.imageRegistry value.

Yes most charts now use the global.imageRegistry value to refer to the commonly used registry. This way you can set only one registry value used by all sub-charts (useful when scenarios where a public registry is not used). If you there is no "global" value, you have to set the registry for each sub-chart of an umbrella chart, and that could be very tedious, especially if you have many sub-charts.

OK that make sense for umbrella charts.
PR is welcome to implement global.imageRegistry in a backward compatible way.
Not that this should be added to all charts or none for consistency.


Incompatibility (of your library ?) with Cosmos portals mod/library

Hi there. Thank you for your mod. Unfortunately, there is an incompatibility with Cosmos portals and its library . Indeed, when I remove your library architectury-1.29.50.jar the client doesn't back to the version menu (it just says that the library architectury-1.29.50.jar is missing) so I guess there is a conflict in your file with Cosmos Portals mod/library.
Here is a fresh launcher log = https://pastebin.com/raw/ycx1mJeL and a screenshot of the bug = https://ibb.co/HFVDDzf .
Thank you for your time.

Sorry, I haven't use the correct version of the library ! All good, everything is working fine.


events?

From what I can tell, none of the data. events are available - such as onclick, onmouseover, etc. Is that correct?

Can you explain a bit more what you mean, or what you try to accomplish?

So here's a couple of commits I've hacked together which demonstrate something:
Add mouseover/mouseout: https://github.com/pehrlich/c3-angular-sample/commit/279b2a8a2d44a722cf577d4977af577c0e62d92f .  This is functional and follows established patterns, but I don't like the idea of having to explicitly mirror every API feature. Perhaps there's a better and more meta way of removing all this non-DRY stuff, while reducing maintainece reqs. https://github.com/pehrlich/c3-angular-sample/blob/master/c3js-directive.js#L24-L71
I found that direct access to the chart was pretty important, for experimenting with their raw api, and calling their methods such as tooltip.show. So not finding a better way, I exposed it in this method: https://github.com/pehrlich/c3-angular-sample/commit/aca1179fd04e8d97ea18cf262b9d7a9f344cf651

The events will be available soon, still thinking about exposing a way to add expose the configuration object. Making a separate issue for that.


[cherry-pick] [branch-2.1] [refactor] delete some unused test cases (#4314)

run starrocks_fe_unittest


Add the support of the ZINTER, ZINTERCARD commands

Search before asking

[X] I had searched in the issues and found no similar issues.

Motivation
This issue considers to support zinter, zintercard commands.
Solution

[ ] zinter
[ ] zintercard

Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

i want to do this

@IoCing Assigned, thanks

Has been done in https://github.com/apache/kvrocks/issues/1983, close.