Is there a better way to store global state?

Hello! Very nice writeup as well for this, and I'm hoping I can help out a bit!
For things like state and such I'd personally recommend doing similar things in wasm that you'd otherwise do when creating C bindings for some Rust code. (that's basically what Rust looks like to JS anyway). In that sense I'd probably recommend allocated state and such. Basically something like:
#[no_mangle]
pub extern fn state_new() -> *mut State {
    Box::into_raw(Box::new(State::new()))
}

#[no_mangle]
pub unsafe extern fn state_free(state: *mut State) {
    Box::from_raw(state);
}

That way you can package everything up nicely in State and also maybe even have multiple instances of State (if you so desired). This'd also skip any mutex locking and such as there's no need for lazy_static or otherwise convincing Rust you need a mutex.
The downside of this approach, though, is that it's somewhat unsafe! For example binding methods would look like:
#[no_mangle
pub unsafe extern fn state_frob(state: *mut State, argument: i32) -> u32 {
    (*state).frob(argument)
}

impl State {
    fn frob(&mut self, argument: i32) -> u32 {
        // ...
    }
}

In addition to the unsafe keyword and the raw pointer, you also need to be sure to get &mut vs &self right because if you call from JS to Rust to JS back to Rust then things can get tricky to keep them correct (this is sort of in the weeds, but important!)

You mentioned that you were glad not using babel/webpack and such, but if you're ok with using various preprocessors I might recommend trying out (or maybe just taking a look at) what wasm-bindgen is doing. I'm hoping to develop wasm-bindgen over time in a way that creates JS apis out of idiomatic Rust APIs (and eventually other languages too). It wraps up all the above unsafety and logic for you so all you do is define methods in Rust and all of a sudden you get methods on JS objects as well.
The wasm-bindgen like solution is currently targeted though at somewhat more heavyweight bindings on the JS side of things (where both JS and wasm have are big and have lots of interop). I've found though that it's great to package up nice errors and smooth out a lot of the idioms.
In any case, curious about what you think of all that!

Hey @alexcrichton, thanks for commenting!
Okay, i think i might have stumbled across another project that was using Box with global state. What you've described already sounds much cleaner than using a mutex and dealing with locking/unlocking. Do you have any small examples of this pattern being used or perhaps blog posts on it? I definitely need to read through the book still, so I think i'll be able to grasp this more after doing that! I think for my next demo project, i'll attempt to implement my state this way and see how it goes :)

Oh wasm-bindgen sounds really interesting! Generating all the js/wasm glue code definitely would be really helpful. I'm definitely okay with using preprocessors! It was just really refreshing to not have to boot up webpack/babel and to write some raw js for once 😅 I'll keep my eye on wasm-bindgen. Sounds useful for larger projects as you mentioned!
Another project that I'm interested in is stdweb which sounds like their goal is to provide a library of browser apis. Keeping my eye on that one too!

You can also use thread_local! since you're pretty much guaranteed to have a single thread per WASM instance.
It makes more sense in my use case since I'm coding a Rust app and my JS is just a thin wrapper to run WASM and do some DOM work.

@alvaro-cuesta thanks for that great usage example! Your use case sounds much like my use case for now at least.
I'll have to play around with this pattern vs the Box pattern above.

@jakedeichert keep in mind it uses RefCell which can panic at runtime just like your Mutex did.

@alvaro-cuesta thanks for letting me know. I haven't learned about RefCell yet but did notice its usage within the WasmBlock example you linked to above.

@jakedeichert

Do you have any small examples of this pattern being used or perhaps blog posts on it?

Ah unfortunately no :(. So far I've mostly been working on https://github.com/glimmerjs/glimmer-vm/pull/752 which is mostly using wasm-bindgen. If you're looking for in general a C API for Rust code though you maybe interested in https://github.com/rust-lang/regex/blob/master/regex-capi/src/rure.rs (a bit large, but complete!) which is a C api for the Rust regex crate.


Unable to connect to the wlanpi_server SSID

When in server mode, it appears clients join the wlanpi_server SSID but can complete the connection. Disabling the firewall (ufw) doesn't resolve the problem.

This issue was caused by an incorrect configuration of the DHCP server. Fixing the DHCP config resolved the problem.


DOC: release notes for v1.8.0

Here are the relevant updates which will be added to the release description (auto-generated by GitHub).
What's Changed

add support for EPICS area detector pvaDriver cam by @prjemian in https://github.com/bluesky/ophyd/pull/1055
Adopt isort by @coretl in https://github.com/bluesky/ophyd/pull/1064
Make SynAxis produce an updating MoveStatus by @callumforrester in https://github.com/bluesky/ophyd/pull/1036
Fix capture signal was always triggered by @physwkim in https://github.com/bluesky/ophyd/pull/1066
Move settings to setup.cfg and use setuptools-scm by @coretl in https://github.com/bluesky/ophyd/pull/1065
Fix SynAxisNoPosition by @coretl in https://github.com/bluesky/ophyd/pull/1068
Add v2 dir by @coretl in https://github.com/bluesky/ophyd/pull/1067
Make CI run on external PRs by @coretl in https://github.com/bluesky/ophyd/pull/1071
Use pydata docs theme and make a space for v2 docs by @coretl in https://github.com/bluesky/ophyd/pull/1076
Deploy to the correct place by @coretl in https://github.com/bluesky/ophyd/pull/1077
DOC: fixed minor typo. by @clintonroy in https://github.com/bluesky/ophyd/pull/1079
DOC: minor typo fix. by @clintonroy in https://github.com/bluesky/ophyd/pull/1080
DOC: added a shutter example of a PVPositionerComparator by @clintonroy in https://github.com/bluesky/ophyd/pull/1081
Update LICENSE by @stuartcampbell in https://github.com/bluesky/ophyd/pull/1082
Ophyd v2 core by @coretl in https://github.com/bluesky/ophyd/pull/1078
Fix docs linking by @coretl in https://github.com/bluesky/ophyd/pull/1085
Change make_dir_tree default dir mode to 755 by @mrakitin in https://github.com/bluesky/ophyd/pull/1087
Add status repr to WaitTimeoutError message by @dperl-dls in https://github.com/bluesky/ophyd/pull/1088
DOC: fix install instructions in README by @mrakitin in https://github.com/bluesky/ophyd/pull/1089
BUG: Let channelsim work with enums by @tizayi in https://github.com/bluesky/ophyd/pull/1093
ENH: Add enum descriptor support to ChannelCa by @tizayi in https://github.com/bluesky/ophyd/pull/1097
BUG: isinstance calls property success before status object is done by @tizayi in https://github.com/bluesky/ophyd/pull/1099
v2: try to fix some constantly failing tests by @RAYemelyanova in https://github.com/bluesky/ophyd/pull/1105
Ophyd v2: add _exception to AsyncStatus to propagate errors through FailedStatus. by @RAYemelyanova in https://github.com/bluesky/ophyd/pull/1103
v2: Add dict support by @RAYemelyanova in https://github.com/bluesky/ophyd/pull/1104
propagate errors through wait_for_connection by @RAYemelyanova in https://github.com/bluesky/ophyd/pull/1109
Initial p4p channel implementation by @ajgdls in https://github.com/bluesky/ophyd/pull/1096
v2: Make sim signal source look like real source by @coretl in https://github.com/bluesky/ophyd/pull/1111
v2: make device class concrete by @RAYemelyanova in https://github.com/bluesky/ophyd/pull/1107
v2: Added bool support for 2 element CA/PVA enums by @coretl in https://github.com/bluesky/ophyd/pull/1112
V2 minor async status changes by @RAYemelyanova in https://github.com/bluesky/ophyd/pull/1110
v2 Fix traceback of a failed AsyncStatus object by @coretl in https://github.com/bluesky/ophyd/pull/1114
v2: remove monitor by @RAYemelyanova in https://github.com/bluesky/ophyd/pull/1125
v2: Make stage/unstage async by @coretl in https://github.com/bluesky/ophyd/pull/1123
v2: Add set_and_wait_for_value() by @coretl in https://github.com/bluesky/ophyd/pull/1124
Let SimSignalBackend accept npt.NDArray datatypes by @RAYemelyanova in https://github.com/bluesky/ophyd/pull/1118

New Contributors

@physwkim made their first contribution in https://github.com/bluesky/ophyd/pull/1066
@stuartcampbell made their first contribution in https://github.com/bluesky/ophyd/pull/1082
@dperl-dls made their first contribution in https://github.com/bluesky/ophyd/pull/1088
@tizayi made their first contribution in https://github.com/bluesky/ophyd/pull/1093
@RAYemelyanova made their first contribution in https://github.com/bluesky/ophyd/pull/1105
@ajgdls made their first contribution in https://github.com/bluesky/ophyd/pull/1096

Full Changelog: https://github.com/bluesky/ophyd/compare/v1.7.0...v1.8.0

Hmm, docs aren't building, I'll take a look

Looks like latest event-model is incompatible with ophyd, fix here: https://github.com/bluesky/event-model/pull/275

@coretl, thanks for your review and help with resolving the CI issues!
@prjemian, do you have any feedback on this PR?

Aack!  My feedback is that we missed a typo in PR #1055: https://github.com/bluesky/ophyd/blob/574b4014bc843c65a593317f572dac580fae338a/ophyd/areadetector/cam.py#L43-L44
Line 44 should read PvaDetectorCam as written here: https://github.com/bluesky/ophyd/blob/574b4014bc843c65a593317f572dac580fae338a/ophyd/areadetector/cam.py#L1219

I'll push that through in a new PR.

The release is out, thanks all!
https://pypi.org/project/ophyd/1.8.0/


About TransformerEncoder

sources = None
for encoder_layer in self.encoder_layers:
    sources = encoder_layer(query, key, value, mask)

This might be a silly question, but I am a little bit confused about the above code chunk, does't it just mean sources = self.encoder_layers[-1](query, key, value, mask)?
If the codes are correct, could you please explain a little bit about how they works.
Thanks!

Hi,
Yes, this is bugged and means that the code only works correctly for 1 layer. However COOT only uses single layer building blocks so in the end it all works out fine.
We will probably fix this in the next release.
Best

This has been fixed but COOT still doesn't improve with more than 1 layer in our experiments.


82 SPIDER Illinois Labor Relations Board

This is a completed spider and test for the Illinois Labor Relation Board events page. It's a simple page that just lists the next upcoming meeting for each of the three boards.
There's little structure on the page to work with, so the scraper may be a bit fragile.
Questions:

How do we handle undefined end_times? Set to None or estimate a duration
I could use some more guidance on classification. It seems like this page only lists confirmed meetings, but most of the other scrapers default to tentative
Is there a taxonomy of meeting types? I set these to "board meeting", but I can change it to None

Pulled from wrong branch


Pagination: Previous/Next buttons don't announce the current page

Description
When a screen reader user selects the Previous or Next button, it doesn't announce anything. Users have no context of what happened or what page they are in. We should have a mechanism to announce the current page when Previous or Next button is selected.
Recommendation

Add an aria-live region to announce the current page the Next of Previous button took them to.

I would like to be assigned this :)

@amyyeung17 assigned!


fix: updated configuration for clustered env

Loading the right configuration on clustered environment in order to provide Load Balancing and Failover.
This solves https://github.com/Clivern/Lynx/issues/137

Hi @bitchecker,
Can you please update the docs too, I am fine with merging it
the following should be adjusted in
https://github.com/Clivern/Lynx/blob/main/docs/_documentation/Installation.md?plain=1#L99-L100
https://github.com/Clivern/Lynx/blob/main/README.md?plain=1#L79-L80
wget https://raw.githubusercontent.com/Clivern/Lynx/main/nginx-cluster.conf \
    -O nginx.conf
// Should be
wget https://raw.githubusercontent.com/Clivern/Lynx/main/nginx-cluster.conf \
    -O nginx-cluster.conf

wget https://raw.githubusercontent.com/Clivern/Lynx/main/nginx-cluster.conf \
    -O nginx.conf
// Should be
wget https://raw.githubusercontent.com/Clivern/Lynx/main/nginx-cluster.conf \
    -O nginx-cluster.conf

I think that this is correct!
The default config name for nginx is nginx.conf so the name that you use for it is right, in fact, in the PR I'm just updating the config file, but the destination name remains the same.

What i meant is that the docs guide users to setup a cluster using these two commands, cloning the whole project is not even required.
'''
$ wget https://raw.githubusercontent.com/Clivern/Lynx/main/docker-compose-cluster.yml
-O docker-compose.yml
$ wget https://raw.githubusercontent.com/Clivern/Lynx/main/nginx-cluster.conf
-O nginx.conf
$ docker-compose up -d
'''
So if i merge your PR, these two commands won't work. Right? you try to mount a local nginx-cluster.conf file

Hi @Clivern,
Thanks for explanation!
It's clear now because cloning the whole project is not even required!
I updated the code right now. 😃

Thanks @bitchecker


Maintain auto-populated list of filters when using multi_select_custom_func

If you use the multi_select_custom_func to make a custom filter selector, the selection list is no longer populated with all the possible values for that column.
It would be nice to add a custom filter to the list, but still have the list populate with all the other possible values.

You can use the append_data_to_table_data for that

Daniel, it doesn't appear to be working for me. I am only getting the values I put in the data array. Here is my code:
{column_number : hold_index,
	    select_type:'select2',
		filter_type: "multi_select_custom_func",
		filter_match_mode: 'exact',
		custom_func: hold_code_filters,
		data: [
		  {value: 'Exclude On Hold', label: 'Exclude On Hold'},
		  {value: 'On Hold Only', label: 'On Hold Only'},
		],
		append_data_to_table_data: true,
		filter_default_label:'All'
	    },

Are you using the latest beta version? if yes, please provide a jsbin / jsfiddle

Is there an existing jsfiddle I can edit? I couldn't post all of what I have and I'm not really sure how to setup a jsfiddle with all of the required files.
I am using the new beta version. The new custom_func() is working well with rowValues

You can modify the following jsbin

Not sure what I'm doing wrong here, but I can't get a jsbin to work at all. Maybe select2 is not available in jsbin. I'm a novice programmer.
http://jsbin.com/cuyirevufo/2/edit?js,output

added fix to yadcf so grab the latest beta version and fixed your example

Still can't get it to work. I tried copying everything directly to my code and no luck.
I made sure I am using the newest beta version.
I am using ajax to populate my table, not sure if that makes a difference.
Everything else works and I get no error messages in the console.
I assume it is just not seeing any existing values in my columns?

Since it does work fine in the jsbin, I wont be able to help you more without a live sample with your issue

I've managed to make a live example that shows the problem. I think it must be something to do with the ajax.
I had to email you the ajax file as I wasn't sure how to host it on jsbin. Here is the JSBIN
http://jsbin.com/weluwewafu/1/edit?html,js,output

I am getting a jquery error. Try this jsbin, I think I have correctly linked to the new beta release.  http://jsbin.com/gikulu/1/edit?html,js,console,output
Also, is it possible to use the sort options to put the grouped selections at the top of the list? Like prepend them instead of append them?
I know this is a real PITA, but thank you for such a great plugin.

it will take me some time to fix it properly for ajax too... I'll update this issue when I'll finish this one

should work now, try the latest beta...

It is working now, thank you very much!
I tried using sort_order with this but it doesn't do anything. Will it be possible to select a sort order with this, or put the grouped selections at the top of the list?  Would you prefer I open another ticket for that?
Once again, thank you for the work on this.

No need for new issue,  I'll abuse this one...

updated, read updated docs if you want to add your data array before on top of the select use before , if you want it to appear sorted then at least for now you shouldn't use array with value/label but use an array of strings. for sorting array with value/label you should open a new issue and know that it will take some time to be added...

This works great, thank you .

I'm having issues where I can get the myCustomFilterFunction cases working, but when trying to select any of the populated values in that column, it doesn't filter and displays all rows.  Also when selecting multiple myCustomFilterFunction cases or a myCustomFilterFunction case and a populated value, I get no rows returned.
Used code from here
https://stackoverflow.com/questions/34089173/yadcf-apply-and-filterring-to-multiple-selections-from-a-json-array


[warn] Avoid extending modules

see https://discourse.julialang.org/t/wiping-modules-and-persistent-base-show/73049
problem is that if a method is added then removed, it will still exist unless it's overwritten. Generally this should be fine for the user but it'd be good to avoid this.

This is pretty tricky, here's an example which illustrates the problem:
A = Module(:A)
include_string(A, raw"""
    Base.show(::MIME"text/html", i::Int) = "Int: $i"
    """)
A.show(MIME("text/html"), 1) # span, ok

A = Module(:A)
A.show(MIME("text/html"), 1) # span!

B = Module(:B)
B.show(MIME("text/html"), 1) # also span!

adding a method to Base.show does not care about "scope".
Users who do define it in one of their cells should be aware that this definition will bleed everywhere unless they explicitly overwrite it. This should generally be ok for them but they should be aware.


[BUG 🐛] the results between the function "estimate_foreground_ml" and "estimate_foreground_ml_cupy" were different

Bug description
I estimated the foreground by "pymatting.foreground.estimate_foreground_ml" and "pymatting.foreground.estimate_foreground_ml_cupy". But I found the results between the function "estimate_foreground_ml" and "estimate_foreground_ml_cupy" were different . And there were something wrong in the output estimate_foreground_ml_cupy estimated!
Images

input image :

output image by estimate_foreground_ml:

output image by estimate_foreground_ml_cupy:

wrong estimate_foreground_ml_cupy estimated: "the ear with black contours"

estimate_foreground_ml is a bit different from estimate_foreground_ml_cupy. The GPU implementation has to do everything in parallel, which is why it has to compute updated foreground values from foreground values of the previous iteration, while the CPU implementation can already use the updated foreground values from the same iteration.
You can increase the parameter n_big_iterations from 2 to 3 to get a better result:
foreground = estimate_foreground_ml_cupy(image, alpha, n_big_iterations=3)

Here is a comparison for different values:

from pymatting import *
from pymatting.foreground.estimate_foreground_ml_cupy import estimate_foreground_ml_cupy
import matplotlib.pyplot as plt

"""
wget https://user-images.githubusercontent.com/21029719/111269291-60e15400-8669-11eb-83ac-6f15cc438ecb.jpg
wget https://user-images.githubusercontent.com/21029719/111269296-6343ae00-8669-11eb-83b4-217ccbb787d7.png
"""

image = load_image("111269291-60e15400-8669-11eb-83ac-6f15cc438ecb.jpg", "RGB")
output = load_image("111269296-6343ae00-8669-11eb-83b4-217ccbb787d7.png", "RGBA")
alpha = output[:, :, 3]

plt.figure(figsize=(6, 8))
for n in [2, 3, 4, 5]:
    foreground = estimate_foreground_ml_cupy(image, alpha, n_big_iterations=n)
    composite = stack_images(foreground, alpha)

    ear = composite[180:280, 80:160]

    plt.subplot(2, 2, n - 1)
    plt.title(f"{n} iterations")
    plt.imshow(ear, cmap='gray')
    plt.axis('off')
plt.savefig("iterations.png")
plt.show()

It might also help to estimate the alpha matte with a larger radius or epsilon value. I can not test that because of missing trimap and jpeg-compressed input image. Maybe it does not work at all or maybe different values for radius or epsilon work better.
alpha = estimate_alpha_lkm(image, trimap, laplacian_kwargs=dict(radius=10, epsilon=1e-5))

estimate_foreground_ml is a bit different from estimate_foreground_ml_cupy. The GPU implementation has to do everything in parallel, which is why it has to compute updated foreground values from foreground values of the previous iteration, while the CPU implementation can already use the updated foreground values from the same iteration.
You can increase the parameter n_big_iterations from 2 to 3 to get a better result:
foreground = estimate_foreground_ml_cupy(image, alpha, n_big_iterations=3)

Here is a comparison for different values:

from pymatting import *
from pymatting.foreground.estimate_foreground_ml_cupy import estimate_foreground_ml_cupy
import matplotlib.pyplot as plt

"""
wget https://user-images.githubusercontent.com/21029719/111269291-60e15400-8669-11eb-83ac-6f15cc438ecb.jpg
wget https://user-images.githubusercontent.com/21029719/111269296-6343ae00-8669-11eb-83b4-217ccbb787d7.png
"""

image = load_image("111269291-60e15400-8669-11eb-83ac-6f15cc438ecb.jpg", "RGB")
output = load_image("111269296-6343ae00-8669-11eb-83b4-217ccbb787d7.png", "RGBA")
alpha = output[:, :, 3]

plt.figure(figsize=(6, 8))
for n in [2, 3, 4, 5]:
    foreground = estimate_foreground_ml_cupy(image, alpha, n_big_iterations=n)
    composite = stack_images(foreground, alpha)

    ear = composite[180:280, 80:160]

    plt.subplot(2, 2, n - 1)
    plt.title(f"{n} iterations")
    plt.imshow(ear, cmap='gray')
    plt.axis('off')
plt.savefig("iterations.png")
plt.show()

It might also help to estimate the alpha matte with a larger radius or epsilon value. I can not test that because of missing trimap and jpeg-compressed input image. Maybe it does not work at all or maybe different values for radius or epsilon work better.
alpha = estimate_alpha_lkm(image, trimap, laplacian_kwargs=dict(radius=10, epsilon=1e-5))

I got it !
And alpha is here！


root: 6.10.08 -> 6.12.06

Semi-automatic update. These checks were performed:

built on NixOS
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/genreflex -h got 0 exit code
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/genreflex --help got 0 exit code
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/pq2 -h got 0 exit code
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/rootn.exe -h got 0 exit code
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/rootn.exe --help got 0 exit code
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/rootn.exe -h and found version 6.12.06
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/rootn.exe --help and found version 6.12.06
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/xpdtest -h got 0 exit code
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/xpdtest --help got 0 exit code
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/root.exe -h got 0 exit code
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/root.exe --help got 0 exit code
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/root.exe -h and found version 6.12.06
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/root.exe --help and found version 6.12.06
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/root-config --help got 0 exit code
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/root-config --version and found version 6.12.06
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/prepareHistFactory -h got 0 exit code
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/prepareHistFactory --help got 0 exit code
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/prepareHistFactory help got 0 exit code
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/prepareHistFactory -V and found version 6.12.06
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/prepareHistFactory -v and found version 6.12.06
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/prepareHistFactory --version and found version 6.12.06
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/prepareHistFactory version and found version 6.12.06
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/prepareHistFactory -h and found version 6.12.06
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/prepareHistFactory --help and found version 6.12.06
ran /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06/bin/prepareHistFactory help and found version 6.12.06
found 6.12.06 with grep in /nix/store/4gcl610xv4sj6vzwnksm825qp29f8ibx-root-6.12.06

cc "@veprbl"

Failure on x86_64-linux (full log)
Partial log (click to expand)
[ 59%] Building CXX object interpreter/llvm/src/lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/LegalizeFloatTypes.cpp.o
[ 59%] Building CXX object interpreter/llvm/src/lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveRegUnits.cpp.o
[ 59%] Building CXX object interpreter/llvm/src/lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/LegalizeIntegerTypes.cpp.o
[ 59%] Building CXX object interpreter/llvm/src/lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveStackAnalysis.cpp.o
[ 59%] Building CXX object interpreter/llvm/src/lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveVariables.cpp.o
[ 59%] Building CXX object interpreter/llvm/src/lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/LegalizeTypes.cpp.o
[ 59%] Building CXX object interpreter/llvm/src/lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LLVMTargetMachine.cpp.o
[ 59%] Building CXX object interpreter/llvm/src/lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/LegalizeTypesGeneric.cpp.o
building of ‘/nix/store/3n9zrh3vgjq1j0h8icnpz46lh0fgcp0n-root-6.12.06.drv’ timed out after 1800 seconds
error: build of ‘/nix/store/3n9zrh3vgjq1j0h8icnpz46lh0fgcp0n-root-6.12.06.drv’ failed


internalOperatorCert appended in weblogic-operator-cm causing issue in OKE addons

internalOperatorCert fields is not part of helm charts and not created initially in configmap weblogic-operator-cm, but generated and appended to configmap when pods start to run.
This is causing issues in OKE addons framework because OKE periodically runs checks on addon k8s resources to detect any discrepancies between the initial definitions and the actual ones and runs a reconciliation process.
In this case, internalOperatorCert is found as a diff and removed from config map if WKO is installed via addons.
Could you work on a solution to save internalOperatorCert in a different way ?

We acknowledge that the behavior for this CM entry is incompatible with the behavior of the OKE add-on framework. The good news is that this field is only used for the REST endpoint of the operator, which is deprecated. This is a separate endpoint from the REST endpoint provided by the webhook that is for the schema conversion and validating webhooks.
Likely, this issue will simply be solved by our removing the operator's REST endpoint.


Remove support for EOL Python versions

test (3.5) and test (3.6) should be removed from required checks.

@ulgens is this ready to merge, or are you also removing support for older Django versions?

@clintonb This is ready to merge. I'll open another PR for Django.


Style Objects as Model Injects

Style Objects look like simple JSON documents. This means that there must be a way to define and store them outside a components render function then fetch and inject them, right?
This way a component could use whatever exchangeable Style Object (JSON document) might be activated. So, if Firebase is used a Firebase ref in the component could be set to a given Style Object.
Love Radium just hope the inject approach works so I do not need to hardwire styles directly into a component. Having injectable Style Objects and good performance that does not re-render styles if not needed would be fantastic!

They are javascript - not JSON.
padding: isMobile() ? "10px" : "20px",
ᐧ
On Sat, Feb 28, 2015 at 5:19 PM, zoomclub<EMAIL_ADDRESS>wrote:

Style Objects look like simple JSON documents. This means that there must
be a way to define and store them outside a components render function then
fetch and inject them, right?
This way a component could use whatever exchangeable Style Object (JSON
document) might be activated. So, if Firebase is used a Firebase ref in the
component could be set to a given Style Object.
Love Radium just hope the inject approach works so I do not need to
hardwire styles directly into a component. Having injectable Style Objects
and good performance that does not re-render styles if not needed would be
fantastic!
—
Reply to this email directly or view it on GitHub
https://github.com/FormidableLabs/radium/issues/59.

That is an important distinction. That said— Style objects are just JS objects that Radium parses based on your component's props, state, and context. You could very easily define them outside of components or share them between multiple components.
var externalStyleObject = require('../my-external-style-object-foo.js');

var CoolComponent = React.createClass({
  mixins: [ StyleResolverMixin ],

  render: function () {
    return (
      <div style={this.buildStyles(externalStyleObject)}>
        {this.props.children}
      </div>
    )
  }
});

Super, thanks for the clarification and confirmation.

No problem! Thanks for checking Radium out, let us know if you have any more questions as you go,


New page showing list of all users on the platform

Addresses Issue #112
Added a new template page that shows a list of all users on the platform. It only displays a user's username. Login is required for this page so it is accessible to regular users and admin once logged in. The goal of this page is so that in the future, this page can hold tournament information related to a user, such as which user is ranked the highest on the platform, etc. A new template page was added, a new view function was added, and a new URL path was added, and a new tables.py file was created with a UserTable class.

Had a question: Is there a reason we are allowing all users to see the user table, as opposed to just staff or just admin users?

Comments have been added to the files for future fixes (eg. adding a feature to see the top ranking users, users who have played the most matches, etc).

Update: we met two times during the sprint to work on this issue. The first was on November 8th when we worked together to figure out the specific goals that this issue would address (setting up a page so that in the future, tournament information for all users on the platform can be displayed here) and how we wanted to go about accomplishing this goal. We met again on November 12th to finalize some issues (linting issues) and fine-tune what our goals were related to this task.

Update: we're reevaluating how to implement the UserTable after the two reviews.

Update: conflicts with URL paths between this branch and the dev branch have been fixed.

Closing statement: We successfully implemented a view of all users on the platform. Any user can access this view. This
Files changed: src/chigames/users/tables.py, src/chigames/users/urls.py, src/chigames/users/views.py, src/templates/users/user_list.html
This is something we should return to after tournaments and matches team deploy features such that we can create a leaderboard with the user list and ranking them by points, and such.

Issue Score: Excellent
Comments:
Nice job providing additional functionality for admins. Also, I like that you guys provided updates immediately once a fix was made, as that really helped with testing and knowing what was updated.


Authentication

Is it planned to add some kind of authentication, so that if I use this as a seedbox or for my project (https://github.com/milankragujevic/WebMovBucket) I can have control over who's using it?

As mentioned in #18, I consider auth out of scope of this project.
In the future I'm playing with the idea of creating an infrastructure that would allow developers to create plugins (both on the front-end and the back-end). If you have some suggestions or ideas how this should be implemented, I would appreciate for some feedback.

Thank you for your response. I will update my fork with a simple HTTP auth interface that can be configured from a config file, and uses a default password of admin/admin if password is not set up.


API projects named the same causes issues with AppHost

Hi Guys.
I hope I articulate myself well enough to make this issue easy to understand.
Given the following project structure where multiple of this exist in a solution

When adding the API project as a reference to Aspire.Host project type, Aspire is unable to differentiate between the projects based on folder structure.
For example : The following is autogenerated for the API project.

namespace Projects;

[global::System.Diagnostics.DebuggerDisplay("Type = {GetType().Name,nq}, ProjectPath = {ProjectPath}")]
public class Api : global::Aspire.Hosting.IProjectMetadata
{
  public string ProjectPath => """/Users/xxxxxx/Documents/GitHub/xxxxx/Example/src/Api/Api.csproj""";
}

Assuming I had another Solution folder named "Identity" with a similar project structure, as above and another API project named API, the following will be generated.

namespace Projects;

[global::System.Diagnostics.DebuggerDisplay("Type = {GetType().Name,nq}, ProjectPath = {ProjectPath}")]
public class Api : global::Aspire.Hosting.IProjectMetadata
{
  public string ProjectPath => """/Users/xxxxxx/Documents/GitHub/xxxxx/Identity/src/Api/Api.csproj""";
}

When adding the project the project reference in the program.cs file inside the AppHost project, youw would normally do something like this
var example = builder.AddProject<Projects.Api>("example-service");

However, because API project is named API in example and the same in Identity, the Projects namespaces doesn't see them as two different project thus, you are only able to add one.

Folks can workaround this by using the AspireProjectMetadataTypeName attribute like <ProjectReference Include="../Example/src/Api/Api.csproj" AspireProjectMetadataTypeName="Example_Api" />.
But I'm interested in what the thoughts are on how we could fix this automatically? A more complicated logic in our MSBuild targets that detects the conflict and auto-differentiates somehow? Even then, what would it do to differentiate? Add an index (eww)? Use the parent directory name? I'm not sure there's a good default way for us to resolve this that's robust.
@eerhardt?

IMO adding an index isn't an option. How would the dev know which one is which?
Using the full parent directory and finding the first differentiator might be an option. Note it can't just be the first directory up. In the top comment, both projects are under src/Api/Api.csproj. So we'd need to keep walking up until we found Example vs Identity.

Honestly. I think maybe a way to manually specify the projects paths as an option ?
Secondly, this might be a bad idea because I don't really understand how it generates the files. ... but I am guessing one of the reason the Aspire hos project is seeing all of the API project as one API is because the autogenerated files all use the same namespace?
If we generated the files with the namespace of the actually project it's sitting in? Would that allow us to specify reuse the same API project name multiple times ?
@DamianEdwards @davidfowl @eerhardt ?

Honestly. I think maybe a way to manually specify the projects paths as an option ?

Already exists


Add's b2b examples for opportunity related schemas

Please link to the issue #…

reopen if required in future


Replace insecure SHA1 hash function

Would be much better to avoid insecure hash functions (such as MD5, SHA1) and replace it by modern versions (e.g. SHA2, SHA3 and so forth).

Fixed (52d9c946ceeae5f5100f7e8ad2d563d5bacff207)


fd_read results in TypeError

File writes work in Node (13.01), but reads throw this error:
 Cannot mix BigInt and other types, use explicit conversions
    at Object.readSync (fs.js:494:3)

The issue looks like it is at this line where BigIntPolyfill is being used to get the offset for reading from the file descriptor.
Not sure what the root of the problem might be.

As your comment stated is this related to #135 ? Can we close this in favor of #135 ? 😄

Sure.  The root of the issue is using a bigNum with a Number, but the fix should remove that as an issue.

Awesome, thank you @TJKoury 😄 !


Unable to see the subscription account in the durable section on VS code

I am unable to see the subscription account in the durable functions section of the Azure tab on VS code. Because of this, I am unable to view the test hubs created for monitoring the codes and debugging on the Durable Monitor. I can't open the Durable Monitor either. The VS code was reinstalled with the updated version and the Durable Functions Monitor extension was also installed. I am using a Mac device.

@prerna-tesser , please, check the following:

That your VsCode instance is properly logged in into Azure. Use the 'Azure: Sign In' command:

VsCode might occasionally get logged out, so you might need to do this login procedure again.

That your subscription is not filtered out. Use the 'Azure: Select Subscriptions' command:

That there're no error messages shown. Press the bell button to explicitly check that:

If there're errors, tell me what they are.

Alternatively, you can always directly connect to your Task Hub by executing the 'Durable Functions Monitor' command

and entering the Storage Connection String.
Does that resolve the issue?

I tried the first three steps and everything was displayed as mentioned by you. However when I directly connected to my Task Hub by executing the 'Durable Functions Monitor' command, I get this error message:
" Command 'Durable Functions Monitor' resulted in an error (command 'extension.durableFunctionsMonitor' not found)"

I have checked the extension's installation and it all seems to be fine.
Also the subscription account for the other sections seems to be opening correctly except for Durable Functions.

Then it looks very much like DfMon extension fails to be activated. And in that case VsCode should show you an error message similar to this one:

Can you try to restart VsCode, then try to activate DfMon (by e.g. executing the 'Durable Functions Monitor' command) and tell me what exactly this error message says?
(If you don't see any error messages, try to click on that Bell button)

It gives the same error message as the previous one. And the bell icon says no new notifications.
Could this be an issue because I am using a Mac?

Could this be an issue because I am using a Mac?

I'm not aware of any Mac-specific issues by far. We need to figure out what went wrong in your specific case.
Are you installing DfMon from the Marketplace or by any other means?
Can you please try to reinstall (uninstalll, then restart VsCode, then install again) DfMon extension and see if there're any error messages shown during this process? Once done, can you please post a screenshot of your entire VsCode window (blurring any secrets, of course)?

I am downloading it from the extensions tab available on VS code.
I followed the steps as mentioned above, however no notifications are shown during the uninstall and reinstall process.
PFA the screenshot of the same.

And when I close VScode and restart it to check for the DFMon, this error message pops up:

@prerna-tesser , I can see you have some project ('TesserAPIPYDurableFuncApps') opened.
Can you please try to close it and open some other, blank folder in your VsCode?
Does DfMon show the same error and behaves in the same way, when you do so?
My hypothesis is that there might be some files in that 'TesserAPIPYDurableFuncApps' project that DfMon tries to parse at startup and fails.

Thank you it worked when I closed the project and restarted it.
Thank you.

Great to know it eventually works.
But it would still be very interesting to learn what's so specific in this'TesserAPIPYDurableFuncApps' project that causes DfMon to fail.
Do you have a 'local.settings.json' file in it? Does that file by any chance contain any comments (// or '/**/') ?

Yes, exactly. The local.settings.json contains //

I suggest you remove those comments then (as, generally speaking, it is not a valid JSON).
But thanks for reporting this issue. Closing this one in favor of #7.


Remove CI DocBuild

There is no need to do a separate CI DocBuild
since ReadTheDocs is triggered for every PR and merge regardless. This was removed from Fabric a couple years ago but got overlooked in Fabric CA.
Signed-off-by: David Enyeart<EMAIL_ADDRESS>

Looks good. Following this up in the GitHub Actions PR.

/azp run


Add integration test for CodeActSWEAgent

As title. Follow the test of CodeActAgent, add test test_edits, test_ipython, test_opython_module, test_write_simple_script. Because we disable the browsing feature in CodeActSWEAgent, I didn't add test_browse_internet test.

Please do not merge before https://github.com/OpenDevin/OpenDevin/pull/2346 , please!

Please do not merge before #2346 , please!

Why?

It seems you change the prompts in CodeActAgent, which will not influence my test on CodeActSWEAgent
You change something on agentskill, but I think these two pr not related? If any conflict happended, we can regenerate the test case.

Oh, I just got a little panic but the SWE version doesn't use agentskills, right?
If so, ignore my previous post.

Oh, I just got a little panic but the SWE version doesn't use agentskills, right? If so, ignore my previous post.

I checked the logic, SWE version used the agentskills. If my PR merge before your PR, you need to regenerate the test log. If your PR merge before my PR, I need to regenerate the test log. I think regenerate is just one command and easy to execute. I think it is not a big deal for both of us. If I was wrong, feel free to correct me.
I see your PR still blocked by many other things. So personally spearking, I don't want to block by your PR. Because #2368 also waiting for this one.

My PR isn't blocked and been waiting for hours to get merged so I can continue with other things.

My PR isn't blocked and been waiting for hours to get merged so I can continue with other things.

I see this in your title: (wait for 2085!). And I know this work may still take some time.
If you think you PR can be merged now, I can help you click merge.

My PR isn't blocked and been waiting for hours to get merged so I can continue with other things.

I see this in your title: (wait for 2085!). And I know this work may still take some time. If you think you PR can be merged now, I can help you click merge.

Right, just now fixed the title. Would really appreciate if you wouldn't mind with a review once the tests are done.
Thank you :)

My PR isn't blocked and been waiting for hours to get merged so I can continue with other things.

I see this in your title: (wait for 2085!). And I know this work may still take some time. If you think you PR can be merged now, I can help you click merge.

Right, just now fixed the title. Would really appreciate if you wouldn't mind with a review once the tests are done. Thank you :)

Get it. I see you ask for other maintainers review. I can wait for it. I guess they will response in 24h. I can wait. :)

this is weird in the tests log:
open_file("bad.txt")
16:09:11 - OBSERVATION
**IPythonRunCellObservation**
bash: line 1: execute_cli: command not found


Parse error when typing dictionary with custom class forvalues, and calling method on the value

Tested versions
4.4dev3, 4.4dev2
System information
Godot v4.4.dev3 - Windows 10.0.22631 - Multi-window, 2 monitors - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 (NVIDIA; <IP_ADDRESS>94) - AMD Ryzen 7 5800X 8-Core Processor (16 threads)
Issue description
Parse error when attempting to call a method on a dictionary value from a different class, when the value is of a custom class type.
eg: (where component inherits node2d with no other modifications)
/// entity.gd
class_name Entity
extends Node2D
var components: Dictionary[int, Component] = {
1: null,
}
/// other_node.gd
class_name OtherNode
extends Node2D
func component_method(entity: Entity) -> void:
entity.components[1].free()
Error at (5,5)
Parser bug(please report): Could not find external parser for class "Component". (Trying to resolve class inheritance)
Steps to reproduce
Create custom class A, in class B, make a typed dictionary where the values are of A, then in class C, attempt to call any method on an accessed dictionary value.
Minimal reproduction project (MRP)
4.4dev3mrp.zip

Most likely a duplicate of #96881.
Please test if #98400 fixes this.

Fix worked.


af_params_dir in settings_advanced

As a test, I added "af_params_dir": "/path/to/params" to 4stage_multimer.json in an attempt to make the AF weights located in any directory recognizable.
However, I received the following warning and the job did not execute. (It works normally when I place params within the repository and run bindcraft.py inside the repository.)
Starting trajectory: PDL1_l116_s500265
WARNING: 'model_1_multimer_v3' not found
WARNING: 'model_2_multimer_v3' not found
WARNING: 'model_3_multimer_v3' not found
WARNING: 'model_4_multimer_v3' not found
WARNING: 'model_5_multimer_v3' not found

Has anyone managed to get this setting to function properly?

Yeah, the path actually needs to point to the parent directory of params, so in that case it would be /path/to/


Tests now include tails

I'm working on a PR https://github.com/FreeCodeCamp/FreeCodeCamp/pull/11987 but the third test I'm adding (using code.match() to test for the number of times quotient is used in the editor will not work because the tests now incorporate the tail as referenced in #10258 .
If I write the test to include the tails (length === 3 instead of length === 1) then npm run test-challenges won't work because the solution only uses quotient once. So it would appear the only option is to remove the solution provided in the JSON and account for the tail.
@BerkeleyTrue is that the right approach given tails are now included in the tests?

@dhcodes Do you have an update on this? I saw you said in the PR that it was fine to remove the solution.

@systimotic I'm not sure. @BerkeleyTrue said it was fine to remove the solution for that one but I'm still a bit unclear on the path forward as any .length test on a challenge with a solution will fail the npm run test-challenges and Travis-CI. For the time-being, depending on the case, .length tests may now need to account for matches in the tail.

Maybe it would be a good idea to look at why tails are now included in the tests. If it doesn't have any advantages, it would probably be best to exclude them from the tests. That would make the most sense to me, but I don't know why the tails were included in the tests in the first place, so it may not be possible.

@dhcodes the plan is to scrap the current testing framework for one that uses the same challenge framework and runs them in the browser.
It's not just matches in the tail that need to be accounted for but also additions made by babel (such as adding "use strict";)
We should avoid trying to test for these things as much as possible if at all possible.


fix: I fixed the tasks heading, If no tasks are present the heading is hidden.

When you visit the web app first time

With tasks added

When 0 tasks are present

Thanks @Kritika30032002

Welcome

Thanks for your valuable contribution.
Don't forget to star the repo.


Spelling mistake

Correct the spells of February

assign me this issue

can you assign me this issue please

https://github.com/hashirshoaeb/star_book/blob/4f84cc2f8cce131e1f77666edb5d2c6250ab55c6/lib/utils/date.dart#L61

@hashirshoaeb Can I create a PR for this?

yea sure.


2 versions of  ScoreCAM

There are 2 versions of  ScoreCAM on arXiv. And the implementation of other libraries is also different.
The difference is the use of softmax operation and  subtraction of baseline.
Which version is better?

@zcuncun, thanks for your interests.
Usually, we set the baseline to be a black image (all zeros), all experiments in our paper are in this setting. For the use of Softmax operation, could you be more specific? What is the difference?

Thanks for you
in V1
in V2

@zcuncun, thanks for your interests.
Usually, we set the baseline to a black image (all zeros), and all experiments in our paper use this setting. Regarding the use of Softmax operation, can you specifically explain the difference?
I don't know which implementation you use, different implementations may be slightly different.

In V1, the output score Sk is taken as the weight of the k_th activation map.
Sk=Softmax(F(Mk))
Wk = Sk
In V2, a Softmax operation is used on the  CIC score
Sk=Softmax(F(Mk)) - Softmax(F(Mbaseline))
Wk = Exp(Sk) / sum(Exp(Si))

Thanks, you do help me a lot!
Technically, they are not the same thing.
If you are concerned, check following repos which reimplement your work. They use softmax at different places and give different results.
https://github.com/jacobgil/pytorch-grad-cam/blob/c009adac84ec83565c88c692a13bd3581e7c24eb/pytorch_grad_cam/score_cam.py#L49
https://github.com/frgfm/torch-cam/blob/9c94bd4365b4dbb92055802ce87e717bbf89d9e3/torchcam/cams/cam.py#L174


[Feature Request] Implement conv3d Functionality in mlx

I noticed that there's currently no direct support for 3D convolution (conv3d) which is a crucial feature for processing 3D data like medical images or video sequences.
I believe adding conv3d would be a valuable addition to mlx, allowing users to build more complex and varied models.

Definitely! See #40 (closing this as duplicate)

Hi @awni
I tried implementing this myself but ran into several issues. I just tried editing the main C++ and python code but I guess i will have to edit/add support to the metal source code too.

Yes implementiing this is non-trivial. It involves writing kernels for 3D conv / adapting our 2D conv to handle 3D inputs. If you aren't experienced with Metal then there will be a bit of a learning curve.


Fix sshmon version number

The CI is back live, so should be deployed pretty fast

Awesome, thanks. It's already on the site.
Cheers


Fix terrain with more than four layers being black in planar reflections

Reported by jRocket on Discord. If more than four layers is used on terrain, these layers will appear black in planar reflections.
If I disable HDR on the planar reflection script, it works as expected. So it appears that Unity is packing the alpha channel to achieve layering.
Saturating the alpha fixed this. I don't think this is an issue for anything else. Not sure if there are any negative implications of taking this route.

I reckon this is a bug with the terrain system.
But I'm happy with your change. Don't think there's any other impact. Thanks!


fix: add .library file

Close this PR because .library files are not mandatory. Its an actual bug in tooling v3.


Meta-data for other social media sites not working

Note: half way through filing this bug I noticed that the issue doesn't happen on staging.busy.org, maybe this is already being fixed (?)
I can see busy does have meta data for posts like this:
<meta name="og:title" content="Journal Reflecting: Waterloo, Business, & The Art of War — Steemit" data-reactid="7"/>
But this doesn't take priority. Instead sites like Facebook seem to use the description earlier on the page:
<meta name=description content="Busy is a decentralized social network based on Steem blockchain">
I decided I want to share my blog posts on Facebook but I prefer people to read my stuff on Busy because it looks better. I'm afraid without the preview image and description people won't click through:
Steemit:

Busy:

Busy Staging:

Closing for now can't consistently re-produce. Will re-open if needed.


NIFI-9953 - The config encryption tool is too complicated to use and can be simplified

This is a draft PR of adding the property encryptor module. I would like input on the general approach, any issues with naming, or suggestions for improvement.
At the moment this can be run by building and running:
java -cp "./target/nifi-property-encryptor-tool-1.18.0-SNAPSHOT-jar-with-dependencies.jar:~/.m2/repository/info/picocli/picocli/4.5.2/picocli-4.5.2.jar:~/.m2/repository/org/slf4j/slf4j-simple/1.7.36/slf4j-simple-1.7.36.jar:~/.m2/repository/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar:../../nifi-commons/nifi-property-protection-factory/target/nifi-property-protection-factory-1.18.0-SNAPSHOT.jar"  org.apache.nifi.util.console.PropertyEncryptorCLI encrypt config /tmp/encrypt-me aSecurePassphrase AES_GCM
though it seems the references to maven repository may need to be absolute rather than using tilde. I have not yet determined how to build the picocli application to run more like a bash script but that is the end goal.
This PR should encrypt configuration files with AES_GCM - other providers have not yet been added. Also still to add is encrypting the nifi.properties (which should be an additional commit to this PR) and encrypting the flow.xml.gz/flow.json.gz which might be a separate PR. Currently it is also writing out the encrypted files as temporary files, without overwriting the existing ones. I think I will instead add some changes to this PR to copy the old files to .bkup and rename the encrypted files.

Summary
NIFI-9953
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[x] Apache NiFi Jira issue created

Pull Request Tracking

[x] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[x] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[x] Pull Request based on current revision of the main branch
[ ] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[ ] Build completed using mvn clean install -P contrib-check

[ ] JDK 8
[ ] JDK 11
[ ] JDK 17

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

I've updated the PR with most of the requested changes, let me know if further changes are necessary

With the shift towards NiFi 2.0 and planned consolidation of Flow Configuration files, plus deprecation and removal of legacy algorithms, the implementation will need to be revisited.


ComicExtra: URL redirects/changed

Source information
ComicExtra 1.4.14
Source language
English
Source new URL
https://comicextra.org/
Other details
Latest page doesn't load, Popular page does load but no pages found for chapters
Acknowledgements

[X] I have updated all installed extensions.
[X] I have opened WebView and checked that the source URL has not changed yet.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[ ] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.
[X] I will fill out all of the requested information in this form.

Site doesn't even work, not much that can be done from the extension side in these cases. Will probably have to wait it out.


No need skip ct_next for port which peer is l3dgw port

OVN skip ct_next for all router type lsps. But we think it is
unnecessary for the lsp which peer is l3dgw port because their
traffic finally are centrally processed.
Signed-off-by: Shy Liu<EMAIL_ADDRESS>

OVN skip ct_next for all router type lsps. But we think it is
unnecessary for the lsp which peer is l3dgw port because their
traffic finally are centrally processed.

CC: @numansiddique wdyt?

OVN skip ct_next for all router type lsps. But we think it is
unnecessary for the lsp which peer is l3dgw port because their
traffic finally are centrally processed.

CC: @numansiddique wdyt?

Because traffic of gateway port is processed centrally, if we no skip ct_next that we can create an stateful ACL matching on this port.

Maybe there will be an issue about ct sync when dgw failover


Malformed mainifest or wrong version of west?

Following the setup guide I did
git clone $this_repo ~/kafl; cd ~/kafl
make env       # create and activate environment
west update -k # download required sub-components

then I get the error
FATAL ERROR: Malformed manifest file: /home/t/fuzzing/kafl/manifest/west.yml
  Schema file: /home/t/.local/lib/python3.8/site-packages/west/manifest-schema.yml
  Hint: /home/t/fuzzing/kafl/kafl: "self: import: .submanifests": file /home/t/fuzzing/kafl/kafl/.submanifests not found

Do I need to change the version of west or pip or python or something?
I have not made any edits to the west.yml. It is the same one as in the repo.

How do I change  /home/t/fuzzing/kafl/kafl/.submanifests to  /home/t/fuzzing/kafl/.submanifests?

Hi. its ok.
Is there a line missing to create scripts/create_env.sh in the Makefile?
$ git checkout -b b7ddae2
$ make env
make: *** No rule to make target 'scripts/create_env.sh', needed by '.env'.  Stop.

git checkout -b stable b7ddae2; then follow old readme.

thanks

sorry to keep asking but is this not right?
 west init --mr stable  -m https://github.com/IntelLabs/kAFL.git

If I do
west update -k

I get
File "/home/t/.local/share/virtualenvs/kafl-UUNwUV7H/lib/python3.8/site-packages/west/manifest.py", line 182, in _mpath
    raise MalformedConfig('no "manifest.path" config option is set') from e
west.manifest.MalformedConfig: no "manifest.path" config option is set

The issue should be fixed as of 433fda9. Please try pipenv --rm;  delete the workdir and try again.

Ok I tried
git checkout -b stable 433fda9

the new README.md mentions make env as the first step but there is no target env in the Makfile. Also
west update host_kernel

does not work after
west init

no, the readme says to checkout workdir branch as first step.

never mind it works


Dart: Ignore .flutter-plugins

Generated files that appear when using google_fonts or other Dart packages designed as Flutter plugins.
Reasons for making this change:
Those files are not meant to be versioned in any Flutter project.
Links to documentation supporting these rule changes:

@saschpe I've not kept up with the latest in the Dart/Flutter ecosystem - what do these files contains?

Some cached stuff, i.e. for .flutter-plugins:
# This is a generated file; do not edit or check into version control.
path_provider=$HOME/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.7/
path_provider_macos=$HOME/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+2/

And for .flutter-plugins-dependencies:
{"_info":"// This is a generated file; do not edit or check into version control.","dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_macos"]},{"name":"path_provider_macos","dependencies":[]}]}

