(I#2442) Setup glossary for translations with Weblate

Fixes #2442
Changes proposed in this pull request:

Added glossary in json format

Looking at weblate, it looks like we already have something there, so perhaps we do not need to store anything in the repository and the issue can be closed, no?

@wetneb: what we have in Weblate is a very good start in English. But I lack to see where we can link different language for the Glossary. From the description of this issue, you clearly stated that you wanted to link Facet with Facette. But nothing so far as address that part of the issue.
I think the issue still need work, but correct me if I'm wrong.
Also, having the values of the Glossary saved along it's corresponding Repo evolution seams a good enough reason to have the JSON export in our repo. Am I wrong? But I agree the selected place might not be the best.
Regards, Antoine

OK! I haven't actually looked deep into how Weblate's glossary currently works.

@antoine2711 @trnstlntk can I leave this PR to you then, as you have been thinking about this topic recently?

@antoine2711 @trnstlntk can I leave this PR to you then, as you have been thinking about this topic recently?

Yes, I'm happy to look at this further.
I translate OpenRefine's interface to my native language, Dutch. I think I agree with @wetneb's assessment that a JSON file in our own repo is not what we need here; the glossary should be maintained and updated through Weblate's end user interface by the community of translators, and translations should be added in each language there. So perhaps this issue has been a bit out of place here.
That said @WaltonG: although I will be declining your PR, I think your work has not in vain at all - I will take the files you created and will look into integrating the content additions in Weblate itself. Thanks for looking into this!

@trnstlntk: I think we can keep this issue openend as there are still questions not answered.
Yes, we currently have a glossary on Weblate, but it's only in English. We should also have the translation/link to our main languages IN the glossary. The picture of the documentation suggest it is possible.

that a JSON file in our own repo is not what we need here

The data for the glossary is already on Weblate, and will stay there in any case. But, on Weblate, we have no history, only the latest version. By keeping a JSON on our repo, it stores the changes along the way with no efforts. Also, have a JSON file enables manipulation, like building a table for translation, etc. This is just a small +, there probably exists an export option on Weblate, but it's not obvious.
Also, I still have questions about the glossary.

Should the terms that starts with an uppercase, or a lowercase?
Should we keep the plural form, or the singular, or both?!

I think we could still investigate a bit this issue.
Regards, Antoine

Yes, we currently have a glossary on Weblate, but it's only in English. We should also have the translation/link to our main languages IN the glossary. The picture of the documentation suggest it is possible.

I actually added quite a few terms to the general glossary ('Terminology') through / from Dutch. And those terms that I added, are now available for other languages to translate as well (example of untranslated terminology in French)
That said, Weblate's own interface for finding, managing and working on this multilingual glossary is not optimal, and their documentation is only super basic and quite technically oriented.

that a JSON file in our own repo is not what we need here

The data for the glossary is already on Weblate, and will stay there in any case. But, on Weblate, we have no history, only the latest version. By keeping a JSON on our repo, it stores the changes along the way with no efforts. Also, have a JSON file enables manipulation, like building a table for translation, etc. This is just a small +, there probably exists an export option on Weblate, but it's not obvious.

Yeah, I also saw indications in Weblate's documentation that such automated export / syncing should be possible. But how/where? I've clicked through the entire admin interface but could not find it.
My main perspective is that of our translators (who will usually not have a technical background). For their ease of use I think it's best to keep all functionalities in Weblate itself (it's already not obvious to point people to Weblate; how will we make it clear to them that they need to translate the glossary elsewhere?). I see the arguments re: usefulness of a JSON backup, but for me, more and better translations (and an easy, single interface for that) are the main priority.

Also, I still have questions about the glossary.

Should the terms that starts with an uppercase, or a lowercase?
Should we keep the plural form, or the singular, or both?!

I have these questions too. This is where Weblate's own documentation is really lacking. They explain (extremely minimally) where to find certain functionalities, but there are no indications or examples of the 'social' side, of best practices for communities.
I guess, for now, we'll have to figure this out for ourselves.
My first impression is that:

We can use lowercase everywhere - Weblate will recognize if a term is used with capitalization
But we need to create entries for each singular/plural/abbreviation variant (column/columns) because Weblate does not recognize the difference between these.

That said, Weblate's own interface for finding, managing and working on this multilingual glossary is not optimal, and their documentation is only super basic and quite technically oriented.

@trnstlntk: maybe we should compensate with our own documentation, simple and centered around the task our contributors do.

Yeah, I also saw indications in Weblate's documentation that such automated export / syncing should be possible. But how/where? I've clicked through the entire admin interface but could not find it.

Having a copy file in our repo would make that data available and seeable. Behind Weblate's servers, is harder to see/manipulate.  So I have not a strong opinion. But I do see some value.

how will we make it clear to them that they need to translate the glossary elsewhere?).

I think there might be a misunderstanding here: users don't need to manipulate this file. They don't even need to know it exists.It makes nothing more complicated. Users will always go (or be able to go) to Weblate. It's not one or the other.

I guess, for now, we'll have to figure this out for ourselves.
My first impression is that:

We can use lowercase everywhere - Weblate will recognize if a term is used with capitalization
But we need to create entries for each singular/plural/abbreviation variant (column/columns) because Weblate does not recognize the difference between these.

Agree
Wow. This is really a problem. Are they working on a solution for that... It seams hard to manually create these copies.

Overall, I would be in favor of having on our side more documentation, with our working process described.
Regards, Antoine


why can't connect to the openai,show me the error Internal server error. Please try again.

POST  https://api.xlang.ai/api/chat
chat_id: "653932ea61e242a5c16c529e"
response：
{"success": false, "error": "internal", "error_msg": "Internal server error. Please try again."}
how can i fix it?

Thanks for your feedback! Please re-login to double-check if it is okay now.

Closed as the demo is online now. More about demo can be discussed in discord!


Different type of Traversals in Binary Tree

I am participating in Hacktoberfest 2021
Traversals in Binary Tree :

PreOrder traversal
PostOrder traversal
InOrder traversal
Level Order traveral

Please assign me this issue

They are not considering dsa,cp,algorithm repository :(
all the pr will not be considered in hacktoberfest but your contribution will be for lifetime, this will help many students to practice dsa .
Thank you for your contribution :)
you can contribute to other repo


Bump Dependencies #5004787791

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/5004787791

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.jenkins-is-staging seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Error using Python 3.9.2

Reporting Issues:

[ ] Branch
Master 2
[ ] Operating system
Debian 11
[ ] Python version
3.9.2

Using the following command to install it
python3 -m venv venv
source venv/bin/activate
cd venv/bin
git  clone https://github.com/HTPC-Manager/HTPC-Manager.git
cd HTPC-Manager/
pip3 install pip --upgrade
pip3 install --no-cache-dir wheel  colorama xmltodict ssdp mako cherrypy sqlobject requests requests_futures jsonrpclib apscheduler

[ ] FULL log (not just a few lines!) that has the error.

Expand log
Paste your full log here

Starting HTPC Manager on port 8085.
Start your browser and go to http://localhost:8085

