Add script to prepare dataset from csv

This commit aims to add a simple script to prepare a dataset from csv An assumption that the script make is the csv must contain these three columns: "instruction", "input", "output" (all case sensitive)
Fixes #329

@aniketmaurya any updates on this in terms of review?

Hi @aniketmaurya , can I please know the status of this PR, I see it is getting in hold for quite some days.

Hi @aniketmaurya , can I please know the status of this PR, I see it is getting in hold for quite some days.

hi @Anindyadeep, thanks for the PR. sorry for late response, I will review it this week!

Hi @aniketmaurya , can I please know the status of this PR, I see it is getting in hold for quite some days.

hi @Anindyadeep, thanks for the PR. sorry for late response, I will review it this week!

Thanks

@aniketmaurya  Seems like tests are failing, this means should I need to change the requirements file or do the operations without pandas?

hi @Anindyadeep, overall it looks good. would you mind if I directly push few changes to the PR?

Hi @aniketmaurya, I am cool with it you can take it and finish it. Thanks for reviewing

I can take this up additionally for the tutorial if you guys are okay with it.
cc: @aniketmaurya @carmocca

I can take this up additionally for the tutorial if you guys are okay with it.
cc: @aniketmaurya @carmocca

Sounds great, @Anindyadeep !
I think we should include this new CSV approach above the "custom script" approach since this is potentially easier for some people. I modified the tutorial file accordingly and left a "TODO" section for you to fill in. Thanks for the great contribution in this PR here!
Also, if you have a draft, please let me know, I am happy to help and can then go over it as well.

Thanks @rasbt, I created the documentation, hope this should be good to go.

Just tested the script and it works great. The only nit I have is, shouldn't it be
python scripts/prepare_csv.py --csv_path test_data.csv

instead of
python scripts/prepare_csv.py test_data.csv

for consistency, since we use --args in all other scripts?
Any thoughts @carmocca ?

Just tested the script and it works great. The only nit I have is, shouldn't it be
python scripts/prepare_csv.py --csv_path test_data.csv

Yeah, I agree with this.
Since it is a positional argument, I was not able to provide consistency, however, that can be changed if it is okay.

Sorry, I actually meant changing it in the script itself

Sorry, I actually meant changing it in the script itself

Correct me if we are on the same page or not. So I was talking about changing the script so that we can have --csv_path argument introduced 😅

Oh, sorry for causing any confusion. So

So I was talking about changing the script so that we can have --csv_path argument introduced 😅

was what I had originally in mind. But then my brain thought you were thinking I meant the documentation (since I just reviewed that and provided feedback in the previous round of comments).
Long story short, what I have in mind is that it'd be nice to have the --csv_path in both the script (and then in the documentation).
I think the problem of not having the  --csv_path is that it would show up when someone uses prepare_csv.py --help
to figure out the usage.
Maybe the CLI class doesn't list it there because it's a positional argument. In this case, maybe we can set it to an empty string or None and raise an ValueError if it's not specified. Not sure.
Any thoughts there?
(CC @carmocca who is on top of all the stylistic choices in Lit-GPT)

Oh, sorry for causing any confusion. So

So I was talking about changing the script so that we can have --csv_path argument introduced 😅

was what I had originally in mind. But then my brain thought you were thinking I meant the documentation (since I just reviewed that and provided feedback in the previous round of comments).
Long story short, what I have in mind is that it'd be nice to have the --csv_path in both the script (and then in the documentation).
I think the problem of not having the --csv_path is that it would show up when someone uses prepare_csv.py --help to figure out the usage.
Maybe the CLI class doesn't list it there because it's a positional argument. In this case, maybe we can set it to an empty string or None and raise an ValueError if it's not specified. Not sure.
Any thoughts there?
(CC @carmocca who is on top of all the stylistic choices in Lit-GPT)

Yeah, I have a question, why we are using jsonargparse instead of fire , Which probably can handle positional arguments as the optional one.

Thanks, @carmocca, I have committed the suggestions and guess we are good to go.

Thanks, @aniketmaurya @rasbt @carmocca for the merge. It has been incredible. I am excited to contribute more.

Thanks for the awesome contribution @Anindyadeep. This is super valuable! (PS: I am currently working on an article on datasets and be excited to mention your awesome PR) Thanks again!

Thanks for the awesome contribution @Anindyadeep. This is super valuable! (PS: I am currently working on an article on datasets and be excited to mention your awesome PR) Thanks again!

Thanks again and it would be awesome to get mentioned. PS: The LoRA Article is one of my best reads from your amazing set of articles. Excited to read the upcoming article on datasets.


Format AsyncFor

Summary
Implement FormatStmtAsyncFor by sharing impl with FormatStmtFor like With / AsyncWith.
Test Plan
Existing snapshots.

Thank you!


Invalid JSON values are accepted: numbers with trailing dot but only if greater than u64::MAX

According to JSON spec, both of these should be errors:
fn main() {
    let x1: Result<serde_json::Value, _> = serde_json::from_str("18446744073709551615.");
    assert!(x1.is_err());
    let x2: Result<serde_json::Value, _> = serde_json::from_str("18446744073709551616.");
    assert!(x2.is_err());
}

Playground
But this is the output, as of serde_json 1.0.88:
thread 'main' panicked at 'assertion failed: x2.is_err()', src/main.rs:5:5

Thanks — good catch. I've published a fix in 1.0.89.


Tabstrip throws an error when dynamically removing items

Package name(s)
Lab v1.0.0-alpha.4 (@salt-ds/lab)
Description
Cannot destructure property "id' of 'collectionHook.data[activeTabIndex]' as it is undefined @ Tabstrip.tsx:466
Steps to reproduce

Render a Tabstrip with 5 items
Remove three items
???
Profit

Expected behavior
Not to crash :'(
Operating system

[X] macOS
[ ] Windows
[ ] Linux
[ ] iOS
[ ] Android

Browser

[X] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

Are you a JPMorgan Chase & Co. employee?

[X] I am an employee of JPMorgan Chase & Co.

April 28 - 1 or 2 errors resolved; 3rd - speak to josh about how to proceed


Follow Azure resource id pattern

findTreeItem (at least the version we pass v1.5 client extensions) needs to use caching so that it can return references to tree items on the actual tree. If we don't cache tree items, and always create new items then it breaks quite a few things in the client extensions.
Since it needs to use the cache, can we just implement this as a method on the TDP instead of findByIdExperience? It has to access the internal cache and doesn't quite fit with the _Experience pattern anymore.
Tested the following uses of findTreeItem work:

loadPersistedPostgresDatabase which passes a tree item ID
getDeployNode which passes an Azure resource ID to deploy to

Closing in favor of #418


Include short sha in log messages and error urls

Motivation
As we approach our alpha release we've decided we want to plan ahead for the user bug reports we will eventually receive. One of the bigger issues we foresee is determining exactly what version of the software users are running, and particularly how easy it may or may not be for users to accidentally discard this information when reporting bugs.
Solution
To defend against this, we've decided to include the exact git sha for any given build in the compiled artifact. This information will then be re-exported as a span early in the application startup process, so that all logs and error messages should include the sha as their very first span. We've also added this sha as issue metadata for color-eyre's github issue url auto generation feature, which should make sure that the sha is easily available in bug reports we receive, even in the absence of logs.
The code in this pull request has:

[ ] Documentation Comments
[ ] Unit Tests and Property Tests

Review
Related Issues
Partly implements https://github.com/ZcashFoundation/zebra/issues/692
Follow Up Work

What does the output look like?
Should we consider changing the span name from zebrad to something shorter, to minimize the extra data attached to every line?
Also, should we set the span level above info, so that the sha shows up on errors as well?

What does the output look like?

Nov 30 16:47:28.745  INFO zebrad{GIT_SHA=7e6c588a}:sync: zebrad::components::sync: exhausted prospective tip set

Should we consider changing the span name from zebrad to something shorter, to minimize the extra data attached to every line?

/shrug

Also, should we set the span level above info, so that the sha shows up on errors as well?

SpanTrace follows the exact same span filtering rules that our events do, so this will show up in error reports if the filter level is set to info or above, but I do think switching the level to Error would be a good idea so this doesn't get filtered out when someone sets quieter log levels.

tweeked it, now it looks like this
Nov 30 17:07:37.177  INFO git{SHA=7e6c588a}:peer{addr=<IP_ADDRESS>:8233}:handle_message_as_request{msg=GetHeaders { known_blocks: zebra_chain::block::hash::Hash, len=32, stop: None }}:inbound:state: zebra_state::service: responding to peer GetBlocks or GetHeaders final_height=Height(12312) response_len=160 chain_tip_height=Height(103089) stop_height=None intersection_height=Some(Height(12152))

What if we set the span name to "" and made the key zebrad, so that it looked like {zebrad=7e6c588a}? Then if we put a tag in there or something it would become {zebrad=1.3.8} or whatever.

I removed the closes #692, because there's still a bunch of work listed in #692. We should make an explicit decision about when we want to do this work, rather than accidentally ignoring it.

I think the span should be of the form {zebrad=short_sha} (i.e., empty span name, field named zebrad). This is concise and identifies that we are running zebrad (not, e.g., git) and is compatible with tagged versions in the future.

I have realized this doesn't work inside Cloud Build because they tarball up your source and inject the git information via environmental variables, but you are not in a git repo:

where does that Built-in substitutions description come from?

where does that Built-in substitutions description come from?