I also don't get why Flutter doen't create a directory $HOME/.flutter/and put it's caches there instead of littering projects and home directories with a bunch of loose files. My $HOME currently sports .flutter, .flutter_settings, .flutter_tool_state, .dart/, .dartServer/  and .pub-cache/ ;-)

@saschpe thanks for the extra context - seeing the This is a generated file; do not edit or check into version control message in both files makes this an easy 👍 from me.

versmisse/libgit2@8ee19a2
to test the solution and it works fine with git_tree_entry_byname. But it is not very clean (i change a private member (_cmp)) and incomplete (we must find a solution for all bsearch2 in the code


Text of about us and contact does not have the link of them respectively.

Describe the bug
In the home page at bottom the about text should also redirect have the link same as about us logo same issue with contact us right next to it.
To Reproduce
Steps to reproduce the behavior:

Go to 'about us '
Click on 'about us and contact us text'
It is not linked.

Expected behavior
hovering over the about us and contact us text the the cursor should change from a pointer to a small hand.
Screenshots

Desktop (please complete the following information):

OS: [Windows 10]
Browser [chrome]
Version [99.0.4844.51]

I can work on this assign it to me.

@Chavda-Mitul for now only work on contact us and mail

Hello @Amit366!
I am a GSSoC22 contributor. I would love to work on this issue and make PR as soon as I resolve the issue. Please do assign this to me.
ThankYou:)

