Semantics

This PR includes the basic machinery to specify instruction semantics in terms of a sequence of XForms. In order of commits it includes:

Helper routines {Ast,Def,Rtl}.vars(), Def.{definitions(), uses{}), {Ast, Def,Rtl}.substitutions()

The new BVType and support for BVType in TypeVar/TypeSet. BVType represents a flat bitvector of the same size as a real cretonne type. Its non-emittable, and only used by primitive instructions to describe the semantics of larger instructions. It corresponds to a smtlib bitvector.

Instruction semantics. This includes:
- semantics/primitives.py - a new InstructionGroup containing the 'primitive' set of instructions in terms of which we describe all other instructions. All of these should correspond almost 1-1 to bitvector functions in smtlib
- semantics/elaborate.py - routines to repeatedly in-line non-primitive instructions in an Rtl until we've reached a semantically equivalent Rtl with all-primitive instructions
- Instruction.semantics field, and sanity checking of semantics using verify_semantics()
- base/semantics.py - sample semantics for enough instructions to describe iadd

@d1m0 are you not able to run ./test-all.sh locally?

Tests are passing now, but it looks like you need to rebase before we can merge.

Rebased.


Release (2021-03-02)

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


Revert "OSOE-470: Remove false entries (actual typos) from spell checking allow lists in Lombiq.GitHub.Actions"

Reverts Lombiq/GitHub-Actions#111

Please be sure to only merge submodules to dev just right before you merge the superproject PR too.

I would've if the superproject PR was working correctly with this merge, which it didn't, that's why this merge was reverted.


Incorrect output for tools (function calling) accord to openai specs

System Info
Hello, first of all, congratulate you for the great work you have done. I have tested the tool selection feature with the official open ai client and docker image 1.4.3, and I have noticed that the tool selection result does not talk to the open ai api result specification.
Information

[X] Docker
[ ] The CLI directly

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction
send a request to the tgi 1.4.3 docker
tools = [
    {
	"type": "function",
	"function": {
	    "name": "get_current_weather",
	    "description": "Get the current weather",
	    "parameters": {
	        "type": "object",
	        "properties": {
	            "location": {
	                "type": "string",
	                "description": "The city and state, e.g. San Francisco, CA",
	            },
	            "format": {
	                "type": "string",
	                "enum": ["celsius", "fahrenheit"],
	                "description": "The temperature unit to use. Infer this from the users location.",
	            },
	        },
	        "required": ["location", "format"],
	    },
	},
    },
    {
	"type": "function",
	"function": {
	    "name": "get_n_day_weather_forecast",
	    "description": "Get an N-day weather forecast",
	    "parameters": {
	        "type": "object",
	        "properties": {
	            "location": {
	                "type": "string",
	                "description": "The city and state, e.g. San Francisco, CA",
	            },
	            "format": {
	                "type": "string",
	                "enum": ["celsius", "fahrenheit"],
	                "description": "The temperature unit to use. Infer this from the users location.",
	            },
	            "num_days": {
	                "type": "integer",
	                "description": "The number of days to forecast",
	            },
	        },
	        "required": ["location", "format", "num_days"],
	    },
	},
    }
]

# Initialize the client, pointing it to one of the available models
client = OpenAI(
  base_url="http://llm_server:3000/v1",
  api_key="_"
)

    from openai import OpenAI
# NOTE: tools defined above and removed for brevity
chat_completion = client.chat.completions.create(
  model="tgi",
  messages=[
      {
	  "role": "system",
	  "content": "Don't make assumptions about what values to plug into functions. Ask for clarification if a user request is ambiguous.",
      },
      {
	  "role": "user",
	  "content": "What's the weather like the next 3 days in San Francisco, CA?",
      },
  ],
  tools=tools,
  tool_choice="auto",  # tool selected by model
  max_tokens=500,
)

called = chat_completion.choices[0].message.tool_calls
print(called)

the output is:
  {'id': 0, 'type': 'function', 'function': {'description': None, 'name': 'tools', 'parameters': {'format': 'celsius', 'location': 'San Francisco, CA', 'num_days': 3}}}
The id is always 0, the description is always None and the name is always tools, It is very difficult to determine which function was actually selected by the model.
Edit: After debugging the code a little, it seems that the problem is in the grammar that is passed to the model to infer the function call. This only allows generating the call parameters but does not include the name of the function that has been selected.
The output from TGI container:
  2024-03-05T19:02:25.663524Z  INFO chat_completions:generate{parameters=GenerateParameters { best_of: None, temperature: None, repetition_penalty: None, frequency_penalty: None, top_k: None, top_p: None, typical_p: None, do_sample: true, max_new_tokens: Some(500), return_full_text: None, stop: [], truncate: None, watermark: false, details: true, decoder_input_details: true, seed: None, top_n_tokens: None, grammar: Some(Json(Object {"$functions": Object {"get_current_weather": Object {"properties": Object {"format": Object {"description": String("The temperature unit to use. Infer this from the users location."), "enum": Array [String("celsius"), String("fahrenheit")], "type": String("string")}, "location": Object {"description": String("The city and state, e.g. San Francisco, CA"), "type": String("string")}}, "required": Array [String("location"), String("format")], "type": String("object")}, "get_n_day_weather_forecast": Object {"properties": Object {"format": Object {"description": String("The temperature unit to use. Infer this from the users location."), "enum": Array [String("celsius"), String("fahrenheit")], "type": String("string")}, "location": Object {"description": String("The city and state, e.g. San Francisco, CA"), "type": String("string")}, "num_days": Object {"description": String("The number of days to forecast"), "type": String("integer")}}, "required": Array [String("location"), String("format"), String("num_days")], "type": String("object")}}, "properties": Object {"function": Object {"anyOf": Array [Object {"$ref": String("#/$functions/get_current_weather")}, Object {"$ref": String("#/$functions/get_n_day_weather_forecast")}]}}})) } total_time="966.206292ms" validation_time="913.106µs" queue_time="27.862µs" inference_time="965.265444ms" time_per_token="37.125594ms" seed="Some(3959124113330451421)"}: text_generation_router::server: router/src/server.rs:305: Success
Expected behavior
a response accord to the open ai specification in order to get the selected tool in a straightforward manner, expected an ChatCompletionMessage object like:
ChatCompletionMessage(content=None, role='assistant', function_call=None, tool_calls=[ChatCompletionMessageToolCall(id='call_2PArU89L2uf4uIzRqnph4SrN', function=Function(arguments='{\n  "location": "Glasgow, Scotland",\n  "format": "celsius"\n}', name='get_current_weather'), type='function')])
in the open ai output schema the parameters are named as arguments, thats relevant in orden to support and do not break the use of OpenAI clients or integrations thats are waiting for that field in the request response.

I'm trying to solve the problem, making sure to get as close as possible to open ai's response schema in tools/function calling api. It's my first time in Rust but I already managed to compile the solution with my changes, now let's try it and I'll tell you to see if you can guide me on the steps to follow to make a PR :)

I solved (I think) but its my first time with Rust and I couldn't get the code to work on my local virtual env (instructions from readme.md didn't work), so I modified the code and ran it across the docker build and the container worked according to the Open AI specification, could you guide me (@drbh ) how to proceed? the regular pipeline to be able to execute locally and the tests to be able to do the PR as appropriate way.
now the ouput for:
from openai import OpenAI
tools = [
      {
          "type": "function",
          "function": {
              "name": "get_current_weather",
              "description": "Get the current weather",
              "parameters": {
                  "type": "object",
                  "properties": {
                      "location": {
                          "type": "string",
                          "description": "The city and state, e.g. San Francisco, CA",
                      },
                      "format": {
                          "type": "string",
                          "enum": ["celsius", "fahrenheit"],
                          "description": "The temperature unit to use. Infer this from the users location.",
                      },
                  },
                  "required": ["location", "format"],
              },
          },
      },
      {
          "type": "function",
          "function": {
              "name": "get_n_day_weather_forecast",
              "description": "Get an N-day weather forecast",
              "parameters": {
                  "type": "object",
                  "properties": {
                      "location": {
                          "type": "string",
                          "description": "The city and state, e.g. San Francisco, CA",
                      },
                      "format": {
                          "type": "string",
                          "enum": ["celsius", "fahrenheit"],
                          "description": "The temperature unit to use. Infer this from the users location.",
                      },
                      "num_days": {
                          "type": "integer",
                          "description": "The number of days to forecast",
                      },
                  },
                  "required": ["location", "format", "num_days"],
              },
          },
      }
  ]
# Initialize the client, pointing it to one of the available models
client = OpenAI(
    base_url="http://llm_server:3000/v1",
    api_key="_"
)

# NOTE: tools defined above and removed for brevity

chat_completion = client.chat.completions.create(
    model="tgi",
    messages=[
        {
            "role": "system",
            "content": "Don't make assumptions about what values to plug into functions. Ask for clarification if a user request is ambiguous.",
        },
        {
            "role": "user",
            "content": "What's the weather like the next 3 days in San Francisco, CA?",
        },
    ],
    tools=tools,
    tool_choice="auto",  # tool selected by model
    max_tokens=500,
)

called = chat_completion.choices[0].message.tool_calls
print(called)

code output:
[ChatCompletionMessageToolCall(id='0', function=Function(arguments='{"format":"fahrenheit","location":"San Francisco, CA","num_days":3}', name='get_n_day_weather_forecast'), type='function')]
open ai specs from docs outputs:
[ChatCompletionMessageToolCall(id='call_ujD1NwPxzeOSCbgw2NOabOin', function=Function(arguments='{\n  "location": "Glasgow, Scotland",\n  "format": "celsius",\n  "num_days": 5\n}', name='get_n_day_weather_forecast'), type='function')]
llm raw output from TGI debug tracing:
{'id': 0, 'type': 'function', 'function': {'name': 'get_n_day_weather_forecast', 'arguments': {'format': 'celsius', 'location': 'San Francisco, CA', 'num_days': 3}}}
I did not touch the streaming methods and the objects ChatCompletionChunk and ChatCompletionDelta, my rust uderstanding is quiet pretty basic.