The app hook pre-PR merge and  gcloud build submit post-PR merge

In both, we have $SHORT_SHA precomputed and available:

I have realized this doesn't work inside Cloud Build because they tarball up your source and inject the git information via environmental variables, but you are not in a git repo:

I updated #692 with this info, and a link to the Google Cloud reference docs: https://cloud.google.com/cloud-build/docs/configuring-builds/substitute-variable-values#using_default_substitutions


removing dead code, scoring fixes, documentation in mar_utils

ok, thanks. I will find a better way to do it.


[SPARK-21304][SQL] remove unnecessary isNull variable for collection related encoder expressions

What changes were proposed in this pull request?
For these collection-related encoder expressions, we don't need to create isNull variable if the loop element is not nullable.
How was this patch tested?
existing tests.

cc @ueshin @kiszk @viirya

Test build #79156 has started for PR 18529 at commit 01e2fcd.

Test build #79156 has finished for PR 18529 at commit 01e2fcd.

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

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

Merged build finished. Test PASSed.

Test build #79176 has started for PR 18529 at commit 568fd76.

Test build #79182 has started for PR 18529 at commit 50126bd.

Test build #79176 has finished for PR 18529 at commit 568fd76.

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/79176/
Test PASSed.

Test build #79182 has finished for PR 18529 at commit 50126bd.

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/79182/
Test PASSed.

LGTM

thanks for review, merging to master!


[BUG] limited_api: for b in x generates unstable PyList_GET_SIZE and PySequence_ITEM

Describe the bug
I got the following errors when I used the limited API.
mddatasetbuilder/dps.cpp: In function ‘PyObject* __pyx_pf_16mddatasetbuilder_3dps_dps(PyObject*, PyObject*)’:
mddatasetbuilder/dps.cpp:[24](https://github.com/tongzhugroup/mddatasetbuilder/actions/runs/5977887869/job/16218833816?pr=177#step:5:25)16:32: error: ‘PyList_GET_SIZE’ was not declared in this scope; did you mean ‘PyList_GetSlice’?
 2416 |               if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_8)) break;
      |                                ^~~~~~~~~~~~~~~
      |                                PyList_GetSlice
mddatasetbuilder/dps.cpp:2420:[27](https://github.com/tongzhugroup/mddatasetbuilder/actions/runs/5977887869/job/16218833816?pr=177#step:5:28): error: ‘PySequence_ITEM’ was not declared in this scope; did you mean ‘PySequence_In’?
 2420 |               __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error)
      |                           ^~~~~~~~~~~~~~~
      |                           PySequence_In
mddatasetbuilder/dps.cpp:2424:32: error: ‘PyTuple_GET_SIZE’ was not declared in this scope; did you mean ‘PyTuple_GetSlice’?
 2424 |               if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
      |                                ^~~~~~~~~~~~~~~~
      |                                PyTuple_GetSlice
mddatasetbuilder/dps.cpp:24[28](https://github.com/tongzhugroup/mddatasetbuilder/actions/runs/5977887869/job/16218833816?pr=177#step:5:29):27: error: ‘PySequence_ITEM’ was not declared in this scope; did you mean ‘PySequence_In’?
 2428 |               __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, [36](https://github.com/tongzhugroup/mddatasetbuilder/actions/runs/5977887869/job/16218833816?pr=177#step:5:37), __pyx_L1_error)
      |                           ^~~~~~~~~~~~~~~
      |                           PySequence_In

So, I checked the C++ code generated by Cython.
        /* "mddatasetbuilder/dps.pyx":34
 *                     continue
 *                 mol.append(s)
 *                 for b in bonds[s]:             # <<<<<<<<<<<<<<
 *                     b_c = b
 *                     if visited[b_c]==0:
 */
        __Pyx_TraceLine(34,0,__PYX_ERR(0, 34, __pyx_L1_error))
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_bonds, __pyx_v_s, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
          __pyx_t_8 = __pyx_t_1; __Pyx_INCREF(__pyx_t_8); __pyx_t_2 = 0;
          __pyx_t_9 = NULL;
        } else {
          __pyx_t_2 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 34, __pyx_L1_error)
        }
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        for (;;) {
          if (likely(!__pyx_t_9)) {
            if (likely(PyList_CheckExact(__pyx_t_8))) {
              if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_8)) break;
              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
              __pyx_t_1 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 34, __pyx_L1_error)
              #else
              __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_1);
              #endif
            } else {
              if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
              __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 34, __pyx_L1_error)
              #else
              __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_1);
              #endif

Code to reproduce the behaviour:
import cython

@cython.binding(False)
def m(x):
    for b in x:
        pass

A similar C++ code can be generated.
Expected behaviour
When limited API is enabled,

PyList_GET_SIZE and PyTuple_GET_SIZE should be PyList_Size and PyList_Tuple, respectively.
PySequence_ITEM should be PySequence_GetItem.

OS
Linux
Python version
3.8
Cython version
3.0.1
Additional context
No response

Thanks for the report. Yes, this needs to be changed a bit. We have compatibility shims, but all of these can fail in the Limited API (or, more specifically, if CYTHON_ASSUME_SAFE_MACROS is disabled) whereas they are safe in CPython normally. So this requires a bit more code to make it work correctly.


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 457 ms

Resolved: ClamAV performance has improved in feaa356.


Modify file content on the fly

Problem Description
In order to modify a file content upload operation on the fly, I use the following line
flow.request.multipart_form["file".encode("utf-8")] = bytes.fromhex(st_file)
However the upload fails because it is not parsing my modifications correctly You can see below two figures that show two requests the first is the correct one seen from mitmproxy perspective and second one is the falty one that I copied from mitmproxy too .

As you can see, the only difference resides in the Content-Type header which is application/octet-stream in the correct one and text/plain; charset=utf-8 in the faulty one so how can I force flow.request.multipart_form to use the appropriate Content-Type
System Information
mitmproxy --version : 7.0.1

Thanks for raising this! It looks like we just apply rather dumb heuristics here:
https://github.com/mitmproxy/mitmproxy/blob/92518f3b67c4c91188eb0450012942790dae688f/mitmproxy/net/http/multipart.py#L21
Ideally we need to do something similar to what we do for set-cookie, where we keep a separate dict of attributes around. But that's not that trivial. For now the best workaround probably is to manually do flow.request.content = flow.request.content.replace(...).

Thx @mhils the trick you mentioned works like a charm !
I'm going to close this issue.


How to handle replacement of single config entries inside a nested configuration?

Hi,
First of all: I just recently started using Figment and really like it - thanks for your work :)
I did not really know where the best place to ask the following question would be, therefore I decided to create an issue.
However of course feel free to point me in another direction and close the issue, if this is the wrong place to ask questions ;)
Now to my question:
I am currently struggling with merging multiple configuration sources for a nested configuration.
Here's a simplified example, to illustrate my setup:
Source A - toml file
I have a toml file structured like this:
[config section A]
sectionAOption1 = 'abc'
sectionAOption2 = 'xyz'

[config section B]
sectionBOption1 = 'foo'

Source B - struct with defaults
#[derive(Deserialize, Serialize, Clone, Default, Debug)]
pub struct Config {
    pub sectionA: SectionAConfig,

    pub sectionB: SectionBConfig,
}

#[derive(Deserialize, Serialize, Clone, Default, Debug)]
struct SectionAConfig {
    section_a_option_1: String
    section_b_option_2: String
}

#[derive(Deserialize, Serialize, Clone, Default, Debug)]
struct SectionBConfig {
    section_b_option_1: String
}

Source C - some arguments parsed by clap
#[derive(Parser)]
#[command(author, version, about, long_about = None)]
struct Cli {
    // Other args shared with some sub commands
    #[command(flatten)]
    common_args: CommonArgs,

    // Some configuration options which are also available as arguments
    #[command(flatten)]
    some_config_options: SomeConfigOptions,

    #[command(subcommand)]
    command: Option<Commands>,
}

#[derive(clap::Args)]
struct SomeConfigOptions {
    #[arg(long, short = 's', default_value = "default")]
    section_a_option_1: String
}

Goal
My struct provides my configuration defaults. Then the toml file takes priority and clap arguments have the highest priority.
Question
What would be the best/simplest way to merge these CLI-arguments with my other sources? As shown above I can't just use my whole CLI-configuration as a source, because a) it has other arguments and commands as well and b) its structure is different to my actual configuration structure. I thought of implementing From<SomeConfigOptions> on my Config, however then I would need to provide default values to the fields missing from my clap args and these would then override parts of my configuration from e.g. the toml file. Another way I thought of would be to create some kind of DTO struct which imitates the structure of my config, so that the nesting would be correct. But that would mean I have to write such a struct for every optional argument and that would feel really hacky. Or do I need to write a provider? But even if so, how would that look like so that it solves my problem?
I feel like I am missing something here and am probably overthinking the whole thing. But I just can't figure out what a good way to do this would be.
Thanks in advance :)
EDIT: Hm 🤔 one way I could think of, is to manually put the values from the arguments into nested HashMaps - that should probably work, but isn't really pretty either...

All you need to do is ensure that the CLI arguments structure serializes in such a way that's compatible with the structure of your other configuration options. Serde has an incredible number of options to configure the automatic derivation of Serialize; see https://serde.rs for all of its docs, in particular https://serde.rs/attributes.html and the following pages.
Alternatively, you could manually convert your CLI config structure into a Config and merge the resulting value.