@Chavda-Mitul r u working?

Yes I am working on it.

I would like to work on this issue, please assign this to me

@itsAftabAlam add only for contact and mail .

sure @Amit366

Hi! @Amit366 , I would like to work on this Issue. Can you please assign it to me.

@itsAftabAlam since there is no update so I am assigning it to @SainathPoojary

@SainathPoojary go through the above chats and see what u have to do

@Amit366 Can you please confirm, If its working as expected.
https://user-images.githubusercontent.com/53347682/161376420-f0b301dd-2417-49cf-b436-67ead42966b0.mp4


Fix wrong query result when column value is Null

Fix 343
The root cause for 343 is ScanKey is wrong.
I1122 18:12:51.577086 21470 olap_scan_node.cpp:380] BuildScanKey
I1122 18:12:51.579259 21470 olap_common.h:200] ScanKeys:
I1122 18:12:51.579268 21470 olap_common.h:203] ScanKey=[3001,3,-128,1090050 : 3001,3,-128,1090050]
I1122 18:12:51.579274 21470 olap_common.h:203] ScanKey=[3001,3,-127,1090050 : 3001,3,-127,1090050]
I1122 18:12:51.579279 21470 olap_common.h:203] ScanKey=[3001,3,-126,1090050 : 3001,3,-126,1090050]

