Docs: Add quick reference for Blade icon usage

Abstract
Adds a line users can quickly copy to use the Blade icon component
<x-filament::icon icon="heroicon-o-check-circle" />

Description

[x] No code changes

Code style

[x] No code changes

Testing

[x] No code changes

Documentation

[x] Documentation is up-to-date.

It could be confusing why we use this internally, since normal Blade icon output works just fine. Hence why it is not documented. It only applies when you are using an icon alias.

It could be confusing why we use this internally, since normal Blade icon output works just fine. Hence why it is not documented. It only applies when you are using an icon alias.

Ah okay, understood!


How to load an .obj file as terrain in Isaac Gym

The paper successfully loads the generated environment into Isaac Gym as new terrain. How is this achieved?

You can call gym.add_triangle_mesh function to add mesh.
reference: https://github.com/isaac-sim/IsaacGymEnvs/blob/aeed298638a1f7b5421b38f5f3cc2d1079b6d9c3/isaacgymenvs/tasks/anymal_terrain.py#L208

@mktk1117 Hi! Thanks a lot for your response. The official Isaac Gym documentation states that the add_triangle_mesh function adds a ground heightfield to the simulation. I couldn't find a parameter for specifying an .obj file path.

@mktk1117 Oh, thank you very much. I understand what you mean now, and I successfully achieved it with your guidance! Thank you!

Hello, I was wondering if you are directly calling the radar in the gym and using the generated terrain as input?

@jingdaliang Hi, I did not use the radar. By the way, how do you add radar in gym?

I don't really understand this part, this is my next direction, we can communicate together

You can check this implementation.
https://github.com/isaac-sim/IsaacLab/blob/main/source/extensions/omni.isaac.lab/omni/isaac/lab/sensors/ray_caster/ray_caster.py

Is it based on Isaac Gym that can't add radar to quadruped robots?

@mktk1117 Oh, thank you very much. I understand what you mean now, and I successfully achieved it with your guidance! Thank you!

Hello, how did you achieve it?

@HY-warehouse  I would like to ask how to import it in Isaac Gym. Is it done in terrain.py? Thank you very much.


problem with reconnecting when existing database is present

Hi
I have attached  a zip file that demonstrates an issue that only appears with aedes-persistence-level (aedes-persistence and aedes-persistence-redis work just fine). Under certain conditions you will get on reconnection (duplication steps and more details are in the zip file:
client error test_client_sink_8247 no such packet Error: no such packet
at /data/users/bblumberg/Projects/aedes-broker/node_modules/aedes-persistence-level/persistence.js:225:10
at dispatchError (/data/users/bblumberg/Projects/aedes-broker/node_modules/levelup/lib/util.js:64:35)
at /data/users/bblumberg/Projects/aedes-broker/node_modules/levelup/lib/levelup.js:222:14
aedes-issue.zip
I realize you are working on other stuff now, and may be low priority. Since both persistence and persistence-redis work for me, this is more to help you find what may be a bug in the persistence-level implementation when and if this is becomes a priority.
aedes with aedes-persistence is blindingly fast and places a very modest burden on node. WOW!!!!
Thanks, bruce

The question is that why this does not happen on Redis :).
If you have time, can you investigate in how to reproduce it programmatically?

Sure, I will see what I can find.
I have a feeling it could be a timing issue of some sort, because I wrote a
simpler test case where you can see the error immediately with a clean
database and you get the trace below. As you will note, it clears up after
a few reconnects... I have also attached a copy of the client.
As always, thanks for your help and your great work!!!
bb
node aedes.js
server listening on port 1884
client connected: tester30826
client:  no id publishing: tester30826 on topic $SYS/SyXS7je4/new/clients
client error tester30826 no such packet Error: no such packet
at
/data/users/bblumberg/Projects/aedes-broker/node_modules/aedes-persistence-level/persistence.js:225:10
at dispatchError
(/data/users/bblumberg/Projects/aedes-broker/node_modules/levelup/lib/util.js:64:35)
at
/data/users/bblumberg/Projects/aedes-broker/node_modules/levelup/lib/levelup.js:222:14
client: tester30826 subcribing to: [
{
"topic": "workcell/#",
"qos": 1
}
]
client: tester30826 unsubscribing from: [
"workcell/#"
]
client disconnected: tester30826
client:  no id publishing: offline on topic workcell/tester30826/status
client connected: tester30826
client:  no id publishing: tester30826 on topic $SYS/SyXS7je4/new/clients
client error tester30826 no such packet Error: no such packet
at
/data/users/bblumberg/Projects/aedes-broker/node_modules/aedes-persistence-level/persistence.js:225:10
at dispatchError
(/data/users/bblumberg/Projects/aedes-broker/node_modules/levelup/lib/util.js:64:35)
at
/data/users/bblumberg/Projects/aedes-broker/node_modules/levelup/lib/levelup.js:222:14
client: tester30826 subcribing to: [
{
"topic": "workcell/#",
"qos": 1
}
]
client: tester30826 unsubscribing from: [
"workcell/#"
]
client disconnected: tester30826
client:  no id publishing: offline on topic workcell/tester30826/status
client connected: tester30826
client:  no id publishing: tester30826 on topic $SYS/SyXS7je4/new/clients
client: tester30826 publishing:
{"item":{"type":"int","value":0,"time":"2016-06-04T18:51:45.965Z"}} on
topic workcell/tester30826/variable/win
client: tester30826 subcribing to: [
{
"topic": "workcell/#",
"qos": 1
}
]
client: tester30826 publishing:
{"item":{"type":"int","value":1,"time":"2016-06-04T18:51:46.448Z"}} on
topic workcell/tester30826/variable/win
On Sat, Jun 4, 2016 at 3:23 AM, Matteo Collina<EMAIL_ADDRESS>wrote:

The question is that why this does not happen on Redis :).
If you have time, can you investigate in how to reproduce it
programmatically?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mcollina/aedes-persistence-level/issues/5#issuecomment-223741583,
or mute the thread
https://github.com/notifications/unsubscribe/AGz5aodS9GK8FPirwLOWNqOYTTbm7rh5ks5qISfsgaJpZM4IqsVk
.

--
*. *. .

Bruce Blumberg *|  Principal Software Engineer
*Rethink Robotics, Inc *
main:<PHONE_NUMBER>  | cell:<PHONE_NUMBER>

Sorry, I'm missing something. It seems the tester spawns a lot of clients and sends a lot of messages. Can you reproduce it only with a single client (please paste it here in case)?
Yes, it's probably due to some weird condition, but the current logic is sound.

Hi
Yes, I can reproduce it with a single client. Here is the code and I have
attached it and the code for the broker that I am using...
Thanks again,
bb
/**

Created by bblumberg on 6/4/16.
*/
'use strict'
var cluster = require('cluster');
var mqtt    = require('mqtt');
var id = 0;
var client = null;
var stopPublishing =false;

let i = 0;
id++;
var clientId = 'tester' + process.pid;
var lwt = {
topic: 'workcell/' + clientId + '/status',
payload: 'offline',
qos: 1,
retain: true
};
var connect_options = {
keepalive: 6000,
clean: true,
reconnectPeriod: 2000,
clientId: clientId,
will: lwt
};
var pub_options = {
qos: 1,
retain: true
};
let variableTopic = 'workcell/' + clientId + '/variable/';
console.log('connecting ' + connect_options.clientId);
client = mqtt.connect('mqtt://localhost:1884', connect_options);
client.on('close', function() {console.log('client disconnecting ' +
connect_options.clientId)});
client.on('connect', function(options) {
console.log(client.id + ' ' + JSON.stringify(options, null, ' '));
client.publish(lwt.topic, 'online', {qos: lwt.qos, retain: lwt.retain});
client.subscribe("workcell/#", {qos:1});
var randInterval = Math.max(Math.ceil(5000 * Math.random()),200);
setInterval(function() {
if(!stopPublishing) {
client.publish( variableTopic + 'win', JSON.stringify({ item: {
type: 'int',
value: i,
time: new Date
}}, null, ''), pub_options);
i++;
}
}, randInterval)
}
);
client.on('error', function(error) {
console.log('error occurred ' + JSON.stringify(error, null, ' '))
});
client.on('message', function (topic, message) {
// message is Buffer
//console.log('topic ' + topic);
if (topic.includes('variable')) {
var zz = JSON.parse(message.toString());
console.log(topic);
console.log(JSON.stringify(zz, null, ' '));
}
});
process.on('SIGINT', function() {
console.log('Got SIGINT');
client.publish(lwt.topic, 'offline', {qos:1, retain: true});
stopPublishing = true;
client.end();
setTimeout(function(){process.exit()},5000);
});
On Sat, Jun 4, 2016 at 3:28 PM, Matteo Collina<EMAIL_ADDRESS>wrote:

Sorry, I'm missing something. It seems the tester spawns a lot of clients
and sends a lot of messages. Can you reproduce it only with a single client
(please paste it here in case)?
Yes, it's probably due to some weird condition, but the current logic is
sound.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mcollina/aedes-persistence-level/issues/5#issuecomment-223773635,
or mute the thread
https://github.com/notifications/unsubscribe/AGz5ar_6E38MNyiWAofmyC4829UXpDWtks5qIdHzgaJpZM4IqsVk
.

--
*. *. .

Bruce Blumberg *|  Principal Software Engineer
*Rethink Robotics, Inc *
main:<PHONE_NUMBER>  | cell:<PHONE_NUMBER>

I've got an interesting hint. If you look at my client (mqtt-test2.js), the
error occurs as a result of the client.publish(lwt...) . I do not see the
error if I subscribe to the topic first. In other words, the error seems to
occur in a context where you are publishing to a retained topic for which
there are no subscribers.
Also to clarify the recent example is just one client who connects, is
disconnected (because of the error) and tries to reconnect until it
eventually reconnects.
Thanks,
bb
p.s. its also ok for you to say that you expect folks to use either memory
based persistence or redis based persistence, and that level based
persistence is not a long term solution.
On Sat, Jun 4, 2016 at 5:25 PM, Bruce Blumberg <
<EMAIL_ADDRESS>wrote:

Hi
Yes, I can reproduce it with a single client. Here is the code and I have
attached it and the code for the broker that I am using...
Thanks again,
bb
/**

Created by bblumberg on 6/4/16.
*/
'use strict'
var cluster = require('cluster');
var mqtt    = require('mqtt');
var id = 0;
var client = null;
var stopPublishing =false;