Since forcing the LLM output does not allow the LLM to give conversational feedback, I additionally added the construction of a function that allows the LLM to report a run error when trying to select a tool either because required parameters are missing, or there is no tool that can Comply with the user's request, this allows controlling the precise execution of the tools or not executing them if it is not possible. This was implemented by modifying the default tools prompt, moving the json schema and tool selection instructions presented in the prompt to the last user role prompt (to better guide the LLM).
the new instruction prompt is:
Instructions for Tool Selection and Execution:\n1) Tools definitions: You will be presented with a JSON schema representing a set of tools and their execution constraints, intended for responding to user requests.\n2) Direct Matching Required: Select a tool that matches the user's request based on explicitly provided information. Avoid making assumptions about the user's intentions. The selected tool must directly address the request as specified, without inferring additional user intentions.\n3) Handling Incomplete Requests: If the user's request lacks sufficient detail to make a clear tool selection:\n   - Do not guess or infer missing parameters.\n   - Notify the situation with an error message detailing what specific information is missing.\n4) Error Reporting: If it's determined that no available tools can appropriately respond to the user's request due to missing or mismatched information, report this with an error message explaining in detail the discrepancy and why tool execution isn't possible.\n\nJSON Schema:\n
and the final prompt after applying chat template (with chatml) look like these:
<|im_start|>system
Please resolve the user's request, if it is not possible to resolve the request then report an error.<|im_end|>
<|im_start|>user
User request: Paris temperature today

---------------------------
Instructions for Tool Selection and Execution:
1) Tools definitions: You will be presented with a JSON schema representing a set of tools and their execution constraints, intended for responding to user requests.
2) Direct Matching Required: Select a tool that matches the user's request based on explicitly provided information. Avoid making assumptions about the user's intentions. The selected tool must directly address the request as specified, without inferring additional user intentions.
3) Handling Incomplete Requests: If the user's request lacks sufficient detail to make a clear tool selection:
   - Do not guess or infer missing parameters.
   - Notify the situation with an error message detailing what specific information is missing.
4) Error Reporting: If it's determined that no available tools can appropriately respond to the user's request due to missing or mismatched information, report this with an error message explaining in detail the discrepancy and why tool execution isn't possible.

JSON Schema:
{"$functions":{"get_current_weather_by_city":{"description":"Given a city gets the current weather from","properties":{"format":{"description":"The temperature unit to use. Infer this from city","enum":["celsius","fahrenheit"],"type":"string"},"location":{"description":"The city name from a valid country (Only city names are valid inputs).","type":"string"},"name":{"const":"get_current_weather_by_city","description":"The name of the function","type":"string"}},"required":["city","format"],"type":"object"},"get_n_day_weather_forecast_by_city":{"description":"Given a city gets an N-day weather forecast","properties":{"format":{"description":"The temperature unit to use. Infer this from the city","enum":["celsius","fahrenheit"],"type":"string"},"location":{"description":"The city name from a valid country (Only city names are valid inputs)","type":"string"},"name":{"const":"get_n_day_weather_forecast_by_city","description":"The name of the function","type":"string"},"num_days":{"description":"The number of days to forecast","type":"integer"}},"required":["city","format","num_days"],"type":"object"},"notify_error":{"description":"Useful to notify when a tool can not be called.","properties":{"error":{"description":"The error or issue to notify","type":"string"}},"required":["error","language"],"type":"object"}},"properties":{"function":{"anyOf":[{"$ref":"#/$functions/get_current_weather_by_city"},{"$ref":"#/$functions/get_n_day_weather_forecast_by_city"},{"$ref":"#/$functions/notify_error"}]}},"required":["function"]}
---------------------------<|im_end|>
<|im_start|>assistant

The llm response is:
{
  "function": {
    "format": "celsius",
    "location": "Paris",
    "name": "get_current_weather_by_city"
  }
}

hi @puppetm4st3r thank you for noting this issue, in order to open a PR you'll need to fork the repo and open a PR from your fork to this repo.
In order to run TGI locally you'll need to build everything and run the text-generation-launcher binary. Please see the local installation instructions on the readme: https://github.com/huggingface/text-generation-inference?tab=readme-ov-file#local-install

thanks, will try! is my first intent of contribution in github, regards!

Thanks @puppetm4st3r for your great work! I've been using grammar feature in Llama.cpp for function calling since the beginning and I can't wait to integrate this into my TGI setup. Appreciate your contributions here!

I'm fine tunning some details after send the PR, but I have realized that for more complex functions (in a production environment) the models are very sensitive to the engineer prompt of both the descriptions of the tool's json schema and the tooling_prompt, I Have tried many models of different sizes, in 7B it is a disaster and practically does not work (a lot of allucinations in the selected tool parameters), in 34b it works with some errors, and in a 34bx2 moe there are already an aceptable quality that could be brought to a productive environment.

@maziyarpanahi I'm planning for my production solution use TGI with 2 models, 1 for NLP, and other for function calling but without guidance, some thing like gorilla-llm/gorilla-openfunctions-v2

Thanks @puppetm4st3r for the detailed reply. Are there some examples that failed badly which they shouldn't have? Is the failure due to the model's weakness or a bug in enforcing the grammar? (does the test pass in other serving platform like Llama.cpp with a JSON grammar?)

I think is the way of enforcing, small models did not work well inclusive with directly use of guidance frameworks, so in my experience by now in my use cases is better a 7B  finetuned model for function calling compared with a 7B forced grammar model.
but by the other side a fintuned 7B for function calling lacks of enough reasoning for complex task, so you maybe can use that for simple taks like send an email, or query a simple sql table.
My best results in terms of quality/cost was to force grammars with a good 34b model, anything lower didnt work well for me, also tried a 72B but with 2k context len because my setup has 48gb, i'm waiting for the new 4bit kv cache from exllama2 to be included in the inference servers, that would allow us to run larger models with larger contexts on consumer GPUs...
By now I'm build a gptq quant to try the gorilla-llm/gorilla-openfunctions-v2 at 4 bits for func calling and a 34b for inference, with 2 TGI instances.

@maziyarpanahi it could be helpful for you https://medium.com/@prudant/enabling-function-calling-with-gorilla-llm-gorilla-openfunctions-v2-using-the-openai-protocol-355492d0587d , my last simple but efficient implementation of local function calling

@maziyarpanahi it could be helpful for you https://medium.com/@prudant/enabling-function-calling-with-gorilla-llm-gorilla-openfunctions-v2-using-the-openai-protocol-355492d0587d , my last simple but efficient implementation of local function calling

Thanks @puppetm4st3r for sharing that post. I will start using TGI with grammar this week and compare it with Llama.cpp for function calling. (I mainly use 70B in 16-bit)