I1122 18:12:51.580550 21470 olap_common.h:203] ScanKey=[3001,3,126,1090050 : 3001,3,126,1090050]
I1122 18:12:51.580555 21470 olap_common.h:203] ScanKey=[3001,3,127,1090050 : 3001,3,127,1090050]

So we should add null to ScanKey when ColumnValueRange convert_to_fixed_value.
I will add a test case to olap_common_test  tomorrow

@imay I think if there is filter for column c like c > 1 or c <=1, which will mean c could not be null.

@kangkaisen I think you are right. When c has predicate, it should not scan NULL data in SQL semantics.

When I try running the olap_common_test, there are a lot of compiling errors. I found recently some commits didn't update olap_common_test at the same time.
So I think we should start a new issue to fix olap_common_test compiling error, and then I will add test cases to olap_common_test.

This is the olap_common_test issue: 346

@imay I think if there is filter for column c like c > 1 or c <=1, which will mean c could not be null.

@kangkaisen Yes, c could not be null, however your change will add null to scan_keys

@imay I think if there is filter for column c like c > 1 or c <=1, which will mean c could not be null.

@kangkaisen Yes, c could not be null, however your change will add null to scan_keys

@imay Hi, I think this patch won't add null to C column scan_keys.  If c = 1 or c > 1, the code won't goto this branch
    } else {
        if (range.is_fixed_value_convertible() && _is_convertible) {
            if (_begin_scan_keys.empty()) {
                if (range.get_convertible_fixed_value_size() < config::doris_max_scan_key_num) {
                    range.convert_to_fixed_value();
                    has_converted = true;
                }
            } else {
                if (range.get_convertible_fixed_value_size() * _begin_scan_keys.size()
                        < config::doris_max_scan_key_num) {
                    range.convert_to_fixed_value();
                    has_converted = true;
                }
            }
        }

@imay I think if there is filter for column c like c > 1 or c <=1, which will mean c could not be null.

@kangkaisen Yes, c could not be null, however your change will add null to scan_keys

@imay Hi, I think this patch won't add null to C column scan_keys. If c = 1 or c > 1, the code won't goto this branch
    } else {
        if (range.is_fixed_value_convertible() && _is_convertible) {
            if (_begin_scan_keys.empty()) {
                if (range.get_convertible_fixed_value_size() < config::doris_max_scan_key_num) {
                    range.convert_to_fixed_value();
                    has_converted = true;
                }
            } else {
                if (range.get_convertible_fixed_value_size() * _begin_scan_keys.size()
                        < config::doris_max_scan_key_num) {
                    range.convert_to_fixed_value();
                    has_converted = true;
                }
            }
        }

If c < 0 and its ColumnValueRange.is_fixed_value_range will return false, then this branch will be executed

@imay I see. I am sorry. I will update the commit.

Update the commit.


Could this repo support multi language training like KO and JA

It supports Korean, English, Japanese, and Chinese. You can also have a Korean speaker speak Japanese.

Yep. Could I understand mix languages training is okay?

Yes, it's possible.


simulator: tokenfactory sim updates

Closes: #XXX
What is the purpose of the change
Further simulator improvements (see changelog)
Brief Changelog

Adds tokenfactory keeper to the simulator
Fetches creation fee amount instead of hardcoding
Adds BurnDenom and ChangeAdmin messages

Testing and Verifying
This change is already covered by existing tests
Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? no
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? no
How is the feature or change documented? not applicable

Nice work!


i install bagisto from softaculous and it working fine  but admin panel does not working  why ?

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
2.2.2
Issue Description
i install bagisto from softaculous
and it working fine
but admin panel does not working
why ?
Preconditions
i install bagisto from softaculous
and it working fine
but admin panel does not working
why ?
Steps to reproduce
i install bagisto from softaculous
and it working fine
but admin panel does not working
why ?
Expected Result
i install bagisto from softaculous
and it working fine
but admin panel does not working
why ?
Actual Result
i install bagisto from softaculous
and it working fine
but admin panel does not working
why ?
Screenshots

Additional context
No response

Hello @nadeemabualarayes ,
This issue needs to be handled at the softaculous end. From here, everything seems to be fine.


Please make develop as default github branch

The PR template said that PR should branch off from develop branch.
But when opening PR, it is targeted master branch.
Change default github branch to "develop" seems consistent
and could remove that guideline .

Makes sense, default branch is changed. Though I'll keep the guideline just in case anyone considers changing it :+1:


A fix for = in env values in linked containers

Closes: #12763
Signed-off-by: Doug Davis<EMAIL_ADDRESS>

Good catch :-) LGTM