let i = 0;
id++;
var clientId = 'tester' + process.pid;
var lwt = {
topic: 'workcell/' + clientId + '/status',
payload: 'offline',
qos: 1,
retain: true
};
var connect_options = {
keepalive: 6000,
clean: true,
reconnectPeriod: 2000,
clientId: clientId,
will: lwt
};
var pub_options = {
qos: 1,
retain: true
};
let variableTopic = 'workcell/' + clientId + '/variable/';
console.log('connecting ' + connect_options.clientId);
client = mqtt.connect('mqtt://localhost:1884', connect_options);
client.on('close', function() {console.log('client disconnecting ' + connect_options.clientId)});
client.on('connect', function(options) {
console.log(client.id + ' ' + JSON.stringify(options, null, ' '));
client.publish(lwt.topic, 'online', {qos: lwt.qos, retain: lwt.retain});
client.subscribe("workcell/#", {qos:1});
var randInterval = Math.max(Math.ceil(5000 * Math.random()),200);
setInterval(function() {
if(!stopPublishing) {
client.publish( variableTopic + 'win', JSON.stringify({ item: {
type: 'int',
value: i,
time: new Date
}}, null, ''), pub_options);
i++;
}
}, randInterval)
}
);
client.on('error', function(error) {
console.log('error occurred ' + JSON.stringify(error, null, ' '))
});
client.on('message', function (topic, message) {
// message is Buffer
//console.log('topic ' + topic);
if (topic.includes('variable')) {
var zz = JSON.parse(message.toString());
console.log(topic);
console.log(JSON.stringify(zz, null, ' '));
}
});
process.on('SIGINT', function() {
console.log('Got SIGINT');
client.publish(lwt.topic, 'offline', {qos:1, retain: true});
stopPublishing = true;
client.end();
setTimeout(function(){process.exit()},5000);
});
On Sat, Jun 4, 2016 at 3:28 PM, Matteo Collina<EMAIL_ADDRESS>wrote:

Sorry, I'm missing something. It seems the tester spawns a lot of clients
and sends a lot of messages. Can you reproduce it only with a single client
(please paste it here in case)?
Yes, it's probably due to some weird condition, but the current logic is
sound.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mcollina/aedes-persistence-level/issues/5#issuecomment-223773635,
or mute the thread
https://github.com/notifications/unsubscribe/AGz5ar_6E38MNyiWAofmyC4829UXpDWtks5qIdHzgaJpZM4IqsVk
.

--
*. *. .

Bruce Blumberg *|  Principal Software Engineer
*Rethink Robotics, Inc *
main:<PHONE_NUMBER>  | cell:<PHONE_NUMBER>

--
*. *. .

Bruce Blumberg *|  Principal Software Engineer
*Rethink Robotics, Inc *
main:<PHONE_NUMBER>  | cell:<PHONE_NUMBER>

Hey Matteo
When you get around to looking at this stuff, I am afraid you will also
notice in my test case when a client connects, retained messages that they
subscribe to aren't sent to them. This is consistent across all 3 different
types of persistence. The test case does work with mosca and mosquitto.
I realize this is not your front burner project so I won't bug you further.
bb
On Sun, Jun 5, 2016 at 9:15 AM, Bruce Blumberg <
<EMAIL_ADDRESS>wrote:

I've got an interesting hint. If you look at my client (mqtt-test2.js),
the error occurs as a result of the client.publish(lwt...) . I do not see
the error if I subscribe to the topic first. In other words, the error
seems to occur in a context where you are publishing to a retained topic
for which there are no subscribers.
Also to clarify the recent example is just one client who connects, is
disconnected (because of the error) and tries to reconnect until it
eventually reconnects.
Thanks,
bb
p.s. its also ok for you to say that you expect folks to use either memory
based persistence or redis based persistence, and that level based
persistence is not a long term solution.
On Sat, Jun 4, 2016 at 5:25 PM, Bruce Blumberg <
<EMAIL_ADDRESS>wrote:

Hi
Yes, I can reproduce it with a single client. Here is the code and I have
attached it and the code for the broker that I am using...
Thanks again,
bb
/**

Created by bblumberg on 6/4/16.
*/
'use strict'
var cluster = require('cluster');
var mqtt    = require('mqtt');
var id = 0;
var client = null;
var stopPublishing =false;

let i = 0;
id++;
var clientId = 'tester' + process.pid;
var lwt = {
topic: 'workcell/' + clientId + '/status',
payload: 'offline',
qos: 1,
retain: true
};
var connect_options = {
keepalive: 6000,
clean: true,
reconnectPeriod: 2000,
clientId: clientId,
will: lwt
};
var pub_options = {
qos: 1,
retain: true
};
let variableTopic = 'workcell/' + clientId + '/variable/';
console.log('connecting ' + connect_options.clientId);
client = mqtt.connect('mqtt://localhost:1884', connect_options);
client.on('close', function() {console.log('client disconnecting ' + connect_options.clientId)});
client.on('connect', function(options) {
console.log(client.id + ' ' + JSON.stringify(options, null, ' '));
client.publish(lwt.topic, 'online', {qos: lwt.qos, retain: lwt.retain});
client.subscribe("workcell/#", {qos:1});
var randInterval = Math.max(Math.ceil(5000 * Math.random()),200);
setInterval(function() {
if(!stopPublishing) {
client.publish( variableTopic + 'win', JSON.stringify({ item: {
type: 'int',
value: i,
time: new Date
}}, null, ''), pub_options);
i++;
}
}, randInterval)
}
);
client.on('error', function(error) {
console.log('error occurred ' + JSON.stringify(error, null, ' '))
});
client.on('message', function (topic, message) {
// message is Buffer
//console.log('topic ' + topic);
if (topic.includes('variable')) {
var zz = JSON.parse(message.toString());
console.log(topic);
console.log(JSON.stringify(zz, null, ' '));
}
});
process.on('SIGINT', function() {
console.log('Got SIGINT');
client.publish(lwt.topic, 'offline', {qos:1, retain: true});
stopPublishing = true;
client.end();
setTimeout(function(){process.exit()},5000);
});
On Sat, Jun 4, 2016 at 3:28 PM, Matteo Collina<EMAIL_ADDRESS>wrote:

Sorry, I'm missing something. It seems the tester spawns a lot of
clients and sends a lot of messages. Can you reproduce it only with a
single client (please paste it here in case)?
Yes, it's probably due to some weird condition, but the current logic is
sound.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mcollina/aedes-persistence-level/issues/5#issuecomment-223773635,
or mute the thread
https://github.com/notifications/unsubscribe/AGz5ar_6E38MNyiWAofmyC4829UXpDWtks5qIdHzgaJpZM4IqsVk
.

--
*. *. .

Bruce Blumberg *|  Principal Software Engineer
*Rethink Robotics, Inc *
main:<PHONE_NUMBER>  | cell:<PHONE_NUMBER>

--
*. *. .

Bruce Blumberg *|  Principal Software Engineer
*Rethink Robotics, Inc *
main:<PHONE_NUMBER>  | cell:<PHONE_NUMBER>

--
*. *. .

Bruce Blumberg *|  Principal Software Engineer
*Rethink Robotics, Inc *
main:<PHONE_NUMBER>  | cell:<PHONE_NUMBER>