Thanks for your answer - I didn't know about serde attributes, yet. That looks very promising.
I worked around my issue by building a PartialConfigBuilder which converts my CLI-config into a HashMap-representation of the config. This works well, but needs quite a lot of boilerplate, so I'll definitely see, if I can solve this with attributes. (They reason why my CLI currently can't exactly match the config is, because I want these arguments to be optional, but the config itself requires them and sets defaults instead when initializing the Figment - Maybe this is bad design? I am not quite sure. I just didn't want to handle lots of Options inside my code...)


[feature] support -h--help option

Go CLI is good, Java side needs to be improved:

@tangyang9464 @imp2002


cg case

Hi Fisch here.
I would like to request for advice.
I wanted to change script in Miyuki infinite routes part Mysterious box.
I erased alergic cat text and replaced it with kill the cat but then I realised that these two text have different cg.
Do you know something about it what can help me?
if no close the issue.
Thanks.

no, my entire github, for all tools that I made, basically aims only to translate the game scripts, not edit them.

Hi Fisch again.
Maybe this is a little stereotype asking you all the time but I would like to know the answer.
I already know that your tool accept only same part of the script so programer must pay attention to that.
What I am asking you is if you have any experience with changing cgs because I got a strange problem.
When I want to change the cg for script in nut directory
it gives me  game error.
I am asking you this because this is not problem of your tools.
But I am asking you this beacuse you are(I think) A translator of visual novels.
Do you have any experience with changing cgs in these visual novels?
Here I attach a photo and explanation what am I trying to do.

If you can't help just close this issue.

Usually I don't care to modify the game images, because my translations is based from english games, this mean they're already edited, the english game menu is good enough to be released with a Portuguese translation, then I really don't really care to edit the game images.
But usually replace the image is usually easy, some few cases will be a pain, when you want change the image size, maybe the image pixel format as well, or in more rare cases, some few engines reference the files in the packages by id instead name, in that rare cases you can't really replace then without lost the original one or disassembly the entire game script.

Thank you for answer
I am sorry but probably I don't describe my problem correctly.
When I want to change cg I don't mean change cg size or something but I mean that I can't replace cg line to text file
For better describe I will use a photo.
Sorry for my bad drawing and thanks for answer.

Hope I am not interupting or anything but I really need to know the answer.
If you can't help just let me know.
Thank you.

Also can I ask you if your tool can add text or sprite images or change sprite images into text?
Thanks Hope I don't bothering.

Hi.
Sorry that I am bothering again and talking little out of topic but...
I would like to ask you if you know how totono game generate questions randomly.
Is there a file for it?
I looked everywhere and found only Miyuki character question String.
Have a nice day.
Thanks for answer.


jxlinfo bin size got much bigger since 0.11.0

jxlinfo used to take around 20 kb, but now it takes more than 1.0 MB. Other binaries also got bigger, like djxl and cjxl. Is there any particular reason for that?
Tested on PorteuX 1.7 dev branch, and Arch in testing.

Possibly related change: https://github.com/libjxl/libjxl/commit/bc615c1575ef7c2b853a8e29d133e7a34c73eb17#diff-70523fd3fe726ff8a7cba389b1deb5a5b761e02ebefe2fad6a1531d529e440dcR163

This is pretty much a guess, but it's probably using static builds now instead of linked ones. So each binary is now self-contained instead of sharing code

@jonnyawsom3, maybe, but I didn't change anything in the build script.
Can you replicate the issue building in release mode?

We just shipped 0.11.0 in conda-forge and observed 163KB for jxlinfo in the linux-64 release build. This is larger than 25KB in 0.10.3 but I'm not sure whether it's an issue.

0.11.0
-rwxrwxr-x  1 sshockwave  staff   2.3M  9 21 20:34 cjpegli
-rwxrwxr-x  1 sshockwave  staff   291K  9 21 20:34 cjxl
-rwxrwxr-x  1 sshockwave  staff   356K  9 21 20:34 djpegli
-rwxrwxr-x  1 sshockwave  staff   268K  9 21 20:34 djxl
-rwxrwxr-x  1 sshockwave  staff   163K  9 21 20:34 jxlinfo

0.10.3
-rwxrwxr-x  1 sshockwave  staff   2.3M  7 12 11:11 cjpegli
-rwxrwxr-x  1 sshockwave  staff   164K  7 12 11:11 cjxl
-rwxrwxr-x  1 sshockwave  staff   403K  7 12 11:11 djpegli
-rwxrwxr-x  1 sshockwave  staff   112K  7 12 11:11 djxl
-rwxrwxr-x  1 sshockwave  staff    25K  7 12 11:11 jxlinfo

I see. I think the issue happens when I compile using LTO.  Also, I noticed this when building: Linking CXX static library libhwy.a. While in your build, the binaries depend on libhwy, which means you're not statically linking.
My question is just why this changed in 0.11.0, where in previous versions the same build script was generating much smaller binaries.


Add support to use jemalloc as memory allocator for supported platforms

Is your feature request related to a problem? Please describe.
Since OpenSearch KNN Plugin's native engine libraries are written in C++, they can suffer from both internal and external fragmentation by default memory locator(glibc). By adding support (preferably bundle jemalloc with OpenSearch similar to jdk ) to use jemalloc in supported platforms, knn query performance can be improved.
From multiple experiments it is clear that memory allocator can affect the query performance of database engines. jemalloc is a general purpose malloc implementation that emphasizes fragmentation avoidance and scalable concurrency support. It is also used as default memory allocator for applications like Redis, Facebook, Cassandra, Firefox, etc.
Describe the solution you'd like
In supported platforms, jemalloc can be bundled with OpenSearch and used as memory allocator at runtime by updating LD_PRELOAD. This doesn't require any code changes in opensearch knn plugin.
Describe alternatives you've considered
N/A
Additional context
OpenSearch knn team conducted experiments and verified that using jemalloc as memory allocator reduces memory fragmentation and improves query performance . Please see more details here

It sounds like you're proposing to include jemalloc (native code) into this repo (OpenSearch core), and build and distribute it as part of the -min distribution because it will significantly improve performance of any plugin that uses native code. The obvious advantage of doing that is that users don't need to build anything to enable jemalloc, an easy performance win. Because jemalloc is not known to have (any?) downsides, this could even be the default.
The alternative is to either consume a platform-specific jemalloc package, or a package with builds for multiple platforms in the distribution with plugins, similar to how we build/package native code as part of k-nn (e.g. FAISS).
We've had some debates about native code in core in https://github.com/opensearch-project/OpenSearch/issues/9422, so I would take a look. I'm curoious what @nknize and @andrross think about this one?

The debate about native code in #9422 was really about interfacing with native code from Java in OpenSearch core. There are portability concerns, as well as operational concerns about integrating with a library that uses memory outside the control of the JVM. Neither of these apply the same way for jemalloc in my opinion. The question is whether we (OpenSearch) want to take on the burden of packaging and enabling jemalloc in our distributions. If I understand correctly, users are able to do this themselves today with no changes from OpenSearch, though obviously it could be much simpler if it was distributed and enabled by default. The benefit of doing so is that it could be an easy performance win. The downside is that in case of a CVE or other critical issue with jemalloc, then users are kind of on the hook for an updated distribution from us to mitigate (I have similar concerns with our approach of bundling the JDK, to be honest).

Another thought, if we are going to recommend using jemalloc we should be running performance tests with it. @VijayanB I would start there, opened https://github.com/opensearch-project/opensearch-benchmark/issues/370.

One of the interesting features jemalloc comes with is native memory profiling (with addition to JVM native memory tracking), for the reference https://poonamparhar.github.io/troubleshooting_native_memory_leaks/

From my experience, jemalloc has worked very well. From what Ive seen, it greatly minimizes fragmentation when compared to glibc malloc on Linux (ran some experiments a long time ago here: https://github.com/opensearch-project/k-NN/issues/72#issuecomment-908876598). Additionally, I have seen very few negative reviews around it.
@andrross concerns make sense. I have seen some comments that it may have some platform compatibility issues, which would be difficult to maintain. I believe Rust removed jemalloc by default for mainly this reason https://github.com/rust-lang/rust/issues/36963. I am wondering if we could recommend it as an optimization as opposed to bundling.

I am wondering if we could recommend it as an optimization as opposed to bundling.

I think some benchmarks + a blog post would make for good reading.

Hi all, are there any documentation requirements coming for 2.12? Thanks!


Add more eligibility checks to the RF4 dbt model

What is it?

has there been a recent commit in the last 30 days
have there been more than 10 days of activity in the last 90 days

For now at least, we need to take a final version of this model and adding a field in here

Latest thoughts from Jonas are here
Checks to consider:

Enforce Eligibility criteria
Check that Github repo has min number of commits (e.g. 100)
Check that Github repo has min number of stars (e.g. 20)
Check that Github repo is in relevant language (Solidity or Javascript)

Current repo checks:
repo_snapshot.commit_count >= 10
and repo_snapshot.days_with_commits_count >= 3
and repo_snapshot.first_commit_time < '2024-05-01'
and repo_snapshot.star_count >= 10
and repo_snapshot.language in ('Solidity', 'JavaScript', 'TypeScript')
and repo_snapshot.license_type != 'Unspecified'


emacs: change substituteInPlace invocation to an aligning patch

Re-submission of #193621. I interpreted a message as suggesting I target the staging branch instead, but after rebasing, I forgot to change the target branch on GitHub, which resulted in a lot of people getting spurious review requests.
This patch isn't very urgent, so staging should be an OK place anyway.

Commit 97b928ce09d6034ebcb541fb548e5d4862302add in Emacs messed up the substituteInPlace. Use a patch instead to prevent silent failures.
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=97b928ce09d6034ebcb541fb548e5d4862302add
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

This does not need to go to staging. As I said, the emacsPackages are not significant even if their number is great.

@leungbk please read the docs on how to change the target branch without pinging every code owner.


Reports data range is very limited

Its very disappointing that report dates for store reports like "Reviews" and others has a very limited date range (30 days max).  What if we want to see a complete list of feedback from the start ?
This needs to be changed and complete report from day 1 should be made available or older then 30 days review reports should be archived and made available for download.
Regards
[Enter feedback here]

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

ID: e66ea6ad-8d3b-5388-a4c6-9911970ca591
Version Independent ID: 39419d19-1f49-c232-89c6-491edd3f0e8c
Content: Download analytics reports - UWP applications
Content Source: windows-apps-src/publish/download-analytic-reports.md
Product: uwp
Technology: publish
GitHub Login: @hickeys
Microsoft Alias: hickeys

This feels not so much like feedback specifically about the documentation, but rather like a question, or feedback, about the product. I don't have any additional content for your scenario, over and above what's in the documentation. So it might be worth your pursuing this as a question/feedback about the product. You got here by clicking Send feedback about > This page. If instead you click Send feedback about > This product, then you'll be taken to the right channel to leave product questions/feedback.


Accessibility. Flag icon image missing alt=''

Describe the bug
The flag icon is missing an empty alt tag. should be a super quick fix ;)
To Reproduce
Steps to reproduce the behavior:

Go to 'https://react-international-phone-docs.vercel.app/'
Click on 'Dev tools' & run Google Lighthouse report on Accessibility
See error "Image elements do not have [alt] attributes"

Expected behavior
There should be no Accessibility issues
Screenshots

@pdkn Maybe alt should contain country iso instead of empty value?
Like alt="us-flag" for US
What do you think?

maybe, I would assume the parent component would control the focus and aria
labels, so, in this case, the actual graphic alt is not needed.
On Tue, 22 Aug 2023 at 13:47, Yurii Brusentsov @.***>
wrote:

@pdkn https://github.com/pdkn Maybe alt should contain country iso
instead of empty value?
Like alt="us-flag" for US
What do you think?
—
Reply to this email directly, view it on GitHub
https://github.com/goveo/react-international-phone/issues/86#issuecomment-1688118836,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABNOJDVTCF6MVSPEDWECODXWSS47ANCNFSM6AAAAAA3ZUS2VY
.
You are receiving this because you were mentioned.Message ID:
@.***>

:tada: This issue has been resolved in version 3.1.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Failed to setup snapshot

Hi. Just tried to use fastlane for the first time today.
During fastlane init the setup failed to setup snapshot.
I had to change two lines in the setup_ios.rb file:
require 'snapshot/setup'
Snapshot::Setup.create(folder)