LGTM

Needs rebase now.

Can you 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 "Issue12763-LinkedEnvs" git@github.com:duglin/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~35
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

This will update the existing PR, so DO NOT open a new one.

According to https://github.com/docker/docker/issues/12763#issuecomment-97465736 this PR is actually merged, but is shown as closed" due to a GitHub bug


Updated workflowSync methods

There were several methods available missing on the doc:
Fixed a bug on workflow begin:
When a task is in progress, workflow begin progress appears like no step has been done, due to this directive on mobile:
<workflow-progress workflow="ctrl.workflow" step-index="-1"></workflow-progress>
Now I added a overview tag:
<workflow-progress workflow="ctrl.workflow" step-index="ctrl.stepIndex+1" overview="true"></workflow-progress>
And If one step is done it appears on green color icon.

Thank you for the PR @misanche .
This functionality is moving to the fh-wfm-workflow-angular (https://github.com/feedhenry-raincatcher/raincatcher-workflow-angular) module. This will replace the angular part of this module.
I will make sure to cherry pick this change to the new module.

Outdated. CLosing


Identify and tag version 1

We need to identify which commit to use as our version one marker and tag it so Zenodo can archive a V1

This looks like a good candidate. Pre-dates the major revisions that happened:
https://github.com/D-PLACE/dplace-data/tree/960979b0e705265b34534436d90ead18e3aaccfc

@xrotwang -- do you know how to do this and get Zenodo to snapshot it?

good question. should be possible to make a release based on an older commit, though. will find out.

What about the one you already tagged? https://github.com/D-PLACE/dplace-data/releases/tag/v1.0

Feeding https://github.com/D-PLACE/dplace-data/releases/tag/v1.0 into ZENODO by hand may be the cleanest way to get a DOI for the first release.

Woah.

Should I do the upload? May make sense, because the automatic upload for newer versions would also happen under my user account ...

yes please!

Maybe we should also extract the citations from (datasets|phylogenies)/index.csv into a SOURCES.md to make them more prominent?

Great idea.

And this page: https://d-place.shh.mpg.de/howtocite should probably have a dynamic part created from the db as well.

@SimonGreenhill please check this
https://zenodo.org/record/439199#.WNzGOkf-vCI
There are ways to add grant info in ZENODO, too. If you think this should be done, let me know.

Looks good. I'll add an issue to the front-end for the howtocite page.

Actually, adding the grant info might be politically good. How hard is this? it should all be listed in the Kirby et al paper

not too hard. a bit of copy&paste I guess. will do.

@SimonGreenhill I looked into the paper but couldn't find any actual grant numbers. Are there any?

Just realized ZENODO only has special support for grants in two funding schemes:

European Commission FP7 and Horizon 2020 grants only. For general funding acknowledgements, please use the Additional Notes field.

Ahh, ok, can we just paste the statement from the paper?

Basically

European Commission FP7 and Horizon 2020 grants only. For general funding acknowledgements, please use the Additional Notes field.

right?

oops, I mean

D-PLACE was developed with generous support from the National Evolutionary Synthesis Center (www.nescent.org) and the Max Planck Institute for the Science of Human History (www.shh.mpg.de/en)

Looks good.

Done: https://zenodo.org/record/439199#.WN0eWEf-thE


Issue with all day events when using Resources

Current Behaviour
All day events for a Resource span every resource in Week and Day view.
Example code
import React from 'react';
import BigCalendar from 'react-big-calendar';
import moment from 'moment';

BigCalendar.setLocalizer(BigCalendar.momentLocalizer(moment))

let resources = [
    {
        resourceId: 1,
        resourceTitle: 'Dave',
    },
    {
        resourceId: 2,
        resourceTitle: 'Steve',
    },
    {
        resourceId: 3,
        resourceTitle: 'Barry',
    },
    {
        resourceId: 4,
        resourceTitle: 'Gary',
    },
]
let events = [
  {
    id: 0,
    title: 'Board meeting',
    start: new Date(2018, 0, 29, 9, 0, 0),
    end: new Date(2018, 0, 29, 13, 0, 0),
    resourceId: 1,
    color:"#000000"
  },
  {
    id: 1,
    title: 'MS training',
    start: new Date(2018, 0, 29, 14, 0, 0),
    end: new Date(2018, 0, 29, 16, 30, 0),
    resourceId: 2,
    color:"#EEEEEE"
  },
  {
    id: 2,
    title: 'Team lead meeting',
    start: new Date(2018, 0, 29, 8, 30, 0),
    end: new Date(2018, 0, 29, 12, 30, 0),
    resourceId: 3,
    color:"#0f61a1",
    allDay:true,
  },
  {
    id: 11,
    title: 'Birthday Party',
    start: new Date(2018, 0, 30, 7, 0, 0),
    end: new Date(2018, 0, 30, 10, 30, 0),
    resourceId: 4,
    color:"#4A10F6",
    allDay:true,
  },
];

class Calendar extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
    }
  }

  render() {
    return (
        <BigCalendar
            events={events}
            defaultDate={new Date(2018, 0, 29)}
            step={60}
            culture={"en-GB"}
            resources={resources}
            resourceIdAccessor="resourceId"
            resourceTitleAccessor="resourceTitle"
        />
    );
  }
}