I still have trouble following your examples and trying to map it to actual errors and cases.
Can you open up an issue on the main repository (https://github.com/mcollina/aedes) if all three persistences suffer from the same issue with an example that replicates that. That example should not include loops, setInterval, setTimeout or other similar calls to ease reproducibility and the transformation into a regression unit test.
There is something odd about the other persistences and retained messages I presume :(.

Hi
I created a simple test case and posted to the main repository. I got rid
of the loops, setTimeout or setInterval as you suggested.
Yes, persistence isn't working as expected.
Thanks for your patience.
On Tue, Jun 7, 2016 at 1:03 PM, Matteo Collina<EMAIL_ADDRESS>wrote:

I still have trouble following your examples and trying to map it to
actual errors and cases.
Can you open up an issue on the main repository (
https://github.com/mcollina/aedes) if all three persistences suffer from
the same issue with an example that replicates that. That example should
not include loops, setInterval, setTimeout or other similar calls to ease
reproducibility and the transformation into a regression unit test.
There is something odd about the other persistences and retained messages
I presume :(.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mcollina/aedes-persistence-level/issues/5#issuecomment-224346689,
or mute the thread
https://github.com/notifications/unsubscribe/AGz5aqREcAbCDQIFNtcI2asxkmK3Ttftks5qJaR8gaJpZM4IqsVk
.

--
*. *. .

Bruce Blumberg *|  Principal Software Engineer
*Rethink Robotics, Inc *
main:<PHONE_NUMBER>  | cell:<PHONE_NUMBER>

This should be fixed in the latest Aedes release, feel free to reopen.


api error occurred after some times request

What is the issue?
i try to post request using the url http://localhost:11434/v1 and model  "llama3:8b-instruct-q8_0", it works successfully at the initially first time, but then failed with these information:
Error occurred: Error code: 400 - {'error': {'message': 'unexpected server status: 1', 'type': 'api_error', 'param': None, 'code': None}}
then i use model "wizardlm2:7b-q8_0", the same error occurred after  2418 requests.
28%|██▊ | 2418/8569 [4:53:46<12:27:18, 7.29s/it]
Error occurred: Error code: 400 - {'error': {'message': 'unexpected server status: 1', 'type': 'api_error', 'param': None, 'code': None}}
i have checked the logs, but i can't solve it.
[GIN] 2024/04/23 - 04:33:07 | 400 |     56.4274ms |       <IP_ADDRESS> | POST     "/v1/chat/completions"
time=2024-04-23T04:33:07.535+08:00 level=ERROR source=prompt.go:86 msg="failed to encode prompt" err="unexpected server status: 1"
OS
Windows
GPU
Nvidia
CPU
Intel
Ollama version
0.1.32

I'm using phi3, and just got the error
Apr 23 22:29:04 KhoPhi ollama[198220]: {"function":"update_slots","level":"INFO","line":1836,"msg":"kv cache rm [p0, end)","p0":35,"slot_id":0,"task_id":54,"tid":"1406203>
Apr 23 22:29:06 KhoPhi ollama[264]: [GIN] 2024/04/23 - 22:29:06 | 200 |  2.203791417s |       <IP_ADDRESS> | POST     "/api/chat"
Apr 23 22:29:06 KhoPhi ollama[198220]: {"function":"process_single_task","level":"INFO","line":1506,"msg":"slot data","n_idle_slots":0,"n_processing_slots":1,"task_id":94>
Apr 23 22:29:06 KhoPhi ollama[198220]: {"function":"log_server_request","level":"INFO","line":2734,"method":"POST","msg":"request","params":{},"path":"/completion","remot>
Apr 23 22:29:06 KhoPhi ollama[198220]: {"function":"log_server_request","level":"INFO","line":2734,"method":"GET","msg":"request","params":{},"path":"/health","remote_add>
Apr 23 22:29:06 KhoPhi ollama[198220]: {"function":"process_single_task","level":"INFO","line":1506,"msg":"slot data","n_idle_slots":0,"n_processing_slots":1,"task_id":97>
Apr 23 22:29:06 KhoPhi ollama[198220]: {"function":"update_slots","level":"INFO","line":1640,"msg":"slot released","n_cache_tokens":675,"n_ctx":2048,"n_past":674,"n_syste>
Apr 23 22:29:06 KhoPhi ollama[198220]: {"function":"log_server_request","level":"INFO","line":2734,"method":"GET","msg":"request","params":{},"path":"/health","remote_add>
Apr 23 22:29:06 KhoPhi ollama[264]: time=2024-04-23T22:29:06.446Z level=ERROR source=prompt.go:86 msg="failed to encode prompt" err="unexpected server status: 1"
Apr 23 22:29:06 KhoPhi ollama[264]: [GIN] 2024/04/23 - 22:29:06 | 400 |   92.310101ms |       <IP_ADDRESS> | POST     "/api/chat"

Specs
WSL2 Ubuntu 22.04 LTS
Nvidia 2060 rtx
i7
0.1.32 Ollama

I get the error with Phi3 on a Nvidia GPU but not an other one but the exact same parameters.

this has something to do with setting format="json"  in llm model.
ChatOllama(
base_url=base_url, model=grader_llm_name, format="json", temperature=0
)
this works fine if the format is not specified. i am getting this error when setting format='json', usually the first call is fine but an immediate sequential call causes this error.
#3154
#3860
ollama version: 0.1.32
os: ubuntu 18.04
Nvidia GPU

I'm also experiencing this error consistently when using format="json".
If a long enough delay is introduced after each call to the llm, before making the next call to Ollama, the problem doesn't show up.
So it appears that the format is introducing something that means that there is a significant time between when the server finishes it's response and everything is in a state ready to receive another request.
Ollama: 0.1.32
OS: Ubuntu 22.04.4 LTS
2 x Nvidia GPU
I implemented a retry mechanism and show a typical response below. It's not always the same, but it's consistently reproducible.
---ROUTE QUESTION---
What are the types of agent memory?
{'datasource': 'vectorstore'}
vectorstore
---ROUTE QUESTION TO RAG---
---RETRIEVE---
'Finished running: retrieve:'
---CHECK DOCUMENT RELEVANCE TO QUESTION---
---GRADE: DOCUMENT RELEVANT---
Attempt 1 failed with error: Ollama call failed with status code 400. Details: {"error":"unexpected server status: 1"}
Retrying...
---GRADE: DOCUMENT RELEVANT---
---GRADE: DOCUMENT RELEVANT---
Attempt 1 failed with error: Ollama call failed with status code 400. Details: {"error":"unexpected server status: 1"}
Retrying...
---GRADE: DOCUMENT RELEVANT---
---ASSESS GRADED DOCUMENTS---
---DECISION: GENERATE---
'Finished running: grade_documents:'
---GENERATE---
Attempt 1 failed with error: Ollama call failed with status code 400. Details: {"error":"unexpected server status: 1"}
Retrying...
---CHECK HALLUCINATIONS---
---DECISION: GENERATION IS GROUNDED IN DOCUMENTS---
---GRADE GENERATION vs QUESTION---
Attempt 1 failed with error: Ollama call failed with status code 400. Details: {"error":"unexpected server status: 1"}
Retrying...

Thank you @sooraj12 , @navrig  for sharing and suggesting.
I have tried using the OpenAI-style API and found that it was indeed an issue with the JSON format response. When I commented out the parameter response_format={"type": "json_object"}, the Ollama API started working properly.
client = OpenAI(
    base_url = 'http://localhost:11434/v1',
    api_key='ollama', # required, but unused
)
    completion = client.chat.completions.create(
        model = "llama3:8b-instruct-q8_0",
        #response_format={"type": "json_object"},
        messages=messages,
        temperature=0,
        top_p=1,
 )

I'm not quite clear on how Ollama handles JSON mode, but I noticed that when JSON mode is enabled, the processing and response time of the API becomes very long, about 10 times that of non-JSON mode. In non-JSON mode, my GPU utilization can reach 80% to 100%, whereas in JSON mode, the GPU utilization is only about 15%. (My GPU is RTX 4080 Laptop). I hope the Ollama development team can optimize this issue.

?


FALCON-2044 Persist Process stats in db

@pallavi-rao  @bvellanki @sowmyaramesh  Can any one of you please review this ? Its pending for quiet some time now.

@PraveenAdlakha Can you please rebase and run jenkins again(close and open the pull request)?

👍 Will commit shortly


bumping memory limit to 50Mi

the operator was using 31Mi on startup which on some clusters was causing a CrashLoop Backoff

Merging, but we are phasing away from this chart in favour of https://github.com/amazeeio/charts/tree/main/charts/dbaas-operator in the future.

Merging, but we are phasing away from this chart in favour of https://github.com/amazeeio/charts/tree/main/charts/dbaas-operator in the future.

oh just saw this. checked, and the other chart has no limit.

oh just saw this. checked, and the other chart has no limit.


pin pyproj to 2.4.0

Pull Request Checklist:

[ ] This PR addresses an already opened issue (for bug fixes / features)
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)
[ ] HISTORY.rst has been updated

After merging to master and before closing the branch:

[ ] bumpversion (minor / major / patch) has been called on master branch
[ ] Tags have been pushed

What kind of change does this PR introduce?

Does this PR introduce a breaking change?

Other information:

This PR fixes #xyz

Pull Request Test Coverage Report for Build 1196

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

Totals

Change from base Build 1195:
0.0%

Covered Lines:
7430

Relevant Lines:
8205

💛  - Coveralls


Looping back after 100th snippet

Add page to inform user that it has finished rating

Ana already posted issues relevant to this so this is unnecessary I apologize


ci(clang-tidy-differential): split it out of build-and-test-differential

Description
Splitting this out since it is not a required CI and we are short on runner compute.
Also added a new tag requirement, will add the tag to the repo as well.
Tests performed

Not applicable.
Effects on system behavior

Not applicable.
Interface changes

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

Also even if build-and-test-differential is successful, because clang-tidy-differential fails, it makes all red.

Once this is merged, it won't be like that anymore.


TypeError: The "code" argument must be of type number. Received an instance of Object

I am getting this error with npx contentlayer build
Generated 2 documents in .contentlayer
TypeError: The "code" argument must be of type number. Received an instance of Object
    at process.set [as exitCode] (node:internal/bootstrap/node:123:9)
    at Cli.runExit (/home/gabriel/Desktop/markdown-app/node_modules/clipanion/lib/advanced/Cli.js:232:26)
    at run (file:///home/gabriel/Desktop/markdown-app/node_modules/@contentlayer/cli/src/index.ts:39:3)
    at main (/home/gabriel/Desktop/markdown-app/node_modules/contentlayer/bin/cli.cjs:5:3) {
  code: 'ERR_INVALID_ARG_TYPE'
}

Anyone else?

Yeah, see https://github.com/contentlayerdev/contentlayer/issues/495. It's related to Cli#runExit and this:

This is related to Node Deprecation DEP0164 (process.exit(code), process.exitCode coercion to integer.

It seems the build command is yielding an object instead of an exit code number. I'm going to open a PR for this and I'll also add a workaround to the comments in #495.

Yeah, see #495. It's related to Cli#runExit and this:

This is related to Node Deprecation DEP0164 (process.exit(code), process.exitCode coercion to integer.

It seems the build command is yielding an object instead of an exit code number. I'm going to open a PR for this and I'll also add a workaround to the comments in #495.

Thank you for your quick reply. So its basically related to Node. Meanwhile, i am able to build normally on Node 20.9.0 but with the error shown above.

Hi, I also have the same error, but the compilation goes fine.

Hi, having same issue
The "code" argument must be of type number. Received an instance of Object

I Just executed using Sudo (Administrator permissions) and it just worked! :rocket:

oh no, not stale 😞

i have this issue too

Yeah, see #495. It's related to Cli#runExit and this:

This is related to Node Deprecation DEP0164 (process.exit(code), process.exitCode coercion to integer.

It seems the build command is yielding an object instead of an exit code number. I'm going to open a PR for this and I'll also add a workaround to the comments in #495.

Downgrade to node v18.20 worked for me! Issue is gone.. I'll be still tracking that to get the fix for Node v20!

Downgrade to node v18.20.4 worked for me! Issue is gone.. I'll be still tracking that to get the fix for Node v21!
version: "contentlayer": "^0.3.4",


Feature: enable selection of specific --target for docker job types; Kludgy workaround currently available.

Feature

enable the selection of a specific stage via the --target parameter on docker build. Ideally, this would also include the possibility to skip other stages, which in Docker is achieved by putting DOCKER_BUILDKIT=1 in front of the docker build command.

Workaround today (kludgy way)
I was able to use
"build_arguments": {
     "DUMMY_ARG=FOOBAR --target": "builder"
},

This will generate the following execution --build-arg DUMMY_ARG=FOOBAR --target=builder and it works, but in a hacky way.
Additional context
I want to enable an open-source vendor scanner that relies on the build stage in order to succeed. So my plan is to have a job that runs the build defined in a repository and use that generated image as the docker-image in which the scanner will run.

supported in https://github.com/SAP/InfraBox/pull/454


Set retentionSize to 90GB for prometheus instances

/kind enhancement
What this PR does / why we need it:
We were facing an issue that the PV of a prometheus was full.
This PR sets the retentionSize for our prometheus instances to 90GB in order to avoid this issue in the future. The PV has 100GB of size, so setting the parameter to 90GB leaves 10 GB for the WAL file.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
/cc @ialidzhikov

/approve


Every time I try to use the software, this error appears to me "ARIA2C IS MISSING FROM YOUR SYSTEM OF PATH"
I don't know where to install this thing called aria2c.

Expected Result
hope you can help me with the solution for this installation; my system is Windows 10
Branch
master/main
What operating systems are you seeing the problem on?
Windows
Relevant log output
No response
Other information
No response

this is not a bug. you just didnt install it correctly, as the instructions say, you must be able to run aria2c from the command prompt. this is something that can be solved with google.


Remove IntegrationTest::Behavior from SystemExampleGroup

To better mirror current Rails ActionDispatch::SystemTestCase. And resolve problems with inability to set ActiveJob queue type in systems example group, closing #2232
This one-line change has a lot of background to explain, that was a bit tricky to figure out...
Background
The Rspec SystemExampleGroup was based on the Rails ActionDispatch::SystemTestCase, which originally sub-classed Rails ActionDispatch::IntegrationTest.
However, in Rails6, it was noticed that System tests now refused to respect your ActiveJob::Base.queue_adapter settings, reported to Rails at https://github.com/rails/rails/issues/37270
It was noted in a comment there that this had already been fixed in Rails master https://github.com/rails/rails/pull/36283 , but needed to be backported to Rails 6-0-stable.
The relevant backport commit ended up at https://github.com/rails/rails/commit/ea77dbffdc81d6e40bbde155961ab57f1450d1e4, and that's the easiest place to read what the fix was -- basically changing ActionDispatch::TestCase to inherit from the basic ActiveSupport::TestCase instead of ActionDispatch::IntegrationTest, cause the IntegrationTest stuff was messing with things.
That resolved things in Rails (I think in  6.0.1 release, although not sure why that backport commit doesn't show up as being in v6.0.1).
But a very similar problem still existed in rspec-rails, reported at #2232, still present with Rails 6.0.1 or 6.0.2.
Finding the Rails history, I wondered if making the analogous change -- removing the Rails IntegrationTest::Behavior from the rspec-rails SystemExampleGroup -- would resolve the problem in rspec-rails.
It seemed to!
The url_options business
The original rails commit in addition to changing the superclass, also adds a url_options method to SystemTestCase, intended to make it so Rails urls generated from a system test will default to host: Capybara.app_host.
Apparently this was the only behavior from Rails ActionDispatch::IntegrationTest that was of use, so it was copied over manually.
This PR does not do that for rspec. It would be nice to have this behavior in rspec-rails system tests. I have run into confusion and problems from not having it before myself.
However, I was unable to succesfully implement this in rspec-rails -- the default host to Capybara.app_host behavior.  And I believe rspec-rails system tests did not have this behavior even prior to the change in this PR, it is not a regression to lose it, it was never there, even when including IntegrationTest::Behavior. It looks like default url options behavior is really hard for rspec-rails to handle consistently with rails minitest, this isn't the first time it's come up. I tried, but couldn't figure out how to get it this particular behavior, default host to Capybara.app_host to work in rspec-rails, before or after this PR.
The sadly missing tests.
It's not great that this one-liner change has no tests.
It seems maybe not a great sign that making this change did not cause any existing tests to fail. (Or maybe it means we're on the right path?).
But ideally I would have added a test that failed prior to this change, and was green after this change. But I was unable to write an automated test around setting ActiveJob::Base.queue_adapter to fail prior to this change.
So how do I know it works at all? Well, in my own real app, system tests involving manually changing ActiveJob::Base.queue_adapter were failing with Rails 6.0.2 and rspec-rails 4.0.0.beta3.  And they pass in 4.0.0.beta3 with this one change. (They also pass in Rails 5.2.4 and rspec-rails 4.0.0.beta3, both with and without this change).
I'm not sure why I couldn't reproduce in a test what I'm seeing in my own app. This stuff is tricky. But maybe since all existing tests still pass, it's good enough to merge without a new test, with just the evidence of "matching what Rails is doing" and my report?
Otherwise, I'm probably going to need some help, I'm not sure I'm going to be able to come up with a failing test, although I can spend a few more hours trying.

Thanks @jrochkind
For the missing test. Why not starting from your reproduction script that you provide in #2232?
Interesting thoughts for url_options. I am tempted to look at it again and try to get rid of this amount of bad vibes... https://github.com/rspec/rspec-rails/issues/1275#issuecomment-431315854

@benoittgt yep, that is where I started, I couldn't get it to fail in the context of rspec-rails spec suite. There may be something subtly different in the environmental conditions.
If you had time and interest to take a stab at it yourself and see if a different set of eyes/hands can arrive somewhere else, that'd be super helpful!
re: the url_options business: I can say as just one anecdotal example, the lack of rspec-rails system examples doing this consistently with rails system tests did specifically trip me up, cause tests to fail, lead to confusion figuring out how to resolve it. It would be great if it could be resolved; and you're right, the thumbs down on that other issue suggests similar things are tripping other people up. But I tried to look into it and it's very confusing what's going on in rails land and it's interaction with rspec-land. It would be nice to fix, but I don't believe a blocker for solving this other problem, since this PR does not make that part any worse (or better).
(Warning: I am about to go on vacation for two weeks).

Can you rebase this from master?

@JonRowe Done!
Also, to be clear, I think I can reproduce the problem in a freshly generated otherwise empty Rails app (although I might not have time to do so in 2020). It's not unique to my app in particular.
I just couldn't manage to reproduce it in the context of rspec-rails spec suite -- I'm thinking there might be something different in environmental context between an independent app, and rspec-rails's embedded specs. Which might (or might not) mean it could be more easily reproduced in the parts of the rspec/cucumber suite that actually generate an independent app, but I haven't managed to figure out how those work yet.

any thoughts on this from maintainers, @JonRowe or @benoittgt ?
This is currently the only/last thing blocking me from upgrading my Rails app to Rails 6. I would love to get it taken care of one way or another. Sadly, I don't think there's any way to "monkey patch" the change in, so I'm relying on it being made in an rspec-rails release (unless I fork, I suppose!).
Thoughts welcome!
As I said, I am able to produce a demo app reproducing the failure, but have not been able to transform that into a failing test, despite spending time trying. I could make a demo app that uses rspec-rails v4.0.0.beta3 and Rails 6 and has a test that fails; and another demo app that is identical in all ways except for being Rails 5.2.x, where the test passes. Two demo apps, or one demo app you can manually switch the rails version on, whatever you'd like, if you think it'd be helpful.

@jrochkind if you can create a reproduction app that fails but would be fixed by this that'd be great, as we can clone it and verify it, and see if we can help with a test, its just a change I'm hesitant to make without some additional verification (and I'm busy with some personal stuff post holidays so time poor!)

Reasonable! Will do. I will make an app running under Rails 6 and rspec-rails 4.0.0.beta3, with a test that fails (and should pass), and which does pass if you either change Rails version to 5.2, or change rspec-rails version to this branch.

Yes perfect.

I worked a little bit on a reproduction case yesterday (with a feature test). I am happy if you can provide a reproduction case @jrochkind.
I will post my findings here today.

Hello
Here is a feature test in system spec that is red without this line removal and green when removed.
--- a/features/system_specs/system_specs.feature
+++ b/features/system_specs/system_specs.feature
@@ -48,3 +48,36 @@ Feature: System spec
         When I run `rspec spec/system/widget_system_spec.rb`
         Then the exit status should be 0
         And the output should contain "1 example, 0 failures"
+
+    Scenario: the ActiveJob queue_adapter can be changed
+      Given a file named "spec/system/some_job_system_spec.rb" with:
+      """ruby
+      require "rails_helper"
+
+      class SomeJob < ActiveJob::Base
+        cattr_accessor :job_ran
+
+        def perform
+          @@job_ran = true
+        end
+      end
+
+      RSpec.describe "spec/system/some_job_system_spec.rb", :type => :system do
+        describe "#perform_later" do
+          before do
+            ActiveJob::Base.queue_adapter = :inline
+          end
+
+          it "perform later SomeJob" do
+            expect(ActiveJob::Base.queue_adapter).to be_an_instance_of(ActiveJob::QueueAdapters::InlineAdapter)
+
+            SomeJob.perform_later
+
+            expect(SomeJob.job_ran).to eq(true)
+          end
+        end
+      end
+      """
+      When I run `rspec spec/system/some_job_system_spec.rb`
+      Then the example should pass

This not super beautiful but it's will validate your behavior.

Oh awesome, thanks @benoittgt!  You think I should add that to this PR? And then it will be good to go?  (Sounds like no need for me to prepare an independent/separate reproduction app anymore).
(I wasn't able to get a failing test in the rspec suite, but hadn't tried in the cucumber feature suite, cucumber is still pretty unfamilar to me. It may be the different setup in the cucumber land was necessary to repro. So thanks!)

Let's see how https://github.com/rspec/rspec-rails/pull/2253 goes. 😊

Sweet, thanks @benoittgt !
So... is this mergeable now? Waiting on anything? (Warning, once it gets merged, I'll start asking if you can release a 4.0.0.beta4 with it...)

@benoittgt are you wanting me to copy over the test case you did to the branch in this PR? Where are we with next steps, what are you thinking?

Oh, I got confused what was going on. OK, so @benoittgt added a test case here -- thank you!!
Is this mergeable now? Or what are we waiting on? (Warning, once this is merged I'm gonna ask: So, how about releasing a 4.0.0.beta4 with this? Note also, except for this, rspec 4.0.0beta is working fine for my app I'm trying to get upgraded to rails 6, hooray).

@jrochkind Yep. Sorry for the weird move. We are waiting for a review from Jon or Phil and final merge from Jon.
For the release, Jon will be able to answer you.

No problem @jrochkind! Thanks for your work. Waiting for the CI now. 😊

Thank you @pirj @JonRowe @benoittgt !
Alas, it looks like this didn't make it into 4.0.0.beta4, released Jan 12. And thus my app still can't pass it's test suite on Rails 6. :(
Is there any chance of a 4.0.0.beta5? I would love to be able to actually move my app to rails6...

@jrochkind You can pull rspec-rails from Github until it's released.

@jrochkind You can pull rspec-rails from Github until it's released.

I tried that and ran into additional headaches I don't understand.  Just adding github master reference to my Gemfile for rspec-rails resulted in this error on bundle:
Could not find gem 'rspec-core (= 3.10.0.pre)', which is required by gem 'rspec (~> 3.0)', in any of the sources.

Apparently master requires rspec-core 3.10.0.pre, even though the beta releases do not, they are happy with rspec-core ~> 3.9, they don't require a pre-release rspec-core.
I could probably fix that by altering my gemfile to allow the pre-release rspec-core... but A) I don't really want to deploy my app with rspec-core pre-release when I don't have to, the rspec-rails beta's generally work fine with existing rspec-core, and B) actually there is no rspec-core 3.10.0.pre released to rubygems either, I'd have to pull rspec-core directly from github too, even worse.
If I was willing to do that and try.. now it complains about a conflict with rspec, maybe I need to now get rspec directly from github instead of a release too.
There seem to be all sorts of off and confusing changes to my Gemfile I'd have to make in order to get rspec-rails from github, and while I'm willing to use a pre-release or even unreleased github rspec-rails even in production, I'm very nervous about letting that virally infect a bunch of other dependencies. 🤷♂

As a simple temporary solution, I suggest you point to your fork and get rid of this conditional statement @jrochkind . Sorry for the inconvenience.

Does anyone know exactly what version of rspec-rails this PR landed in?
Normally I'd find out by looking at the commit in github, where it would list what tags included this commit (including version tags)... but in this case github says:
"This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository."
Maybe a rebase was involved somewhere?. I think this fix DID make it into rspec-rails.... in helping other people troubleshoot problems, it can be useful to know what version has this fix...
OK, talking to myself, I guess I can try to figure it out from the other end with git history on the file in master...
OK, I guess the commit in this PR at some point got rewritten into this one: https://github.com/rspec/rspec-rails/commit/3e4c770f529237dbaa5877ff80aa0d0b4594b0d1#diff-f110372e2a07ea57ee0b3187e312a9d84100e6f2603999488256eafcfca46ebb
Which apears in v4.1.0 all the way up to v5.0.2, so okay, that's that!

I believe this was a squash merge, or a rebase and merge, you can see the merge commit contains all your changes but is not the same commit as in the branch.


About time embedding implementation

https://github.com/lucidrains/denoising-diffusion-pytorch/blob/beb2f2d8dd9b4f2bd5be4719f37082fe061ee450/denoising_diffusion_pytorch/denoising_diffusion_pytorch.py#L183
Hi, thanks for your great works.
While I'm looking into your codes, I found that the dimensionality of time embedding gets twice and then chunked by half during the training process. I have no idea about this implementation. Is it just a mistake or intended?

@three0-s Hi Yewon
It is intended! It is adopted from the latest and greatest text to image models. They use a FiLM like conditioning with both a scale and shift (instead of just shift as in the original ddpm paper)

you can just think of it as stronger type of conditioning

@lucidrains thank you Phil 😁
I will take a look into that reference.


Logins

Issues #9 #10 #11
To work it have to be configured "Social applications" in http://<IP_ADDRESS>:8000/admin/socialaccount/socialapp/ by adding 2 items: "Google Login" and "Facebook Login"
You can copy the values from https://alpha.semillasocial.org/admin/socialaccount/socialapp/ or ask for it in the chat.

Great, pushing only this won't break the login view (due to the miss of Facebook keys)


S6: updated to 2.X version

Since this is an S6 major version, we should rev to a major on the base BBCs right? Just checking @bryanlatten

@adobejmong in all reality, we should plan to wait for a few patch versions on this new major

@adobejmong : I ran through a number of test cases and a few of our base images and at the very least, it does not look like there were any issues. Also tested with env vars with values >4K each and that all seemed to be fine.
So personally, I think this is OK to merge from my standpoint.

@adobejmong do we need to remove the workaround at this point?

@bryanlatten : I would recommend that we keep the workaround as part of this change to minimize this PR and remove the file as part of a different PR. For folks who still use the script, they might expect those files e.g. if they are sourcing it. Maybe we start adding a deprecated message in a future release and then eventually remove it

Has this got merged into develop and published on the docker hub? Seems that latest still has 1.2x version according to the code.

@githubsaritasa they are building out now on docker hub


Support combination alerts

[General question] Do we want to update any of the started projects/ create a new starter project using the handleAlerts callback? That could help bot devs understand potential use cases


Improve Documentation for ResizeImage Dimensions and Usage

This pull request enhances the documentation for the ResizeImage widget to provide clearer guidance on the use of the width and height parameters.
Fixes #136508
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] I followed the breaking change policy and added Data Driven Fixes where supported.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Thank you all for your support! It was nice to learn a bit more about all those details.

@RamonFarizel @nate-thegrate Hey, Can someone confirm whether the width parameter in ResizeImage refers to logical pixels instead of physical pixels? The original issue seems to describe it differently. Any clarification would be appreciated!

Thank you @hwh97, this is a really good question.
If you set width: 200, the image will be 200 physical pixels wide and will also size itself to a width of 200 logical pixels if unconstrained.
This means that if the image is constrained, the width parameter will only change the width with regards to physical pixels.
I apologize for the confusion—originally my feedback on this PR was focused on syntax/grammar/style guidelines and I neglected to double-check that it matched the behavior. I'll go ahead and re-open #136508.


[Q] use ClickOnce deployment version instead of the AssemblyInfo

I would like to have a ability to use the ClickOnce deployment version, as that is automatically updated and that what the end user will see.
Thank you for a great application.

It does use ApplicationDeployment.CurrentDeployment.CurrentVersion when ApplicationDeployment.IsNetworkDeployed is true as you can see here.

you are absolutely right.
i was running it locally and not getting that info.
Thank you again for this code. Made my life easier :)

You are welcome.


RequestError(400, u'search_phase_execution_exception', u'No mapping found for [alert_time] in order to sort on')

Hi~
I have a trouble,can you help me?
ENV:    elk-->5.6.16
elastalert-->0.1.39
when I have tested,it was successfully.But when I have started,it was error.
elastalert-test-rule example_rules/filebeat.yaml

python -m elastalert.elastalert --verbose --rule example_rules/filebeat.yaml

Did you find any solution?


Improvements - Autoscaling

New methods:
EC2:delete_launch_template
Miscellaneous:
Autoscaling:put_scaling_policy() now supports the parameters MetricAggregationType, MinAdjustmentMagnitude, EstimatedInstanceWarmup, PredictiveScalingConfiguration
Autoscaling:create_auto_scaling_group now supports launch template versions '$Latest' and '$Default'
Internal changes: The LaunchTemplateBackend from EC2 has been moved to a new file, to reduce the filesize of ec2/models.py
Closes #4447
(Creating this as draft as I still need to change the internal name create_autoscaling_policy to put_scaling_policy, to ensure that it's picked up by our implementation coverage script. Everything else should be ready to go.

Codecov Report

Merging #4985 (b1cf228) into master (5e0941e) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #4985      +/-   ##
==========================================
+ Coverage   95.64%   95.66%   +0.01%
==========================================
  Files         622      632      +10
  Lines       65430    65721     +291
==========================================
+ Hits        62583    62873     +290
- Misses       2847     2848       +1

Flag
Coverage Δ

servertests
36.07% <39.04%> (-0.04%)
:arrow_down:

unittests
95.60% <100.00%> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/__init__.py
97.14% <ø> (+0.04%)
:arrow_up:

moto/autoscaling/responses.py
99.29% <ø> (ø)

moto/autoscaling/models.py
96.67% <100.00%> (+0.02%)
:arrow_up:

moto/ec2/_models/launch_templates.py
100.00% <100.00%> (ø)

moto/ec2/models.py
94.50% <100.00%> (-0.10%)
:arrow_down:

moto/ec2/responses/launch_templates.py
99.36% <100.00%> (+0.03%)
:arrow_up:

moto/ec2/utils.py
93.73% <100.00%> (+0.06%)
:arrow_up:

moto/iam/access_control.py
96.62% <0.00%> (-0.43%)
:arrow_down:

moto/quicksight/__init__.py
100.00% <0.00%> (ø)

moto/rekognition/models.py
100.00% <0.00%> (ø)

... and 11 more

Continue to review full report at Codecov.

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


editor.autoClosingBrackets does not affect python f"", r"", b"" strings autocompletion

Version 1.19.1
Commit 0759f77bb8d86658bc935a10a64f6182c5a1eeba
Date 2017-12-19T09:41:01.414Z
Shell 1.7.9
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64

When editor.autoClosingBrackets set to false only simple " and ' stop autocompletes, but f", b", r" and combinations are still autocompletes. Maybe #35636 is the reason, I'm not familiar with codebase.

There is also a problem when you end your f string with }.
For example, try to type
print(f'my var is {var}')

It will not only doesn't auto close the quote when you typing f', it also will place two quotes when you type ' between } and ), which IMO is more annoying.
See the animation below.

Fixed via https://github.com/Microsoft/vscode/pull/55315


Add support for "minlength"

I am using 1.4.0 for a dialog in my project where the user can define/input a password.
It would be great to have an object/key for min-length.
Example:

i want the password to have at least 8 characters.
Pressing the OK button should be impossible as long as the input has not reached a length of 8

HTML5 reference:
<input type=text minlength=10>

You should be able to feed such properties in inputAttrs

inputAttrs: {
                type: 'password',
                minlength: 10,

has no effect

Hey,
it would be great if the input element attributes would be fully used for validation yes.
But i do understand if that's not on your todo list ;)
Best regards
yafp

Feel free to reopen this and rename it into form validation or something like that, or create another issue. I haven't got around doing it as I've been mostly focused around Nintendo Switch related projects, I may take a look at it at some point

@p-sam
i am not using this package anymore - therefor i have no more need for that function. As noone else was voting for the issue it seems like it is not really needed ;)
Greetings


Delete custom Travis CI OS X caching

Travis CI's caching didn't used to work on OS X, so https://github.com/facebook/flow/commit/9505c1971b3aa2cfc9bf5c0838c970828a0da8bc added support for it. However, it has since been fixed, so this custom caching is no longer needed: https://blog.travis-ci.com/2016-05-03-caches-are-coming-to-everyone
I noticed this when looking into why our OS X Travis builds were failing. That was happening because we were caching opam and getting stuck with old opam info. Throwing away the cache fixes (which can be done from the Travis CI UI)

@facebook-github-bot import

Thanks for importing.If you are an FB employee go to Phabricator to review internal test results.

yay!
the custom caching on OS X was actually faster than the built in one on Linux. maybe we should instead use it all the time ;) (mostly kidding)
you can clear the custom cache from the AWS console by deleting the corresponding tar.gz in the cicache bucket.


[Correction] Better Biome Blend is no longer incompatible with Sodium

Checklist

[X] I've checked that this correction is valid and accurate.
[X] I've checked that this correction has not already been suggested.

What mod is this correction for?
Better Biome Blend
What section(s) of the list is this correction for?
Performance
What version(s) dose this correction apply to?
1.18.X (Fabric), 1.19.X (Fabric)
What needs correcting?
Better Biome Blend is now compatible with Sodium. I tested this myself. Compatibility was added in 1.18.2-1.3.5 as is stated on their modrinth page.
Input relevant link(s) which can be used to verify the correction.
https://modrinth.com/mod/better-biome-blend
(OPTIONAL) Any extra information about the correction.
No response

@NordicGamerFE


gdcp on sierra?

Following the install instructions in the README didn't yield a working install.
$ gdcp
Traceback (most recent call last):
  File "/usr/local/bin/gdcp", line 16, in <module>
    from pydrive.auth import GoogleAuth
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydrive/auth.py", line 15, in <module>
    from oauth2client.file import CredentialsFileSymbolicLinkError
ImportError: cannot import name CredentialsFileSymbolicLinkError

$ pip search oauth2client
courseraoauth2client (0.0.1)  - An OAuth2 client for the Coursera App Platform.
oauth2client (4.0.0)          - OAuth 2.0 client library
  INSTALLED: 4.0.0 (latest)

sudo port install -f py27-oauth2client
[snip]
$ gdcp
usage: gdcp [-h] {version,list,download,upload,transfer} ...

I've successfully installed dependencies and run on Sierra with Anaconda Python and Homebrew Python. I haven't tested with Macports, which is what it looks like you're using. I'll try to find a machine with Macports to test on, but in the meantime I wonder if the pip command you used to install oauth2client was actually tied to the same Python installation that Macports uses or if it's tied to the system Python.

I think this is probably a macports / Python configuration issue rather than a Sierra / gdcp / pydrive issue. Just tested with a fresh Sierra  + macports installation and I wasn't able to recreate the error. I installed the python27 and py27-pip ports and made them my path defaults.
sudo port install python27 py27-pip
sudo port select --set pip pip27
sudo port select --set python python27
pip install pydrive backoff


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1566 ms

Resolved: Bofrost.at performance has improved in 874a648 after 6 minutes.


Feature Request: Support registering linter from other vim plugins

In Syntastic, an external vim plugin can register a linter with syntastic with SyntasticRegistry.CreateAndRegisterChecker. This is useful for smaller project to get syntax check support (Doc https://github.com/vim-syntastic/syntastic/wiki/Syntax-Checker-Guide#7-external-checkers, example https://github.com/nathangrigg/vim-beancount/blob/master/syntax_checkers/beancount/bean_check.vim)
Can Ale support this as well?

This should already be supported. Give it a try. ALE searches runtimepath for ale_linters/<filetype>/<linter_name>.vim.

Thanks, I'll try that and report back :-)

Yes this actually works, thanks!
Maybe add this to doc?

Yes, I'll modify the documentation to make this more clear later.


prevent_default cannot take effect

a {
    role: "button",
    class: "navbar-item",
    href: "/",
    "aria-label": "menu",
    "aria-expanded": "false",
    "data-target": "navbarMainMenu",
    prevent_default: "onclick",
    onclick: move |_| {cl.set(!cl)},
    img {
        src: "https://bulma.io/images/bulma-logo.png",
        width: "112",
        height: "28"
    }
}

when the img onclick, will redirect, the prevent_default is not take effect.
from: Discord Discussion

Sorry, I can't seem to reproduce this locally. I don't get the redirect (at least on Desktop).

Sorry, I can't seem to reproduce this locally. I don't get the redirect (at least on Desktop).

dioxus version 0.1.7

Can you try this on master?

I've try it on the git-master, and the dioxus-web:
a {
    class: "navbar-item",
    href: "/",
    prevent_default: "onclick",
    onclick: |_| { log::info!("Hello"); },
    strong {
        "Test"
    }
}

will be redirect .

Oh... yep the Rust-based event handler works differently than the JS/TS based one.

a {
    role: "button",
    class: "navbar-item",
    href: "/",
    "aria-label": "menu",
    "aria-expanded": "false",
    "data-target": "navbarMainMenu",
    prevent_default: "onclick",
    onclick: move |_| {cl.set(!cl)},
    img {
        src: "https://bulma.io/images/bulma-logo.png",
        width: "112",
        height: "28"
    }
}

when the img onclick, will redirect, the prevent_default is not take effect.
from: Discord Discussion

You'll do something like this:
let service = use_context::<RouterService>(&cx)?;
a {
    role: "button",
    class: "navbar-item",
    href: "/",
    "aria-label": "menu",
    "aria-expanded": "false",
    "data-target": "navbarMainMenu",
    img {
        src: "https://bulma.io/images/bulma-logo.png",
        width: "112",
        height: "28",
        prevent_default: "onclick",
        onclick: move |_| {
           service.read().push_route("/")
        }
    }
}

But I'm facing a borrowing issue here #162 if you use this in more that one place in your app.

But I'm facing a borrowing issue here #162 if you use this in more that one place in your app.

yes, this issue is from our discussion in discord.

Just for some insight - the reason this exists is because the event target is the image, but the prevent_default is on the parent
If you need to work around this bug, then you can just put the prevent_default on the image:
        a {
            class: "navbar-item",
            href: "/",
            prevent_default: "onclick",
            onclick: |_| log::info!("Hello"),
            strong {
                prevent_default: "onclick",
                "Test"
            }
        }

I had the same issue and solved it with the double prevent_default approach too.


Staff can grant assignment deadline extensions.

closed and reopened due to github shenanigans: https://github.com/pwnall/seven/pull/65


feat(anthropic): add support for claude-3-5-sonnet-20241022 model

This commit adds support for the new Anthropic model claude-3-5-sonnet-20241022 to the list of supported models in the configuration parser. This allows users to utilize the latest Claude model version for generating commit messages.
In addition, allow specifying -latest for opus and sonnet models, so they always point to the newest model.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@tdabasinskas Thank you for pull request! I merge it


Solved MARMOTTA-657 - SPARQL query GROUP BY with ORDER BY clause fails.

When building a SQL query, GROUP BY statements allow aggregate functions. This was solved comparing if an statement from ORDER BY is not an aggregate funtion, then add if not continue. This PR solves MARMOTTA-657.
Be sure to do all of the following to help us incorporate your contribution quickly and easily:

[x] Make sure the PR title is formatted like: MARMOTTA-XXX: title of pull request
(replace XXX in the title with the actual Jira issue number; if there is no one,
please create one before).
[x] Make sure tests pass via mvn clean verify (even better, enable Travis-CI on your
fork and ensure the whole test suite passes).
[ ] If this contribution is large, please file an
Apache's Individual Contributor License Agreement.

LGTM


Overview Page copy fixes

Updating copy based on feedback.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (9ff43ee) 7.96% compared to head (2fbd5da) 8.02%.
 Consider uploading reports for the commit ba2a600 to get more accurate results

Additional details and impacted files
@@           Coverage Diff            @@
##            main    #163      +/-   ##
========================================
+ Coverage   7.96%   8.02%   +0.05%
========================================
  Files         37      37
  Lines        565     561       -4
  Branches     113     111       -2
========================================
  Hits          45      45
+ Misses       481     477       -4
  Partials      39      39

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Missing breakpoint throws indescribable error

BEFORE YOU SUBMIT please read the following:

[X] I'm submitting a bug report
[ ] I'm submitting a feature request
[ ] I'm submitting a support request

Mixin version:
2.0.0
Current behavior:
When you override default media-breakpoints  and you don't add breakpoint that is used in the sass files, Webpack2 (sass loader) throws a indescribable error.
"ERROR in ./~/css-loader!./~/postcss-loader!./~/sass-loader!./app/assets/sass/style.scss     Module build failed:        @media #{$breakpoint-lists} {             ^           Media query expression must begin with '('           in /Users/ruzevic/infinum/education/postCSS/node_modules/media-blender/media.scss (line 319, column 10) "
Expected/desired behavior:
Should trow and more descriptive error like, "breakpoint not defined" or something similar.

Are you using any other libraries/tools together with this library? Where in the build process do they occur?

Build is done with this configuration:
"autoprefixer": "^6.6.1",   "css-loader": "^0.26.1",   "css-mqpacker": "^5.0.1",   "cssnano": "^3.10.0",   "extract-text-webpack-plugin": "^2.0.0-beta.5",   "file-loader": "^0.9.0",   "media-blender": "^2.0.0",   "node-sass": "^4.2.0",   "postcss-cssnext": "^2.9.0",   "postcss-font-magician": "^1.6.0",   "postcss-loader": "^1.2.2",   "precss": "^1.4.0",   "sass-loader": "^4.1.1",   "style-loader": "^0.13.1",   "webpack": "^2.2.0-rc.4"

Published in 2.1.0


Limit context closing concurrency to avoid goroutine explosion during topology changes

cc @robskillington @cw9 @prateek @ben-lerner
This PR uses a worker pool to limit the concurrency when closing contexts to avoid the goroutine explosion problem during topology changes.

Coverage decreased (-0.01%) to 76.984% when pulling a77f147faa9b8c8ce99bfcee2045e6137b465ac0 on xichen-limit-concurrency into fcc16a52249beda64f0283301f93fa3abd84da53 on master.

Prod tests looking good, merging


Misc cleanup

Codecov Report

Merging #679 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #679      +/-   ##
============================================
+ Coverage     83.24%   83.24%   +<.01%
  Complexity      991      991
============================================
  Files            67       67
  Lines          4351     4346       -5
  Branches        535      534       -1
============================================
- Hits           3622     3618       -4
  Misses          478      478
+ Partials        251      250       -1

Impacted Files
Coverage Δ
Complexity Δ

...t/mappers/metadata/DynamoTableDescriptionImpl.java
83.9% <0%> (+0.21%)
36% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


UBI challenges

Hi all! I have a couple thoughts on UBI that I think can be productive to discuss.
1 - I am very concerned with ways to prevent users to get ignorant people to make real Proof of Identity videos for them in exchange for cash so they (fake users) can accumulate UBI. Eventually, incentives to do that should go away, but I am thinking about how do we create a process that enables us to get from where we are to that point, avoiding attacks? Here is one suggestion: perhaps new users could only join if they are invited and recommended by a certain number of people... and that number could gradually decrease over time. I think it is much better to grow slowly and confidently than dealing with an enormous amount of fake users, which might totally be a possibility when people hear "free money". People could make it their full time job to get those videos done and that could be a challenge for DEF at least in the beginning. So then with recommendations, we could have identified invalid users impact the recommender(s) in some way. We could also permeate the process with simple and accessible points where both the user and the recommender have to state their awareness and responsibility towards maintaining legitimacy. So it spreads as a network that has mutual trust and co-responsibility as its primary bond.
2 - The other thing is concerning inflation. I agree with the argument that UBI will not be inflationary because the denominator and numerator grow together, as in amount of token grows as number of people joining the network grows. But amount of tokens keep growing over time whereas new people only join once. Which is not a problem if there is productivity with the token. So I thought we could think of strategies to add more intrinsic value. For example binding UBI payments to actual usage of a percent of tokens for voting purposes. Or even just once in every period of time. So then in addition to proving his identity, every user between 18 and 65 would have to engage in democratic decision making with the token in order to receive UBI. This way we are also incentivizing people to dive deeper. Another possibility could be to implement UBI gradually, so as more people join and more decisions need to be made UBI increases, and we could set those benchmarks in advance. Which is also a good incentive for growth.
3 - The final question in my mind concerns how do we determine dripping. If we are issuing it as a Right, in order to oppose the debt-moral logic, and distributing it through Time, as it is equally available to all, I see a little bit of a contradiction to tie it to productive hours. One of Guy Standings main points is that human value shouldn't be determined by productivity. So in that sense it seems better to me to connect it solely to time, meaning that you are entitled to your rights for as much time as you live. The matter of what measure of time (month, week, day, hour or minutes) can then be connected to the penetration of the network - for network equilibrium purposes, instead of how much UBI we should be entitled to, which seems to me like a question that DEF cannot answer, at least at this point.
Looking forward to hear your thoughts!!! =)

Hey Paula .. some thoughts on your points:

Preventing fake users is always a top security priority.  Sybil attacks are a real concern and agree that we need a 'networked' approach, involving the orgs and community in policing. Also agree that we should grow at a controlled pace.

Re: Inflation ... yes, amount of tokens DO increase over time, given population growth. Opposite is also true, amounts decrease due to death (tokens attached to individual, and therefore not inherited like physical cash). However, keep in mind that more currency is actually needed as population grows. (more people, more liquidity needed!) Also, because the price of the currency is tied to one hour of time, inflation is kept in check. As a matter of fact, owning the currency become an inflation hedge. (because: one unit will ALWAYS equal one hour of time)

I like strategies that increase usage! ..and maybe there are incentives within orgs to vote/participate .. however, one key element of UBI is "universal" (and not based on need, participation, other measurements, including productivity, as you mention in #3). Therefore, we need to keep UBI as a 'right' and not hinder in any way.

Agree .. but it was actually Guy Standing that came up with the 10% (as measured in avg annual income)...and this IS a right, not actually connected to measured productivity. You get it no matter what. The calculation is simply based on IF one were working in a society...what percentage of AVG amount earned provides the right amount of liquidity for a society to function. (for those NOT currently productive to be able to cover basics and therefore participate in society without the need to be 'productive')  For optics, we could drip at 200/8766 ..or 2.3% of ALL time in a year [24 x 365.25 = 8,766]...but would end up with the same number: 0.55 units per day.

Hope this helps .. and happy to discuss further!

I see! Agree that it shouldn't be hindered.
Also.. very interesting point about no inheritance, that indeed makes a big difference in terms of maintaining a healthy ecosystem!
Concerning inflation. I wonder if your point holds true only after the network is very well established and people assimilate the concept and use it accordingly. What do you think? If that is the case, perhaps a gradual implementation that aims towards 0.55 units per day could be useful? It can serve as an incentive for usage as well. Or would that only increase confusion?
Also, another question: would UBI then be equally distributed across all ages?

That last question has got me thinking a lot lately.
Do we want people with little time left on the planet to get more decision power than people with more time left? At the same time we want to reward experience... governments do decide on age to vote (~18) and retirement age (~65), so maybe there's a spot in the middle that could be the peak at what we want a society channeling its decision making process?
all open questions.. curious about your thoughts.

Yah .. @santisiri @paulamlb .. very good question to ponder. I've thought a LOT about it.
Re: age-based grant .. Yes, I recommend granting based on age ... a UBI for every day on the planet ... as if program existed since birth .. and they (everyone) saved their UBI.
Re: time left vs power granted .. I continue to think that with age comes wisdom (on avg) as well as more needed 'security'.  On avg., the younger have the same opportunity in front of them ... to earn their basic income as they age. (so becomes fair)
Re: inflation (Paula's "gradual implementation" point) .. I suggest a flat 10% .. not gradually phased in .. however, I am certainly open to different thoughts.  I would like to get the tokens out their into circulation as much as possible .. and incentivize such action.

re: the last question/ Do we want people with little time left on the planet to get more decision power than people with more time left?
Would the flip side of that question be:  Should a newborn  infant have the same decision power as a 70 year old?

Continuing thinking about this: when you replace existing systems, seems most fair to implement them as though they existed for all time, and not just from an arbitrary starting point in the present.  Each person gets the same amount over their lifetime is indubitably fair.

I agree with increased distribution with age in the sense of protecting users when they are most vulnerable. But perhaps 18 might be a little too old given how wise and engaged teenagers are now - and the younger will tend to use the platform more, at least initially. I am thinking in terms of how we have a generational divide in politics, an older analogue generation governing a younger digital generation. So perhaps it could start at 16. We just had last year in Brazil an enormous movement of school occupations made by high school students against a reform that took out philosophy as a requirement. When I was in high school all my classmates hated philosophy. The new generation is very different.. they spent a month living inside their schools, organized food and workshops and restored the facilities with their own hands. So my point is younger people need more credit then the current system is giving them, therefore I would start at 16, which is the age where you can get legally emancipated in Brazil, an then increase, very slowly, with time.

Overall I have a suggestion that could hopefully facilitate our thinking concerning the entire UBI section. We could write what are the requirements that we deem important for both functionalities - voting and currency - and then place them side by side. It can be according to the following topics (open to suggestions): Function, Long-term goals, Frequency of dripping, Distribution across ages and Envisioned network / market effects. Perhaps @herbstephens could write a first draft for those in terms of crypto and @santisiri could write a first draft for those in terms of voting. And then with all that info in hand might be a lot easier to see the full picture and move forward. Even if we are not sure at this point if something should be a requirement it can be written in terms of possibilities and pros and cons. What do you think? I suggest Medium for that purpose, and then sharing those via Whatsapp, so we can think more freely before adding anything to the paper.

RE: age 18 vs 16 ... I agree on 16.  16 is the new 18.
RE: voting/currency side-by-side ... first, for the record, we are NOT creating a "currency". [certainly not in the classical definition and certainly not as defined and regulated by the US SEC] We are creating VOTING functionality - but in two use cases.  One case involves one vote per person; the other case involves liquid democracy, or potentially multiple votes per person within an organization.
As for the comparison of functionality within the two modes, however, I will take the above and create a first-draft table of comparison. We can then discuss, modify and decide on how best utilized.
Thanks, @paulamlb !

Can I ask for clarification - is it true that we are creating a token that can potentially have the utility of money but at the time of issuing it, will not.

This whole thread has been so interesting to follow. But yea for real, if kids these days can do this 👇🏽
https://www.youtube.com/watch?v=pj5ue3M-v6o
Then who's to say that 14 (12?) is not the new 16 (18?).
Basically once we have money we should hire a high school dropout who likes coding and wants to invent her own future ha 🙂. 21st century blood indeed!

guys.. i am now touching the waters of UBI in the document. please help.

Here to help!  Reviewing again now...

Love this thread, folks - I am all for age 16, have even wondered about 15 (roundish number)

As much as I love the idea of making Universal VOTE Income (UVI) to make participation widespread and liquid. I have trouble envisionning in practical way the whole idea of tokenizing time and I feel a bit frustrated as it is at the core of our token economics proposition.
So just trying to recap and see if I understood right :

New VOTEs created every hour = Network size (identified self sovereign individuals (SSI))
Little brothers (who are in way like miners in our POI protocol) use their VOTEs
to participate in decisions in the organizations they take part and to validate new SSI.
When new SSI joins the network he/she is allocated =  24 hours × 365 × {AGE_YRS} VOTEs

Just so I'm sure, here we are not asking people to give time (completing a task appart from acting as Little brothers) in exchange for VOTEs  it's just our base universal value to drip new VOTEs right ?
Should we provide some kind of reward other than keeping the network legitimate for Little Brothers who validate identities ?
More generally I feel like a few diagrams to explain core concept like (POI, Sovereign's set of smart contracts, UVI)  this would be very useful. Would be happy to help with that if you guys think it's a good idea.

Hi @virgile-dev: diagrams would be super duper useful!
You understood the concept right. The allocation once approved is 24x365xAge, and after that in an hourly basis you get votes dripped throughout your lifetime, effectively liquidating time or turning it into currency. This is mostly @herbstephens approach to UBI (shall we use UVI?).. i think if we can better explain the reasons for basing this on time (equality, etc) would be great.

Hey @virgile-dev .. yes, concepts could use some diagrams to better illustrate.  @SFSandra, let's work on this with Virgile.
To your points...
Re: VOTE creation (mining/minting) .. yes, newly created tokens are created and dripped hourly.  Such represents 10% of avg time one earns income .. which is 200 hours per year OR 10% of 2,000 hours (which is 8 hrs per day, 5 days per week, 50 weeks per year - just to put down a 'global average')  [formula:  DRIP_hourly=((0.10 * 2000)/365.25)/24]   *yes, I am accounting for leap year with "365.25" days per year.
Re: Little brothers .. @santisiri better to answer .. yes, they are similar to miners and are paid 'mining fees' for their work
Re: SSI initial grant for joining .. Yes, idea is to grant an amount as if we existed since birth for every individual (creates even playing field globally).  Basic formula = 200 * AGE_YRS. [I believe that 24x365xAge is too many!..and not aligned with UBI concepts]  We need to base on 10% of average "income time".

On the VALUE front .. I propose $7.25.  [U.S. national minimum wage - note: individual State rates can be higher, but not lower; some states now ~$15.]
For example, using ETH, conversion would be (ETH_price/7.25):1

0.0038025705376834740284432276218723854166
If we are dripping VOTEs at the rate of 6 per hour ... one per BTC block ... the above number is what I advise we drip per block.  [in order to result in 200 granted per year...which is 10% of 2,000].  Currently, in paper ... states 1 per hour - which I think is too high.
Math:
(200 per year) / (365.25 days per year) = 0.5475701574264202600958247775496235 PER DAY
(6 blocks per hour) * (24 hours per day) = 144 blocks per day
(0.5475... per day) / (144 blocks per day) = 0.0038... dripped PER BLOCK

@herbstephens how many decimal positions you see the vote token having if any? i feel working on integers might be a plus here. so you get a token every 10 minutes. open to explore ideas here.

Hey @herbstephens do you have a link for this ?

Consensus on an ideal Basic Income averages around 10% of earnings.

@virgile-dev

One paper supporting 10% rule of thumb:
https://medium.com/economicsecproj/how-to-reform-welfare-and-taxes-to-provide-every-american-citizen-with-a-basic-income-bc67d3f4c2b8?source=linkShare-167cf775a8b8-1503181263
Will find/post the other papers supporting....

i'm avoiding age bias and including equality variable in UBI formula. check paper.

Democracy only promotes freedom when it is an economic as well as a political system.  ~Noam Chomsky
I think this could be a good quote to open the section.....agree?

i have some doubts on quoting chomsky due to the ideological connotation behind his figure.

I can see your point.

@santisiri ... On "avoiding age bias" in UBI formula ... I see your logic in equalizing by not punishing those signing later.  However, because time is used as a guiding measure, 'natural limiters' exist in both: 1) time [max 24 per day; max 8760 per year] and 2) lifetime [max ~100 years old]. At most, one would be granted 20,800 votes for UBI in a lifetime [100ys old x 208votes/yr].
If a new registrant [for example, a 10 year old] is granted same number of votes as a much older person who happened to register, say 70 years ago ...inflation economics defy time physics.
I must conclude that I disagree with this form of granting votes...and suggest that we do indeed grant basead on AGE.  I am still convinced that this would not be discriminatory.  Rather, because we are issuing 'rights' to a UBI based in time and dripped through time ... and that we are coming in 'midstream' to everyone's life with this "fundamental human right that should have been granted to everyone at birth" ... seems the only way to 1) not violate physics of time and 2) be fair to everyone ... is to grant the UBI as if the system existed since that person's birth.  Sure, older people will get more ...but younger people will have longer to earn more ... and, over all, everyone will get the SAME amount thoughout time.  ZERO inflation.
But your "blockchain height" method you suggested gave me and idea!   :-)
What if we started the blockheight at a number which represents the oldest person that could register. For ease of math, let's say 100 years old.  In this case, rather than the 'Genesis Block' starting at "0". .... it would actual start at 5,256,000. [6/hr * 24hrs * 365days * 100yrs].
Block Height Age =   [current block height] - [birth block height]
Blocks Per 1 VOTE = [52,560 blocks per year] / [208 votes per year] = 253
UBI Grant = [Block Height Age] / 253
*Note: the MAX lifetime UBI in this case [100 year max] = [208 per year] x [100yrs] = 20,800

@herbstephens we cannot certify age in any way other than trusting what people claim about themselves. i'm aware of the inflation issue here. Rather than a workaround hack, if we can come up with a reliable way to determine AGE, I think we can reconsider this. But that said: I'm still skeptical of a system benefitting the elder.

@santisiri yes..re: block v hours .. I agree and did calculations based on blocks (not hours) .. however, we are using 6 blocks per hour .. so we actually ARE tying to time, NO?  I firmly believe that we should allocate 208 votes per year as a UBI.  How we do it .. I don't care.  All other economics break down IMO.
I see AGE as a CLAIM .. backed by a video showing (and talking) about how old someone is. The only things that work in the real world are physical, state-issued ID.  I suggest we use the same (for now) .. showing CA Driver License, birth certificate, passport, and physical person talking on film.  Network and ORG relationships will determine 'truth'.
I strongly oppose the inflation-creating mechanism proposed.   Can you share the simulation?  I honest cannot see how this doesn't crash and burn with runaway inflation. The age based grant at least has very natural limits.

@herbstephens 208 hours != 208 blocks but 1248 blocks. tying the algorithm to timezones is chaos. tying the algorithm to a machine-to-machine syncing network is what blockchains are meant for.
I oppose any legacy system: by definition it coerces the nature of a self-sovereign. I do agree on using proof from legacy systems to build trust, but an intrinsically (pure?) way of generating your identity must be established. that's the whole purpose of a PoI: it's beyond nation-states and compatible with a global reset.
I included simulation charts just now in the last push. You can check it in the document now. But here it is for you to check:

Happy to include the raw files with it. I had the same reaction you're expressing on a first thought regarding the inflation.. after running the simulation, i discovered it actually stabilizes the more users participate in the network. Very counterintuitive.

Yes, please share the raw files and formulas.

timezones as in: what hour will you be basing the allocation from the token? we can always do GMT.. but then its every server/client computer's own clock. a blockchain provides a universal clock that is easy to sync with. nothing of what we're doing would be possible with blockchains.
i'll be including a simulation folder in the next push to the repo.

@santisiri ... I am proposing a DRIP of 1 VOTE per 253 blocks.  No timezones and nothing (directly) tied or based on an an hour or on time.
At the rate of 1 per 253 blocks ... @ 6 blocks per hour ... 1 VOTE will be granted every 42 hours.  On a daily basis, this equates to 0.57 VOTES dripped per day ... the equivalent of 208 VOTES per year.

I propose we make the votes divisible to 2 decimal places ... n.nn ... 1/100 ... giving the ability of 57 VOTES per day or 20,857 per year. [assuming one vote 'costs' 1/100 of a VOTE token]  This would also push/limit the value of our token to (just under) 100x whatever cost of single physical vote costs the average jurisdiction.
For argument's sake ... let's assume a VOTE settles around $50 ... then a single vote would cost $0.50 ... which is about right IMHO*.
*Note: in my research, it costs jurisdictions MUCH more than $0.50/vote
Argument could be made to make more divisible .. say to 1/1000, or more .. but I'd say people are quite used to n.nn ... and anything beyond that starts to push the 'norm' one is used to.

@herbstephens i'm really scratching my head.. i don't why you come up with those numbers. why 253 votes? why 42 hours? if you can guide me through your calculation i might be able to see.. at a first glimpse i suspect you're confusing blocks with hours (or maybe i'm confusing them).
i dont think decimals help for the utility of voting.

oh i see now.. you want to make the metric vote per hour rather than vote per block.

While you are thinking ... :-)
Bottom line: we need to issue 208 VOTES as UBI for one year. [which is 10% of 2,080...the number of working hours in a year ... 8x5x52]  This equates to 0.57 per day. [208/365]
At rate of 6 blocks per hour [1 every 10 mins] ... such equals 144 blocks per day [6x24].  To issue 0.57 per day ... need to divide 144/0.57 = 253 blocks per VOTE
Therefore, 1 VOTE should be dripped every 253 blocks.  [equivalent to issuing 1 VOTE every 1.75 days]  [not "253 votes" as stated above] @santisiri

RE: divisibility ... my opinion is that we must include at least 2 decimal places [given the economics we have outlined].
If indivisible ... price of voting is stuck at cost of one VOTE token, no?   If divisible .. price of voting can be fraction of cost of one VOTE token.
People are very accustomed to 1/100.  Most fiat currencies are divisible to 1/100.
If we don't make divisible .. then we need to rethink the pricing.
Also .. with $7.25 as issue price ... and 'target price' up to (above?) $50 ... price of a vote [1/100] would be between $0.0725 and $0.50 ... probably EXACTLY the range we need to be in to be competitive on a cost-per-vote basis.

Is there feedback to allow UBI to increase as time goes on and more jobs become automated though? surely 10% sets a static variable in the system (but this is more of a personal gripe). It would need inflation adjusting too.

@adampaigge .. no need to adjust for inflation .. and no need to increase as time goes by. Value of token will increase (or decrease) over time and adjust for inflation.

@adampaigge i'm still impressed by that observation though.. never thought about that consequence and its an interesting point you're raising.

Hi guys!
Maria Sofia Cossar Lambertini found something in this calculation that wasn't making sense to her. I ran over the numbers myself, and came to the same conclusion: in the white paper, you switch units and end up with a slower drip than planned (if I'm right):
"Which means that of the ~52,560 blocks that register a full year of activity on Bitcoin’s blockchain, a total of 1,248 blocks should be accounted for rewarding a UBI per year."
If you do the division right there, you see that it comes out to 1 out of every 42 blocks should go towards a UBI reward. But then the paper mysteriously switches that to hours, and then converts to blocks again:
"1 full unit of a  token should then drip every ~42 hours (or ~252 blocks)"
(unless you intend for each drip to be worth 1/6 of a token, in which case 1 out of every 42 blocks you get a drip, and 1 out of every 42 hours, that's worth a full VOTE).

@santisiri

Hi @bigokro  .. keep in mind that a vote is the equivalent of "one minute" or 1/60th of the hourly number [$7.25/hr / 60 = $0.12 vote price].  We are dripping 1 vote every 4 BTC blocks .. or 36 votes per day [144/4].
So .. the "1 full unit of a token should then drip every ~42 hours (or ~252 blocks)" comment ... must be referring to "a full hour" ...as ~60 votes are dripped every 42 hours.
It is a bit confusing as written ....so we should clean up and make more clear!  Thanks for noticing....

Hmm... if it's 1 vote every 4 blocks, that makes it 3 votes per 12 blocks, or 3 votes every 2 hours. In that case, the math would be 60 votes in 40 hours, not 42... anyway, if that connection could be made more clear, it would help. Thanks!


update foundation chart

Description
update foundation rbac and ocm-proxyserver deployment yaml
Related Issue
issue: https://issues.redhat.com/browse/ACM-9195
Changes Made
Provide a clear and concise overview of the changes made in this pull request.
Screenshots (if applicable)
Add screenshots or GIFs that demonstrate the changes visually, if relevant.
Checklist

[ ] I have tested the changes locally and they are functioning as expected.
[ ] I have updated the documentation (if necessary) to reflect the changes.
[ ] I have added/updated relevant unit tests (if applicable).
[ ] I have ensured that my code follows the project's coding standards.
[ ] I have checked for any potential security issues and addressed them.
[ ] I have added necessary comments to the code, especially in complex or unclear sections.
[ ] I have rebased my branch on top of the latest main/master branch.

Additional Notes
Add any additional notes, context, or information that might be helpful for reviewers.
Reviewers
Tag the appropriate reviewers who should review this pull request. To add reviewers, please add the following line: /cc @reviewer1 @reviewer2
Definition of Done

[ ] Code is reviewed.
[ ] Code is tested.
[ ] Documentation is updated.
[ ] All checks and tests pass.
[ ] Approved by at least one reviewer.
[ ] Merged into the main/master branch.

/cc @dislbenn

/lgtm


Unable to print special characters to console output

Describe the bug
I am from the Azure App Configuration team and I work on the az appconfig module. I noticed that when our output contains characters like 汉 or  𐐷 , CLI outputs a question mark character instead:  �.
Moreover, if we try to print a warning message containing one of these characters, we get an exception. Although this exception doesn't block the operation, it still pollutes the output and cannot be suppressed even if we supply --only-show-errors argument.
This is how we print a warning:
from knack.log import get_logger
logger = get_logger(__name__)
logger.warning(json.dumps(record, ensure_ascii=False))

Errors:
This is the exception:
--- Logging error ---
Traceback (most recent call last):
  File "C:\Python38\lib\logging\__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "C:\Python38\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u6c49' in position 127: character maps to <undefined>
Call stack:
  File "C:\Python38\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Python38\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "d:\code\appconfig\azure-cli\src\azure-cli\azure\cli\__main__.py", line 48, in <module>
    exit_code = cli_main(az_cli, sys.argv[1:])
  File "d:\code\appconfig\azure-cli\src\azure-cli\azure\cli\__main__.py", line 35, in cli_main
    return cli.invoke(args)
  File "D:\Code\AppConfig\azure-cli\env\lib\site-packages\knack\cli.py", line 231, in invoke
    cmd_result = self.invocation.execute(args)
  File "d:\code\appconfig\azure-cli\src\azure-cli-core\azure\cli\core\commands\__init__.py", line 650, in execute
    results, exceptions = self._run_jobs_serially(jobs, ids)
  File "d:\code\appconfig\azure-cli\src\azure-cli-core\azure\cli\core\commands\__init__.py", line 720, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "d:\code\appconfig\azure-cli\src\azure-cli-core\azure\cli\core\commands\__init__.py", line 691, in _run_job
    result = cmd_copy(params)
  File "d:\code\appconfig\azure-cli\src\azure-cli-core\azure\cli\core\commands\__init__.py", line 328, in __call__
    return self.handler(*args, **kwargs)
  File "d:\code\appconfig\azure-cli\src\azure-cli-core\azure\cli\core\commands\command_operation.py", line 121, in handler
    return op(**command_args)
  File "d:\code\appconfig\azure-cli\src\azure-cli\azure\cli\command_modules\appconfig\keyvalue.py", line 139, in import_config
    need_kv_change = __print_preview(
  File "d:\code\appconfig\azure-cli\src\azure-cli\azure\cli\command_modules\appconfig\_kv_helpers.py", line 639, in __print_preview
    logger.warning(json.dumps(record, ensure_ascii=False))
Message: '{"key": "Chinese", "value": "�"}'
Arguments: ()

Do you want to continue?
 (y/n): y

To Reproduce:
Expected Behavior
Environment Summary
Windows-10-10.0.19041-SP0
Python 3.6.8
Installer: MSI

azure-cli 2.21.0 *

Extensions:
azure-devops 0.18.0

Additional Context

I noticed that when our output contains characters like 汉 or  𐐷 , CLI outputs a question mark character instead:  �.

This is because you are using the legacy terminal. Even though the terminal itself supports UTF-8, the default non-Unicode font (like Cascadia Code or Consolas) doesn't define Unicode characters:

In order to show Chinese characters, you need to use a Unicode font in the terminal like SimSun (宋体) or SimHei (黑体).

We recommend using Windows terminal which automatically falls back to a Unicode font if the current font doesn't have the Unicode character.

... it still pollutes the output and cannot be suppressed even if we supply --only-show-errors

The reason why --only-show-errors doesn't work is because you have config option logging.enable_log_file enabled (see CLI configuration values and environment variables for more info). The UnicodeEncodeError error is triggered by RotatingFileHandler:
https://github.com/microsoft/knack/blob/4830dab42bc77e99cb8805e49798f80e073a6f67/knack/log.py#L166
logfile_handler = RotatingFileHandler(log_file_path, maxBytes=10 * 1024 * 1024, backupCount=5)

If you are using Windows with English as the system language (without UTC-8 enabled), the system encoding by default is cp1252 (Western Europe), and Python will use cp1252 as the file encoding. The error can be easily reproduced with
with open("test.txt", "w") as f:
    print(f.encoding)
    f.write("汉字")

cp1252
Traceback (most recent call last):
  File "D:/cli/testproj/test1.py", line 2, in <module>
    f.write("汉字")
  File "C:\Users\jiasli\AppData\Local\Programs\Python\Python38\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-1: character maps to <undefined>

Solution
You may adopt either of these solutions:

Disable file logging with az config unset logging.enable_log_file
Follow https://github.com/microsoft/knack/pull/178 to enable UTF-8 cp65001 support on your Windows system.

References

Standard Encodings: https://docs.python.org/3/library/codecs.html#standard-encodings

I have submitted PR https://github.com/microsoft/knack/pull/247 and https://github.com/Azure/azure-cli/pull/17996 to force to use UTF-8 for log files so that you don't need to disable file logging with az config unset logging.enable_log_file anymore.