Traceback (most recent call last):
File "/root/htpc/venv/bin/HTPC-Manager/./Htpc.py", line 268, in
main()
File "/root/htpc/venv/bin/HTPC-Manager/./Htpc.py", line 265, in main
start()
File "/root/htpc/venv/bin/HTPC-Manager/htpc/server.py", line 195, in start
cherrypy.config.update({
File "/root/htpc/venv/lib/python3.9/site-packages/cherrypy/_cpconfig.py", line 157, in update
super(Config, self).update(config)
File "/root/htpc/venv/lib/python3.9/site-packages/cherrypy/lib/reprconf.py", line 130, in update
self._apply(Parser.load(config))
File "/root/htpc/venv/lib/python3.9/site-packages/cherrypy/_cpconfig.py", line 167, in _apply
super(Config, self)._apply(config)
File "/root/htpc/venv/lib/python3.9/site-packages/cherrypy/lib/reprconf.py", line 142, in _apply
self.namespaces(config)
File "/root/htpc/venv/lib/python3.9/site-packages/cherrypy/lib/reprconf.py", line 92, in call
handler(k, v)
File "/root/htpc/venv/lib/python3.9/site-packages/cherrypy/_cpconfig.py", line 270, in _engine_namespace_handler
plugin = getattr(engine, plugin)
AttributeError: 'Bus' object has no attribute 'timeout_monitor'
Close your issue when it's solved! If you found the solution yourself please comment so that others benefit from it.

Probably the CherryPi version we force starts to cause issues now: https://github.com/HTPC-Manager/HTPC-Manager/blob/master2/requirements.txt#L14
Can you try that before doing the pip install:
sed -i '/cherrypy/c\cherrypy'

So the newest version is pulled.
@gmiranda I remember you pinned that version because of performance reasons. Probably it can be re-validated.

Ah lol, I misread the situation. The issue is not the too low CherryPy version, but the too recent version you manually installed. Please use the requirements.txt to install dependencies, which contains cherrypy < 9.0, which still has support for timeout_monitor, which got removed with v12: https://github.com/cherrypy/cherrypy/blob/main/CHANGES.rst#v1200
pip3 install -r requirements.txt

It's a good idea to replace this call and re-evaluate whether to stay on such an old CherryPy version or not, but that's a different question. I'll hence mark this issue as closed.


⚠ Blog博客 has degraded performance

In 313261f, Blog博客 (https://blog.fangkehou.eu.org) experienced degraded performance:

HTTP code: 200
Response time: 6125 ms

Resolved: Blog博客 performance has improved in b2fa43e.


Release manager for image-tools

@vbatts volunteered to be a release manager here but I believe @xiekeyang is also interested and there may be others.
@vbatts want to help out @xiekeyang with the process? I know some of it's documented here:
https://github.com/opencontainers/image-tools/blob/master/RELEASES.md#planning-a-release

awesome!

@caniszczyk @vbatts I'm glad to take responsible for releasing work. I have no experience before. So I'm appreciated for @vbatts help.

@cyphar thanks for releasing 0.1.0 package. It had better to paste the vote link on release note.
Another question, I take notice that for OCI tools like runtime-tools and runc, there is not integrity and signature verification. You add signature verification to image-tools. Maybe it is necessary of integrity verification, but if necessary of signature verification?
@opencontainers/image-tools-maintainers How to determine the interval of new version release? Refer to image-spec, I think we can release the new one after some big feature or many(10~20) patch merged, not to be limited by time(every 2 or 3 weeks). Do you agree?

vote result link: https://groups.google.com/a/opencontainers.org/forum/#!topic/dev/niFeAfPy4uE

@xiekeyang For runc I've always signed tags and signed binaries when I did a release. I know that other maintainers haven't done it in the past, but that's not a good idea IMO. @vbatts similarly always signs tags. I was trying to get requirements about signed tags and releases into CONTRIBUTING.md last year but we decided to punt on it and leave it up to the maintainers.
As for the cadence of releases, time-based releases aren't a bad idea while we're still pre-1.0.

Closing this, as someone (that isn't me) has done one release!
@xiekeyang if you have feedback on the process, that can be PRs to the release process, please open them. :100:

@opencontainers/image-tools-maintainers As only 3 PRs (no big features) were merged after v0.1.0, I want to postpone release vote at least one week, is it OK?
@cyphar Could you please present a manual of gpgsign for released packae here or where I can access, I would arrange and paste them to RELEASE.md. Thanks so much!

postpone release vote of v0.2.0

I consider the weekly release cadence to be a guideline (runC definitely hasn't followed it, and neither has runtime-tools). The release rules are more important for specs than for the tool repos. I'll write up how to sign everything later today.

On Wed, Mar 15, 2017 at 02:38:41AM -0700, Aleksa Sarai wrote:

I consider the weekly release cadence to be a guideline (runC
definitely hasn't followed it, and neither has runtime-tools).

The only OCI release timeline policy I can find is for specs (so
*-spec, but not runC or *-tools), and that recommends a monthly
cadence 1.  There is (for specs) a one week minimum, but that's
mostly because a new release can only be proposed after its parent has
landed 2 and votes should cook for a week to collect feedback 3.
So I don't think there's a weekly cadence recommendation to worry
about ;).  Cutting monthly releases, or just waiting for sufficient
changes to build up in master, sounds good to me.

@xiekeyang Here is the document. https://gist.github.com/cyphar/21a1b213901a0a0ec19764ac03646ebe


Offset specifications ignored when using SuperStream with stream plugin

RabbitMQ version: 3.13
rstream version: 0.15.0 and 0.16.0
python version: 3.11
Hello,
I am currently trying to set up a superstream with single-active-consumer for an application that needs partial ordering.
To handle the situation where there are no consumers available,  I am trying different configuration for the offset specification, but I am simply not able to make it work, as it seems like rabbitMQ switches by default to the NEXT offset spec once it activates the single active consumer.
I am running rabbitMQ on docker with the following image: rabbitmq:3.13.0-rc.4-management-alpine
I am using the following plugins: [rabbitmq_prometheus,rabbitmq_management,rabbitmq_web_dispatch,rabbitmq_management_agent,rabbitmq_stream,rabbitmq_stream_management].
I don't have any configuration, apart from log levels and default user and psw.
These are the logs that I can see from the rabbitMQ terminal when using any type of offset specification:
2024-02-14 16:38:32 2024-02-14 15:38:32.766277+00:00 [debug] <0.2008.0> Creating subscription 1 to <<"stream-events-2">>, with offset specification last, properties #{<<"name">> => <<"stream-events">>,<<"single-active-consumer">> => <<"true">>,<<"super-stream">> => <<"stream-events">>}
2024-02-14 16:38:32 2024-02-14 15:38:32.766590+00:00 [debug] <0.754.0> Looking for partition index of stream <<"stream-events-2">> in super stream <<"stream-events">> (virtual host <<"/">>)
2024-02-14 16:38:32 2024-02-14 15:38:32.766683+00:00 [debug] <0.754.0> Bindings: [{binding,{resource,<<"/">>,exchange,<<"stream-events">>},
2024-02-14 16:38:32 2024-02-14 15:38:32.766683+00:00 [debug] <0.754.0> <<"2">>,
2024-02-14 16:38:32 2024-02-14 15:38:32.766683+00:00 [debug] <0.754.0> {resource,<<"/">>,queue,<<"stream-events-2">>},
2024-02-14 16:38:32 2024-02-14 15:38:32.766683+00:00 [debug] <0.754.0> [{<<"x-stream-partition-order">>,longstr,<<"2">>}]}]
2024-02-14 16:38:32 2024-02-14 15:38:32.838326+00:00 [debug] <0.1995.0> No initial dispatch for subscription 1 for now, waiting for consumer update response from client (single active consumer)
2024-02-14 16:38:32 2024-02-14 15:38:32.838490+00:00 [debug] <0.1995.0> Subscription 1 on <<"stream-events-1">> instructed to become active: true
2024-02-14 16:38:32 2024-02-14 15:38:32.838531+00:00 [debug] <0.1995.0> Registering RPC request #{active => true,stream => <<"stream-events-1">>,
2024-02-14 16:38:32 2024-02-14 15:38:32.838531+00:00 [debug] <0.1995.0> subscription_id => 1,
2024-02-14 16:38:32 2024-02-14 15:38:32.838531+00:00 [debug] <0.1995.0> consumer_name => <<"stream-events">>} with correlation ID 0
2024-02-14 16:38:32 2024-02-14 15:38:32.838999+00:00 [debug] <0.1995.0> Received consumer update response for subscription 1 on stream <<"stream-events-1">>, correlation ID 0
2024-02-14 16:38:32 2024-02-14 15:38:32.839031+00:00 [debug] <0.1995.0> Initializing reader for active consumer (subscription 1, stream <<"stream-events-1">>), offset spec is next
2024-02-14 16:38:32 2024-02-14 15:38:32.839117+00:00 [debug] <0.1995.0> osiris: initialising reader. Spec: next
2024-02-14 16:38:32 2024-02-14 15:38:32.839904+00:00 [debug] <0.1995.0> Next offset for subscription 1 is 0
2024-02-14 16:38:32 2024-02-14 15:38:32.839930+00:00 [debug] <0.1995.0> Dispatching to subscription 1 (stream <<"stream-events-1">>), credit(s) 10, send limit 5
2024-02-14 16:38:32 2024-02-14 15:38:32.841599+00:00 [debug] <0.1995.0> Subscription 1 (stream <<"stream-events-1">>) is now at offset 0 with 0 message(s) distributed after subscription

So, while it seems that the offset is correctly received, at some point it gets removed and set to next.
This is the same log if I don't set up a single active consumer:
2024-02-14 17:34:00 2024-02-14 16:34:00.522794+00:00 [debug] <0.8112.0> Creating subscription 1 to <<"stream-events-2">>, with offset specification last, properties #{<<"name">> => <<"stream-events">>,<<"super-stream">> => <<"stream-events">>}
2024-02-14 17:34:00 2024-02-14 16:34:00.522905+00:00 [debug] <0.8112.0> osiris: initialising reader. Spec: last
2024-02-14 17:34:00 2024-02-14 16:34:00.534769+00:00 [debug] <0.8112.0> Next offset for subscription 1 is 0
2024-02-14 17:34:00 2024-02-14 16:34:00.535088+00:00 [debug] <0.8112.0> Distributing existing messages to subscription 1 on <<"stream-events-2">>
2024-02-14 17:34:00 2024-02-14 16:34:00.536426+00:00 [debug] <0.8112.0> Subscription 1 on <<"stream-events-2">> is now at offset 0 with 0 message(s) distributed after subscription

As you can see in the logs above, the offset is correctly propagated (I don't have messages in the queue in this example, but they would have been correctly consumed)
For reference, this is the code I'm using,  with python 3.11 and rstream 0.15.0:
consumer = SuperStreamConsumer(
  host=MYHOST,
  port=5552,
  vhost="/",
  username=USERNAME,
  password=PASSWORD,
  super_stream="stream-events",
  connection_closed_handler=reconnect,
)
offset_specification = ConsumerOffsetSpecification(OffsetType.LAST, None)
await consumer.start()
properties: dict[str, str] = defaultdict(str)
# properties["single-active-consumer"] = "true"  # This is the only line that I changed between tests
properties["name"] = "stream-events"
properties["super-stream"] = "stream-events"
await consumer.subscribe(
  callback=on_message, decoder=amqp_decoder, offset_specification=offset_specification, properties=properties
)
await consumer.run()

I also have tried rstream 0.16.0. I haven't included the callbacks code, but I can add that if it could be the culprit (but note that the logs above happen without consuming any actual message)
The only thing that changes between the two tests is the commented line for the single-active-consumer.
Also, this is the exchange and partition configuration:

Given the above explanation, do you know if this is a limitation of RabbitMQ, rstream or am I doing something wrong  with the configuration?

I'm not familiar with rstream code, but a stream client library is likely to look up the last stored offset for a consumer with a name and use it instead of the offset specification set up by the user. You may try without a name for a consumer or with a random string each time you subscribe.
That does not explain why there's a different behavior when the single active consumer flag is set up or not though.

HI @vittoriom94 Having a look to the sac consumer example here:
https://github.com/qweeze/rstream/blob/master/docs/examples/single_active_consumer/single_active_consumer.py#L37
It seems like we can override this behaviour by returning the OffsetSpecification desired here.
Did you already try? Or can you try it out?

Thank you! That's the step I was missing.
I missed the part where the default behaviour is to assign NEXT to consumers and I assumed that they would inherit the offset_specification passed in the subscriber!


feat(llm): convert function call request for non-funcall OSS model

End-user friendly description of the problem this fixes or functionality that this introduces

[ ] Include this change in the Release Notes. If checked, you must provide an end-user friendly description for your change below

Give a summary of what the PR does, explaining any non-trivial design decisions
This PR adds a general utility that automatically converts function-calling LLM requests to non-function-calling LLM requests under the hood.

This get rid of the need to maintain two set of prompts for (1) function calling and (2) non-function calling models, and will greatly reduce our maintenance burden.
Function-calling is now by default ON: Going forward, we only need to iterate on "function calling mode" only, and the "non-function calling backward-compatibility" will automatically happen under the hood.
We now curate a list of "supported function calling model" in llm.py based on our evaluation result below:

Evaluation results so far:

Claude is still the default to-go model :)
Llama 3.1 70B & Gemini-002-pro barely worked in function calling mode, but works much better with non-function calling
For OSS: Llama, Qwen, Deepseek are all good options (though with low resolve rate)

Link of any specific issues this addresses
Should fix https://github.com/All-Hands-AI/OpenHands/issues/4865

To run this PR locally, use the following command:
docker run -it --rm   -p 3000:3000   -v /var/run/docker.sock:/var/run/docker.sock   --add-host host.docker.internal:host-gateway   -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:628201b-nikolaik   --name openhands-app-628201b   docker.all-hands.dev/all-hands-ai/openhands:628201b

This is a great idea and a great PR. We should be doing this, it will be better to clear out that FC/non-FC code...
However, I do have some (unbaked) thoughts. For the sake of clarity I'll express them a bit rough, even though it's hard to be sure of this kind of stuff.
I think those results are interesting because they ... don't match expectations. My intuitions were that

most, not all, but most LLMs that natively support fc would work the same or a bit better
gpt-4o fc results would be below, but visibly in the "same class"
gemini (!) fc results would be below, but visibly in roughly the "same class" (1% !  👀 🫨)
fc or non-fc, some OSS results would be sort of close

I think a possible explanation of these results, in part, is that we are now doing a fairly extreme version of optimizing prompts for Claude. We're not just "not helping" these other LLMs, we might be prompting in some ways that are "bad" for them.
Just for illustration, a few examples of what I mean:

Deepseek with browsing agent can respond correctly, but fail the task: it responded with a message sent with python variables, when our framework expected just a text. Note: it did follow instructions. We just didn't see Claude responding this way to these instructions so our code assumed it won't happen.
Gemini falls into this stuck scenario. I find this interesting because I've never seen CodeAct hit that before. That code was literally, IMO, dead code, for months, it was there since monologue agent's times, and I honestly thought to remove it (or keep it for the amazingly precise reason "in theory it's not reaaaaally impossible" 😅).
IMHO, what this says is that our CodeAct prompts are enough for GPT-4o to not hit that. But they're not appropriate enough for Gemini.

I feel like we may need to consider prompting better and test/respond better for like 3-4 LLMs, of which at least one OSS...
But I don't know if/how we may want to square this circle, to both:

try to give at least 3-4 LLMs other than Claude a fair chance to show us what they can do,
and in the same time ... I do agree that maintaining 2 sets of prompts is not great... let alone 3-4.

Other note:

have we looked at Nous Research Llamas? I would hope we can try it sometime. And/or Llama 3.2 ?

Hey @xingyaoww ! Have you seen this? https://x.com/ollama/status/1861442333385892026
I think it may be relevant to this PR!

gemini (!) fc results would be below, but visibly in roughly the "same class" (1% ! 👀 🫨)

For Gemini, the bad function calling result is more likely a bug / artifact
It is able to call tools correctly early in the interaction
But it starts to add a weird "fields" to the tool call later in the same trajectory 😓

I looked into the Gemini native API and its docs mention 'fields'. I guess the model must have been trained with fields for some reason 🫣


Prepare for OCaml 4.08

OCaml 4.08 is now in release candidate stage, which means that we should think about getting act (and its dependencies, such as travesty) ready to migrate over.
(Yay, 100th issue :tada:)

We can't do anything until either ppx_tools releases 4.08 support, or ppx_deriving drops the dependency on it.  Backburner'd.

This one smells like something only worth doing after the prototyping stage.

ppx_deriving recently updated to support 4.08, so I had a quick look to see whether we could move up without any effort.  Alas, no:

ppx_import doesn't support 4.08;
neither does ppx_deriving_yojson;
changes in the various packages that have recently moved to 4.08 have now broken clangml, which doesn't affect ACT yet but will if we change to using it for fuzzing/C manipulation;
and homebrew doesn't track 4.08 because camlp4 and camlp5 still don't support 4.08.

To say that 4.08 is a minor version increment from 4.07, it's sure managed to be a major sticking point!  (Probably because of things manually targeting a single version of the AST, but still).

Seems to work on 4.08 now, so I'ma close


minecraft-server: 1.12.2 -> 1.13.2 + service refactor

Motivation for this change
Wanted to run the newest minecraft server and additionall be able to configure the entire setup from nixos. Previously the service only allowed for starting with service (without configuration and agreeing to the eula). This new service does all of this.
Things done
minecraft-server: 1.12.2 -> 1.13.0
services.minecraft-server: refactor (fully configurable now and eula added)

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[X] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Fits CONTRIBUTING.md.

I think we should not expand all these options as NixOS options right now. Maybe enough options to make it possible to configure it using extraConfig for example, but this is probably too much to have in NixOS directly.

@grahamc happy to reduce the number of options. I will put most of the options into one extraConfig attribute. Just out of curiosity is there a performance impact for having too many options in NixOS?

Thank you! Yes, the more options the slower NixOS evaluation time is for everybody -- whether or not you use the options.

@costrouc  I think it would be a good idea to merge the version bump separately. Do you want to update the PR or should I post a new one?

@Moredread yes I have been quite busy this week and haven't had time to fix all the issues. You are right that there are several versions. In addition some are pointing out that keeping old ones is important. I am looking to expose all versions similar to https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/sql/postgresql/default.nix#L102-L130

Sounds good :smile:

All I have taken the suggestions from everyone and here is what I have arrived at with these changes.
The pkgs.minecraft-server package changes:

exposes multiple versions (with 1.13.1 being default) minecraft-server1122, minecraft-server1130, minecraft-server1131. It is trivial to add older versions.

The services.minecraft-server service changes:

three new options

eula: true/false. This will symlink the eula.txt to /nix/store/... it will always overwrite.
whitelist: default value null will not overwrite whitelist.json if user specifies whitelist it will symlink over with /nix/store/..../whitelist.json (this does not enfore the whitelist you have to specify that in server.properties.
serverProperties: this was the most controversial option and there is not a perfect solution as far as I am aware. minecraft insists that this file is writable (otherwise it will crash trust me I have tried many different approaches). This means that a symlink to the nix store is not possible. any attributes that the user specifies will be merged with defaultServerProperties which can be referenced in the file. If a server.properties file already exists it will copy it to server.properties.old if that file does not exist (this way it does not throw away previous configuration). Since all the state is managed by nixos all the appropriate ports specified in serverProperties will be properly exposed in the firewall. This means that running minecraft on a different port is easy.

:+1:

Sounds great. Ready for merge

@calbrecht this commit is ready for merge. I have been using it for about 2 weeks now and it has worked .

@Infinisil I have made all of the changes that you requested. I have also tested that it works on my local machine.

@Infinisil is it a problem that the eval was not successful? The error message was that the software is unfree so it will not test.

@costrouc Are you still working on this? I think there isn't much missing for a merge.

@Moredread thanks for the ping. I made changes that should make it ready for merge. @Infinisil how does this look?

Unfortunately there's still some things to do, I'll fix them up myself though and push them.

 I'll explain what I did in some comments.

@costrouc Is that alright with you?

@Infinisil thank you for the help! And it looks great to me.

Also note that I had to add a declarative option (defaulted to false), in order for it to be backwards compatible (and for people who don't want a declarative config). Minecraft after all has support for setting server settings itself via commands ingame, which is quite useful, which you couldn't use if it was declarative only.

This seems to conflict with what's on staging, not sure the lineage/timeline involved but:
d5986720203b9ef5b603c741cffe798120bfbc5b
Anyway the question I'm hoping y'all can help answer is: how to resolve this? Are the changes made here the ones to keep (and how?)? Thanks!

Awesome, that's what I needed to know.  Thanks!
On Mon, 04 Feb 2019 20:02:08 -0800, André-Patrick Bubel<EMAIL_ADDRESS>wrote:

I think this PR completely replaces the file in question, so you could do git checkout pkgs/games/minecraft-server/default.nix -- origin/master (if this is the correct syntax) when merging to ignore changes on staging.
I'm on mobile so I hope I see the correct commits in the GitHub interface and don't confuse you. :p
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/pull/45412#issuecomment-460505190Non-text part: text/html


Fix debian InRelease Acquire-By-Hash newline

There is a missing newline when generating the debian apt repo InRelease file, which results in output like:
[...]
Date: Wed, 14 Feb 2024 05:03:01 UTC
Acquire-By-Hash: yesMD5Sum:
 51a518dbddcd569ac3e0cebf330c800a 3018 main-dev/binary-amd64/Packages
[...]

It appears this would probably result in apt ignoring the Acquire-By-Hash setting and not using the by-hash functionality, although I'm not sure how to confirm it.

I was unable to create a backport for 1.21. @rschoon, please send one manually. :tea:
go run ./contrib/backport 29204
...  // fix git conflicts if any
go run ./contrib/backport --continue


Separate some controller code into classes and add a test suite

I've moved some controller code into a separate file (phyx.js) and reorganized into a series of classes (#35), mostly wrappers around reactive Vue objects representing entites in PHYX files (such as a phylogeny, a phyloreference, a specifier or a taxonomic unit). I've also written a test suite in Mocha to continuously test these classes at import. Since these classes deal with some input data slightly differently than we used to (e.g. by using 'scientificName' instead of 'binomialName' if available), I've also updated the example PHYX files so they continue to work with the Curation Tool.

@hlapp Thanks for the review! I've filed an issue to add behavior-based tests to the Curation Tool test suite (#75), and I'm going to merge this assuming that I've adequately explained const { assert } = chai; If not, let me know and I'll fix it ASAP!


[BUG] Decimal issue with claimable GAS from sys_fee

Current behavior
All systems fees in transactions should be distributed to the NEO holders. In neo-python this becomes visible as unavailable GAS and after spending your NEO as available GAS to claim. If you have a wallet with 100M NEO inside, you should be getting the GAS of all systems fees. For example, if someone deploys a contract and spends 490 GAS then this GAS should become claimable in your wallet.
There seems to be a bug (in neo-python 0.8.4) where the calculation of system fee distribution is ignoring the decimal. So for example if you have 32920 GAS as unavailable for claiming, and a 490 GAS contract is being deployed, the counter increases to<PHONE_NUMBER>0 GAS (instead of the expected 33410). Any claiming of GAS will now also fail because the amount in the claim transaction is wrong.
Expected behavior
Correct incrementing of unavailable GAS for claiming in transactions with a sys_fee.
How to reproduce

Set up a private net
Make sure you have a wallet with 100M NEO
Wait until you can claim enough GAS to deploy a contract (490 GAS)
Claim GAS and deploy a contract (spending 490 GAS on sys_fee)
Type wallet to check your unavailable GAS balance in claims

Your environment

OS: Linux in Docker
neo-python version: 0.8.4
Python version: 3.7

Most likely related to https://github.com/CityOfZion/neo-python/pull/751 (and possibly https://github.com/CityOfZion/neo-python/pull/816). The former is the correct fix when comparing to the neo core code, so it is probably the result of an error propagation throughout the rest of the code.
I've confirmed the issue on 0.8.4. Not not yet known

reproducing the bug via neo-local shows that the unclaimed gas according to the local neo-scan instance is correct. This means that deploying goes fine and doesn't add super high fees, but that this is a visual representation issue.

It effectively breaks the wallet claim functionality
neo> wallet claim
Could not execute command: argument out of range
  File "/usr/lib/python3.6/threading.py", line 884, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.6/dist-packages/twisted/_threads/_threadworker.py", line 46, in work
    task()
  File "/usr/local/lib/python3.6/dist-packages/twisted/_threads/_team.py", line 190, in doWork
    task()
  File "/usr/local/lib/python3.6/dist-packages/twisted/python/threadpool.py", line 250, in inContext
    result = inContext.theWork()
  File "/usr/local/lib/python3.6/dist-packages/twisted/python/threadpool.py", line 266, in <lambda>
    inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
  File "/usr/local/lib/python3.6/dist-packages/twisted/python/context.py", line 122, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/local/lib/python3.6/dist-packages/twisted/python/context.py", line 85, in callWithContext
    return func(*args,**kw)
  File "/app/neo/bin/prompt.py", line 218, in run
    traceback.print_stack()
Traceback (most recent call last):
  File "/app/neo/bin/prompt.py", line 204, in run
    cmd.execute(arguments)
  File "/app/neo/Prompt/Commands/Wallet.py", line 68, in execute
    return self.execute_sub_command(item, arguments[1:])
  File "/app/neo/Prompt/CommandBase.py", line 75, in execute_sub_command
    return self.__sub_commands[id].execute(arguments)
  File "/app/neo/Prompt/Commands/Wallet.py", line 206, in execute
    return ClaimGas(PromptData.Wallet, True, from_addr_str, to_addr_str)
  File "/app/neo/Prompt/Commands/Wallet.py", line 339, in ClaimGas
    wallet.Sign(context)
  File "/app/neo/Wallets/Wallet.py", line 1209, in Sign
    signature = Helper.Sign(context.Verifiable, key)
  File "/app/neo/Core/Helper.py", line 67, in Sign
    hashdata = verifiable.GetHashData()
  File "/app/neo/Core/TX/Transaction.py", line 298, in GetHashData
    return Helper.GetHashData(self)
  File "/app/neo/Core/Helper.py", line 48, in GetHashData
    hashable.SerializeUnsigned(writer)
  File "/app/neo/Core/TX/Transaction.py", line 581, in SerializeUnsigned
    writer.WriteSerializableArray(self.outputs)
  File "/usr/local/lib/python3.6/dist-packages/neocore/IO/BinaryWriter.py", line 408, in WriteSerializableArray
    item.Serialize(self)
  File "/app/neo/Core/TX/Transaction.py", line 132, in Serialize
    writer.WriteFixed8(self.Value)
  File "/usr/local/lib/python3.6/dist-packages/neocore/IO/BinaryWriter.py", line 450, in WriteFixed8
    return self.WriteInt64(value.value)
  File "/usr/local/lib/python3.6/dist-packages/neocore/IO/BinaryWriter.py", line 259, in WriteInt64
    return self.pack('%sq' % endian, value)
  File "/usr/local/lib/python3.6/dist-packages/neocore/IO/BinaryWriter.py", line 118, in pack
    return self.WriteBytes(struct.pack(fmt, data), unhex=False)
struct.error: argument out of range

yeah it's a little bit deeper than just visual. The problem is that it persisted the sysfee value incorrectly in the local db :(


Extend license to 2015 and convert to Markdown

Is there a reason for this? I rarely ever see Markdown-formatted licensesm

Yes, licences are usually used verbatim as plain text.

Please leave it as text/plain and just change the year. Thanks!

NOTE: the year should be updated again to 2016.

Looks like this isn't needed anymore.


Transforming JavaScript decorators to the configured target environment ("nodeXX.Y.Z") is not supported yet

Precheck

[X] I searched existing issues before opening this one to avoid duplicates
[X] I'm able to reproduce this issue and prove it with a minimal reproduction
[X] I understand this is not a place to ask for free debugging support

Problem
As requested in 348
Even when a tsconfig.json containing "experimentalDecorators": true is in the root folder as the package.json, when running the commands using tsx or node importing tsx the following error is output
> npx tsx --tsconfig ./src/tsconfig.json src/main.ts

node:internal/process/esm_loader:34
      internalBinding('errors').triggerUncaughtException(
                                ^

Error: Transform failed with 2 errors:
/home/drush/Workspace/pocs/tsx-min-repo/src/health.controller.ts:3:0: ERROR: Transforming JavaScript decorators to the configured target environment ("node21.2.0") is not supported yet
/home/drush/Workspace/pocs/tsx-min-repo/src/health.controller.ts:5:2: ERROR: Transforming JavaScript decorators to the configured target environment ("node21.2.0") is not supported yet
    at failureErrorWithLog (/home/drush/Workspace/pocs/tsx-min-repo/node_modules/esbuild/lib/main.js:1649:15)
    at /home/drush/Workspace/pocs/tsx-min-repo/node_modules/esbuild/lib/main.js:847:29
    at responseCallbacks.<computed> (/home/drush/Workspace/pocs/tsx-min-repo/node_modules/esbuild/lib/main.js:703:9)
    at handleIncomingPacket (/home/drush/Workspace/pocs/tsx-min-repo/node_modules/esbuild/lib/main.js:762:9)
    at Socket.readFromStdout (/home/drush/Workspace/pocs/tsx-min-repo/node_modules/esbuild/lib/main.js:679:7)
    at Socket.emit (node:events:519:28)
    at addChunk (node:internal/streams/readable:559:12)
    at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
    at Readable.push (node:internal/streams/readable:390:5)
    at Pipe.onStreamRead (node:internal/stream_base_commons:190:23) {
  errors: [
    {
      detail: undefined,
      id: '',
      location: {
        column: 0,
        file: '/home/drush/Workspace/pocs/tsx-min-repo/src/health.controller.ts',
        length: 1,
        line: 3,
        lineText: '@Controller()',
        namespace: '',
        suggestion: ''
      },
      notes: [],
      pluginName: '',
      text: 'Transforming JavaScript decorators to the configured target environment ("node21.2.0") is not supported yet'
    },
    {
      detail: undefined,
      id: '',
      location: {
        column: 2,
        file: '/home/drush/Workspace/pocs/tsx-min-repo/src/health.controller.ts',
        length: 1,
        line: 5,
        lineText: "  @Get('health/readiness')",
        namespace: '',
        suggestion: ''
      },
      notes: [],
      pluginName: '',
      text: 'Transforming JavaScript decorators to the configured target environment ("node21.2.0") is not supported yet'
    }
  ],
  warnings: []
}

Expected behavior
I expect tsx should discover and use the  "experimentalDecorators": true value within tsconfig.json using either --tsconfig <path> or the TSX_TSCONFIG_PATH env variable.
Minimal reproduction URL
https://github.com/darcyrush/tsx-min-repo
Version
4.1.2
Node.js version
21.2.0
Package manager
npm
Operating system
Linux
Contributions

[ ] I plan to open a pull request for this issue
[ ] I plan to make a financial contribution to this project

Sounds like an esbuild limitation. Can you also file it over at https://github.com/evanw/esbuild?

This is happening because of tsx's implementation of tsconfig. You only listed main.ts in tsconfig.json#files so it only applies that config to main.ts.
Seems TypeScript compiler constructs a dependency tree from files and applies the tsconfig to all of them. I can fix tsx to follow this behavior, but it would really throw a wrench into scenarios where users want to load multiple tsconfigs (monorepos).
For now, you can work around this by adjusting your files or includes in tsconfig.json.

Seems TypeScript compiler constructs a dependency tree from files and applies the tsconfig to all of them.

Yes, I stumbled across this 'feature' and find that it works well with es-lint as super cheap tree-shaking to find unused files in our projects. It would be great if tsx could emulate the same behavior as tsc in this respect at some point in the future.

it would really throw a wrench into scenarios where users want to load multiple tsconfigs (monorepos).

This is an interesting comment, as for a concurrent project I am investigating using a monorepo in combination with npm workspaces and would love to use tsx in both cases using files and the tsc dependency tree logic.

I can fix tsx to follow this behavior

If you eventually have a working branch or rc release that manages to allow the use of monorepos alongside the tsc dependency tree logic, I am happy to test with both a normal and monorepo.
For now I confirm that include with all files works around this issue. Thank you for investigating.

We just upgraded from version 3 to 4 to get support for new keyword using.
-    "tsx": "^3.12.7",
+    "tsx": "^4.7.0",

We then started hitting this issue.  We have some scripts that use tsx in their own folder, and we now have to list all files in the other project i.e. many lines of ../apps/web/src/core/MyThingWithDecorator1.ts in each tsconfig.json file that isn't the main one in apps/web/. That will quickly become quite a maintenance burden, but it's what we decided to do right now.
Did something change from 3 to 4 to make this no longer work? Why would it work on on 3.12.7 but not on 4.7.0?

@privatenumber I turned experimentalDecorators off in order to use the new standard of decorators, and this causes the "Transforming JavaScript decorators..." error to occur again.

This thread is being locked now that the bug is confirmed, and the recent conversation hasn't been productive in finding a solution.
Issues is intended for reporting and fixing bugs rather than seeking one-off workarounds & help. However, if you're looking for a workaround, please read the previous conversation.


Blank content when searching in table component while in page > 1

When searching in table component while in pages that are not the first one, there is a risk of running out of options in the given page.
As discussed in the past, we would like the table component to go to page 1 as soon as a user starts typing in the search box.

Tables that have this issue:

Safety https://beta.targetvalidation.org/target/ENSG00000091831
Clinical signs and symptoms https://beta.targetvalidation.org/disease/Orphanet_586


Make pin_memory of the Dataloader configurable

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


Add figures for box lines

What are your thoughts on adding figures for box lines?
They display well on all environments. The following screenshots shows them both as individual characters, and displayed on several rows/columns.
Ubuntu 20.10, Gnome terminal:

Windows 10, cmd.exe (CP850):

I checked on macOS default terminal, and it looks good too :+1:
I believe all of the above are useful, but offering a subset is also an option. The high number of characters is mostly due to different variants of dashes and boldness.
At the moment, the only related figure in this library is line (U-2500) (not included above).

👍  To the person that ends up submitting a PR for this, good luck naming all of these.

I think we can use system of prefixes and suffixes (although I agree the names will most likely be verbose).

Proposal for naming: line${directions}${variant}
directions can be:

Horizontal, e.g. ━
Vertical, e.g. ┃
BottomRight, BottomLeft, TopRight or TopLeft, e.g. ┏  ┓ ┗  ┛
TopBottomRight, TopBottomLeft, BottomLeftRight or TopLeftRight, e.g. ┣  ┫  ┳  ┻
TopBottomLeftRight, e.g. ╋
DiagonalCross for ╳
DiagonalFalling for ╲
DiagonalRising for ╱

variant can be:

nothing/empty, e.g. │
Bold, e.g. ┃
Double, e.g. ║
Dash0, Dash1, ..., Dash15 for all dash variants, e.g. ┇

When a symbol combines several variants, they are appended to each direction. For example, the most complex name would be lineTopBoldBottomLeftBoldRight for ╃
Exception:  ‾ (U-203e) would be named overline because it is singular in the fact that it is not centered, and not really meant as a box line.
What do you think?

That sounds good to me.

I would also suggest leaving out ‾ (U-203e) as it is not centered and not really meant as a box line.

👍

Done at #70.


Update 2020-01-13.md

Description of the change:
Reason for the change:
Link to original source:

Closes #

Hello @Whatthefoxsays,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


Added create oracle partition table  feature

Is your feature request related to a problem? Please describe.
Now the Gui cannot create partitioned tables, add, delete, split partitions and subpartitions
Describe the solution you'd like

The interface can create partitioned tables
Partitions/subpartitions can be added
Partitions/subpartitions can be deleted
Split partitions/subpartitions can be made

Some additional links: https://docs.oracle.com/database/121/VLDBG/GUID-0E7205A9-5D01-4642-B7E9-02406200493E.htm
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/vldbg/evolve-nopartition-table.html#GUID-5FDB7D59-DD05-40E4-8AB4-AF82EA0D0FE5

It will be not so easy. But we can try.
Thanks for the suggestion @travelliu

tks. It can be implemented in stages, first create a partition table

@LonwoLonwo truncate table partition Not considered update global index.  without  update global index global index change to invalid

It looks like you can do it before truncating. Manually. @travelliu

It looks like you can do it before truncating. Manually. @travelliu

Yes, I just found this issue prompted below


offline first + workbox

I have a scenario and would like opinions on how to do and using the workbox and whether it needs to be done differently.
I have a api connected to a mongoDB bank and on the front I have a legacy web app in angularjs.
When we talk about offline application, we give the user the ability to save offline and when the internet normalizes, update the actual API database.
thinking about workbox, how could I do this, because I know that in case of failure with the internet connection, it saves the request in indexDb to be executed later.
but what should happen or what I would like to happen is the following.
1- When the user opens the application saves the data from the get cached or local database calls.
2 - The application data list get from the local cache / bank not from api (offline-first)
3 - When changing a data, save in the cache / local bank this data, in the background call the api and update or if it fails fall in the queue to be processed later.
Notice, why when I change or save, save in the cache?
because the user may want to use this data changed or created in another CRUD operation of the web app.
how could I create this stream to keep my cached data first, get its data, even without internet power save location, can use this data and then when reestablish the connection update the API database.
remark, in my headers I have a field (Last-Modified)
Maybe only the workbox is not enough, need to use indexDB, but then I have one more problem, because in the web application everything is based on (_id) of mongoDB and if I save local, I will not have this _id.
I would like your opinion, from the workbox staff, who have experience and who have developed this wonderful library.
If I also have a github repository, where I could take an example based on what I need, I'm grateful.
If you can do all this with workbox, the better. but then I need tips on how to do it, because from what I looked in the workbox, I do not know if I can solve everything with it.

Hey @GlauberF, I'm have a bit of a hard time parsing your question. It seems like you're asking a very broad, general question about service worker architecture; maybe it'd be helpful for me if you could ask a specific question about whether it's possible to solve a specific challenge using Workbox.
For larger questions about how to best structure your service worker architecture, you might have better luck asking on Stack Overflow with the [service-worker] and/or [workbox] tags.

@philipwalton
right,
So how can I through the workbox store the local data always and retrieve locally and synchronizing with the external API?
observation: always keeping local and api synchronized, but using the offline-first concept.
And need to store locally even without internet and recover without internet, in case of lack of internet it should store local and when to establish connection again synchronize with external API.

@GlauberF from what you're describing, it sounds like you need to have a local indexedDb which stores all offline operations, which you can then sync to your online Database.
I don't think there's a drop-in solution for this so you probably have to use workbox injectManifest and write the custom in your source service worker (or in a different file and importScript it)

@jadjoubran
right but in the indexDB use case, my production database is mongoDB.
But in the case of missing internet, it will store locally, how do I generate a _go mongo pattern, why if that registry before going to the database is associated with another crud, I need an _id.
In your experience, how would you do that?
how do you deal with the _id location and the server after?

I've never done this before, but I know it theoretically (so please double check everything I'm saying)

regardless of what you're using on the backend, you will have to store relationships locally using IndexedDb. (relationship between tables will be reflected locally with ids)
then once you go online, you need to send your local database to be synced with the one that is on your backend.

now for 2., ideally you'd find a sync library that automatically syncs your local database by automatically managing the ids and relationships. Here's an example syncr - note that this is for mysql not mongo and the repo is archived. But just as an example of what you should look for)
If you can't find a ready made library, then you could build a custom endpoint on your backend, that receives all of these data and starts inserting records one by one, while also managing ids and relationships.
So you start with the ParentModel, insert in the database, get the id or _go pattern and then use that to insert its ChildModels

I'm closing this particular issue, as I'm not sure that this is within the scope of Workbox.
Keeping a database sync'ed locally to a web client, and/or making it work offline, is a challenge that's specific to the data product you're using.
Some examples include https://firebase.google.com/docs/firestore/manage-data/enable-offline and https://pouchdb.com/.
I'm not familiar with a MongoDB-based solution, but again, I think it's going to be independent from Workbox.


[on-chain config] on-chain config Rust interface + pub/sub e2e flow

Summary
This PR does mainly two things:

Adding Rust interface(i.e. traits) to support representing and reading on-chain configs in Rust/Libra node. Specifically:
- ConfigStorage: trait for storage to read on-chain configs from
- OnChainConfig: trait for Rust representation of on-chain configs
Refactored existing VM whitelist config as POC for new interface
impl e2e flow for reconfig notification pub/sub (mempool subscription to VMPublishingOption)

I like the previous version better, can you point where we need this to be trait object?
I'd imagine sth like
trait onChainConfig {
  const IDENTIFIER
  fn deserialize()
  fn fetch()
}
impl onChainConfig for VMPublishingOption {
...
}
enum onChainConfigList {
  VMPublishingOption,
}
struct onChainConfigPaylaod {
  data: HashMap<&static str, Option<Vec<u8>>>,
}
impl onChainConfigPayload {
  fn get<T: onChainConfig>(&self) -> Result<T> {
    T::deserialize(self.data.get(T::IDENTIFIER))
  }
}

The trait object issue was more of a problem on representing OnChainConfigs on state sync-side. I can use this get method

:umbrella: The latest upstream changes (presumably 9fbe52e5c4b3183978b09b1b96e5145f4378beeb) made this pull request unmergeable. Please resolve the merge conflicts.

The trait object issue was more of a problem on representing OnChainConfigs on state sync-side. I can use this get method

I don't think we need/should use trait object there, the only use case I can see is HashMap<ID, Box<dyn OnChainConfig>> instead of raw bytes but I don't see that's useful since we have to return the strong type back

how did you imagine using enum here?
how about something like this?

struct ConfigA {
}

trait Config {
    const IDENTIFIER: &'static str;
}

impl Config for ConfigA {
    const IDENTIFIER: &'static str = "A";
}

const CONFIG_LIST: &'static [&'static str] = &["A"];

this is better
const CONFIG_LIST: &'static [&'static str] = &[ConfigA::IDENTIFIER];

+1 for None doesn't imply Error. If error happens with db, it will probably a serious issue requiring fixes.

@bors-libra r=zekun000

:pushpin: Commit a0922c3 has been approved by zekun000

:hourglass: Testing commit a0922c39d0770fca15304e629a0adcab1afe8875 with merge 3188ab21fc974af2afc4c80c121e5ca0211f8b18...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: zekun000
Pushing 3188ab21fc974af2afc4c80c121e5ca0211f8b18 to master...


[SPARK-33365][BUILD] Update SBT to 1.4.2

What changes were proposed in this pull request?
This PR aims to update SBT from 1.4.1 to 1.4.2.
Why are the changes needed?
This will bring the latest bug fixes.

https://github.com/sbt/sbt/releases/tag/v1.4.2

Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass the CIs.

Test build #130672 has started for PR 30268 at commit 025dfb2.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35283/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35283/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/35283/
Test PASSed.

Test build #130672 has finished for PR 30268 at commit 025dfb2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130672/
Test PASSed.


DS-6.0 dependency on OpenSSL 1.1.1

OE-Core master has upgraded OpenSSL to version 3.  Since this is a major version change, there is no backward compatibility for applications linked against version 1.1.1, and some of the DeepStream 6.0 SDK libraries are linked against that version (and to libcurl built against version 1.1.1).

This has been addressed with https://github.com/OE4T/meta-tegra-community/pull/17


Bug: Application not showing.

What's included?
Additional fields on application document were causing view to error and not load.
Check for values has been inserted to prevent this.
Who should test?
✅ Product owner
✅ Developers
✅ UTG

PREVIEW:DEVELOP
can be OFF, DEVELOP or STAGING

@tomlovesgithub is this still relevant? Please mark as 'Ready for review' if you want it reviewed


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 206 ms

Resolved: ClamAV performance has improved in 232a333.


Overhaul the display scaling editor settings

Only two display scaling modes are available now: automatic (default) and manual. When automatic scaling is disabled, any fractional value between 0.75 and 3.0 can be used to scale the editor.
Example (display scale set to 1.75×):

How does it look like with e.g. 1.14 or 0.82? I'm afraid icons might look bad at arbitrary scaling ratios. If they do, it would still make sense to have some presets of "good looking" ratios, and an option for fully custom.

How does it look like with e.g. 1.14 or 0.82? I'm afraid icons might look bad at arbitrary scaling ratios.

They indeed don't look great at some scaling ratios, but I think it's important to be flexible in the scales offered – for example, KDE allows scaling increments by 10%, which is more granular than Windows' 25% increments.
Display scaling set to 1.14×:

Display scaling set to 0.82×:

They indeed don't look great at some scaling ratios, but they're still easy to identify.

My main concern is that I don't want users to have to do trial and error to find a ratio that happens to look good. Sure they can try 1.0, 2.0 and 3.0 expecting it to be alright, but the slider in the project settings invites to just drag to a weird decimal value that will look ugly.
I think it would be better to keep some known good presets where we know that the font, icons and UI textures will scale well (so still an enum), and add a "Custom" option that would use a flexible float input field as you added.

I updated the pull request to re-add display scaling presets, while keeping the custom display scaling option.

Thanks!


How to stop rendering of completed bars?

When there is too many of bars, the entire page re-renders at each interval, which causes lagging and stuttering in the terminal screen. I am looking for a hack to stop the rendering of completed bars.

Currently, you can't. Only adding new bars available. But you can reuse existing bars.


[HOLD on 359760] Can't delete/reject instant submit Processing report in OldDot

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number:
Reproducible in staging?:
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @puneetlath
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1713465529687719
Action Performed:

Set up a workspace in OD with an option scheduled frequency to "instant"
Create a card expense report
Look for an option to delete report or reject the expense

Expected Result:
User should be able to delete the report or reject the expense
Actual Result:
Unable to delete report or reject the expense
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/38435837/9c501eed-46aa-4d3b-b5c0-1873e6fe16ba

View all open jobs on GitHub

Taking this one over to monitor the fix in https://github.com/Expensify/App/issues/40500

Fixed


Expose experimental terminal dynamic texture atlas setting in VS Code

VS Code shipped with it in 1.24 but it cannot be turned on.

Duplicate https://github.com/Microsoft/vscode/issues/50894


Add OI

Co-authored-by: Myles Pasetsky<EMAIL_ADDRESS>

needs fixed intake logic (doesn't seem to work right now, or maybe the visualizing doesn't work)
needs to stop intake rollers after scoring (there needs to be some small time that they run)

needs fixed intake logic (doesn't seem to work right now, or maybe the visualizing doesn't work)
needs to stop intake rollers after scoring (there needs to be some small time that they run)


Change MSVC project files for WIN64 build

time_t is 64bit on WIN64, so I fixed this build-able on Windows 64, and added x64 mode on MSVC project files.

I will PR later again after merging conflicts and solving above discussions :)

You know you can continue pushing to a pull request in order to address the comments without having to re-open another one ?


Fix startup configuration

Pull Request Test Coverage Report for Build 785

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

Totals

Change from base Build 782:
0.0%

Covered Lines:
1177

Relevant Lines:
1581

💛  - Coveralls

Pull Request Test Coverage Report for Build 785

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

Totals

Change from base Build 782:
0.0%

Covered Lines:
1177

Relevant Lines:
1581

💛  - Coveralls


can decorator work with push gateway together

I like the decorator to add in a method, and I want each time, the metric changed (when the method was called),  the system automatically called a method to push the current metric to push gateway, I wonder how easy to implement this?

That is not what the pushgateway is for, see https://prometheus.io/docs/practices/pushing/
Usage questions are best asked at https://groups.google.com/forum/#!aboutgroup/prometheus-users


release.yml workflow failing to check new releases

The 4.0 release failed to import as a result of not including the sub-packages in the build (#203). My bad, although it should have been picked up by the release workflow.
The last job of the release workflow is to install and import the newly released version...
https://github.com/gerrymanoim/exchange_calendars/blob/502280c1e0617974cb86804d314b9abf479d50ee/.github/workflows/release.yml#L45-L48
However, a look at the workflow logs shows that this job is actually installing and importing the prior version, not the new release. For example the log for the 3.6.3 release shows that the workflow actually installed / imported the prior 3.6.2 release.
In #206 I've explicitly defined the PyPI index that pip should install the package from (although not sure it'll make any difference). Maybe it's simply a matter of PyPI not having had a chance to publish the newly uploaded package?
What I'm struggling with even more is why the prior job which installed from the test PyPI repo also did not fail.
https://github.com/gerrymanoim/exchange_calendars/blob/687f0657b6bb27bbe2c59f3aec1e50fe5ce60925/.github/workflows/release.yml#L33-L37
The log for the 4.0 release workflow seems to show that the version installed and imported was indeed 4.0, although if this were the case then why did it not fail and stop the workflow? (to be clear, it is not possible to install 4.0 from PyPI and import it - rather it fails as described in #203.)
What's also odd is that it appears the Versioneer implementation is not working correctly (#205) in v4. However, the release workflow log shows that exchange_calendars__version__ prints as '4.0' for the package as (supposedly) installed from both the test and the main PyPI repos. By all accounts this should have printed as '0+unknown' given the bug with the Versioneer implementation.
Taking all the above together, it's almost as if although the workflow is downloading and installing a version from PyPI, the version then being imported is a prior locally installed version. Not that I can't see how that could happen?

Hmm - that's very weird. My guess would be that probably pypi hasn't had enough time to process the package we published before we ask to install it?
Perhaps we should either:

Wait a bit after publishing.
Use the github.ref on the actions context to grab the version we want to install and force that constraint in pip install?

Finally fixed in #216. Using github.ref to specify the required version seems to have done the job.

This issue was not fixed with #216 after all - the log for the 4.2 release shows that pip couldn't install the uploaded package.
On https://github.com/rsheftel/pandas_market_calendars/issues/208 @Stryder-Git points out that the earlier importing from the test site passes the --extra-index-url option, rather than only looking at the test site with --index-url. Could it be that this causes pip at this point to look for the new version on the main site (to which it hasn't yet been uploaded) and cache that info, then the package is uploaded to the main site and the subsequent call to install the new version fails as pip fails to find the new version in the now outdated cached info?
Going to try changing to --index-url and purging the pip cache. If it's still not working then look to explore @Stryder-Git's further suggestion concerning the repo in the working directory.

Tried changing to just look at the test site with --index-url although failed as pip unable to locate all dependencies at test site.
Reverted to --extra-url and failed (release 4.2.2), again at the test site stage, as could not find the recently uploaded version. Unsure why as seemed to upload ok and this worked before!
I'll come back to it.
In the meantime, disabling the install and import check (#236) and will check manually.

@maread99, I also use --no-deps when downloading from testpypi, then I call pip install ., which installs all the dependencies defined in setup.py in the current directory. When I then rename the pandas_market_calendars directory in the local directory, it imports the downloaded package from site-packages and has all the dependencies it needs for running the tests.
In my testing, as part of the workflow, I even inserted a print("downloaded") line at the top of __init__.py before uploading to testpypi. Then I removed the line from the local version, installed from testpypi and ran pytest tests with the -s flag, to see if it prints 'downloaded' on import.
Since doing that, it always worked when I tested it, I hope it helps.

Thank you for that @Stryder-Git. I was struggling yesterday to appreciate the need in your workflow for pip install .. All clear now!
I've had another bash at it (#237) based on your approach. I'll merge it ahead of our next release and take it from there 🤞.
Cheers.

Hopefully resolved by #237.
Close if workflow releases next release (after 4.2.3) without a hitch.

4.2.4 released as required (checked manually), although the workflow failed on the subsequent 'Install and import' job. The analogous job to check the upload to the test repo ran fine, and the same workflow has worked with market_prices. Although, on each of those occasions the workflow didn't enter the while loop, which suggests a problem there - seems to have come unstuck on the first iteration or subsequent check of the while condition. @gerrymanoim - would you mind having a look at the loop and letting me know it anything's immediately obvious to you?
I'm clearly missing something. Issue stays open☹.

Workflow failed for release 4.2.5 for the same reason as 4.2.4 (although release was ok).
Workflow passed for release 4.2.6 🤷♂ .

Workflow passed for release 4.2.7.
Workflow failed for release 4.2.8 on trying to install the newly published version (although release fine, checked manually). Appears that the workflow is failing in the while loop when trying to augment i with ((i++)). This was previously let i++. Both versions of this line have failed.

Workflow failed for release 4.3 in same manner as it failed on 4.2.8. (Again, the actual release was fine - checked manually.)
Going to add an echo to identify if failing on sleeping or the subsequent ((i++)).

I have the same workflow running in the valimp library and was able to identify here that it's failing on the ((i++)). @gerrymanoim, my knowledge of bash is pretty poor, although from what I've seen and what I've tried locally I can't see why this is failing. Any ideas?

I think the issue could be that this is running in sh instead of bash. I think you'll need something like i=$((i+1)). It seems it is a bit unclear exactly what shell you run in (https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell), but the i++ syntax works for me locally in bash, but not in sh.
Can also try specifying the shell.

Thanks @gerrymanoim, looks like that could well be it.
According to this github docs ref If bash is not found in the path, this is treated as sh.
Ahead of the next release I'll try explicitly setting the shell for the affected steps. Should just require adding shell: bash above the run | lines for both of the install/import steps.

I've explicitly defined bash as the shell (#348).
4.5.1 released fine although doesn't appear to have entered the loop so will have to hold off judgement on whether that's done the trick.

🙏
Thanks for grabbing that release!

4.5.2 did enter the loop and the workflow failed, regardless of the shell being defined as bash. (NB published to PyPI fine, just failed on the subsequent install and import check,)
Failed on the ((i++)) line. Will change to let i++, see if that makes any difference.

let i++ doesn't make any difference. Failed on a market-prices release that I'd tried it on.
I'm pretty much out of ideas. Going to add a pre-emptive 5 second sleep between publishing and installing and also remove i from the loop (could end up in an infinite loop, but at the moment it fails anyway, so I can't see that it makes much difference).

Ran fine with the changes for the 4.5.3 release. Didn't enter the loop although with the pre-emptive 5s sleep between publishing and installing I guess there's a reasonable chance it never will.


Missing Arm64 Architecture for iOS Simulator

For iOS Simulator the Arm64 Architecture is missing. This is required to run iOS Apps in Simulator on Macs with M1 chips.

This should have been fixed in 821ff4e. Since this pull request was merged after the last release, you'll need to build from source. "Real" developers should normally be doing that anyway, since the releases are really just for people who want to experiment with this project before seriously using it.

"Real" developers should normally be doing that anyway, since the releases are really just for people who want to experiment with this project before seriously using it.

Thanks for the clarification. This was not clear to us. I can't find any comments, that these releases are only intended to be used for experimental testing. Also the "Getting Started" section says that this one way to go without limiting it to experimental tests.

First, either:
Download the current distribution from the Releases section and unzip it, or
Get the source and build it.

Right, it wasn't intended that way when we started (and wrote those docs).
What happened is that the big app teams kept wanting the latest (often the
moment it was committed), and gradually the only feedback on releases came
from new (to the project) developers.
BTW, I didn't mean my comment as a criticism in any way. Some teams have a
"use only released libraries" policy, which makes sense when they come from
teams with lots of QA and release engineers. Many people assume that j2objc
is an officially supported Google project, but it's just a small,
unofficial part of the Gmail team. Consequently, we early on adopted
test-driven development so that we could ensure high-quality with every
commit. So whenever a release is made, within days the repository HEAD has
a better version.
On Tue, Aug 3, 2021 at 10:41 AM L6Echo @.***> wrote:

"Real" developers should normally be doing that anyway, since the releases
are really just for people who want to experiment with this project before
seriously using it.
Thanks for the clarification. This was not clear to us. I can't find any
comments, that these releases are only intended to be used for experimental
testing. Also the "Getting Started" section says that this one way to go
without limiting it to experimental tests.
First, either:
Download the current distribution from the Releases section and unzip it,
or
Get the source and build it.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/google/j2objc/issues/1737#issuecomment-892036389, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAW2JL5MWE5PMKDLFTMFDTDT3AS5DANCNFSM5BOPIQLA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.


Add support for the latest .net/.net standard

Even though I see https://github.com/NWebsec/NWebsec/issues/172 is open, I would like to raise this issue.
Whilst trying to restore one of the packages on a .net60 project with nuget restore (needed for legacy projects inside the solution) we ran into the following problem on our build server.
 NU1202: Package NWebsec.AspNetCore.Middleware 3.0.0 is not compatible with net60 (.NETFramework,Version=v6.0). Package NWebsec.AspNetCore.Middleware 3.0.0 supports: netcoreapp3.1 (.NETCoreApp,Version=v3.1)
Would it be possible to create a new package that supports the latest .net version and/or .net standard? MS has dropped support for netcoreapp3.1 so it would be nice if we had an up to date package that we could install.
For the meantime we have found a workaround by performing both a nuget restore and a dotnet restore but it's suboptiomal.

Pretty much looks like this project is dead. No updates for last 2 years


Node grouping leads to infinite recursion

The feature was broken in commit d08458bd178c7c62c6e70a48137e197354a3aaaf.  This seems to be related to changing from identifying links according to their source/target nodes, to supplying each link with its own Mongo ID.

Closing in favor of https://github.com/XDATA-Year-3/clique-anb/issues/1


Improve coin type

Closes #257
This adds a BigInt type as a wrapper around u128 that de/serialializes to/from string. We use this in Coin type, keeping the JSON representation the same as before, but making it much easier for contracts to manipulate the Coins.
This also enforces the format we pass into Coin.amount, which was an unspecified String until now, assumed to be an integer, but never clearly defined nor enforced.

[x] Update all Coins to use BigInt
[x] Pass all tests
[x] Operator overloading BigInt
[ ] Test Coin helpers using BigInt
[ ] Regenerate test contract and Investigate gas usage
[ ] Update MIGRATIONS.md (after #256 merge)

This is working, but also seems to add almost 2000 gas to contract execution. It seems this is much more related to parsing the string, not serializing u128 as a string.
(I have only updated test contract locally - we should check this before merge)

Looks good.
No idea why this costs more gas now. The string -> u128 implementation is the same as parse_u128 from other contracts. Maybe we perfom more conversions now where we had blind passing of strings before?
I wonder if we should rename this from BigInt to Uint128 to make clear that the type is limited, in contrast to arbitrary lemgth big int implementations like Python, JavaScript, ....

Yes, the hackatom contract never pays any attention to the coins passed in and either ignores them or blindly copies them.
Any contract that actually uses those amounts would use exactly the same gas as before.

I can do the renaming. If you are fine with gas prices, I will just do some cleanup and finalize it.

If you are fine with gas prices, I will just do some cleanup and finalize it.

Go ahead! Type safety is not for free and that's okay

I was thinking to rename coin to coins (as it returns Vec<Coin> with one element)
And then one_coin to coin (which is just a shortcut to construct one Coin object).
Oh, and rebase on the reflect contract and update the migration info.
But Monday...

I was thinking to rename coin to coins (as it returns Vec<Coin> with one element)
And then one_coin to coin (which is just a shortcut to construct one Coin object).

Jap, very good


sessionChecksEnabled + postLogoutRedirectUri on 2 tabs with same application

Using version 3.1.4 (still on Angular4)
If I have 2 tabs open on the same application and I initiate logout in one of the tabs. The logout is successful and is redirected to the postLogoutRedirectUri in this tab however the other tab is not redirected to the postLogoutRedirectUri.
I have set sessionChecksEnabled to true and can see that 2nd tab is getting the 'change' event which ultimately ends up with the method logout(true) to be called from the waitForSilentRefreshAfterSessionChange method. The logout method clears all the localstorage data, but as the noRedirectToLogoutUrl param is true, the function returns without changing the location.href.
Is this the intended behaviour ? Am I doing something wrong ?

I see that I could handle it on the application side by listening to the 'session_terminated' event and redirect the browser to the postLogoutRedirectUri. Is that the way to go ?

This is expected behavior (not sure if intended), see also #392.
The solution/workaround you mention in the second comment is AFAIK the best one currently (for v4.x as well).

Going to close this as a duplicate of #392 - let us know if it's somehow different and we could of course reopen the issue!


[Bug] Minds update

In the SDK, once I call update on the mind object with additional parameters, the current object parameters should be updated.
Like the following:
Though I update with new parameters, the mind object still shows the old state

The minds object too has to be updated if the API call was successful

I would like to work on this issue

@ea-rus need your inputs on this bug.

This parameter is added by server
Also in this update (when it be released) prompt template will be moved to mind.prompt_template attribute

This parameter is added by server Also in this update (when it be released) prompt template will be moved to mind.prompt_template attribute

But datasources field too is not updated. Like if I update the datasources field, then the current mind object should reflect it after the API call was successful. The UI is reflecting this change but not in the SDK.

I have understood  @Better-Boy issue. @ea-rus After successfully updating 'mind', should we call the get() API again, or should we check the status of the put API (200) and then reassign the attributes to 'mind'?

I have understood @Better-Boy issue. @ea-rus After successfully updating 'mind', should we call the get() API again, or should we check the status of the put API (200) and then reassign the attributes to 'mind'?

Ok, I understoold the issue, I thought it is getting an info from server after updating but it is not.
Yes, a mind should be refreshed from server (using the same endpoint as in .get) after sending update request

Can I go ahead and fix it? @ea-rus

yes, let's do it


generate thumbnail from already uploaded images by cfs

Hello,
I am using collectionFs package to upload image, now I want to generate thumbnail of all that uploaded images, how can I do that thing.
And then how to display that thumb.
Thanks

I was wondering this too! I found the answer here :smile:
https://github.com/CollectionFS/Meteor-CollectionFS/wiki/How-to:-Convert-a-file-already-stored


A way to allow end users to report issues.

It would be nice to allow users to report issues (through a link somewhere in the budgeteer). Redirecting to the GitHub repo however is not a good solution as end users cannot be expected to have GitHub accounts or create accounts just to submit a problem.
https://gitreports.com/ This app would allow us to do just that. Users get a public link that brings them to a form which they can fill out and describe the issue. The issue is then posted to the GitHub issue tracker automatically and the end user never even sees GitHub. I tested this on my own repo and it works. However , there is the matter of permissions, as this app requires access to the repo. I'm not sure this is quite ok.
I realize this is not really neccessary at the moment, but most apps have built in ways to report issues/bugs.

This would mean publish to the API key with the code or only allow it in known installations, would it not?

It is not tied to any particullar installation, but rather to the repository itself. No API key must be published with the code :)


Shared Icons(solid-icons) Rendered "only once".

Describe the bug
Hi,
I have an array of objects storing my links.
The variable is in a jsx file.
i mapped the array inside a component.
./src/compnents/ContactContainer.jsx
then i shared the component into two other components.
./src/sections/Start.jsx
./src/compnents/Footer.jsx
The heart of the matter (The issue)
the icons are showing only in the latter component (Footer), but doesn't show on the other (Start).
Your Example Website or App
https://github.com/anesdiaf/solid-portfolio
Steps to Reproduce the Bug or Issue
1.Start the app.
Expected behavior
I expected the icons to show in both components since i've used the same steps/way in react and it worked.
Screenshots or Videos

Platform

OS: [Windows]
Browser: [Chrome]

Additional context
No response

It's because JSX elements in Solid are real DOM nodes. The DOM has a rule where can only attach the same node in the DOM once. So by inserting in multiple places they are being moved. I suggest wrapping the icons themselves in a function call, and calling that function inside the JSX in your mapping component.

Thank you sir,
Did what you advised me to do.

and it worked perfectly.

@anesdiaf icon: () => <IoLogo.... would be shorter


how to fix  [nuxt] default layout does not have a single root node and will cause errors when navigating between routes

Environment
nuxt3 3.0.0-rc.9
Describe the bug

Additional context
No response
Logs
No response

thanks👍👍


Ask for confirmation before deleting journal entry.

It's too easy to accidentally delete an entry and no way to recover the deleted entry.
It would be great to ask for confirmation before deleting an entry so that entries are not accidentally deleted.

You are absolutely right. I fixed this with a confirmation question in the header.
Would be nice to have the escape key cancel the confirmation. Do you know how to do this?
Thanks

@in0rdr https://github.com/in0rdr/diary/pull/17

Thank you!


[Numpy] Support mxnet.numpy.ndarray.diagonal()

Description
Support mxnet.numpy.ndarray.diagonal() and fix https://github.com/apache/incubator-mxnet/issues/18301
Checklist
Essentials

[x] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage
[x] Code is well-documented

Changes

mxnet.numpy.ndarray.diagonal()
unittest/test_numpy_op.py::test_np_diagonal

Comments
This is my first PR for MXNet, so I’m not sure if my unit test’s change is correct.

@mxnet-bot run ci [windows-gpu]

@mxnet-bot run ci [windows-gpu]

@mxnet-bot run ci [edge]


How do you make the awesome video presentation?

Any tips?

Also, your codebeat badge link is broken


Fix getting stuck when zooming

Thanks @nikakhov.  Can you send us a Contributor Licence Agreement (CLA) so we can review this?  You can find instructions here: https://github.com/AnalyticalGraphicsInc/cesium/blob/master/CONTRIBUTING.md#contributor-license-agreement-cla

@nikakhov were you able to send in a CLA?  Perhaps I missed it?

Let me share a few thoughts.  Perhaps we are not yet at that point where this code should be merged.  In the issue discussion, I mentioned how this fix is incomplete and needs to be supplemented with additional changes, such as setting minimum and maximum zoom limits.

@nikakhov please open a new pull request when you think this is ready, thanks again for supporting Cesium.


Autocomplete not working when starting Atom without sudo

Hi,
I noticed this thread https://github.com/TypeStrong/atom-typescript/issues/549 was discussed earlier as well.
I think the issue still persists. Autocomplete and format was working totally fine for me, until recently. I removed all my plugins except nuclide. Still no go.
However, if I run Atom from the CLI with sudo, things work perfectly fine. Here is a snippet from the console when I try autocomplete without atom started with sudo
PARENT ERR: no child when you tried to send : errorsForFile
/Users/nikhildev/.atom/packages/atom-typescript/dist/worker/lib/workerLib.js:183 CHILD ERR STDERR: FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory

/Users/nikhildev/.atom/packages/atom-typescript/dist/worker/lib/workerLib.js:196 ts worker restarting. Don't know why it stopped with code: null

What might I be missing here?
Thanks

just for more, here is my tsconfig
{
  "compileOnSave": false,
  "compilerOptions": {
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "mapRoot": "",
    "module": "commonjs",
    "moduleResolution": "node",
    "noEmitOnError": true,
    "noImplicitAny": false,
    "outDir": "../dist/",
    "removeComments": true,
    "rootDir": ".",
    "sourceMap": true,
    "target": "es5",
    "inlineSources": true
  },

  "files": [
    "main.ts",
    "typings.d.ts"
  ]
}

Added to this, I have a whole lotta Pending requests piling up whenever I try to type.
These are like
updateText
getProjectFileDetails
errorsForFile
editText
etc

I'm getting very similar errors, and I can't figure out quite what the problem is. Starting a new project and adding a tsconfig I'm getting no issues to start with, but on all my (medium to largeish) projects I seem to get this error. Running in sudo doesn't help either.
Also, atom seems to be using 100% CPU time according to top.
Any ideas as to how I would begin debugging the issue?

So when installing a starter project using angular-cli
ng new testproj
cd testproj
atom .

I can reproduce the issue every time.
There is a repo which should reproduce the issue.
https://github.com/Maistho/atom-typescript-error
git clone https://github.com/Maistho/atom-typescript-error
cd atom-typescript-error
npm install
atom .

Just try editing the TestprojAppComponent (adding a constructor or something) and the issue will arise.
I turned off all other (community) atom packages, and tested this on windows and linux.

Seems like it might be the same issue as https://github.com/TypeStrong/atom-typescript/issues/332 ?

@Maistho
Well, I got around the problem using some of the suggested workarounds.
Firstly
"filesGlob": [
'**/*.ts'
]

And then I specified
"atom": {
  "rewriteTsConfig": true
}

This made sure all my source code is covered and Atom does'nt go hunting. My tsconfig.json is in my /src folder, so I don't need to exclude any dir here

Same here. This shouldn't be an issue to start with, since I included all the files I wanted to look at in my files array from the beginning. If look filesGlob is present, the behaviour should be to just use the files in the files array


add docker file to run app

add docker file to run app,
the last command could be to run neso_solar_consumer/app.py once #6 is done.
Good to add CI, to make sure this can be built

Hi @peterdudfield, I'd like to work on this! Here's my plan:

Add a Dockerfile to build an image with Python 3.10 and poetry for dependencies.
Define the entry point to run neso_solar_consumer.app.
Test the Dockerfile locally.

I'm new to Docker and CI but happy to learn! Let me know if you have any specific requirements or suggestions.

Sounds good, I'd probably go python3.12

Ci can be copied from https://github.com/openclimatefix/india-forecast-app/blob/main/.github/workflows/docker-build.yml

Thanks for sharing the CI reference! I’ll start working on this issue


Ambiguous wording in ultrahdr_app help

I feel the description of ultrahdr_app's -M option is unclear.
I propose that
"-M    enable / disable multi channel gain map, optional. [0:no (default), 1:yes]."
be replaced with
"-M    enable multi channel gain map, optional. [0:no (default), 1:yes]."
or
"-M    enable / disable multi channel gain map, optional. [0:disable (default), 1:enable]."

@pmonck @DichenZhang1 the sample app is updated accordingly. This bug can be marked for closure.


I can not save the bin

Today, no longer save changes to the bin. In the new bin does not appear unique url

Experiencing this same issue. Looks like s database table is full on the jsbin.com back-end?

Please see #2320

Thanks @matthiasbayer :)
Closing. We're back.


[Python] PyArrow cast Unable to cast strings without Zone Offset

Describe the bug, including details regarding any error messages, version, and platform.
>>> pa.array(["2024-01-01 05:00:00"]).cast(pa.timestamp("s"))
<pyarrow.lib.TimestampArray object at 0x7c6c794463e0>
[
  2024-01-01 05:00:00
]

>>> pa.array([datetime.datetime(2024, 1, 1, 5, 0, 0)]).cast(pa.timestamp("s"))
<pyarrow.lib.TimestampArray object at 0x7c6c79444b80>
[
  2024-01-01 05:00:00
]

>>> pa.array([datetime.datetime(2024, 1, 1, 5, 0, 0)]).cast(pa.timestamp("s", "UTC"))
<pyarrow.lib.TimestampArray object at 0x7c6c7956d720>
[
  2024-01-01 05:00:00Z
]

>>> pa.array(["2024-01-01 05:00:00"]).cast(pa.timestamp("s", "UTC"))
ArrowInvalid: Failed to parse string: '2024-01-01 05:00:00' as a scalar of type timestamp[s, tz=UTC]: expected a zone offset. If these timestamps are in local time, cast to timestamp without timezone, then call assume_timezone.

I'm having a hard time figuring out the best way to construct timezone aware arrays from strings instead of Python datetime objects. Based off the pattern set by the first 3 examples above it seems like a bug that the fourth does not work?
Component(s)
Python

Casting string to timestamp is essentially parsing of the string (strptime), and for that we currently don't allow to parse to a non-tz-aware string to a tz-aware timestamp (for that you would need to guess if the string is in local wall time or in UTC, i.e. is it a tz localize or a tz convert operation, in pandas terms).
The other examples you give are parsing a non-tz-aware string to a non-tz-aware timestamp (no ambiguity, this works fine) and casting non-tz-aware timestamp to tz-aware timestamp. This last case is also potentially ambiguous, but the casting here is a very simple zero-copy cast that essentially just changes the metadata of the timestamp type (to add a timezone), and thus essentially treats the input as UTC (and not local wall time, for which there is a specific kernel pc.assume_timezone).
And so parsing a non-tz-aware string to a tz-aware timestamp can always be done in two steps, first parsing / casting to timestamp, and then converting to tz-aware timestamp:
>>> pa.array(["2024-01-01 05:00:00"]).cast(pa.timestamp("s")).cast(pa.timestamp("s", "Europe/Brussels"))
<pyarrow.lib.TimestampArray object at 0x7f065c331960>
[
  2024-01-01 05:00:00Z
]
>>> pc.assume_timezone(pa.array(["2024-01-01 05:00:00"]).cast(pa.timestamp("s")), "Europe/Brussels")
<pyarrow.lib.TimestampArray object at 0x7f065c2d26e0>
[
  2024-01-01 04:00:00Z
]

Makes sense - thanks for the explanation


update fbjs dependency

Thank you :)

Hey, fwiw, I actually did this on purpose: https://github.com/felixgirault/pure-render-decorator/pull/3/commits/be64728d224b0b16d633e1eb98d6cb9f71c7c1ec
Why do you need to update it? Did they actually change how shallow compare works?

Thank you for noticing.
I merged this request because I thought it was a typo, it seemed natural to me that we would want potential bugfixes. Do you really think they could break shallow compare so easily?
@khakulov did you know about that or did you also think it was a typo?

It seems pretty unlikely to be honest, but I just figured why not, better safe than sorry.

I had a version conflict in my project with other dependencies, so that fbjs functions compiled double in my bundle. In other side, if fbjs so unstable, why are you using it? Maybe just copy the shallowEqual function?

I think we can leave it as is.
Maybe they can break small features here and there, but it seems really unlikely that they could break shallowCompare(), given that it is widely used, and has a small and well defined purpose.


parse unsupported  sharding condition

Fixes #ISSUSE_ID.
Changes proposed in this pull request:

Pull Request Test Coverage Report for Build 6047

16 of 25 (64.0%)  changed or added relevant lines in 4 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 72.325%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sharding-core/src/main/java/io/shardingsphere/core/parsing/antlr/extractor/impl/PredicateExtractor.java
11
20
55.0%

Files with Coverage Reduction
New Missed Lines
%

sharding-core/src/main/java/io/shardingsphere/core/parsing/antlr/extractor/impl/PredicateExtractor.java
1
82.64%

Totals

Change from base Build 6044:
-0.03%

Covered Lines:
9573

Relevant Lines:
13236

💛  - Coveralls


Update gems

This updates kramdown (CVE-2020-14001)
(Note: I checked, and this doesn't actually change any content on our site, so it's not necessary to regenerate our asf-site branch after this change.)

Oh, and this was automatically updated with bundle update.


pd_defines.vh

While i was simulating the SweRV core on verilator. I found that it created few header files in the snapshot/default/ folder. One of the file is pd_define.vh. In that file I have encounter a line which says
`define TEC_RV_ICG HDBLVT16_CKGTPLT_V5_12
Now is the value after TEC_RV_ICG indicates some physical library cell which is used for clock gating. If yes than what does this mean as to which physical library it belongs. Does it belong to 65nm technology or something else and of which vendor?
Thanking you in advance

as cell name suggests it's 16nm technology  - you need to consult with your tech library vendor about particular cell names.
You need to consult also with your synthesis tool vendor how to enforce usage of specific cells/memories in final netlist.
Any guidance how to synthesize  SWERV cores is not provided here. These questions are out of scope / support of the DB

ok thanks for the response


[TVMC][ETHOSN] Improve target string to avoid duplication

Improves the TVMC target string to avoid duplication of the NPU variant. The new target string will require just the NPU name followed by -variant=n78. The old target string is deprecated and will be removed in a subsequent version of TVM.
cc @Leo-arm @Mousius @gromero @leandron

Thanks @Leo-arm @Leo-arm !