export default (Calendar);

Screenshot below of the output below.

Expected behavior
In this case, the events "Team Lead meeting" and "Birthday Party" should only show for Barry and Gary respectively in the all day row, instead of appearing for every resource on that day. I'm guessing that all day events haven't been handled for resources yet.
P.S Loving this component by the way, fits my requirements almost perfectly. Keep up the good work!

Is there an expected fix for this? We're running into this issue as well.

+1

+1

bump?

This looks to be implemented in #423.


added my contribution

PR-accepted.

Keep contributing.


Could not fetch authorities at ...: InvalidAuthoritiesSet

So we have encountered this error and we are not sure why this happens (if this is something that should be handled on our side or somewhere in the substrate).
The setup that this error appears is as follows:

We are using Aura for block proposals.
For some height h we have two blocks A and B.
On top of the block A, we already have imported C
We are currently importing block D which builds on top of C
In the meantime, block B is finalized.
The import of D fails with the mentioned error.

Not all of the nodes fail with the import tho. Some of them successfully reorganize onto a chain that builds on the B block after B is finalized.
Because of this error the finalization stales, here again, we are not sure yet whether this is something we should handle in our finalization gadget that we are not aware of, or maybe we have some dirty state (resetting nodes helps but is not an ideal solution.)
Thanks