Maybe relevant here as well - I just commented under the PR ( https://github.com/huggingface/text-generation-inference/pull/1587#issuecomment-1997314497 ):
To make smaller models useful, It would be very beneficial to add a proper documentation for the function definition and function call format (when serialized to strings / in the prompt). Model creators could use this format for finetuning - currently it´s a huge issue that there is no standardized format and everyone does their own (and needs additional wrappers so code doesn't work with OpenAI compatible libs out-of-the-box, as the standard inference stacks don't support it).
We had just yesterday a discussion with Teknium on that, as Nous released a new model with a custom function format (as we did at DiscoResearch in the past).

I am facing the same issue. The incorrect tools format as per OpenAI specs breaks the compatibility with the instructor package. Hope the PR fixes this.

If anyone is having constantly "tools" as a function name, it's not related to the model you are using, there is a bug here
https://github.com/huggingface/text-generation-inference/blob/7eb3d75df183ccdf4d0389095f6a1700cb5da52e/router/src/server.rs#L953

Update
hi @puppetm4st3r the tool response type has been updated in this PR https://github.com/huggingface/text-generation-inference/pull/1650
Further discussion

If anyone is having constantly "tools" as a function name, it's not related to the model you are using, there is a bug here
https://github.com/huggingface/text-generation-inference/blob/7eb3d75df183ccdf4d0389095f6a1700cb5da52e/router/src/server.rs#L953

regarding the tool name, this is due to how functions are constrained in TGI and a larger discussion has been open here: https://github.com/huggingface/text-generation-inference/issues/1657


Dnd kit v2

Taking over from the old content-v2 <-- dnd-kit pull request now that dnd-kit has been superseded by dnd-kit-v2.

TODO:

Figure out if I should use DragOverlay
Port root page over to using dnd-kit
Delete content in /analysis
Uninstall @hello-pangea/dnd library

ALSO TODO:

Fix ClaimBox HTML

Okay, the current code is working better than expected!
TODO for this merge:

Figure out why sometimes (but not always) the claims pass under each other
Figure out why the claims get vertically stretched to the size of the claim they're hovering over
(optional) Further investigate DragOverlay

TODO for later branches:

Fix ClaimBox HTML

The only problem at this point is that the dropdown in the claim tab is getting hidden beneath the next claim when in a non-dragging state. Removing the "relative" positioning in the claim tab div fixes the issue at the expense of breaking other parts of that UI.

Problem solved, let's merge!


bug([mat-checkbox]): Same data-id attribute causes unexpected behavior

Reproduction
https://stackblitz.com/edit/components-issue-agbcze
Steps to reproduce:

Create more <mat-checkbox> with the same data-id attribute
If you try to select any elements, only the first will be checked/unchecked

Expected Behavior
data- attributes should not have cause any unexpected behavior
Actual Behavior
If you put a data-id attribute then checkbox id attribute will have the same value as the data-id
Environment

Angular: 9.0.1
CDK/Material: 9.1.0
Browser(s): Chrome  81.0.4044.113
Operating System: Windows 10

I'm guessing Angular maps the data-id to the id input on the checkbox which then proxies it to the input element. I don't think we can anything about it, but you can work around it by changing it to [attr.data-id]="'select'".


Add initialization function

If you use Orator in your applications, a common scenario is that you wish to create the database connection on startup and to run all migrations before starting the application. Previously, one would have to do something like:
from orator import Model, DatabaseManager
from orator.migrations import Migrator, DatabaseMigrationRepository
import yaml

with open("orator.yml") as file:
        config = yaml.load(file)

# Create connection
db = DatabaseManager(config['databases'])
Model.set_connection_resolver(db)

# Check for migrations
repository = DatabaseMigrationRepository(db, 'migrations')
migrator = Migrator(repository, db)
if not migrator.repository_exists():
    repository.create_repository()

migrations_dir = os.path.append(os.path.dirname(os.path.abspath(__file__)), "migrations")
migrator.run(migrations_dir)

With this new convenience function, this is reduced to:
import orator
orator.initialize()

Optionally, you can provide the location for the config file, the migrations dir, and whether or not you want to run the migrations:
import orator

config_file = "config/orator.yml"
migrations_dir ="my_migrations"

orator.initialize(config_file="config/orator.yml", migrations_dir="my_migrations")

Or, if you don't want to run the migrations:
import orator
orator.initialize(run_migrations=False)

The defaults values for these parameters are the same that are used by the Orator CLI.

I notice that the Travis build fails for this pull request, but the original 0.9 branch that I branched from fails in the same way: https://travis-ci.org/finetuned89/orator/jobs/310805620.

I'm closing this PR since there hasn't been any activity for 5 years, and I wouldn't really be able to follow up on it if required.


UCE AR ussing old equipment

the team in AR never sent their nodes and gateway back to us. (we don't have a backup for the data they collected in 2022). They have already installed their old devices in the field for this season. We sent them new devices for this season with updated firmware for the gateway, but they might have misplaced them. I recommended to them to switch the old nodes and gateway with the new set we sent if they can find them, we could send another set for them if they can't find them to replace the ones they have in the field.
The issue I see with keeping the old nodes installed in the field are:

We don't have a file for the data from last year for their farm (their data is mostly complete, but it worries me that the backup is missing).
The data on the device itself will be mixed up with this year's data if we were to wait to do a download at the end of the season.
Their gateway is running the old firmware where the gateway sometimes gets stuck if it loses connection and doesn't continue to collect data.
They are limited to 2G network connections since they are running the old cellular board.

Gateway Serial: 21000150
Device Code: 1084050

working all good


added several SunPy affiliated packages and irispy-lmsal

I hope it is ok to submit several projects in one PR. I can split it out if required.
Projects:

sunraster : A library that subclasses NDCube to provide support for spectral data that is used in solar physics - SPICE and IRIS are two examples. "testing" is "Partially met" as I know of several places that need additional testing.
sunkit-image : A library that is trying to hold any image processing techniques that have been used in solar physics, its not very mature in terms of features but I am hoping we can get more traction and code ported to it.
sunkit-instruments : A library that is trying to allow teams who have Python code for a solar instrument but do not want to create their own package. Ideally the team behind the instrument would submit code, but we accept code from users of it as well. "documentation" is "Partially met" as while it has the API docs, it has nothing else and that needs fixing in the future.
pyflct : A Python wrapper around a C Fourier Local Correlation Tracking library provided by Fisher & Welsch. "license" is "Partially met" as its LGPL and that will not be changing.
irispy-lmsal: Is not a SunPy affiliated package but based upon sunraster to allow analysis of IRIS data, currently its feature light but I am working to change that.

For all projects, "community" is "Partially met" since I feel that these are relatively small projects that don't get a lot of traffic or community chatting within the sunpy channels.

There are also some unrelated changes I made, I can spin them off to a new PR as well if wanted.

Hi, thanks for your submissions @nabobalis. It's fine to submit multiple projects in the same PR. I replied to your comment above about the modifications you made to other projects. I want to discuss that before going further.
But looking at these submissions, I agree with the grades you put. Thanks for being diligent with that, and for using keywords.
The LGPL license is still open source, right? A quick google search suggested yes, but will you please clarify the restrictions? Being open source is a requirement of all PyHC packages.

The LGPL license is still open source, right? A quick google search suggested yes, but will you please clarify the restrictions? Being open source is a requirement of all PyHC packages.

Yeah the package is open source, the C code it vendors in is too. It just is not a permissible licence like BSD or MIT.
Which can be a problem for packages that want to use it directly, so I decided to downgrade its rating.

Okay, I think this is good. I don't have any issues after my first pass. Please give me a day or so to do a bit of a deeper dive. Assuming nothing new comes up, I'll merge this.

Merged.


Visual Studio Code Crashing right after start

Describe the bug
I was using VSCode since quite some weeks without any issue. Today, when starting it, it reopens my 3 windows and after a few seconds disappears - no error.
What did you expect to happen?
I expect VSCode to stay along with my files :)
Output of rpm-ostree status
❯ rpm-ostree status
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: no runs since boot
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/aurora-dx:latest
                   Digest: sha256:e5f417316d973b9989b023e07027cc4ed484e53378fed6c19525a749c792cf3a
                  Version: 40.20240613.0 (2024-06-14T16:53:05Z)

  ostree-image-signed:docker://ghcr.io/ublue-os/aurora-dx:latest
                   Digest: sha256:85f5962a9bac172e8e67ce2bccb4580eb51fd5c18bb00059a8b14a1cba029d28
                  Version: 40.20240611.0 (2024-06-11T16:52:09Z)

Output of groups
❯ groups
me wheel docker incus-admin lxd libvirt

Extra information or context
Initial problem seems to start with 40.20240611.0 and upgrade to the latest one doesn't seem to help. I am not sure how can I debug or even when the logs are stored, so I can see whether it's some extension, or VSCode itself. If I understood well, it's on the image, but not sure how:

certainly not part of OS (also there's nothing in journalctl -xe)
I don't see it with brew
and it's not coming from Flatpak (there they offer me their own version)

Any thoughts on where else I can check?

Can you run code in a terminal and see if it spits out an error?

code itself gives nothing.
code --verbose is giving these errors:
...
[0615/005633.801618:ERROR:elf_dynamic_array_reader.h(64)] tag not found
[0615/005633.802373:ERROR:elf_dynamic_array_reader.h(64)] tag not found
[0615/005633.802657:ERROR:elf_dynamic_array_reader.h(64)] tag not found
[0615/005633.810505:ERROR:directory_reader_posix.cc(43)] opendir /home/smi/.config/Code/Crashpad/attachments/a1572f27-3a84-40dd-9675-d22764fe3ec2: No such file or directory (2)
code --version
1.90.1
611f9bfce64f25108829dd295f54a6894e87339d
x64
Quick digging suggests it's really VSCode issue...

This is an issue with vscode. The only thing you can try locally is deleting your ~/.cache and the vscode state/configure files and hope for the best.
You can also create another use to see if it is something in your homedir causing the issue

I have same problem except it's when I try to launch "code" from within bluefin-cli terminal. It immediately crashes with error code 132.. Should I just use the vs code that came preinstalled and connect to bluefin-cli as remote dev container?

I'm getting this as well. Clicking "repoen" results in another crash. Only closing and re-opening code (either from the command line or the doc) results in a persistent window. This appears to occur after reboot.

For me what worked was to delete ~/.config/Code. It was maybe too harsh, but didn't have any issue since. When I was reading about similar issues with other OSes, they recommended just to delete:

~/.config/Code/Cache/
~/.config/Code/CachedData/

So you can start with those. As a next step you can remove remaining caches, i.e. rm -rf  ~/.config/Code/*Cache*
Obviously I also updated my OS in the meantime, I believe there were 2 patches for VS Code in the meantime, so that could have helped also.


Bind KCM socket

I think I know why we want this, but the code could use at least a one-liner rationale comment, and so could the commit message.

the code could use at least a one-liner rationale comment,
and so could the commit message.

This is still work-in-progress. :)
I stuck the branch in a pull request for @hughsie to try it out because I had promised him. As things stand one still has to install the sssd-kcm RPM inside the toolbox container to switch the Kerberos credentials cache type to KCM via /etc/krb5.conf.d/kcm_default_ccache. However, that package actually has code in it, which we don't need, and pulls in a ton of dependencies. Therefore, we'll either have to split the RPM or hack in the configuration when creating the container.
Having said that, I'd still welcome your feedback. Given the general immutability of Podman containers, I am wondering how best to handle all the variables here:

host doesn't have sssd-kcm installed
host has sssd-kcm installed but has switched the credentials cache to something else
the UNIX socket doesn't exist on the file system
etc.

I am expecting to tell the user that under certain circumstances, there's no other option than to re-create the toolbox container.
I have only tested it on a laptop with working KCM. I'd like to at least test it on my other laptop that doesn't use KCM, and see what happens.

This is a lot more complete now. It works on hosts with KCM set up. I still need to test this on a system without KCM.


Revert "Merge pull request #44170 from software-mansion-labs/@kosmydel/qbo-export/manual-exports"

Details
Revert of https://github.com/Expensify/App/pull/44170
Revert of https://github.com/Expensify/App/pull/44930 (because of TS type changes that depended on the previous PR)
Fixed Issues
$ https://github.com/Expensify/App/issues/45624
Tests / QA steps
(Same as https://github.com/Expensify/App/issues/45624)
Pre-requisites:

Have a collect workspace
Enable delayed submission for the workspace
Create either a QBO or Xero connection

Navigate to staging.new.expensify.com
Sign in as the admin of the workspace
Create an expense in the workspace chat
Navigate to the combined expense report page and click on submit
Wait for a few seconds and observe the header button
Make sure the button changes to "Pay"

[x] Verify that no errors appear in the JS console

Offline tests

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/e9bc267e-aaad-436a-a769-da1e2bc21414
There's also a delay with the button changing from "Approve" to "Pay" in production
https://github.com/user-attachments/assets/dccd73f6-26d5-4ea7-8cca-e7ce57e155d4

Keeping this in draft but ready to go in case we can't figure out https://github.com/Expensify/App/issues/45624

We no longer need this.


Add support for unidirectional NIOPipeBootstrap

Motivation
In some scenarios, it is useful to only have either an input or output side for a PipeChannel. This fixes https://github.com/apple/swift-nio/issues/2444.
Modification
This PR adds new methods to NIOPipeBootstrap that make either the input or the output optional. Furthermore, I am intentionally breaking the API for the new async methods since those haven't shipped yet to reflect the same API there.
Result
It is now possible to bootstrap a PipeChannel with either the input or output side closed.

Oh @FranzBusch let's also fix Sources/NIOCrashTester/main.swift which opens /dev/null (as devNull) just to be able to use the pipe boostrap.


Add DataGridColumn Tag property

What does the pull request do?
Adds a Tag property to the DataGridColumn base class.
What is the current behavior?
This is no Tag property on DataGridColumn. This makes porting some code more difficult.
What is the updated/expected behavior with this PR?
There is now a Tag property on the DataGridColumn base class.
How was the solution implemented (if it's not obvious)?
This was implemented following the Community Toolkit. I'm not sure why it wasn't part of the initial port so it may have been a late add upstream. The property is only a CLR property following upstream -- that could change if ever needed in the future as a non-breaking change.
https://github.com/CommunityToolkit/WindowsCommunityToolkit/blob/77b009ddf591b78dfc5bad0088c99ce35406170b/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/DataGrid/DataGridColumn.cs#L552-L559
Checklist

~[ ] Added unit tests (if possible)?~
[x] Added XML documentation to any related classes?
~[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Documentation with user documentation~

Breaking changes
None
Obsoletions / Deprecations
None
Fixed issues
None

You can test this PR using the following package version. 11.0.999-cibuild0036171-beta. (feed url: https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json) [PRBUILDID]


mTLS not working on self-hosted in windows when setting them into environment variables

In what area(s)?
/area runtime
/area placement
What version of Dapr?
1.3.0
Expected Behavior
With sentry configured and using their certificates, we first setup the environment variables so dapr sidecar can use mtls:
$env:DAPR_TRUST_ANCHORS=$(Get-Content $env:USERPROFILE\.dapr\certs\ca.crt)
$env:DAPR_CERT_CHAIN=$(Get-Content $env:USERPROFILE\.dapr\certs\issuer.crt)
$env:DAPR_CERT_KEY=$(Get-Content $env:USERPROFILE\.dapr\certs\issuer.key)
$env:NAMESPACE="default"

When launching daprd with enabled mtls the daemon should start correctly.
Actual Behavior
When launching daprd command the following error appears:
time="2021-08-20T10:55:22.7991229+02:00" level=info msg="starting Dapr Runtime -- version 1.3.0 -- commit 4bab7576ed68a9ece1a4743a7925f18ef583775a" app_id=nodeappedge instance=le-instance scope=dapr.runtime type=log ver=1.3.0
time="2021-08-20T10:55:22.800095+02:00" level=info msg="log level set to: info" app_id=nodeappedge instance=le-instance scope=dapr.runtime type=log ver=1.3.0
time="2021-08-20T10:55:22.800095+02:00" level=info msg="metrics server started on :9091/" app_id=nodeappedge instance=le-instance scope=dapr.metrics type=log ver=1.3.0
time="2021-08-20T10:55:22.8051523+02:00" level=info msg="loading default configuration" app_id=nodeappedge instance=le-instance scope=dapr.runtime type=log ver=1.3.0
time="2021-08-20T10:55:22.8051523+02:00" level=info msg="standalone mode configured" app_id=nodeappedge instance=le-instance scope=dapr.runtime type=log ver=1.3.0
time="2021-08-20T10:55:22.8051523+02:00" level=info msg="app id: nodeappedge" app_id=nodeappedge instance=le-instance scope=dapr.runtime type=log ver=1.3.0
time="2021-08-20T10:55:22.8060945+02:00" level=info msg="mTLS enabled. creating sidecar authenticator" app_id=nodeappedge instance=le-instance scope=dapr.runtime type=log ver=1.3.0
time="2021-08-20T10:55:22.8060945+02:00" level=fatal msg="**fatal error from runtime: failed to append PEM root cert to x509 CertPool**" app_id=nodeappedge instance=le-instance scope=dapr.runtime type=log ver=1.3.0

fatal error from runtime: failed to append PEM root cert to x509 CertPool
Steps to Reproduce the Problem
Launch daprd in windows following the steps in the documentation with mtls enabled, configure sentry, create the certificates and add them via environment variable in a Windows environment.
Command launched looks like:
daprd.exe --enable-mtls --sentry-address localhost:50001 --app-id nodeappedge --app-port 3000 --dapr-http-port 3500 --metrics-port 9091

Release Note
RELEASE NOTE:
FIX Windows self-hosted instance is not correctly reading certificates on environment variables DAPR_TRUST_ANCHORS, DAPR_CERT_CHAIN and DAPR_CERT_KEY

So this is PowerShell issue, not a Dapr one: The problem is that PowerShell Get-Content behaves differently from cat even though it's aliased to it. When you assign Get-Content output to a variable, it replaces line endings with spaces, so you get:
PS C:\> $env:DAPR_TRUST_ANCHORS=$(Get-Content $env:USERPROFILE\.dapr\certs\ca.crt)
PS C:\> echo $env:DAPR_TRUST_ANCHORS
-----BEGIN CERTIFICATE----- MIIBczCCARmgAwIBAgIQK2eZSxj9nTlXaf99qvz6BjAKBggqhkjOPQQDAjAYMRYw FAYDVQQDEw1jbHVzdGVyLmxvY2FsMB4XDTIxMDgyMDIzNTc1NloXDTMxMDgxODIz NTc1NlowGDEWMBQGA1UEAxMNY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqG SM49AwEHA0IABP6hUrUEtLhN1Dkfs+AJmMIU592orsgkWq0VbBCJdqYSEQzTpRCt V5eRtnD34Uhr6HUYCrAFO+gI/eTHp+4KeHmjRTBDMA4GA1UdDwEB/wQEAwIBBjAS BgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBTcKMnRVlV5JGZrzIXOlSms/VjX pzAKBggqhkjOPQQDAgNIADBFAiBH9sabGHJn/trPJudTgNa2kjlw0k01Bc+gW7/+ vu/+HwIhAIRr1iZNCV9axkOsTbfl9cdUgKGFP0bUF8GisKtiaZPO -----END CERTIFICATE-----

That's illegal PEM, so Dapr correctly rejects it as malformed.
You need to use the -raw flag with Get-Content to preserve line-endings, so:
PS C:\> $env:DAPR_TRUST_ANCHORS=$(Get-Content -raw $env:USERPROFILE\.dapr\certs\ca.crt)
PS C:\> echo $env:DAPR_TRUST_ANCHORS
-----BEGIN CERTIFICATE-----
MIIBczCCARmgAwIBAgIQK2eZSxj9nTlXaf99qvz6BjAKBggqhkjOPQQDAjAYMRYw
FAYDVQQDEw1jbHVzdGVyLmxvY2FsMB4XDTIxMDgyMDIzNTc1NloXDTMxMDgxODIz
NTc1NlowGDEWMBQGA1UEAxMNY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABP6hUrUEtLhN1Dkfs+AJmMIU592orsgkWq0VbBCJdqYSEQzTpRCt
V5eRtnD34Uhr6HUYCrAFO+gI/eTHp+4KeHmjRTBDMA4GA1UdDwEB/wQEAwIBBjAS
BgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBTcKMnRVlV5JGZrzIXOlSms/VjX
pzAKBggqhkjOPQQDAgNIADBFAiBH9sabGHJn/trPJudTgNa2kjlw0k01Bc+gW7/+
vu/+HwIhAIRr1iZNCV9axkOsTbfl9cdUgKGFP0bUF8GisKtiaZPO
-----END CERTIFICATE-----

This will successfully load in daprd from the environment variable now.
That said, the only reason I know this is because I've been bitten by weird PowerShell semantics in aliased commands before, so we should update the docs for https://docs.dapr.io/operations/security/mtls/ to ensure that users don't get blocked by this.

thanks, #1739 should fix it :)

@ricardf would you like to submit a docs PR that addresses this?

sure! @yaron2 will continue disucssion in @CodeMonkeyLeet issue in docs.

@CodeMonkeyLeet  Yes, I solved this problem just as you said. I am setting the Environment Variables as you mentioned in this issue.
I was just adding this information in case anyone experienced the same problem.


Soft logic optimization

Add additional partitioning option that can optimize for the physical considerations of different soft logic devices.

Include considerations such as propagation delay and difficulty of assembly.


Problem with the fields that form the data array

Such error is displayed in the browser console:
Failed to execute 'querySelector' on 'Element': '.error-message#error-for-productName[]' is not a valid selector

Missing a reduced test case: https://github.com/cferdinandi/validate/blob/master/CONTRIBUTING.md
Will reopen issue after one is provided.


Arguments Order Problem

Hi,
I want to run ffmpeg-cli-wrapper
for the following command, which works from command line on Mac(ffmpeg version 3.3):
ffmpeg -i input.mp4 -i input.wav -c:v copy -c:a aac -strict experimental output.mp4
with this code:
FFmpegBuilder builder = new FFmpegBuilder()
.addInput("input.mp4")
.addInput("input.wav")
.addExtraArgs("-c:v copy -c:a aac -strict experimental")
.addOutput("output.mp4")
.done();
But the logging shows this command is generated by the wrapper:
ffmpeg -y -v error -c:v copy -c:a aac -strict experimental -i input.mp4 -i input.wav output.mp4
The order is not correct with the input files in the back, the result of this command overrides the video with the audio, but I want to add the audio to the video as my original command does.
How to control the order of all the arguments and input files from the wrapper by coding?
Thanks

Got it working by using ouput builder.
Thanks


how to parse "order by xxx" to OrderByElement object

How can I parse the phrase "order by id desc, cnt desc" into an OrderByElement object using "JsqlParser"?

greetings.
Show AST is your friend:
http://jsqlformatter.manticore-projects.com/jsqlformatter/demo.html?args=-c M4UwNiDGAuAECMAoAZgJwPYFtYBMCuAhmLAO4AWIqIsBAvAEZA

No feedback and no further questions asked. Closed.


Detect scenarios where Autofill dialogs would overlap

Task/Issue URL: https://app.asana.com/0/0/1206318827324908/f
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

In this stack: 🔎 Improve Autofill Dialog Overlapping Detection
This work aims to enhance the detection of scenarios where Autofill dialogs overlap, ensuring a seamless user experience and preventing any potential issues.

develop

#4071   👈

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @CDRussell and the rest of your teammates on  Graphite


[BUG] Chmod may cause Samsung S23 failed to boot

Describe the bug / 问题描述
A Samsung user has reported that using ChmodFileHider caused their devices to fail to boot.
To Reproduce / 复现步骤
Steps to reproduce the behavior / 复现异常的步骤:
(If you have ways to repro, please inform us)
Basic Information (please complete the following information) / 请填写以下信息:

OS (ROM) / 系统: OneUI ?
Android Version / 安卓版本: 13
Amarok Version / Amarok版本: (mainline)

We are unsure whether it is a bug of Amarok.
If you have encountered a similar issue, please leave a comment.

No further reports. Can not reproduce.


NSNotificationCenter dealloc

This is a possible fix for bugsnag/bugsnag-unity#6
I think it can happen if people call start multiple times in a single app run. This is safer regardless and could possibly fix. I will try and reproduce tomorrow.

Reproduced the issue by calling start multiple times, confirmed that this fixes.


Multi county parms report

Geoff is beginning to consider what has happened to the PARMS. The Coordinator needs to know where the whole of the piece is. We have broken it up. The ‘home’ Coordinator has all the Images and will need to organise transcription even if part of the piece is in another County. They therefore need to be able to enter a TNA piece number and see the various parts of it in our PARMS.
E0 U6 S7 C5: P18

Sorry, @geoffj-FUG - another one that I don't know whether or not it is still needed.

Resolved by Locate a piece in the County Coordinator actions.
Geoff


Wrapper Upgrade instructions in Gradle Release Notes should clarify that the wrapper task should be re-run

Issue type
Missing information
Problem description
The Gradle Wrapper docs hint that the wrapper task should be re-run.

However, the same information is not in the upgrade instructions in the release notes.

Context (optional)
The update procedure for the wrapper is confusing and unintuitive (no other Gradle task needs to be re-run after a successful result.)
https://sp4ghetticode.medium.com/the-elephant-in-the-room-how-to-update-gradle-in-your-android-project-correctly-09154fe3d47b
Related

https://github.com/gradle/gradle/issues/884
https://github.com/gradle/gradle/issues/12273 / https://github.com/gradle/gradle/pull/26120

Page with the problem
https://github.com/gradle/gradle/blob/v8.7.0/platforms/documentation/docs/src/docs/release/notes-template.md?plain=1#L15-L24
https://github.com/gradle/gradle/blob/v8.7.0/platforms/documentation/docs/src/docs/release/notes.md?plain=1#L33-L42

This is a valid documentation issue.
We welcome documentation contributions. See our contributing documentation guide for more information.

The release notes template document is here.


feat(upgrade): add time stamp to tag for testing envt

In the testing environment the images are pushed with timestamp. Since the upgrade image were not time stamped , the testing environment used older images,
A new flag upgrade_tag_for_test_envt needs to be passed in for testing environment so that it takes the latest image with timestamp.
ashish@vm:~/code/rust/mayastor-extensions(image-for-develop)$ curl <<CI_REGISTRY_URL>>/v2/openebs/mayastor-upgrade-job/tags/list | jq . | grep "release"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1816  100  1816    0     0   9634      0 --:--:-- --:--:-- --:--:--  9659
    "release-2.1-2023-04-16-11-54-07",
    "release-2.1-2023-04-18-00-07-11",
    "release-2.1-2023-04-24-08-58-13",
    "release-2.1-2023-04-17-14-37-17",
    "release-2.1-2023-04-24-00-07-09",
    "release-2.1-2023-04-29-00-51-14",
    "release-2.1-2023-04-20-00-07-13",
    "release-2.1-2023-04-20-12-52-20",
    "release-2.1-2023-04-15-00-51-10",
    "release-2.1-2023-04-21-00-07-13",
    "release-2.1-2023-04-19-00-07-09",
    "release-2.1-2023-04-22-00-51-12",
    "release-2.1-2023-04-25-00-07-13",
    "release-2.1",
    "release-2.1-2023-04-26-00-07-12",
    "release-2.1-2023-04-27-00-07-11",

At present the testing is using the image release-2.1 , a time stamp need to be appended , so that the latest image is used for upgrade job.
Same is the case with develop branch as well.
@w3aman @blaisedias @rohan2794  you need to fetch the latest build time stamp for each run in the testing code and then pass --upgrade_tag_for_test_envt <<time_stamp>> like --upgrade_tag_for_test_envt 2023-04-27-00-07-11 so  that the upgrade job takes the image which has the time stamp.
If the upgrade_tag_for_test_envt is not passed then the default values are release-2.1 for release 2.1 and develop for develop branch.

IMO, this feature could be a general image tag override. But in that case, can we adhere to the upgrade-path reliably?


command: init

Create a command to create the starting file/folder structure.

invenio.cfg: This file would contain all the configuration variables.
pipenv: This file would contain the python dependencies along with each corresponding versions. Note: take into account some modules might be in pre, and therefore installed from GitHub.
static/: This folder would contain all the CSS and potential static content (e.g. images).
templates/: This folder would contain the custom (Jinja?) templates.
Dockerfile[-base]: Description of the base image (python dependencies) and the application image.
docker-compose.yml: This file would contain the service components architecture and orchestration. Note: It might need to differ prod from dev.

It should execute cookiecutter-invenio-rdm from Cookiecutter's programmatic API.

Related to https://github.com/inveniosoftware/invenio-cli/issues/10

closed by https://github.com/inveniosoftware/invenio-cli/pull/15


NNDCT_ERROR

I'm trying to build pytorch_NNDCT from source.
However, I'm getting inly one error related to pytorch_NNDCT.
I don't know how to solve this problem.
Anyone help?
This is my error log.
(test_env) root@System-Product-Name:/workspace/Vitis-AI-Quantizer/vai_q_pytorch/pytorch_binding# python -c "import pytorch_nndct"
[NNDCT_ERROR]: /workspace/Vitis-AI-Quantizer/vai_q_pytorch/pytorch_binding/pytorch_nndct/nn/lib/nndct_kernels.so: undefined symbol: _ZN2at19NonVariableTypeMode10is_enabledEv

Can you rm /workspace/Vitis-AI-Quantizer/vai_q_pytorch/pytorch_binding/pytorch_nndct/nn/lib/nndct_kernels.so and try again ?

I solved this problem.

Having this issue again under 1.4.1, any suggestions?
There is no /lib under /workspace/Vitis-AI-Quantizer/vai_q_pytorch/pytorch_binding/pytorch_nndct/nn

Hi, @Hongshen-Yang:
In general, rebuild file /workspace/Vitis-AI-Quantizer/vai_q_pytorch/pytorch_binding/pytorch_nndct/nn/lib/nndct_kernels.so can always solve the problem. If this can not solve the error you met, can you please share steps you tried to solve the problem here?


"Send mobile code failed" "Error sending OTP: Request failed with status code 403"

Description: The SMS with verification code is not sent to the entered phone number on the sign-up screen
Steps to reproduce:

Open the https://goodqa.netlify.app/
Sign up with Google/Facebook
Enter the phone number
Click on the Next button
Pay attention to the error message

Expected result:
The Sms with verification code is sent to the entered phone number after clicking on the Next button
Actual result:
The user is not able to verify the phone number on the sign-up screen
Environment:  QA 1.13.0-0
Devices list: Desktop- Windows 10 // Chrome 87.0.4280.88
Notes: The same error is shown after changing the phone number on the Edit profile screen
Additional info:
The phone number was used to sign up: +380636456452
The Phone number also was used to sign up for another account

FIXED: issue was a bad environment variable value on QA server

@sirpy
@omerzam
The issue is not reproduced.
The SMS with verification cod has arrived after clicking on the Next button on the Sign-up screen.
The user is able to change the phone number on the Edit Profile screen.
Checked on the  QA 1.13.0-0
Desktop- Windows 10 // Chrome 87.0.4280.88


pray to the god of GitHub action

Summary

Checklist

[ ] The Pull Request has tests
[ ] There's an entry in the CHANGELOG
[ ] There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE

Full changelog

[Implement ...]

Issue reference

Fix #[issue number]

Even for draft PRs, please open PRs with a descriptive title. It helps the maintainers triage work accordingly without reading diffs. Thank you for your support!


No text field focused after menu.open() called

What Angular MDC version are you using?
^0.33.1
What browser(s) is this bug affecting?
Google Chrome
What OS are you using?
Widnows 10
What are the steps to reproduce the bug?
onChangeNameTextField() {
this.nameMenu.open();
this.nameTextField.focus();
}
What is the expected behavior?
menu opens and textfield focuses
What is the actual behavior?
menu opened but no text field focused. Is there any way to open menu and focus some text field at the same time? I am trying to display search suggestions whenever an user types.

Duplicated. Fixing

Do you have a StackBlitz example? If not, I'll make one.


Scroll to focused code

I wanted to use this plugin with a very long block of code, so I added a feature to scroll the focused lines' container to center the focused lines. You can view my work so far at https://github.com/joshkel/reveal-code-focus/tree/scrolling.
Would you be interested in this feature? I think it would be better if I added smooth scrolling and if I checked from a single boolean, defaulting to false, to an options object (with only the centerFocused option for now), defaulting to on, but I wanted to run the overall concept and design by you first.

This seems like a good idea. I can't review your code now, but maybe you can send a PR for the basic scroll functionality first.


PR code suggestions are hidden

Description
When suggesting a change in a PR, the suggestion is hidden because of this line of code:
.rgh-no-unnecessary-split-diff-view :is(.inline-comments, .js-inline-annotations) td:nth-child(2) {
    display: var(--rgh-only-additions, var(--rgh-only-deletions, table-cell)) !important;
}

Where
.rgh-no-unnecessary-split-diff-view .js-diff-table:not(:has([data-split-side="left"]:is(.blob-code-addition, .blob-code-deletion))) {
    --rgh-only-additions:  none;
    table-layout: auto !important;
}

See video https://youtu.be/D1LGMMw33IA
How to replicate the issue
In a PR, add a code suggestion
Extension version
22.10.10
Browser(s) used
Chrome 106.0.5249.61

Thank you for the report!
If you clear the cache in the extension’s options and refresh the page twice, this should be fixed in 22.10.10.
I will add a proper fix in the next version:

https://github.com/refined-github/refined-github/pull/6063


Tobin gh1476 ds image layout val

Fixes #1476
Validate that image layout specified in image descriptor update matches actual layout at draw time.
Also add a test to verify this case.
There's spec language for this but not a specific VU so I'll make a spec MR for that separately and then update the check/test to include that VU when it's in.

I reworked test to be less verbose as @chrisforbes suggested & made a couple other changes.


Use a CDN?

See https://www.webpagetest.org/result/170319_60_SFP/2/performance_optimization/#use_of_cdn

Looking at the headers on the site now it looks like it's already using Cloudflare so this could probably be closed. FYI, if it's not already, you should submit the site for open source sponsorship:
https://blog.cloudflare.com/cloudflare-open-source-your-upgrade-is-on-the-house/
Now that the CDN is all good, the next step for performance might be to fix the crazy site file size. I've created a seperate issue for that: https://github.com/sveltejs/svelte.technology/issues/345


Remove unnecessary lifetime parameters

Build fails. Related issue: https://github.com/trunk-rs/trunk/issues/904


[1.16.4] maxMiningTime doesn't appear to have any effect.

Describe the bug
Set maxMiningTime = 1 for both the foliot and the djinni for testing purposes. Both appear to be running at the same speed as when it was set to 400. Expected this to be a drastic increase in speed.
To Reproduce
#Miner Spirit Settings
[dimensional_mineshaft.miner_foliot_unspecialized]
	#The amount of time it takes the spirit to perform one mining operation.
	maxMiningTime = 1
	#The amount of blocks the spirit will obtain per mining operation
	rollsPerOperation = 1
	#The amount of mining operations the spirit can perform before breaking.
	durability = 1000

#Miner Spirit Settings
[dimensional_mineshaft.miner_djinni_ores]
	#The amount of time it takes the spirit to perform one mining operation.
	maxMiningTime = 1
	#The amount of blocks the spirit will obtain per mining operation
	rollsPerOperation = 2
	#The amount of mining operations the spirit can perform before breaking.
	durability = 5000

Expected behavior
Expecting ore to be flying out
System (please complete the following information):

Occultism Version: occultism-0.2.19
OS: Windows
Minecraft Version: 1.16.4
Modpack Link and Version, or list of mods: https://www.curseforge.com/minecraft/modpacks/enigmatica6

as an addition, rollsPerOperation and durability seem to have no affect either. Pic below of some exaggerated settings, if im reading the config right it should be an operation per tick and 10 ores per operation, along with 100,000 durability. Everything is behaving as default still.
https://gyazo.com/e99d3176ffdb4d9b43c2ad165e3fed46

as an addition, rollsPerOperation and durability seem to have no affect either. Pic below of some exaggerated settings, if im reading the config right it should be an operation per tick and 10 ores per operation, along with 100,000 durability. Everything is behaving as default still.
https://gyazo.com/e99d3176ffdb4d9b43c2ad165e3fed46

Thank you for the report! @MuteTiefling is this with a spawned miner spirit item or created via ritual? (I will test either way ofc)
I suspect the spawned ones do not contain the NBT settings, leading to the fallback to default values.

Thank you for the report! @MuteTiefling is this with a spawned miner spirit item or created via ritual? (I will test either way ofc)
I suspect the spawned ones do not contain the NBT settings, leading to the fallback to default values.

Crazy fast turnaround on that, thanks! Much appreciated :D

Crazy fast turnaround on that, thanks! Much appreciated :D

Seems this fix is not working on servers... Tested on an enigmatica 6 v0.3.6(latest release) server and the miner seems to be set to default configs, but in single player it is working as it should

Seems this fix is not working on servers... Tested on an enigmatica 6 v0.3.6(latest release) server and the miner seems to be set to default configs, but in single player it is working as it should

I'll look into that, to be fair I did not test server separately

I'll look into that, to be fair I did not test server separately

In the latest version I cannot reproduce that issue. When on a server the nbt tags (accessed with /occultism nbt while holding the item -> will only show up after it has been placed in the dimensional mineshaft and the operation has started) reflect the settings, and the nbt is repsected, the djinni is producing insane amounts of ore.

In the latest version I cannot reproduce that issue. When on a server the nbt tags (accessed with /occultism nbt while holding the item -> will only show up after it has been placed in the dimensional mineshaft and the operation has started) reflect the settings, and the nbt is repsected, the djinni is producing insane amounts of ore.

@theboo confirmed it's working - visuals may be outdated on clients until the miner is placed in a mineshaft for the first time as we force-update nbt then.

@theboo confirmed it's working - visuals may be outdated on clients until the miner is placed in a mineshaft for the first time as we force-update nbt then.


sir after generating text file what are the steps we have to do for training yolo v2 ?/

There's a very good tutorial on that: https://timebutt.github.io/static/how-to-train-yolov2-to-detect-custom-objects/ Also good info at https://github.com/AlexeyAB/darknet Should be enough information to start :)

RESPECTED SIR ,
I HAVE IMPLEMENTED YOLO TENSORFLOW VERSION DARKFLOW
NOW AFTER GENERATING TEXT FILE HOW CAN I CINVERT INTO DARKFLOW SUPPORTED FILE  ?
HELP REQUIRED !!


Split between lib/ and es6/ does not work well

🐛 Bug report
Current Behavior
The following file, when processed by a bundler (rollup, webpack etc), will include the fp-ts Either module twice, once the es6 version and once the lib version.
import { right } from "fp-ts/es6/Either";
import { _right } from "monocle-ts/es6/Either";

console.log(right(42), _right(right(42)));

Why? Because the Either module from monocle imports fp-ts/lib/Either, even if itself was imported through monocle-ts/es6/Either.
Expected behavior
The fp-ts Either module should appear only once in the output.
Reproducible example
Save the above example as input.js, and bundle using the following rollup config:
import commonjs from "rollup-plugin-commonjs";
import nodeResolve from "rollup-plugin-node-resolve";

export default {
  input: "input.js",
  output: { file: "output.js", format: "cjs" },
  plugins: [nodeResolve({}), commonjs({})]
};

The resulting file will be 144KB, and contain a lot of unnecessary code because rollup can't threeshake commonjs modules.
If I edit the monocle-ts package contents to always import from fp-ts/es6/ instead of fp-ts/lib/, then the size drops to 50K
Suggested solution(s)
The only solution I'm aware of is this: Every module that the user is expected to import in their code has to be a folder, and that folder must contain a package.json which provides pointers to the entry points (main being the commonjs entry point, and module being the ES6 module entry point).
In other words, in any import statement import … from "SOMEMODULE", the "SOMEMODULE" must refer to a folder with its own package.json, ie. node_modules/SOMEMODULE/package.json. If SOMEMODULE contains path separators, same applies, eg. import … from 'fp-ts/Either' -> node_modules/fp-ts/Either/package.json.
Additional context
The @material-ui/core package solves this in the way I described. You can have a look at the contents of their package here: https://unpkg.com/browse/<EMAIL_ADDRESS>Every direct subfolder of this package is allowed to be imported. As you drill down to the subfolders, you'll see a package.json en every one (eg. https://unpkg.com/browse/@material-ui/core@4.8.0/Avatar/package.json).

This suggested solution has also been mentioned here:
https://github.com/gcanti/io-ts/issues/349#issuecomment-511234863

I have an alternative suggestion - stop shipping es5 with commonjs modules and only ship es6 with esmodules.
Cons

Breaking change.
Direct imports on older browsers requires a shim like esm.
Testing frameworks like Jest also have issues with es6 moduels that require extra work like manually setting up esm in your tests or setting up babel and transforming with babel-jest.

Pros

A more manageable release target.
Reduce issues related to conflicting dependencies.
Tree shakeable by default.
Smaller package size.
End users in commonjs land can still import esm builds.

Personally, tools like rollup and parcel make going back and forth from commonjs to esmodules fairly easy. And tree-shaking (if not optimal) is still achievable with those tools against commonjs dependencies. My biggest qualm with separate esm and cjs builds is that it effectively forces me to also manage two builds for any library I build on top of the fp-ts ecosystem. In my opinion, there is little reason to support two builds, it ends up being busy work both in setup and issue maintenance.
Anyway, that's my two cents.

What really bothers me here - it's extremely easy to screw up when using autoimports because IDE suggests two imports: one from /lib and one from /es6.
Also I've been always dreaming of throwing commonjs in the trash 😄So I kind of agree with @baetheus

[…] stop shipping es5 with commonjs modules and only ship es6 with esmodules.

The important thing is not what we ship, but how it is consumed by runtimes and bundlers.
I think it's perfectly reasonable to ship commonjs and esm at the same time. However when different tools import "fp-ts", "io-ts", "fp-ts/Either" etc, they should get a consistent set of modules. Eg. nodejs v12 should get commonjs, nodejs v14 should get esm, rollup should get esm, webpack should get esm, …
The first step should be to agree on the module API, ie. what module specifiers do we want people use in their code. For example:
import … from "fp-ts" // supported
import … from "fp-ts/Either" // supported

import … from "fp-ts/lib/Either" // works, but deprecated
import … from "fp-ts/es6/Either" // works, but deprecated

Then we can work out how to tell each tool (nodejs, rollup, webpack etc) where to actually find suitable files. This is done through configuration in package.json files. The next version of nodejs will make that somewhat easier (https://nodejs.org/api/esm.html#esm_conditional_exports), but I'm not aware how rollup or webpack want to support this new field in the future.

I believe PR https://github.com/gcanti/fp-ts/pull/1241 solved a lot problems, the only one I have is that IDE (VSCode) still trying to use lib\es6 folders for auto import, but do not propose just fp-ts/Either

After a few imports, it figures out the correct path for the import in my case.
Feels good!

Closing this as fp-ts, io-ts and monocle-ts now support the suggested solution.


Parallel Ingestion broken (Horizon vers 2.15.1)

-parallel-workers seems to be broken.
From stellar.private.horizon (keybase channel)
the injestion thread started with 24 but slowly dwindled to 1 thread
> enode@c95vr35adhrhjpm9eap0:~/bin$ ./monitor-full-history.py
> [9693588, 'applying', '96.69%', '3308 to go']
> [9792722, 'applying', '95.86%', '4142 to go']
> [9885780, 'applying', '88.94%', '11052 to go']
> [9980985, 'applying', '84.18%', '15815 to go']
> [10071786, 'applying', '75.01%', '24982 to go']
> [10151121, 'applying', '54.37%', '45615 to go']
> [10264485, 'applying', '67.77%', '32219 to go']
> [10373081, 'applying', '76.4%', '23591 to go']
> [10472306, 'applying', '75.66%', '24334 to go']
> [10537983, 'applying', '41.36%', '58625 to go']
> [10651883, 'applying', '55.29%', '44693 to go']
> [10696576, 'processing']
> [10796544, 'processing']
> [10896512, 'processing']
> [10996480, 'processing']
> [11096448, 'processing']
> [11196416, 'processing']
> [11296384, 'processing']
> [11396352, 'processing']
> [11496320, 'processing']
> [11696256, 'processing']
> [11796224, 'processing']
> [11896192, 'processing']
> enode@c95vr35adhrhjpm9eap0:~/bin$ ./monitor-full-history.py | wc -l
> 24
> enode@c95vr35adhrhjpm9eap0:~/bin$ ./monitor-full-history.py | wc -l
> 23
> enode@c95vr35adhrhjpm9eap0:~/bin$ ./monitor-full-history.py | wc -l
> 1
> enode@c95vr35adhrhjpm9eap0:~/bin$ ./monitor-full-history.py | wc -l
> 1
> enode@c95vr35adhrhjpm9eap0:~/bin$ ./monitor-full-history.py
> [12895872, 'processing']
> enode@c95vr35adhrhjpm9eap0:~/bin$ tail -n1 /data/nodestate/collector.log | jq
> {
>   "time": "2022-04-05T11:17:33.116795",
>   "level": "fatal",
>   "responding": false,
>   "healthy": false,
>   "network": "mainnet",
>   "ref": "https://dev.xxxxxx/",
>   "peer_count": 0,
>   "peers_missing": 2,
>   "peer_count_expected": 2,
>   "block_number": 12945856,
>   "highest_block_number": 40339141,
>   "blocks_behind": 27393285,
>   "stellar_core": {
>     "ingest_low": 12895872,
>     "ingest_high": 12995840,
>     "ingest_num_threads": 1
>   },
>   "message": "Can't request "https://localhost:8000/"",
>   "status": "Booting"
> }
> enode@c95vr35adhrhjpm9eap0:~/bin$ ./monitor-full-history.py | wc -l
> 1
> enode@c95vr35adhrhjpm9eap0:~/bin$ ./monitor-full-history.py | wc -l
> 1
> enode@c95vr35adhrhjpm9eap0:~/bin$ ./monitor-full-history.py
> [12895872, 'processing']
> enode@c95vr35adhrhjpm9eap0:~/bin$ ./monitor-full-history.py
> [12895872, 'processing']
> enode@c95vr35adhrhjpm9eap0:~/bin$ ./monitor-full-history.py
> [12895872, 'processing']
> enode@c95vr35adhrhjpm9eap0:~/bin$ ./monitor-full-history.py
> [12895872, 'processing']
> enode@c95vr35adhrhjpm9eap0:~/bin$ tail -n1 /data/nodestate/collector.log | jq
> {
>   "time": "2022-04-05T12:09:15.702804",
>   "level": "fatal",
>   "responding": false,
>   "healthy": false,
>   "network": "mainnet",
>   "ref": "<URL>",
>   "peer_count": 0,
>   "peers_missing": 2,
>   "peer_count_expected": 2,
>   "block_number": 12945856,
>   "highest_block_number": 40339642,
>   "blocks_behind": 27393786,
>   "stellar_core": {
>     "ingest_low": 12895872,
>     "ingest_high": 12995840,
>     "ingest_num_threads": 1
>   },
>   "message": "Can't request "https://localhost:8000/"",
>   "status": "Booting"
> }
> this is currently stopping us from being able to deploy FH nodes

Version Info ---
> <>:/# stellar-horizon version
> 2.15.1-e29c7803d487c3f5b44a74773e6277fee16482cf
> go1.17.8
> <>:/# stellar-core version
> stellar-core 18.4.0 (13ef7c0f3ae85306ddb8633702c649c8f6ee94bb)

may be related to this issue from a different customer: https://github.com/stellar/go/issues/4319

Related: https://github.com/stellar/go/issues/4255
The parsing error is probably a red herring (and likely caused by stellar core crashing, my guess is it's OOM-killed)

gcp instance
n2d-standard-32    32(vcpu)    128(memory)
https://cloud.google.com/compute/docs/general-purpose-machines#n2d-standard
version
root@abae030320fd:/# stellar-horizon version
2.15.1-e29c7803d487c3f5b44a74773e6277fee16482cf
go1.17.8
root@abae030320fd:/# stellar-core version
stellar-core 18.4.0 (13ef7c0f3ae85306ddb8633702c649c8f6ee94bb)
command
Ingesting from 1 to 40355048 (40355048 ledgers) using reingest range

docker exec -t -e PARALLEL_JOB_SIZE=100000 -e RETRIES=10 -e RETRY_BACKOFF_SECONDS=5 stellar-horizon stellar-horizon db reingest range --parallel-workers=24 1 40355048

24 workers is probably too much
With recent ledgers, captive core consumes >7GB or RAM
That's 24*7 = 168 GB of RAM, which is higher than 128GB (without even counting the RAM consumed by the system and by horizon).
Did you monitor the used RAM while running reingestion?

Note that we are planning to reduce the RAM requirements in Horizon 3.0 by not requiring the use of Captive Core.

Also note that there is an issue in Core  version > 18.2.0 and < 18.5.0 which breaks reingestion.
See  https://github.com/stellar/stellar-core/pull/3360/
Please upgrade to Core 18.5.0 or downgrade to Core 18.2.0

Seems to be resolved with update of Core > 18.5.0


Howie/subclass thread class

Added subclasses for ThreadMessage and MessageDeltaChunk with helper properties
Removed on_message_delta_text_content event since users can uses helper property in subclass of MessageDeltaChunk,
Allow users to set custom_data in event functions which is accessible during iteration

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-projects


[DOC]: Making the documents available in multiple languages.

What feature?
We should make documents available in more languages especially in Hindi, Tamil, and Tamil. Doing it well will help contributors from various backgrounds understand Contributing Guide as well as the Code of Conduct which is the most important. Apart from that our project will also support inclusivity.
Show us the magic with screenshots
No response
Agreement to Code of Conduct

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

We are closing this issue, as it has been inactive for a long time. If you think you want to work on this issue please create a new ISSUE.


improve consensus state concurrency mutex handling patterns

Presently a mutex is used to prevent data hazards on the consensus State struct.
https://github.com/skip-mev/cometbft/blob/48db7ac0037db4e16eab7536a05966f928a4b70b/internal/consensus/state.go#L93
This state mutex is sometimes accessed and locked from outside its handlers creating confusing access patterns. Mostly during catchup.
https://github.com/skip-mev/cometbft/blob/48db7ac0037db4e16eab7536a05966f928a4b70b/internal/consensus/reactor.go#L122-L123
This access pattern necessitates seemingly random unlock logic within the State mutators themselves to permit this access.
https://github.com/skip-mev/cometbft/blob/48db7ac0037db4e16eab7536a05966f928a4b70b/internal/consensus/state.go#L913-L919
These access patterns could be improved by internalizing all mutation and access of the consensus State struct into state.go. The goal is to eliminate needing to access and lock the mutex outside of the getters and setters defined for the consensus state struct. An alternative approach is to formalize consensus state into its own package, but I don't believe this complexity is needed. Tidying up mutex semantics should be good enough, and further abstraction has no performance benefit.

not using channels anymore, I started writing this way and it looked way uglier. I'll keep the mutex and clean up the mutex hygiene to only permit thread-safe access to data within the getters and setters defined on the struct.


[ERROR TEMPLATE] Java - Class not found

Name
Type
Code
Language

Class not found
Compile-time Error
java.lang.ClassNotFoundError
Java

Description
The specified class cannot be found within the program or libraries.
Sample Code
Add code here

Sample Error Message
Add message here

Implementation Checklist

[ ] Implemented analysis
[ ] Implemented explanation translation
[ ] Implemented bug fix generation
[ ] Add tests

Duplicate of #46


Need an error message when no sayings have an action tag.

Right now it just throws a weird console error that isn't very helpful.

Closed by https://github.com/samtecspg/articulate/commit/7c35cf8c30cf7bf60901529c575dd97b9e6e1ba1


CPV stops when View is reused

Commit 8ea4a9d73edc607cbf42a932bc1811bebfc32b58 resolves the memory leak but introduces a minor issue. When using the CPV in a ListView or RecyclerView where Views are recycled/reused the CPV hangs when it gets visible the second time. The solution is to override onAttachedToWindow() and call startAnimation() there.
I think you could even move the block
if(autostartAnimation)
    startAnimation();

from init(AttributeSet attrs, int defStyle) to onAttachedToWindow().

Just released v2.3.2 with the fix, should be available in a few hours.


no match on UTF-8 chars

Tried to rename some french files with UTF-8 chars in it (û) and it seems it does not even match.

It works for me. Is your terminal UTF8?
$ ls
2022-août_alan.pdf

$ brename -il -p '^.*août.*$'
[INFO] main options:
[INFO]   ignore case: true
[INFO]   search pattern: (?i)^.*août.*$
[INFO]      skip filters: ^\.
[INFO]   include filters: .
[INFO]   search paths: ./
[INFO]
2022-août_alan.pdf

it seems that yes

one thing i could think about it's that the file wasn't created by me but downloaded. maybe the encoding of the file name is not utf8 i must check with a file created by me


Revert "Accordion tokens "

Reverts gtmhub/figmaTokens#74

Let's have someone review and test it first :) @tsnikolov


spin out a simpler trainer that could be easily understood as a standalone repository.

Redesigning the InstructLab Training Repository
We aim to redesign the InstructLab training repository with a focus on simplicity, modularity, and performance. The goal is to create a standalone, research-oriented trainer that can be used by anyone experimenting with new research directions.
Philosophy
The philosophy behind this redesign is to create a "small form factor and extremely fast (throughput-wise) trainer". This trainer should be easy to read, understand, and modify. Users might want to change how gradients are aggregated, create new samplers based on gradient statistics, support new types of Language Models (LLMs), optimizers, and so on.
By creating a trainer that is easy to use and modify, we hope to attract more users from the research community and foster faster innovation. We aim to provide an alternative to trainers like the one from Hugging Face, which, while comprehensive, can be complex due to its support for a wide variety of data formats, sharding strategies, accelerators, and abstractions.
Structure
The fine tuning trainer should be shallow, with a simple script-wise separation across the following areas:

Tokenization and Data Preprocessing: This component will handle the conversion of raw data into a format suitable for model training.
Model Loading and Modifications: This component will manage the loading of pre-trained models and any necessary modifications, such as overloading the loss function or changing the way embeddings are computed.
Sharding Strategies, Quantization, and LoRA Wrapping: This component will handle the distribution of data and model parameters across multiple devices, as well as any necessary quantization or LoRA wrapping.
Distributed Data Sampling: This component will manage the sampling of data for distributed training.
Checkpointing: This component will handle the saving and loading of model checkpoints.
Training Loop: This component will manage the main training loop, including forward and backward passes, optimization steps, and gradient updates.
Logging and Monitoring: This component will handle the logging of training metrics and any necessary monitoring of the training process.

By structuring the trainer in this way, each component can be modified (mostly) independently, making it easier for users to customize the trainer to their needs. This structure also makes the trainer easier to understand, as each component has a clear, well-defined role.
Advantages
This approach has several advantages:

Simplicity: By focusing on a small set of core features, the trainer is easier to understand and use.
Modularity: Users can easily modify or replace parts of the trainer without affecting the rest.
Performance: By focusing on throughput, the trainer can train models more quickly.
Innovation: By making the trainer easy to modify, we encourage users to experiment with new ideas and contribute to the development of the trainer.

Thank you for writing this up!  One small question -- what would you say makes it "research-oriented" vs. more general purpose (for research and beyond)?  When I hear "research-oriented", I also hear "not for production use," which I'm pretty sure isn't your intention!

a "stable" version of the upstream repository will be the production branch. Whatever has been battle tested and shown to work. But the upstream repo should move faster.

and faster moving in training is necessarily research-oriented.

it's just moving the functions around and organizing, no core logic will be changed since this is as "edge" as you can get atm and it's what will be the first production-rated trainer (since we have tested that everything works as expected).

a "stable" version of the upstream repository will be the production branch. Whatever has been battle tested and shown to work. But the upstream repo should move faster.

OK. It sounds like you also have a git branch and release management strategy in mind? This seems important to capture somewhere.

branch vs tags vs forks. That should be discussed for whatever people think is better for the community.


⚠ ClamAV has degraded performance

In 111c392, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 109 ms

Resolved: ClamAV performance has improved in 43be59b.


Description overflowing

Description:
The description of the repo is overflowing due to more content due to which the visit and contributors buttons are not visible.
Screenshot

Expected behavior:

Tips
To use text ellipsis and max line functionality

Hey, @dk-a-dev, I can resolve this issue, Can I proceed with it?


agent: remove powermock from tests

Description
This PR removes usage of powermock from agent's tests.
After this change, this is the remaining usage of powermock left.
$ git grep "PowerMockito" | tr "/" " "| awk '{print $1, $2, $3, $4}' | sort | uniq -c
     76 api src test java
     51 core src test java
     37 engine schema src test
     68 engine storage configdrive src
      9 engine storage snapshot src
     11 plugins acl project-role-based src
      3 plugins database quota src
    150 plugins hypervisors kvm src
      3 plugins hypervisors vmware src
     40 plugins hypervisors xenserver src
      5 plugins integrations kubernetes-service src
      2 plugins network-elements nicira-nvp src
     96 plugins network-elements tungsten src
      1 plugins storage volume storpool
     17 plugins user-authenticators ldap src
    196 server src test java
      4 services console-proxy server src
      2 services secondary-storage server src
      2 vmware-base src test java

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[x] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@blueorangutan package

Packaging result [SF]: :heavy_multiplication_x: el7 :heavy_multiplication_x: el8 :heavy_multiplication_x: el9 :heavy_multiplication_x: debian :heavy_multiplication_x: suse15. SL-JID 6242

@blueorangutan package

@vishesh92 a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_multiplication_x: el7 :heavy_multiplication_x: el8 :heavy_multiplication_x: el9 :heavy_multiplication_x: debian :heavy_multiplication_x: suse15. SL-JID 6245

@blueorangutan package

@vishesh92 a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 6257

@blueorangutan test

@rohityadavcloud a [SF] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-6757)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 39217 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7637-t6757-kvm-centos7.zip
Smoke tests completed. 111 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

code lgtm
@vishesh92
are you still working on other tests ? will you update this PR or create new PR ?

@weizhouapache I was planning to create separate PRs. Not sure how much time it will take to replace all the tests. And I don't want to have one huge PR with a lot of changes.

@weizhouapache I was planning to create separate PRs. Not sure how much time it will take to replace all the tests. And I don't want to have one huge PR with a lot of changes.

@vishesh92
fine, I will merge this


dev2: resave.py updates

[x] fix well version numbers: see https://github.com/ome/ome2024-ngff-challenge/pull/3#issuecomment-2230340067

I didn't find any other issues before today's meeting. Merging for testing.


Sign in popup never showed up - Unable to push code "Invalid username or password."

I was having issues with pushing branches with workflow changes in them so tried to revoke access to this extension through GitHub and then delete and re-install the extension.
However, this seems to have irreversibly broke it and I have tried every other solution suggested for similar problems. Every time I try to do one of the fixes the sign in notification never shows up.
Note that I am in a git repository and see two empty boxes when I go to the extension's viewlet:

The exact error I am getting from git when trying to push my code is
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/UltimatePro-Grammer/JSQL.git/'

Is there a way to force authenticate? I have seen suggestions to use the Github Pull Requests: Sign in to GitHub command, though that does not show up in my command palette.
Extension version: 0.20.1
VSCode version: 1.50.1
Operating System: MacOS
Any help would be greatly appreciated as I have been stuck on this for quite some time.
Note also that I don't get any errors from anything until I try to push my code.

There should be an option to sign out of an account at the bottom of the activity bar, are you still signed in there?

@RMacfarlane Yes, I am. Should I sign out?

Yeah, can you try signing out? The option to sign in should appear again, which should prompt you to reauthorize

Okay, I signed out. All that popped up was a notification that said "Successfully signed out." What should I do now? Additionally, when I click on the account button it still says I am signed in.

Update:
I fixed it! Here's what I did for anybody in the future,

Click on the profile button on the bottom left and select "Sign Out" on the one that says [your GitHub username] (GitHub)
Once signed out, uninstall and reinstall the extension.
You should see a notification pop up on the profile button after downloading. Click on the profile button and choose "Sign in"
After these steps I am no longer having the issue!


Fix frontend queries

Quickly fixing the frontend queries acc. to all the GraphQL schema changes that now are on master, I thought... ;-)
Now it's a single failing CreateBox test that I can't figure out the reason for.
@spaudanjo I still hope this PR makes the next iteration for the FE easier =) if you don't mind I would assign the rest of the work to you.
(Don't mind the failing BE tests, it's not related to this PR but some Auth0 env variables that are troubling during #71 ).

Hola @pylipp thanks! :) I aim to look into it today!

I couldn't resolve the issue yesterday ad-hoc.
I propose the following:

I would like to have a review/catchup at first of the latest schema changes at the beginning of the next hackathon (ideally with your help if you will join @pylipp - something like 20-30 minutes).
Then I will look into fixing this test and the UI (doesn't work locally for me atm to create a new box) so we can merge the PR.
I would also like to understand maybe already existing best practices (otherwise coming up of / aligning on some) for local manual testing/development (resetting mock data in the Mysql etc - currently it behaves a bit funny sometimes).
And then also a review of the current app codebase, user flow and next frontend tickets as suggested last week.

btw: looks like there is now a user-id (createdBy) needed when creating a new box, right?

btw: looks like there is now a user-id (createdBy) needed when creating a new box, right?

Yes!

@spaudanjo I like your proposals!
The createdBy field has been removed again in #71 . I think it's improper design to let the client specify user information. Instead it is derived from the JWT authentication information (and hence handled on the backend).


allowToLock

Hi, first of all thanks for your awesome work!
I don't want that users can back after unlock action. I've probed with allowToLock: false but nothing happens... can you help me?
Thanks!
NB

Thanks a lot Nahuel.
I have update the code, it should be good now.
Try it and let me know.
Thanks,
Wesam


Fix TLS handshake issue in ingress

Description:
Fix the issue occurred during TLS handshake.

Testing done:

Affected area:

Functional Area

New Functionality
[ ]

CI System
[ ]

CLI Tool
[ ]

Certificate Management
[ ]

Control Plane
[ ]

Demo
[ ]

Documentation
[ ]

Egress
[ ]

Ingress
[x]

Install
[ ]

Networking
[ ]

Observability
[ ]

Performance
[ ]

SMI Policy
[ ]

Security
[ ]

Sidecar Injection
[ ]

Tests
[ ]

Upgrade
[ ]

Other
[ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project?

Did you notify the maintainers and provide attribution?

Is this a breaking change?

Has documentation corresponding to this change been updated in the fsm-docs repo (if applicable)?

Codecov Report
Patch and project coverage have no change.

Comparison is base (d77f3d6) 48.60% compared to head (8553a2a) 48.60%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@              Coverage Diff              @@
##           release/v1.1      #69   +/-   ##
=============================================
  Coverage         48.60%   48.60%
=============================================
  Files               194      194
  Lines             14477    14477
=============================================
  Hits               7037     7037
  Misses             7397     7397
  Partials             43       43

Flag
Coverage Δ

unittests
48.60% <ø> (ø)

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

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


learn-the-css-box-model-by-building-a-rothko-painting challenge - missing information about different css box models

Describe the Issue
https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/
Challenge called "Learn the css box model by..."
There are bunch of steps which describes some parts of the box model, a lot of steps about changing colors etc
But it looks like there is no step describing that there are different models available like content-box, border-box etc
And in the next project https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-7 there is a phrase:

Normalize your box model by creating a * selector and setting the box-sizing property to border-box as the value.

But there was no information before that about border-box and what is it and why we are setting it to border-box here
Affected Page
https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/
Steps to Reproduce
Just go through challenge
Recommended fix or suggestions
It will great if "Learn the css box model" project will include information about different box-sizing values
Screenshots
No response

*{
box-sizing : border-box;
}
please check this...I think it is correct

@kuswanth-kumar
yeah, I've seen this.
but, before that there was no explanation about box-sizing property and what values it can have
it seems to me that it will be nice to learn this in "learn css box model section"

I think there is no change being reflected after using the border box on the right hand side, so its quiet tough for user to determine what happened after using it.

We need to add a lesson before this which introduces the box-sizing property to give clarification to the user.

body { margin: 0;
font-family: sans-serif;
background-color: #f5f6f7;
}

Hi @miyaliu666. This is the issue I’ve trying to solve. I added a lesson on the box-sizing property

Hi @CBID2 thank you for the update. As the doc shows, we usually translate curriculum on Crowdin. If the new lesson is added to Crowdin, I'll translate it into Chinese soon.

Hi @CBID2 thank you for the update. As the doc shows, we usually translate curriculum on Crowdin. If the new lesson is added to Crowdin, I'll translate it into Chinese soon.

Thanks @miyaliu666! I added the lesson in the PR that I showed you

Hi @naomi-lgbt could you check if we can translate the new step? I don't see it on Crowdin. Thanks.

Hi @naomi-lgbt could you check if we can translate the new step? I don't see it on Crowdin. Thanks.

Hey @miyaliu666. I think this message on Discord would help: https://discord.com/channels/692816967895220344/986360173381705838/1140124340608847893

The PR will need to be merged before translations can be made. I've synced the necessary files to allow the tests to pass.