ErrorLog
[12:49:37]: Error occurred with the setup program! Reverting changes now!
[12:49:37]: Deleting the 'fastlane' folder
/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:121:in `require': cannot load such file -- snapshot/snapfile_creator (LoadError)
	from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:121:in `require'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.34.0/lib/fastlane/setup/setup_ios.rb:108:in `ask_to_enable_other_tools'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.34.0/lib/fastlane/setup/setup_ios.rb:24:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.34.0/lib/fastlane/setup/setup.rb:19:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.34.0/bin/fastlane:48:in `block (2 levels) in run'

Wow, nice catch, thanks! :+1:


Fixes for reference before assignment…

found through static analysis tooling
(more to go; or you can merge now and await further PRs; or you can request I move this to one PR per file or per module)

Thanks for the PR. Unit tests are failing and the value-add of most of these changes is highly questionable (most of it is unreachable code which will only serve to decrease our coverage). Please double check each change and only keep the useful ones.

Thanks for the PR. Unit tests are failing and the value-add of most of these changes is highly questionable (most of it is unreachable code which will only serve to decrease our coverage). Please double check each change and only keep the useful ones.

@fchollet Hmm ok I'll see what's causing these segfaults. In the meantime a lot of the patches are to solve the traceability problem, i.e., guarantee that the output variable is constructed as per below:
-        for output in ds.take(1):
-            output = output.numpy()
+        output = next(iter(ds)).numpy()

Should I change the PR to just that fix, and make separate PR(s) for the other cases?

Hi @SamuelMarks Can you please resolve conflicts? Thank you!

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (327360e) 79.43% compared to head (ba50c95) 22.93%.

Files
Patch %
Lines

keras/applications/densenet.py
0.00%
2 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #18640       +/-   ##
===========================================
- Coverage   79.43%   22.93%   -56.50%
===========================================
  Files         336       16      -320
  Lines       34857     2232    -32625
  Branches     6852      369     -6483
===========================================
- Hits        27690      512    -27178
+ Misses       5585     1710     -3875
+ Partials     1582       10     -1572

Flag
Coverage Δ

keras
?

keras-jax
?

keras-numpy
?

keras-tensorflow
?

keras-torch
?

keras.applications
22.93% <0.00%> (?)

keras.applications-numpy
22.93% <0.00%> (?)

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

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

Hi @SamuelMarks Can you please resolve conflicts? Thank you!

@gbaned Done

@SamuelMarks , Can you please rebase the code to the latest code structure, eg: keras/layers is now keras/src/layers

@sachinprasadhs No problem. Merged and resolved conflicts.

Hi @SamuelMarks Can you please resolve conflicts? Thank you!

@gbaned Done.

Hi @SamuelMarks Still conflicts are appearing, can you please resolve those? Thank you!

@gbaned Done

Hi @SamuelMarks Can you please resolve conflicts? Thank you!

@gbaned Sure thing, done

@SamuelMarks , can you check the failing test, looks like some discrepancies in the channel axis.

@sachinprasadhs That last commit should do the trick. Also merged in latest master.

🎉 it merged!

Requisite Spongebob meme:

🎉 it merged!


Cross origin in Flight PHP

How to deal with cross origin problem with Flight PHP ?

Maybe a filter?
require 'vendor/autoload.php';

Flight::route('/', function () {
    Flight::json([["name"=>"John Smith", "age"=>42]]);
});

Flight::before('json', function () {
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: GET,PUT,POST,DELETE');
    header('Access-Control-Allow-Headers: Content-Type');
});

Flight::start();

when returning my own 4xx errors they were being shown as cors errors in the browser, incorrectly.  Adding this to the above code fixed it for me.
// this prevents 4xx errors from being obscured as cors errors
Flight::before('error', function () {
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: GET,PUT,POST,DELETE');
    header('Access-Control-Allow-Headers: Content-Type');
});

I know this issue is closed, but as its indexed on google when searching for "Flight PHP CORS" I need to add this comment to warn readers that the Request::header() signature has changed and now requires two parameters instead of one, so the code snippets above are not correct.
require 'vendor/autoload.php';

Flight::route('/', function () {
    Flight::json([["name"=>"John Smith", "age"=>42]]);
});

Flight::before('json', function () {
    header('Access-Control-Allow-Origin', '*');
    header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
    header('Access-Control-Allow-Headers', 'Content-Type');
});

Flight::start();

and
// this prevents 4xx errors from being obscured as cors errors
Flight::before('error', function () {
    header('Access-Control-Allow-Origin', *);
    header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
    header('Access-Control-Allow-Headers', 'Content-Type');
});

You might now continue your journey!


DOC: update matrixmarket pdf link

Use the http link from netlib instead of an ftp link from a mirror.

Thanks for the fix.


Option type broken in apply scenario

Hi,
In the example below quick-check created values that found an issue in applying a delta. This kind of test can be extended to more complex types for arbitrary-generated values.
Thread 'main' panicked at '[quickcheck] TEST FAILED. Arguments: (Basic { field: Some(38) }, Basic { first_symbol: None })', /home/dan/.cargo/registry/src/github.com-1ecc6299db9ec823/quickcheck-0.8.5/src/tester.rs:176:28

use deltoid::{Delta, Apply};
use deltoid_derive::Delta;
use quickcheck::quickcheck;
use quickcheck_derive::Arbitrary;
use serde_derive::{Deserialize, Serialize};

#[derive(Clone, Eq, PartialEq, PartialOrd, Ord, Debug, Delta, Serialize, Deserialize, Arbitrary)]
pub struct Basic {
    pub field: Option<u32>,
}

fn tester(a: Basic, b: Basic) -> bool {
    let delta = a.delta(&b).unwrap();
    let c = a.apply(delta).unwrap();
    return b == c;
}

fn main() {
    quickcheck(tester as fn(Basic, Basic) -> bool);
}

Example dependencies:
[dependencies]
deltoid = { git = "https://github.com/jjpe/deltoid" }
deltoid-derive = { git = "https://github.com/jjpe/deltoid" }
serde_derive = "1"
serde = "1"
quickcheck = "0.8"
quickcheck_macros = "0.8"
quickcheck_derive = "*"
rand = "0.6"

Hi, thank you for reporting this!
I'll dig deeper into this issue when I have some time to do so.

I think I see what's going on now.
There's an ambiguity in the representation of Delta types.


fa-vial icon missing

Hi,
I have read the Contribution Guide and followed the instructions before open a new issue, but I still cant get show the vial icon.
It simple doesnt show, following is the output of sugested list of gems:

autoprefixer-rails (9.6.1)
coffee-rails (4.2.2)
font-awesome-rails (<IP_ADDRESS>)
jquery-rails (4.3.5)
jquery-ui-rails (6.0.1)
knockoutjs-rails (3.5.0)
rails (5.2.3)
rails-dom-testing (2.0.3)
rails-html-sanitizer (1.3.0)
react-rails (2.6.0)
sass (3.7.4)
sass-listen (4.0.0)
sass-rails (5.1.0)
sassc (2.1.0)
sassc-rails (2.1.2)
sprockets-rails (3.2.1)

I have checked that no other css class is overriding font-family of fa class; nothing is overriding it.
The vial icon is missing for me.
thanks in advance.

Sorry, I have recently saw that there is a new version of fa icons.
My solution was use gem font_awesome5_rails that has backward compatibility with this gem.


Remove staging a-wallet.xml strings and merge into main strings.xml

Remove old staging strings - awallet.xml (created to speed development and avoid confusion when we had a trust repo running in parallel with our own).
Merge all strings into a single file and remove redundant strings.

@JamesSmartCell conflict still exists. Please ensure this is fixed else we will have translation problems in the future.


No module named 'object_detection'

Traceback (most recent call last):
File "/content/models/research/object_detection/model_main.py", line 25, in
from object_detection import model_hparams
ModuleNotFoundError: No module named 'object_detection'
Can u give me the Solution for the above issue ?

Hi,
What command are you running?

GoogleCollab :
python <path_to_tensorflow>/models/research/object_detection/model_main.py
--pipeline_config_path=<path_to_tooth-detection>/tooth-detection/models/transfer/faster_rcnn_resnet50_coco.config
--model_dir=<path_to_tooth-detection>/tooth-detection/models/transfer/new_version
--num_train_steps=100000
--alsologtostderr
Are u using Linux to build This? (local_host or server)

I'm sorry i'm not sure I understand.
The ModuleNotFoundError: No module named 'object_detection' error is probably because you didn't export the python path as it is explained in the installation step

Closing this issue due to inactivity


block_getter: use local block ID verifier for local blocks

It's expensive, and doesn't really protect against anything but local disk corruption (which should be caught anyway during block decryption).
With #23247 and #23274, I think this should eliminate all unnecessary block hashes in prod builds.
Issue: HOTPOT-2024

WDYT renaming verifyLocalBlockID into something more specific like verifyLocalBlockIDDevOnly?

@songgao I don't really like that personally since DevOnly it a bit unclear (could mean "developers" i.e. "admins"), and I think it should be pretty clear from the code. But if you feel like it's too confusing like it is, I can change it to that, or maybe something else I haven't thought of yet.

@strib how about just verifyLocalBlockIDMaybe? Not very feeling strongly about this though so up to you!

Ok, used the Maybe suffix, thanks!  Will merge when Ci passes.


Permission slide: Listener after Permission is granted

Is there a Listener after permission is granted in Permission slide to start a little peace of code?

Currently there is no listener available, but we have it in our TODO list ;)

Is there any update on this?


After I added the chatsdk modules its shows null object reference

Is the bug present in the demo Chat SDK project?

What modifications have you made to the Chat SDK?

Android Version:

Steps taken to reproduce the problem:

Expected result:

Actual result:

Comments:

After I added the chatsdk modules its shows null object reference in all material elements like this error java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.material.button.MaterialButton.setVisibility(int)' on a null object reference

@RahatSaqib can you please update the issue template?

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.project.ramfolinee/co.chatsdk.ui.login.LoginActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.material.button.MaterialButton.setVisibility(int)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.material.button.MaterialButton.setVisibility(int)' on a null object reference
at co.chatsdk.ui.login.LoginActivity.initViews(LoginActivity.java:98)
at co.chatsdk.ui.login.LoginActivity.onCreate(LoginActivity.java:74)
at android.app.Activity.performCreate(Activity.java:6975)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

This error occured when the activity runs

Can you post your Chat SDK initialization code?

Context context = getApplicationContext();
    try {
        // Create a new configuration
        Configuration.Builder builder = new Configuration.Builder();

        // Perform any other configuration steps (optional)
        builder.firebaseRootPath("prod");

        // Initialize the Chat SDK
        ChatSDK.initialize(context, builder.build(), FirebaseNetworkAdapter.class, BaseInterfaceAdapter.class);

        // File storage is needed for profile image upload and image messages
        FirebaseFileStorageModule.activate();

        // Push notification module
        FirebasePushModule.activate();
        builder.publicRoomCreationEnabled(true);
        builder.pushNotificationSound("default");
        builder.pushNotificationsForPublicChatRoomsEnabled(false);
        ProfilePicturesModule.activate();

        // Activate any other modules you need.
        // ...

    } catch (Exception e) {
        // Handle any exceptions
        e.printStackTrace();
    }

Which class is this in?

AppObj class. which class i added on android menifest file with
android:name=".AppObj"

Do you get any exception during initialization?

No i didn't . I am trying to resolve this problem for 3 days. Upgrade all the dependency also. But the default chatsdk app is running well. But when I tried to do on my app. It is showing this error

Ok, so you've added it to your app. Did you make any other changes?

What do you have in your intent filter as the start activity for your app?

default splash screen activity

the splashscrren activity is running well and main activity,profile activity also running well.It shows error when i pressed logout button it shows this error. It shows all the com,google.android.material things as per my guessing

error is showing on loginactivy, chatactivity. when it tries to retrieve material button or material textinputview. It showing the null pointer exception

Is your project on Github? If you invite me I can see what the issue is. My username is ben_smiley.

Yes i Invited you . to my project. Please check it out brother

Recently i remembered. I have added api 'androidx.legacy:legacy-support-v4:1.0.0'  dependency inside chat-sdk-core's build script. Because there was showing a bunch of error .After following one stackoverflow answer. I added this & resolved my problem.is this a problem ?

hey . did you check my project?

@RahatSaqib I've looked at this and I'm afraid I have no idea what's going on. The splash screen activity loads up fine but the login activity doesn't. The xml layout is never expanded properly. I've not seen this kind of issue before and I doubt it's related to the Chat SDK.
There has to be something that's wrong with your project but I'm afraid I can't go through the whole project myself to find out what it is. I would suggest that you re-checkout the Chat SDK and add your own files bit by bit and check each time to see if it breaks. Then you can narrow down what it is.

My guess would be that one of your Gradle dependencies has messed it up. You could remove some recent dependencies or go back to a previous commit and see if it works then.

if i commit to previous version it show error. cannot resolve
hasdefaultview provider factory something like that.. then i upgrade jst
life cycle extenstion version 2.1.0 to 2.2.0. the error have gone. and the
null error  occurs. what should i do.😐😑😑
On Tue, May 26, 2020, 23:15 Ben Smiley<EMAIL_ADDRESS>wrote:

My guess would be that one of your Gradle dependencies has messed it up.
You could remove some recent dependencies or go back to a previous commit
and see if it works then.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/chat-sdk/chat-sdk-android/issues/627#issuecomment-634159219,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AI45FVEGIXN4B3PX2FNEMT3RTP2MDANCNFSM4NJTA3LQ
.

@RahatSaqib there is probably a Gradle conflict. I would recommend that you roll back to the previous version that worked and then see which dependency is causing this issue.

I solved the login activity issue. Because my apptheme was at default . As i told that this issue is occuring for material components so i replace my app theme parent by Theme.MaterialComponents.Light.Bridge this theme. and it solved . But now this issue is showing on chatactivity like this void co.chatsdk.ui.chat.textinputview.setdelegate(co.chatsdk.ui.chat.textinputdelegate)' on a null object reference

@RahatSaqib I'm afraid I'm not really able to fix this kind of individual issue that is related specifically to your project. We have a lot of people using the library and every project is different, so it's not practical for me to address project-specific issues. If you would like me to look at it further, you would need to purchase some priority support time. As I recommended previously, I would recommend rolling back your changes until you find out which one is causing the trouble.

co.chatsdk.ui.chat.textinputview.setdelegate(co.chatsdk.ui.chat.textinputdelegate)' on a null object reference
This issue has been solved. I was using the same activity and xml file on my project before in main app module. When I delete those previous xml and activity my issue has been solved..
Thank you for your help. @bensmiley

Why did new chat history shows blank? any idea.? Because my firebase connected successfully and all user registers successfully. But new chat shows blank.


[Access Request] page 30 "Item Card"

Could you please change the access scope of the following variable to protected?
protected var
        ShowWorkflowStatus: Boolean;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 11018.


How to convert fl::Variable to fl::Tensor

Question
Assume we have a variable fl::Variable and a variable fl::Tensor. How can I covert one to another?

fl::Variable::tensor() (the .tensor() method on Variable) and Variable(Tensor tensor) (the Variable constructor).
Docs.


[E2] increase holo limits

I know that Shadowcion asked to increase the limits from 128 to 250 in 2013, but with times knowledge comes, and nowadays i find out that 250 holograms is veryyy short for advanced contraptions, and a small increase such as wire_holograms_max 250 --> 300 would be very useful and would not create a big difference in players experiences !

not create a big difference in players experiences !
not if your gpu isn't good

Not really, because a small percent of the players use a lot of holos, and add that the chance that the players has a "bad gpu" (even if i think it has no influence) the chance that small increase of holos limits bother someone is under 2%

Build more efficiently.

This is a convar right? Just ask the server owner to increase it.

Build more efficiently. 250 is plenty. Speaking as someone who has pretty much exclusively used wiremod for holograms for the better part of 8 years.

Well, i'am using only standart props (hq_tube, cube, prism) and if i want to add more details on my creations it quickly increase over 250, so i'll probably try with different props i guess^^


Confusion regarding usage of constants

In content.publish.php, the __actionNew and __actionEdit functions both use __ENTRY_FIELD_ERROR__ and __ENTRY_OK__ constants. However, the usage is inconsistent:

in __actionNew we find Entry::__ENTRY_FIELD_ERROR__ and Entry::__ENTRY_OK__
in __actionEdit we find __ENTRY_FIELD_ERROR__ and __ENTRY_OK__

__ENTRY_FIELD_ERROR__ and __ENTRY_OK__  are deprecated, so this should be fixed.
I will send a PR.

Good find, thank you!

Closed via #2514


Added overrides to all Openstack API calls

This patch allows users to register PoP with self-signed SSL certificates
by default.
Issue openbaton/nfvo#8 is partialy fixed with this commit. For a complete
solution some configuration options should be added to startup configuration
file for enabling/disabling this behavior.

Hi @KLuka could you please check why it is not building correctly? check travis please: https://travis-ci.org/openbaton/openstack-plugin

Ok, I guess that VimDriverException location was moved in sdk. I added another commit that fixes the issue...
Please let me know if you need more info or anything else ;)


Rework DwarfResolver internals to use Cache type

This change reworks the DwarfResolver internals to use the newly introduced Cache type. This type mirrors what we already have in the ElfParser type.

I added another commit that uses the new functionality to eliminate search_address_opt_key.

as discussed offline, probably slightly better to use partition_point() here (consistency with find_match_or_lower_bound and no need to translate Equal into Greater). Given you have tests written, I trust the new implementation will be correct, so will approve right now.

Done. Thanks for the review!


Error trying to compile under Haiku 32 bits.

When trying to compile under Haiku 32 bits, I got the following error:
Source/WSOpenMeteo.cpp: In member function 'void WSOpenMeteo::_ProcessWeatherData(bool)':
Source/WSOpenMeteo.cpp:165:118: error: invalid conversion from 'int*' to 'int32*' {aka 'long int*'} [-fpermissive]
  165 |                                         for (int32 tDay = 0; dayMessage.GetInfo(B_DOUBLE_TYPE, tDay, &tName, &tType, &tCount) == B_OK && tDay < maxDaysForecast; tDay++) {
      |                                                                                ^~~~~~~
      |
      |                                                                                int*
In file included from /system/develop/headers/private/shared/Json.h:12,
                 from Source/WSOpenMeteo.cpp:7:
/boot/system/develop/headers/os/app/Message.h:70:80: note:   initializing argument 5 of 'status_t BMessage::GetInfo(type_code, int32, char**, type_code*, int32*) const'
   70 |                                                                         int32* countFound = NULL) const;
      |                                                                                ^
Source/WSOpenMeteo.cpp:183:119: error: invalid conversion from 'int*' to 'int32*' {aka 'long int*'} [-fpermissive]
  183 |                                         for (int32 tDay = 0; tempMessage.GetInfo(B_DOUBLE_TYPE, tDay, &tName, &tType,&tCount) == B_OK && tDay < maxDaysForecast; tDay++) {
      |                                                                                ^~~~~~~
      |
      |                                                                                int*
In file included from /system/develop/headers/private/shared/Json.h:12,
                 from Source/WSOpenMeteo.cpp:7:
/boot/system/develop/headers/os/app/Message.h:70:80: note:   initializing argument 5 of 'status_t BMessage::GetInfo(type_code, int32, char**, type_code*, int32*) const'
   70 |                                                                         int32* countFound = NULL) const;
      |                                                                                ^
Source/WSOpenMeteo.cpp:201:119: error: invalid conversion from 'int*' to 'int32*' {aka 'long int*'} [-fpermissive]
  201 |                                         for (int32 tDay = 0; tempMessage.GetInfo(B_DOUBLE_TYPE, tDay, &tName, &tType,&tCount) == B_OK && tDay < maxDaysForecast; tDay++) {
      |                                                                                ^~~~~~~
      |
      |                                                                                int*
In file included from /system/develop/headers/private/shared/Json.h:12,
                 from Source/WSOpenMeteo.cpp:7:
/boot/system/develop/headers/os/app/Message.h:70:80: note:   initializing argument 5 of 'status_t BMessage::GetInfo(type_code, int32, char**, type_code*, int32*) const'
   70 |                                                                         int32* countFound = NULL) const;
      |                                                                                ^
Source/WSOpenMeteo.cpp:219:119: error: invalid conversion from 'int*' to 'int32*' {aka 'long int*'} [-fpermissive]
  219 |                                         for (int32 tDay = 0; codeMessage.GetInfo(B_DOUBLE_TYPE, tDay, &tName, &tType,&tCount) == B_OK && tDay < maxDaysForecast; tDay++) {
      |                                                                                ^~~~~~~
      |
      |                                                                                int*
In file included from /system/develop/headers/private/shared/Json.h:12,
                 from Source/WSOpenMeteo.cpp:7:
/boot/system/develop/headers/os/app/Message.h:70:80: note:   initializing argument 5 of 'status_t BMessage::GetInfo(type_code, int32, char**, type_code*, int32*) const'
   70 |                                                                         int32* countFound = NULL) const;
      |                                                                                ^
/boot/system/develop/etc/makefile-engine:300: recipe for target 'objects.x86-cc11-release/WSOpenMeteo.o' failed
make: *** [objects.x86-cc11-release/WSOpenMeteo.o] Error 1
~/Compilar/Weather-master>

PR for this just created: https://github.com/HaikuArchives/Weather/pull/85

This patch potentially fixes all. It compiles anyway, but I leave it to @nexus6-haiku as my C++ knowledgeis quite shallow...
0001-Fix-gcc2-build.patch.txt

Forgot to mention I build for secondary architecture on this, so the parse errors were gone then. ;)

That won't do when used as a replicant.

This patch potentially fixes all. It compiles anyway, but I leave it to @nexus6-haiku as my C++ knowledgeis quite shallow...
0001-Fix-gcc2-build.patch.txt

Confirmed, with you additional changes it builds fine for gcc2 :)

That won't do when used as a replicant.

As that is broken atm I didn't think about that, it builds ok and launches ok also for secondary architecture. (don't know how that is for Deskbar replicants, the default replicant isn't ok as mentioned when build for secondary architecture) ;)

Hey guys, first of all apologies for overlooking the 32bit compatibility.
Re: smart pointers, I used them to fix some leaks, especially when debugging or with optimization turned off Weather would randomly crash.
Do we really want to mantain the code also for gcc2?

I think Replicants need to be compiled with the same gcc as the app they're embedded in. As long as Tracker and Deskbar are built with GCC2 on 32bit, so has Weather.

I just found out that directly feeding the double of longitude and latitude to the BString will round down to 2 decimal places... Not good enough.
I suggest doing this:
char lati[12];
char longi[12];
snprintf(lati, sizeof(lati), "%f", latitude);
snprintf(longi, sizeof(longi), "%f", longitude);

BString urlString("https://api.open-meteo.com/v1/forecast?latitude=");
urlString << lati << "&longitude=" << longi << "&daily=weathercode,temperature_2m_max,temperature_2m_min&current_weather=true&timeformat=unixtime&timezone=Europe%2FBerlin";

Good spot, this may work better with very small towns or villages but I doubt there would be a significant change in the forecast

Fixed with #87.


Seems like the math is wrong is some cases

This should be a capture move here not a 5 move

A piece on tile 8 (the center rosette) cannot be captured
You can review the game rules on Wikipedia. This repo implements the most basic rule set

my mistake on the rules, thanks for the info!


Feature Suggestion

Hi! I love your program, it's extremely helpful (especially for email). I was wondering if there was any way to have the program check if the last name matches the user's last name before replacing the deadname? As it is right now, every instance of my deadname gets replaced with my name, not just the ones referring to me. Would love to see a feature preventing this, as I have a massively popular deadname.

This is a great idea, I'll look into adding an option to only replace the name if a last name is present.

Hey another cool feature would be to be able to change friend's deadnames too. Like I was sending money through paypal to my girlfriend and It'd be nice to be able to change her name to her preferred name too.

The option to be able to quickly switch the replacer on and off could be useful to people too, for example, if you have a common first name and don't need it on while you're, say, reading a story online and having them suddenly have a new name (This happened to me and I was sitting there for nearly a full minute wondering why Jade Harley was suddenly Asher Harley) Or maybe for people who aren't out yet and don't want it displaying if there are other people in the room

I'm back to working on this, gonna add some configurable options like this


appium_flutter_finder throws exception in ruby - when trying to start_driver

When I'm trying to start_driver itself - I'm facing this error. Did I miss something?
I have added appium_flutter_finder dependencies and finding element by Appium::Flutter::Element only. I'm not sure what I might have missed in the config. Can someone help on this?

do you enableFlutterDriverExtension() in your main.dart ?

@baovu2512 - I'm actually using this dependency for a test automation project and we don't use main.dart file in our project.. Is that Mandatory to create that sort of file in our rspec ruby project?
For reference - I was trying out this example from this repo -
https://github.com/truongsinh/appium-flutter-driver/blob/master/example/ruby/example.rb

https://flutter.dev/docs/cookbook/testing/integration/introduction, enable driver in your app code

We put the enableFlutterDriverExtension(); in the main of app_test.dart in the test_driver folder. When we want to run cucumber tests, we first run flutter drive --target=test_driver/app.dart.
We don't have an flutter driver tests, but this compiles the debug version of the app with the extensions enabled and then Appium_flutter_driver can connect.
I wouldn't enable flutter driver extension in my production code, personally.


Add HA entities for Schneider Electric Thermostats

Proposed change
Add most of the manufacturer specific attributes as Home Assistant entities (numbers, enums).
Additional information
#1705
https://github.com/zigpy/zha-device-handlers/pull/3473
https://github.com/Koenkk/zigbee2mqtt/issues/23739
Checklist

[x] The changes are tested and work correctly
[x] pre-commit checks pass / the code has been formatted using Black
[ ] Tests have been added to verify that the new code works

Tested the changes on my devices and everything is working good.
A couple of things I couldn't figure out:

Missing percent unit, e.g. in display_brightness and display_inactive_brightness
Also control_status enum should be readonly (see comment), but not sure how to achieve it with quirks v2


Documentation: Split apt-get example onto multiple lines

Following the best practice, reformat the documentation for RUN command.

RUN
As always, to make your Dockerfile more readable, understandable, and maintainable, put long or
complex RUN statements on multiple lines separated with backslashes.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-2" git@github.com:charleswhchan/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Do I need to sign the commit? I am simply reformatting the documentation ...

yes you need to sign, thank you

@charleswhchan I added a comment on how to solve the formatting, using just indentation / whitespace: https://github.com/docker/docker/pull/14571#discussion_r34542282

@thaJeztah: thanks for the 'make docs' tip! I didn't know how to generate the pages before, and that is really neat.
I have reformat the code as suggested, only issue is that the 'package' is bold. Minor, I guess.

LGTM - I'm not bothered by the list of packages being non-alphabetical :)
if you do re-visit this before merge, I'd also put the apt-get command on a separate line, but I'm sure that bikeshed would have many different opinions :)

@SvenDowideit, took care of the alphabetical ordering. :)
(Wasn't sure if you 2nd comment will create more disputes. So I let it alone for now.)

Thanks for addressing those! The changes look good to me.
Next step; we prefer to have a single commit in stead of multiple. This means you'll have to "squash" your commits.
You can find instructions on how to squash (and rebase) on the work on your issue page of the documentation (and lots of other information in that section, such as the make docs). Feel free to ask for assistance in the #docker-dev IRC channel if you run into problems there.
I realize this is a lot of work for a "small" change, but we're obviously hoping you'll be making more contributions after this, so see it as a learning experience :smile:
Thanks so much for your work so far!

All commits squash into 1; recommit into the branch. (Let me know if I didn't do it properly.)

LOL, erm, looks like you lost the "alphabetic ordering" change in the process.
You can fix that and git commit -s --amend to amend the commit and force push.
Let me know if you're willing to fix that, otherwise I'm okay with merging it as-is :-)

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-2" git@github.com:charleswhchan/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~2
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

:( Fixed. Sorry for the trouble.

LGTM! Thanks so much, and hoping to see more contributions from you now that you're familiar with the process (sorry, we don't have "certificates" for "certified docker contributor", otherwise I would have given you one :smile:)

Thanks! :)


Fallback / Loading state for Retirement receipt pages

/retirements/[beneficiary]/[index] should support the ability to show a loading spinner when a retirement is expected, but not yet present.
This will be useful for API consumers who create retirements and want to immediately navigate to the page. In our own apps, we optimize things by actually waiting for the subgraph to catch up before navigating the user there. But we can't expect API consumers to do the same. #1096
We previously did this fallback with a RPC query to the smart contract directly. This can also be slow, so let's explore if we can accomplish this without the subgraph.
Challenge
How can the page know when a retirement should exist or not?
Option 1 - query params
1a. - specify a block number? ?blockNumber=123456 This adds complexity for Provide ECO API developers, who need to extract the block from the txn receipt. But it would be the most optimal solution if our goal is to reduce wait times.
1b - add a generic ?retry=true parameter?
Option 2 - check RPC
If data exists on the contract but not the subgraph, show the loading state until the subgraph catches up.
This is what we did before but our implementation was not optimal & the parallel RPC query slowed things down, and the retry was flaky.
It's also possible for RPCs to be a few blocks out of sync, which we did not handle before, but probably should...

I am documenting this here but I do not think it is a high priority. We can avoid 404s in our product with a simple solution #1096  and focus on other improvements before revisting this.


fun single game

!roulette
with points
u either win or lose
rigged so the system will always win more Keepo

Rigged DansGame

I think we can close it. @pajlada

@ManikDV Thank you


Release v6.5 lacework-agent Helm Charts

 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.


RuneLite HD mode

So can you make a mode like Runescape HD

See: https://github.com/runelite/runelite/wiki/Rejected-or-Rolled-Back-Features
"OpenGL: Jagex is working on their own implementation (see #1165)"

Can be closed.

Duplicate of #1165


Design a way to approve ToRs

Related to https://github.com/erasmus-without-paper/ewp-specs-api-tors/issues/1. As we have agreed in Warsaw, we need to find a way to include the information on when the mobility ToR has been approved, somewhere in the mobility timeline.
Once designed, a reference should be added to the ToRs API specification.

This is somewhat related to https://github.com/erasmus-without-paper/general-issues/issues/14 and the model being designed by @erasmus-without-paper/wp3.
I'm not yet sure if this information should be:

part of the Mobility document, or
should it be represented by a tag in Mobility's timeline, or
should it be sent via a completely different channel.

I would try with option 2 first. If so, then we need to wait for WP3 to prepare their models first.

While browsing through issues I have found that this issue is a duplicate of this one:
https://github.com/erasmus-without-paper/ewp-specs-mobility-flowcharts/issues/3
I will close this one and we'll use the other one for tracking this.


error at first start (npm start)

Hi, after got the repo and installed the packages i tried to npm start or yarn start but getting error
> $ better-npm-run start
> running better-npm-run in C:\Users\mshaker\Source\Repos\UI\SMA-UI
> Executing script: start
>
> to be executed: "node bin/dev-server"
> events.js:163
>       throw er; // Unhandled 'error' event
>       ^
>
> Error: spawn cmd ENOENT
>     at exports._errnoException (util.js:1033:11)
>     at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
>     at onErrorNT (internal/child_process.js:367:16)
>     at _combinedTickCallback (internal/process/next_tick.js:80:11)
>     at process._tickCallback (internal/process/next_tick.js:104:9)
>     at Module.runMain (module.js:607:11)
>     at run (bootstrap_node.js:425:7)
>     at startup (bootstrap_node.js:146:9)
>     at bootstrap_node.js:540:3
> error Command failed with exit code 1.

+1

I get this:
`Version: webpack 1.13.3
Time: 2883ms
Asset     Size  Chunks       Chunk Names
app.83e86a5905382fcc1ed5.js   822 kB       0       app
1.counter.83e86a5905382fcc1ed5.js    25 kB       1       counter
vendor.83e86a5905382fcc1ed5.js   386 kB       2       vendor
app.83e86a5905382fcc1ed5.js.map   976 kB       0       app
1.counter.83e86a5905382fcc1ed5.js.map  30.3 kB       1       counter
vendor.83e86a5905382fcc1ed5.js.map   456 kB       2       vendor
ERROR in ENOENT: no such file or directory, scandir '/Users/seanshadmand/repos/fakeresponse-client/node_modules/node-sass/vendor'
@ ./src/routes/Home/components/HomeView.scss 4:14-218 13:2-17:4 14:20-224
ERROR in ENOENT: no such file or directory, scandir '/Users/seanshadmand/repos/fakeresponse-client/node_modules/node-sass/vendor'
@ ./src/layouts/CoreLayout/CoreLayout.scss 4:14-211 13:2-17:4 14:20-217
ERROR in ENOENT: no such file or directory, scandir '/Users/seanshadmand/repos/fakeresponse-client/node_modules/node-sass/vendor'
@ ./src/styles/core.scss 4:14-196 13:2-17:4 14:20-202
ERROR in ENOENT: no such file or directory, scandir '/Users/seanshadmand/repos/fakeresponse-client/node_modules/node-sass/vendor'
@ ./src/components/Header/Header.scss 4:14-207 13:2-17:4 14:20-213
Child html-webpack-plugin for "index.html":
Asset    Size  Chunks       Chunk Names
index.html  576 kB       0
webpack: bundle is now VALID.
`

Upgrading to webpack 1.15.0 fixed it for me.

This should automatically be resolved for all npm users. For yarn users, see the PR @sshadmand referenced above.


fix(typings): fix seeTitleEquals Puppeteer and Protactor typings

Motivation/Description of the PR

fix seeTitleEquals Puppeteer and Protactor typings
Resolves #issueId (if applicable).

Applicable helpers:

[ ] WebDriver
[x] Puppeteer
[ ] Nightmare
[ ] REST
[ ] FileHelper
[ ] Appium
[x] Protractor
[ ] TestCafe
[ ] Playwright

Applicable plugins:

[ ] allure
[ ] autoDelay
[ ] autoLogin
[ ] customLocator
[ ] pauseOnFail
[ ] coverage
[ ] retryFailedStep
[ ] screenshotOnFail
[ ] selenoid
[ ] stepByStepReport
[ ] stepTimeout
[ ] wdio
[ ] subtitles

Type of change

[ ] :fire: Breaking changes
[ ] :rocket: New functionality
[x] :bug: Bug fix
[ ] :clipboard: Documentation changes/updates
[ ] :hotsprings: Hot fix
[ ] :hammer: Markdown files fix - not related to source code
[ ] :nail_care: Polish code

Checklist:

[ ] Tests have been added
[ ] Documentation has been added (Run npm run docs)
[x] Lint checking (Run npm run lint)
[] Local tests are passed (Run npm test)

Thank you


Fix for #3019

Fix for #3019
Added tests to cover the various cases for byte size buffering, and refactored ElasticsearchSender out of SnowplowElasticsearchEmitter so a mock can be swapped in for testing.
In fixing the buffering routine I rewrote the recursive function #splitBuffer as a simple while loop. To me this is much clearer and more readable but open to disagreement on that.

Thanks for your pull request. Is this your first contribution to a Snowplow open source project? Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
:memo: Please visit https://github.com/snowplow/snowplow/wiki/CLA to learn more and sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.

I signed it!

Confirmed! @acgray has signed the Software Grant and Corporate Contributor License Agreement. Thanks so much


Update jQuery dependency to 2.2

Should be 100% backwards compatible
https://blog.jquery.com/2016/01/08/jquery-2-2-and-1-12-released/

Already implemented in the 6.2 branch, which was just merged into develop.


Fix #5910 - Spoof ICMP echo replies

Description
Some apps check network connectivity by sending ICMP pings. Before this fix, ICMP traffic was swallowed by mitmproxy_rs, which makes them believe that there is no network connectivity.
Mitmproxy now generates fake ICMP Echo Replies in response to ICMP Echo Requests, and transmits them back to the sender's address.

Rewrote the implementation to use a simpler approach without going all the way to python, as advised.

I manually pulled this into main and fixed the newlines issues. Thanks again! 🍰 😃


Working in python 3.12.3 as of september 26 2024

changed disutils to shutils,since disutils is deprecated

I have the same problem with Python 3.11. And this solves the deprecated issue. Thanks for the fix!


[bug] : deleting temp files before loading the segment

deleting temp files before loading the segment

Codecov Report

Merging #2867 into master will increase coverage by 0.02%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master    #2867      +/-   ##
==========================================
+ Coverage   69.26%   69.28%   +0.02%
==========================================
  Files         909      909
  Lines       43496    43502       +6
  Branches     5910     5913       +3
==========================================
+ Hits        30127    30140      +13
+ Misses      11348    11342       -6
+ Partials     2021     2020       -1

Impacted Files
Coverage Δ

...core/segment/index/loader/SegmentPreProcessor.java
78.78% <50%> (-6.4%)
:arrow_down:

...in/pinot/core/query/pruner/ValidSegmentPruner.java
57.14% <0%> (-28.58%)
:arrow_down:

...impl/dictionary/DoubleOnHeapMutableDictionary.java
68.88% <0%> (-6.67%)
:arrow_down:

...om/linkedin/pinot/transport/netty/NettyServer.java
79.59% <0%> (-4.09%)
:arrow_down:

...ot/core/query/pruner/ColumnValueSegmentPruner.java
84.74% <0%> (-3.39%)
:arrow_down:

...not/broker/broker/helix/ClusterChangeMediator.java
63.33% <0%> (-3.34%)
:arrow_down:

...e/operator/dociditerators/MVScanDocIdIterator.java
63.63% <0%> (-3.04%)
:arrow_down:

...rEqualitiesToInClauseFilterQueryTreeOptimizer.java
93.33% <0%> (-2.67%)
:arrow_down:

...lix/core/realtime/PinotRealtimeSegmentManager.java
73.54% <0%> (-2.65%)
:arrow_down:

...linkedin/pinot/common/utils/helix/HelixHelper.java
50.32% <0%> (-1.3%)
:arrow_down:

... and 17 more

Continue to review full report at Codecov.

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


Fix compiler warnings

Why don't you add @nowarn?

I believe it won't work on 2.12

@Odomontois

I believe it won't work on 2.12

I suggested 4 working options

@Odomontois

I believe it won't work on 2.12

I suggested 4 working options

[F[_] : NonTofu] will be the easiest one

Please, fix also this:
[warn] /tofu/concurrent/src/test/scala/tofu/concurrent/ReadWriteTests.scala:8:26: Unused import
[warn] import cats.syntax.apply._

and here: /tofu/core/src/main/scala-2.12/tofu/alias/ScalaSpecificDoMonadInstances.scala
please remove import tofu.alias.DoMonad


chore(main): release 0.29.0

:robot: I have created a release beep boop
0.29.0 (2024-12-09)
Features

Add flutter support (4d91437)

Bug Fixes

Add experimental support for auto-completion in mise templates (e31762e)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.29.0
:sunflower:


[dxgi] Use GetMonitorInfoW function explicitly

No std::mbstowcs string conversion needed than.
W/o this change I have different output when running dxgi-factory.exe compiled with MinGW:

Output 0:\\.\DISPLAY1 (default)
\\.\DISPLAY1 (DXVK MinGW)
\            (DXVK winebuild)

With this patch all three variants are identical (\\.\DISPLAY1)
p.s. same problem in dxgi_adapter.cpp, but deviceProp.deviceName is vulkan structure parameter (char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]).

IMHO similarly code like that https://github.com/doitsujin/dxvk/blob/master/src/util/util_env.cpp should use ansi functions version to avoid all that conversions.

Didn't even know that these functions had Unicode equivalents. Praise Microsoft documentation!
@mdrost Thing is, ANSI functions really only support some 8-bit character set, not UTF-8 like any sane environment does. Hence the W functions. It might be an option for the environment variable function, but for stuff like file names that can realistically contain non-ANSI characters it's definitely a no-go.


Change the separator of "fully-qualified id"?

Terms

Id: any data id for each data type defined under src/elona/data/types folder.
fully-qualified id: modname.datatypename:modname.dataname

Details
Currently, a fully-qualified id is separated by a single colon : like core.chara:core.putit. The first part is a data type, and the second, data name (id). In this case, it is one of chara data of mod core, named putit and defined in core. This notation can represent  both data type and data name at once, and be destructible to each part with ease.
However, the separator : has one problem. The letter cannot be accepted for filenames by some systems such as Windows. This means that you cannot save any files as Elona foobar's fully-qualified id. At least now, it does not matter, but there are some expected use cases in the future.
Asset files
When you replace a character chip with your favorite work, you have to write these code:
-- Note: it does not strictly reflect the latest API.
data:add("core.chara_chip",
   {
      id = "core.zeome",
      filepath = "awesome_zeome.bmp",
   })

It cannot be said handy, so let me suggest another way.

Rename "awesome_zeome.bmp" to "core.chara_chip:core.zeome.bmp"
Put it into path/to/mod/graphic folder.

Some graphics class implemented in the future will detect the file and link it to the data whose id is the same as the filename. Everything works well.
In fact, this idea will not work because a colon is not allowed for filename.
Scenario files
You started to create an original story, and are writing cutscenes now. You name them like this:

path/to/mod/scene/prologue.scene
path/to/mod/scene/cool_plot.scene
...

and define like this:
data:add_multi("core.scene", {
      {
         id = "yet_another_story.prologue",
         filepath = "prologue.scene"
      },
      ...
   })

It cannot be said handy... and ditto
Alternatives
Alphabets, digits and underscore are reserved for mod name.

xx.aa yy.bb
xx.aa!yy.bb
xx.aa#yy.bb
xx.aa$yy.bb
xx.aa%yy.bb
xx.aa&yy.bb
xx.aa'yy.bb
xx.aa(yy.bb
xx.aa)yy.bb
xx.aa+yy.bb
xx.aa,yy.bb
xx.aa-yy.bb
xx.aa.yy.bb
xx.aa=yy.bb
<EMAIL_ADDRESS>xx.aa[yy.bb
xx.aa]yy.bb
xx.aa^yy.bb
xx.aa``yy.bb <- a single backtick, conflicts with markdown tho
xx.aa{yy.bb
xx.aa}yy.bb
xx.aa~yy.bb

Or, more than one letter?

Parentheses
(, ), [, ], { and }
Unbalanced paren looks agry.
Unfamiliar characters  for non-engineers
^, ~, and backtick
Meaningful characters
!, &, $, %, +, ' and =
They have their own meanings, do not look like separators.
Others
Space

omake_title.title omake_title.oniichan

Spaces are a bit hard to count, especially one space and two spaces.
Period

omake_title.title.omake_title.oniichan

Period has already been used as separator, so that it get harder to parse fully-qualified ID.
At sign

<EMAIL_ADDRESS>
At sign is not so bad, but I feel the order of two parts of fully-qualified ID does not match the meaning of "at". In this ID<EMAIL_ADDRESS>core.putit is "at" core.chara, not core.chara is at core.putit.
Number sign and hyphen

omake_title.title#omake_title.oniichan

omake_title.title-omake_title.oniichan

Both are good, but I prefer # to - because # is often used as separator between class name and member name in Java, AltJavas and Ruby documentation.


StereoCalibrate - requires Point2f and Point3f

StereoCalibrate - cv::stereoCalibrate requires Point2f and Point3f instead of Point2d and Point3d. See #227

Thanks a lot!!!