I'm working with @kostekIV and today we have realized what might be a possible explanation for this.
First of all, here is a visualization of the above situation:

In the depicted situation the import of block D seems to fail, with the cryptic error
Verification failed for block 0x7467e75d032920abda959c28c89ed93c863c304a7000e11483740e14bae09585 received from peer: 12D3KooWD5s2dkifJua69RbLwEREDdJjsNHvavNRGxdCvzhoeaLc, "Could not fetch authorities at 0xcd92a6d2a064ed96dbe199d5f3ec4d65d4fa65e5c4c1b9e79176d8adb1d826af: InvalidAuthoritiesSet"

Now, the point is that in our custom finality gadget (replacement for grandpa) we certainly MUST import this block, and we even request it explicitly via NetworkService::set_sync_fork_request -- it still fails.
The diagnosis we currently have, is that there must be some state pruning happening for blocks outside of the finalized branch and that is the reason. Could this be correct?
In other words: suppose we have a block D  that is a fork such that a conflicting block has been already finalized. Is it the expected behavior that importing such a block should/might fail?

CC @andresilva

Any hints on that?

In other words: suppose we have a block D that is a fork such that a conflicting block has been already finalized. Is it the expected behavior that importing such a block should/might fail?

If you are running with archive mode for state (default mode for validators, no state pruning) then it should be possible to import the block. Otherwise, if pruning is enabled we will automatically prune all states that are not in the finalized chain. I believe we should fallback to importing just the header (since that doesn't require state as the block is not executed), but would have to double check that.

Thanks for the answer @andresilva!  We run with pruning disabled, but there are still issues with importing such blocks...
Is there then any special logic regarding importing such blocks? (=blocks which branch out of the finalized chain, thus cannot be ever finalized) Or any special treatment for such blocks, or their state?

Could you try collecting some logs of this happening with -lsync=trace? Also, in the example above can you tell whether the remaining blocks of the stale fork were imported and only D failed? cc @arkpar

We are currently importing block D which builds on top of C
In the meantime, block B is finalized.

This should not be happening in parallel. Import and finalisation events are serialized. Verification however indeed happens before the import so it my produce such errors. As soon as B is finalized A is discarded unless you run in archive mode. Pruning history limit only sets how many blocks to keep in the canonical chain.

Thank you both @andresilva and @arkpar for responses.

Could you try collecting some logs of this happening with -lsync=trace? Also, in the example above can you tell whether the remaining blocks of the stale fork were imported and only D failed?

Yes, I will deliver such logs, just need some time. In this example, A and C were imported, and apart from that there were thousands of attempts to import D, all with the same error. I don't know if there existed any other blocks beyond D in this branch, but certainly they were not imported by this node.
We run with the --validator flag (and no other pruning-related flags), which AFAIK disables pruning, correct?

I have been trying to reproduce the issue and while I could occasionally trigger the InvalidAuthoritiesSet error, it was not so frequent and persistent as before... However, I've encountered numerous
Err(Other(ClientImport("Potential long-range attack: block not in finalized chain.")))
errors. I'm attaching logs -- long-range.txt -- the interesting block is 0x82ecce9196567ef95ef282f31c0832121274c1fd8cd79b591f01e0940e090dd8
Now I'm thinking that the InvalidAuthoritiesSet is somehow connected to that and while I don't know the exact reason it shows up, it has certainly something to do with importing "hopeless forks" (blocks that can never possibly be finalized). In particular, after inspecting the code in parity/substrate/client/db/src/lib.rs and few other files I can answer my previous question.

Is there then any special logic regarding importing such blocks? (=blocks which branch out of the finalized chain, thus cannot be ever finalized) Or any special treatment for such blocks, or their state?

There is special logic for that -- at several places the NotInFinalizedChain exception is thrown in such a case. Which essentially makes it impossible to import such blocks upon request. Is that correct?

You are correct, I think https://github.com/paritytech/substrate/blob/master/client/service/src/client/client.rs#L541-L548 is preventing the import of any forked blocks that are behind the latest finalized block. I believe we should still be able to import those blocks but making sure that we don't change the chain head regardless of the block number of the block being imported. @arkpar do you see any reason for not doing this?

I guess the reason is not to waste computation and storage on such blocks. What would be the reason to include them? Uncle rewards?

Now that we learned that this is the intended behavior, we can actually make some changes on our side to circumvent this issue. So, the only question that remains is whether attempts of importing such blocks can cause the InvalidAuthoritiesSet error.
Let me also offer a few words of explanation of why is this a problem for us.  More specifically, the consensus messages in AlephBFT carry block hashes, and whenever such a message is received, we make efforts to fetch the appropriate blocks (because finalizing hashes for which we don't know the underlying data is obviously unsafe). Now, we run into troubles when we get a hash h, we don't know the underlying block, and it corresponds to a block like D in the picture above (imagine we didn't import C either). In such a case we have no idea what D is and whether we should attempt fetching it, or conclude it is irrelevant because it will never be finalized.
That being said, we have already found a fix for that on our side, and the most important thing was to get some confirmation of our understanding on how things work from you guys! Thanks for all the responses!


Improved explanation for selecting multiple words

Improved explanation for selecting multiple words

@salmanmkc : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Approve. #sign-off


Added TAL Token

Please check the following to ensure a successful verification of Token Profile
.json and .png document checklists

[x] logo dimensions: 120*120 px
[x] logo background: Transparent
[x] At least one transaction on the token contract
[x] For ERC-20 project teams: Upper and lower capitalized alphabets in token address (For checksum purposes)
[x] Same document name for both .json and .png (Including capitalization)

Project background:
Official announcement:
https://medium.com/@thalertoken/announcement-for-thaler-crypto-foundation-beta-app-launch-41d810f31fed
Project team background:
The team details can be found on the Team Details page and linkedin company page https://www.thalertoken.com/about-the-team
Project basic information:
Thaler is a bridge creator between our community and large investors.The idea of crypto mass education will lead our token to mass adoption.Thaleris a peer-to-peer digital currency which encourages growth within theblockchain technology community. It aims to strengthen the path towards mass adoption ofcryptocurrency technology through investing inunique innovations.Thaleris fully decentralized and by definition the most trustable coin on the market!
Media publications:
https://youtu.be/JShCKMWjLOE
Tradeable exchanges: https://token.store/eth/trade/0x375a08ce3a460f20bbafd282be1e3579a2c31f41
Recommended Gas Limit (For ERC-20 project teams) for transaction: (Default is 60,000)

about official announcement:
https://github.com/consenlabs/token-profile/blob/master/tutorial/erc20-tutorial.zh-CN.md#资料的完整和准确

https://twitter.com/TokenThaler/status/1163492710310961152
Here is the official confirmation

@tstt please confirm the official announcement here and please add the TAL token to imToken wallet!
https://twitter.com/TokenThaler/status/1163492710310961152

https://twitter.com/TokenThaler/status/1163492710310961152
@tstt verification official announcement has been published, awaiting your response

@tstt please inform us if there are any more steps we need to take or if there are any more questions for us!

@tstt it would be very much appreciated if we can get a response from you and if you can verify the official announcement here: https://twitter.com/TokenThaler/status/1163492710310961152

@tstt I hope you're doing well!
Is there any comments on this pull request or anything I need to know which may speed up the listing process?
Thanks!

欢迎在社区中推荐用户使用 imToken 2.0 管理资产。


Notifier service based on Google Cloud Messaging

It would be good to have a notifier that could notifies Android devices based on the GCM protocol
http://developer.android.com/google/gcm/index.html

Out of scope for SensApp 2.

Yes, we need to develop a sensor / time-series server that does stuff. 12 years later, it still doesn't exist though the situation is better in terms of available database and tools.
I thought it would be funny to revive the SensApp project and repository. But it shares about 0 line of code with the old Scala codebase.


New --help option

Would be nice to move the comment stuff at the top into a help message that can be shown with --help.
eg. here: https://github.com/IARCbioinfo/needlestack/blob/master/needlestack.nf#L64

We have that ;-)

This is done as of  #140