ModuleNotFoundError: No module named 'imp'

Description
Installation fails on Python 3.12
Steps/Code to Reproduce
pip install pyrubberband
Expected Results
Works
Actual Results
Collecting pyrubberband
  Downloading pyrubberband-0.3.0.tar.gz (4.1 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [20 lines of output]
      Traceback (most recent call last):
        File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/mw/d2jp6b715v59p7ghfyp6rr5c0000gn/T/pip-build-env-ry4g175i/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/mw/d2jp6b715v59p7ghfyp6rr5c0000gn/T/pip-build-env-ry4g175i/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "/private/var/folders/mw/d2jp6b715v59p7ghfyp6rr5c0000gn/T/pip-build-env-ry4g175i/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 487, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/private/var/folders/mw/d2jp6b715v59p7ghfyp6rr5c0000gn/T/pip-build-env-ry4g175i/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 3, in <module>
      ModuleNotFoundError: No module named 'imp'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

Versions
macOS-14.4.1-x86_64-i386-64bit
Python 3.12.3 (main, Apr 12 2024, 20:23:48) [Clang 15.0.0 (clang-15<IP_ADDRESS>.5)]
NumPy 1.26.4

Yeah, this package hasn't yet been updated to handle the imp deprecation.  Note that the last release was 6 years ago (!).  This should be an easy enough fix.  However, you might want to consider using pedalboard for this instead of pyrubberband, since it goes through a proper library binding instead of the command-line wrapper that I implemented here.


[DNM] Update #499 - adds backend for star comments in user profile

adds additional fields: studentName, studentUsername, lessonTitle, lessonOrder,  for
query { userInfo() { lessonStatus { starsReceived {  } } } }
in order to show student initials & username, lesson name, and comment on user profile

new version will use Prisma


feat: add support for pisces p100

Issue

Link: https://github.com/NebraLtd/hm-pyhelper/issues/130
Summary: add pisces p100 support

How

bump hm-pyhelper to add pisces p100 support
Screenshots

References

https://github.com/NebraLtd/hm-pyhelper/issues/130
https://github.com/NebraLtd/hm-pyhelper/issues/131
https://github.com/NebraLtd/hm-pyhelper/issues/133
https://github.com/NebraLtd/helium-miner-software/pull/381
https://github.com/NebraLtd/hm-pktfwd/pull/87
Checklist

[ ] Tests added
[ ] Cleaned up commit history (rebase!)
[ ] Documentation added
[ ] Thought about variable and method names

Security scan failing due to following:
Test results:
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: ''
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   Location: ./gatewayconfig/bluetooth/characteristics/wifi_connect_characteristic.py:28:29
   More Info: https://bandit.readthedocs.io/en/1.7.3/plugins/b105_hardcoded_password_string.html
27	        self.wifi_service = ""
28	        self.wifi_password = ""
29

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: ''
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   Location: ./gatewayconfig/bluetooth/characteristics/wifi_connect_characteristic.py:85:33
   More Info: https://bandit.readthedocs.io/en/1.7.3/plugins/b105_hardcoded_password_string.html
84	            self.wifi_service = ""
85	            self.wifi_password = ""
86

@marvinmarnold @vpetersson do you think we can ignore these? or is there a way we can fix/remove these?

We might be able to make the default None but I vaguely remember there being a reason that wouldn't work. This seems fine for now as it's not actually a default password.

@marvinmarnold yeah agreed on that :-)


Bad UX: Wrong password does not show login error prior to 2FA screen

When I logged in recently and my password was changed, I would see an error message only after I entered the 2FA token. This would make me believe that the 2FA token is incorrect, not the password.

Ich kann das leider nicht nachvollziehen, kannst du Schritte zum Reproduzieren ergänzen?
https://user-images.githubusercontent.com/1512805/142827009-56e7f3a9-8ab4-426b-a49a-5ea9d2bacca2.mov

On https://staging.100ey.es/sign_in I see this after I enter my username/password combination and the 2FA token:

I checked in my password manager and in via bin/rails c on the VPS server and the OTP secret is the same.
I just reset my password and the problem persists. I copied the otp_secret_key into my password manager again and it still doesn't work.

ok


ADDS/Deploy: Azure Virtual Network supports IPv6

Description:
As reported in issue ticket #4512 (IPv6 statement no longer true), there are 2 occurrences of the same statement that "Azure virtual networks do not support IPv6" linked to a FAQ page answer stating that Azure virtual networks do in fact support IPv6.
Thanks to @aqasrawi (Adiy Qasrawi) for pointing this out to us.

Changes proposed:

Modify the affected sentences to correctly say that IPv6 is supported
Adjust the same sentences to keep the next page link useful
Whitespace adjustment: add blank line between metadata and page title
Various grammar and readability improvements:

Add commas where needed, to show the sentence logic
Add missing words to make the sentence structure clear
Change lowercase "ok" to uppercase OK
Add parentheses around suggested optional action
Add parentheses around example name reference
Split one sentence into 2 standalone sentences (logic)

Additional note: Feel free to request additional grammar or readability
improvements. I might have missed some, or added imprecise corrections.

Ticket closure or reference:
Closes #4512

#sign-off

@iainfoulds  Please review and let me know when it's okay to merge.
Thanks, Trond!

@eross-msft This can merge, thanks
#sign-off

Thank you, all!


diffi command to inspect changes on image filesystem

Signed-off-by: Ashwin Phatak<EMAIL_ADDRESS>

#12641

@ashwinphatak can you add closes #12641 to the main/first comment?

@cpuguy83 done

@ashwinphatak my personal opinion is that I don't want to add another command just for diffing images. But we should also probably not overload diff like we did with inspect that is a hybrid between image_inspect and container_inspect.
I do welcome the feature, but not in this form. Would prefer to close the PR and continue discussion on the issue.

Closing the issue as this feature needs more discussion around requirements. See #12641

Thanks for your understanding !


Generate different list of chains based on the interface type

Currently, as far as I see, there is only one list of chains which is present inside the chains.json file on the main folder.
I think that we should separate that list into different lists, maybe grouping them into a specific folder. For example, a structure like this could be easily searchable:
/chains/<interface>.json

So, for example, we would have
/chains/cosmos.json
/chains/evm.json

This could be more useful to clients that want a list of all the chains of a particular interface, without downloading all the data of other interfaces.
I also think that this could be automated somehow using a script that updates the list on each commit made.

Fixed on https://github.com/interchain-registry/interchain-registry/commit/1b7067fabb5a5829b2dbc329b13fb167bd894d0d


feat: support set timezone in db

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
support set timezone in db
Please explain IN DETAIL what the changes are in this PR and why they are needed:

Add default_time_zone as a option in standalone / frontend, enable user config system time zone, default system time zone is UTC
Attach system time zone in QueryContext, when a new session build, the system time zone will be default user time zone, user can change time zone by SET time_zone = 'UTC';

Checklist

[x]  I have written the necessary rustdoc comments.
[x]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)
https://github.com/GreptimeTeam/greptimedb/issues/2907
https://github.com/GreptimeTeam/greptimedb/issues/2893

I think timezone is better than time_zone. And it's a standard term. So can we rename all these funcitons, variables from time_zone to timezone?

time_zone mainly from SQL SET time_zone = xxxx; time_ zone or timezone both seems fine. I'll change it

I think timezone is better than time_zone. And it's a standard term. So can we rename all these funcitons, variables from time_zone to timezone?

time_zone mainly from SQL SET time_zone = xxxx; time_ zone or timezone both seems fine. I'll change it

In Chrono API, it use timezone https://docs.rs/chrono/latest/chrono/struct.DateTime.html#method.with_timezone

But most of word used in our codebase is time_zone, even the main time zone related struct TimeZone in src/common/time/src/timezone.rs is call TimeZone, we should change it all?

But most of word used in our codebase is time_zone, even the main time zone related struct TimeZone in src/common/time/src/timezone.rs is call TimeZone, we should change it all?

Yes, let's do a refactor.  It looks like no so much!
tests-integration/tests/sql.rs
221:    let _ = conn.execute("SET time_zone = 'UTC'").await.unwrap();
222:    let time_zone = conn.fetch_all("SELECT @@time_zone").await.unwrap();
223:    assert_eq!(time_zone[0].get::<String, usize>(0), "UTC");
242:    let _ = conn.execute("SET time_zone = '+08:00'").await.unwrap();

src/common/time/src/timezone.rs
90:pub fn system_time_zone_name() -> String {

src/common/time/src/timestamp.rs
1057:    fn test_parse_in_time_zone() {

src/servers/src/mysql/writer.rs
197:                        .write_col(v.to_chrono_datetime_with_timezone(query_context.time_zone()))?,
199:                        .write_col(v.to_chrono_datetime_with_timezone(query_context.time_zone()))?,
211:                        .write_col(v.to_timezone_aware_string(query_context.time_zone()))?,

src/servers/src/mysql/federated.rs
24:use common_time::timezone::system_time_zone_name;
59:static SET_TIME_ZONE_PATTERN: Lazy<Regex> =
60:    Lazy::new(|| Regex::new(r"(?i)^SET TIME_ZONE\s*=\s*'(\S+)'").unwrap());
203:            "time_zone" => query_context
204:                .time_zone()
207:            "system_time_zone" => system_time_zone_name(),
271:    if let Some(captures) = SET_TIME_ZONE_PATTERN.captures(query) {
275:            session.set_time_zone(timezone);
396:        let query = "/* mysql-connector-java-8.0.17 (Revision: 16a712ddb3f826a1933ab42b0039f7fb9eebc6ec) */SELECT  @@session.auto_increment_increment AS auto_increment_increment, @@character_set_client AS character_set_client, @@character_set_connection AS character_set_connection, @@character_set_results AS character_set_results, @@character_set_server AS character_set_server, @@collation_server AS collation_server, @@collation_connection AS collation_connection, @@init_connect AS init_connect, @@interactive_timeout AS interactive_timeout, @@license AS license, @@lower_case_table_names AS lower_case_table_names, @@max_allowed_packet AS max_allowed_packet, @@net_write_timeout AS net_write_timeout, @@performance_schema AS performance_schema, @@sql_mode AS sql_mode, @@system_time_zone AS system_time_zone, @@time_zone AS time_zone, @@transaction_isolation AS transaction_isolation, @@wait_timeout AS wait_timeout;";
399:| auto_increment_increment | character_set_client | character_set_connection | character_set_results | character_set_server | collation_server | collation_connection | init_connect | interactive_timeout | license | lower_case_table_names | max_allowed_packet | net_write_timeout | performance_schema | sql_mode | system_time_zone | time_zone | transaction_isolation | wait_timeout; |
440:    fn test_set_time_zone() {
443:            "set time_zone = 'UTC'",
454:        assert_eq!("UTC", query_context.time_zone().unwrap().to_string());
456:        let output = check("select @@time_zone", query_context.clone(), session.clone());
461:| @@time_zone |

src/session/src/context.rs
38:    time_zone: Option<TimeZone>,
60:            time_zone: Default::default(),
118:    pub fn time_zone(&self) -> Option<TimeZone> {
119:        self.time_zone.clone()
145:            time_zone: self.time_zone.unwrap_or(None),

src/session/src/lib.rs
36:    time_zone: ArcSwap<Option<TimeZone>>,
48:            time_zone: ArcSwap::new(Arc::new(None)),
61:            .time_zone((**self.time_zone.load()).clone())
76:    pub fn time_zone(&self) -> Option<TimeZone> {
77:        self.time_zone.load().as_ref().clone()
81:    pub fn set_time_zone(&self, tz: Option<TimeZone>) {
82:        let _ = self.time_zone.swap(Arc::new(tz));

Do we need to process these convertions?
https://github.com/GreptimeTeam/greptimedb/blob/1641fd572a59bfbef36e2323a35ec8dbd1c67022/src/datatypes/src/value.rs#L390
https://github.com/GreptimeTeam/greptimedb/blob/1641fd572a59bfbef36e2323a35ec8dbd1c67022/src/common/query/src/logical_plan/expr.rs#L83
Attach the timezone to the scalar value of datafusion.

According to my observation, these case are used in calculation(all timestamp are convert to UTC to calculate and store, so no timezone info is fine), or the input is a i64 timestamp without timezone info ( such as prepare stmt's variable).  We may need not dispose these situation, just leave it empty.


Tradfri groups not updating when devices in group are.

Home Assistant release (hass --version):
0.55
Python release (python3 --version):3.5
3.5
Component/platform:
Tradfri
Description of problem:
Groups imported from the Tradfri platform are not updated when lights inside group are updated.

Expected:
Group following
Problem-relevant configuration.yaml entries and steps to reproduce:
discover:

Configure gateway either through the discovery platform or by setting the host manually.
Have a group with one or more lights inside.
Turn on and then off lights inside of group

Additional info:
Mix of IKEA none RGB lights.

I investigated this a bit a while ago using pytradfri and it seemed that the response from the gateway regarding group state was not correct after changing state of a light via pytradfri. Changing state of light in ikea app didn't show this issue.

@MartinHjelmare I tested with the app also. Lights turned off/on in the IKEA Tradfri application do not update the group either.

Ok, yeah it was a while ago, so I don't remember all results exactly. At least the app group state is correct after changing the light state in app, so somehow this should be fixable in pytradfri. But I didn't come to final conclusion.

> I tested with the app also. Lights turned off/on in the IKEA Tradfri application do not update the group either.
When I turn on/off lights in the group (tradfri gw imported group which for HA is light. or a group created in HA - group.) the IKEA APK does update the state instantly but HA does not update the state of imported (light. regardless if I turned the lights on/off with the APK or with HA's group.
I think the bug is there and should be fixed.

I can confirm; when I use scenes to turn on only some of the lights in a group, the group does not turn on.

I can confirm this. When I use the remote to switch the lights off/on, the status of the bulbs are updated but not of the group. This workes with earlier versions of Homeassistant. I noticed this in 0.57. But it may existed already before...

I have this issue as well running Hass.io 0.58.1

I can confirm this bug on my hassio setup.

This issue seems to have been under the radar. Now that major issues with Tradfri are solved, maybe its time to poke the smart people...
@NovapaX @ggravlingen  @lwis
Would you gents please check if this is something that can be fixed ?

@matemaciek :D

I’ll cab look into it, but it’s probably something that should be fixed (maybe partially) in pytradfri. If it is I see if I can raise an issue there.
But I’ll probably won’t have time until next week.

Greatly appreciated @NovapaX ! :-)

https://github.com/ggravlingen/pytradfri/issues/124

I reckon this is something that has to be resolved in the HASS implementation of Tradfri.

I think this is down to the Gateway, first step would be to subscribe to a group and make some changes to lights and see what happens.

@lwis you mean that if you pass the arguments for changing eg xy to a group, the gateway passes the request on to associated entities?

This issue describes a group not updating when the bulbs are changed without using the group, I'm curious to see if the group is reporting updates when it's individual bulbs are changed.

@lwis on Hass.io 0.58.1 I have a Ikea gateway group of 3 bulbs (same type) called "Fixture 1" when I issue light.turn_on to "Fixture 1" all three bulbs light up but the Ikea gateway group in Hass.io shows the status "off" even though the individual bulbs shows "on".

@lwis Ah, now I see what you mean. :+1:

As I suspected;
Waiting for observation to end (2 mins)
Try altering any group in the app, and watch the events!
decrypt_verify(): found 144 bytes cleartext
Received message for: <Group Bedroom - off>

No events from changing an individual light in a group, or the group from the app. Either we're doing something wrong when we subscribe, or the Gateway just doesn't report group status events correctly.
Unless anyone has anything to add, this should be closed due to API limitations.

Must have something to do with the update that broke everything. Groups was working before and updating fine when doing light.turn_on 'some tradfri group' both the group and individual lights showed status 'on', now only the individual lights shows 'on' while the group shows 'off'.

Which update broke it?

There may be a misunderstanding here, I guess, what I meant ans assume the OP meant are imported tradfri app groups, not groups created in HA.
To illustrate it I have one light in tradfri group.:
HA light toggled > IKEA APP group and light changes > HA ikea group does not change.
IKEA APP group toggled > HA light changes > HA ikea group does not change.
HA ikea group toggled > HA light changes > IKEA APP group and light changes.
NB: I have not seen any difference in behavior over any update since the initial tradfri release. I'm using the GU10 as ceiling lights in most rooms so they are in groups, and I use this daily, I would have seen a difference. I guess something else is impacting your config @skeptizzle

For me it was working before Ikea introduced DTLS, I wanna say it was working before transitions was introduced and maybe even after. I haven't experienced any issues that I know of before the DTLS stuff...

I just nuked a previous 0.55 version of HA to upgrade to the latest from scratch. The only thing in my HA install is Tradfri right now, and I'm having the same problem with groups not updating. This is a problem with lights triggered via the Tradfri motion sensor (PIR) - the PIR triggers the light on, HA shows the light is on, but the group as off.

The problem is still there with the last hass.io version.
The group doesn't refresh their status :-(

Hassio and VirtEnv alike still have this issue.
I didn't see any major rework PRs recently so I guess we are in a place that this "bug" could be addressed.
@ggravlingen any ideas where this could be fixed, HA or pytradfri?

The only way for us to proceed with this is to switch groups to polling (pull) rather than using observation (push) as the gateway does not send events correctly when observing groups.
If, in the future, the gateway is fixed we can remove the polling.
I'll raise a PR soon if it doesn't get changed before I get to it.

@antimix Tradfri group != HA group.
Tradfri keeps track of groups in its own way, and that's not something we can change. The platform is not grouping lights as part of the code, it's just reading the raw data from the gateway. That is not something we should interfere with.


Windows PE with incorrect length in IMAGE_DEBUG_MISC

Hello,
I have a question related to finding a solution for a problem with decompiling a Windows PE. I take the master branch (as of writing 97aadfa05aa63a3e667ccf6ea9647dfae152074a) as base for the comment I make per line.
When Ghidra tries to import the executable, a part of the executable is read containing the bytes:
01 00 00 00  00 00 00 00  00 00 00 00  47 6F 4C 69  6E 6B 2E 64 62 67 00

These bytes represent an IMAGE_DEBUG_MISC struct. So the code in Ghidra is eventually executed at DebugMisc.java:79:
		reader.setPointerIndex(index);

		dataType = reader.readNextInt();
		length = reader.readNextInt();    // <--- Line 79
		unicode = reader.readNextByte() == 1;
		reserved = reader.readNextByteArray(3);
		if (length > 0) {
			actualData =
				(unicode ? reader.readNextUnicodeString(length) : reader.readNextAsciiString());
		}

Here, the length will be determined by the value of the bytes that are currently read. At time of execution, the value will be 0 (so length will be 0 as well). This will lead to further problems in the execution (at DebugMisc.java:167):
struct.add(new StringDataType(), length - 12, "Data[]", "Actual data");

Having a negative length will eventually result in an error (at DataTypeComponentImpl.java:373):
		if (length <= 0) {
			throw new IllegalArgumentException("Positive length must be specified for " +
				dataType.getDisplayName() + " component");
		}

Now I would think this could be solved by looking for the sizeOfData from DebugDirectory and use that if it is bigger than the length that was provided by the PE:
length = reader.readNextInt();
// (...)
if (debugDir.getSizeOfData() > length) {
    length = debugDir.getSizeOfData();
}

This works, but it seems as a very fragile solution. Is there a way to fix this problem with a less fragile code?
Would it be worth the effort to come up with a solution that could potentially be merged with Ghidra?
Kind regards,
Jan

Any chance you could point us at the actual executable?  The tricky part in most of these fixes is making sure Ghidra’s loader behaves in the same way the Window’s loader does.

This is where I downloaded the executable from:
https://github.com/ksw2000/x64-NASM-Practice/raw/7ad65a21e73414b774b50c7c4f0f100db603b60f/tools/GoLink.exe

OK, am putting a ticket in for this (and probably the fix).   The windows loader essentially ignores this data, so I guess I'm less concerned on that front.  Am leaning toward defaulting the length to 12 and increasing it by actualData.length()+1 if the unicode field is not set and the actualData.length()+13 < IMAGE_SIZEOF_DEBUG_DIRECTORY.  Thoughts?

I think that an alternative could be that you could guess the length by first reading 12 bytes, and then count the amount of ASCII bytes until you see byte 00. Then check if the length as described by IMAGE_DEBUG_MISC is equal to 12 + amount of ASCII bytes. If this is not equal, use the length we guessed. I don't know if this is the same way how actualData is retrieved. And this would not work with unicode and it is still a bit error prone. So I don't know if this is the best solution, but why not mention it? I also don't know if there could be more data after IMAGE_DEBUG_MISC struct in a debug directory. My solution could also work if this is the case.
And obviously I would recommend to log on debug level that we see an incorrect length. If some bug occurs with an executable because we make wrong assumptions here, I can imagine debugging would be more difficult than necessary.
And we could consider informing the user that the executable that is imported, does something unorthodox, namely giving an incorrect length.

And you could combine this with the solution you suggested: first look at the length from IMAGE_DEBUG_MISC and compare it with the guessed length. If they're not equal, also check if the guessed length is smaller or equal to IMAGE_SIZEOF_DEBUG_DIRECTORY before using the guessed length.

@kapstok The call that retrieves actualData will pull until it finds the null, so I think we're on the same page here.  If the length is non-zero, I'm going to defer to the reported length.  My impression is that allowing zero is basically a shortcut to tell the consumer that there's better info available elsewhere.  That said, per your original point, given it's allowed, we shouldn't be creating negative lengths and throwing related errors.  I have a fix in - should be in master in a few days.  Pretty wild to actually see this field in use - I literally haven't since this used in a decade.  :)

Ah, great to have a fix quickly. If I accidentally stumble again upon some ancient field that makes Ghidra throw an error, I'll let you know ;)


Video pre-comment import loading

When importing the pre-comment, I found that without manually labeling, the pre-comment could not be displayed and the video was always in the loading state. Could you please verify it

I tried it again, and to be precise, only the updated task comments will show up in the video

What is pre-comment?

Sorry, I'm expressing that wrong, I meant to say pre-annotations

You need to check the browser console, there should be errors displayed.

This is a browser error：
store.js:442  Uncaught (in promise) TypeError: e.id.replace is not a function
at store.js:442:27
at Array.forEach ()
at Object.addAnnotationFromPrediction (store.js:440:9)
at ve (mobx.module.js:928:19)
at r (mobx.module.js:915:16)
at mobx-state-tree.module.js:2593:35
at q (mobx-state-tree.module.js:2456:16)
at Object.r (mobx-state-tree.module.js:2483:16)
at _w.setAnnotation (lsf-sdk.js:456:25)
at _w.setLSFTask (lsf-sdk.js:379:10)
at main.js?v=d88e4f:2:1456754
at Generator.next ()
at mobx-state-tree.module.js:3631:51
at Ee (mobx.module.js:928:19)
at r (mobx.module.js:915:16)
at mobx-state-tree.module.js:2593:35
at io (mobx-state-tree.module.js:2456:16)
at l (mobx-state-tree.module.js:3617:13)
at c (mobx-state-tree.module.js:3631:21)


When using http input plugin without the content header,  the character ; causes fluentd to split the json document

Describe the bug
When sending an event to fluentd through the HTTP input plugin without setting the Content-Type header, I observed that if I the JSON document contains the character ; fluentd splits the document and treats it as two separate events, causing it to fail to parse the event since after splitting it stops being a valid JSON document.
However If I set the Content-Type header and remove the prefix json=  from the body, it works as expected.
To Reproduce
Send the following request
curl -X POST --location "http://localhost:9880/tag.value" \
        -d "json=[{\"log\":\"message ; remaining message\"}]"

The logs show now show the following error:

incoming event is invalid: path=/jenkins.jobs params={"json":"{"log":"message "," remaining message"}"

Expected behavior
On the error message it says the JSON field is {\"log\":\"message "," remaining message\"}
It should be {\"log\":\"message ; remaining message\"}
Here's a diff that hopefully makes the difference clearer
- {\"log\":\"message "," remaining message\"}
+ {\"log\":\"message ; remaining message\"}

I'd expect the same behavior when specifying the content type, as done in this request :
curl -X POST --location "http://localhost:39880/tag.value" \
        -H "Content-Type: application/json" \
        -d "{\"log\":\"message ; remaining message\"}"

Which correctly logs the event
2023-09-08T13:48:59.494183445Z 2023-09-08 13:48:59.492883945 +0000 tag.value: {"log":"message ; reamining message"}

Your Environment
I tested with the docker image `fluent/fluentd:v1.16.2-1.0`

- Fluentd version: 1.16.2-1.0

Your Configuration
<system>
  log_level debug
</system>

<source>
  @type http
  port 9880
  bind <IP_ADDRESS>
  body_size_limit 32m
  keepalive_timeout 10s
</source>

<match **>
  @type stdout
</match>

Your Error Log
2023-09-08 14:02:40 +0000 [debug]: #0 fluent/log.rb:341:debug: incoming event is invalid: path=/tag.value params={"json":"{\"log\":\"message "," remaining message\"}":"","HTTP_HOST":"localhost:39880","HTTP_USER_AGENT":"curl/7.81.0","HTTP_ACCEPT":"*/*","HTTP_CONTENT_LENGTH":"42","HTTP_CONTENT_TYPE":"application/x-www-form-urlencoded","REMOTE_ADDR":"<IP_ADDRESS>"}
2023-09-08T14:02:40.937766828Z 2023-09-08 14:02:40.937349433 +0000 fluent.debug: {"message":"incoming event is invalid: path=/tag.value params={\"json\":\"{\\\"log\\\":\\\"message \",\" remaining message\\\"}\":\"\",\"HTTP_HOST\":\"localhost:39880\",\"HTTP_USER_AGENT\":\"curl/7.81.0\",\"HTTP_ACCEPT\":\"*/*\",\"HTTP_CONTENT_LENGTH\":\"42\",\"HTTP_CONTENT_TYPE\":\"application/x-www-form-urlencoded\",\"REMOTE_ADDR\":\"<IP_ADDRESS>\"}"}

Additional context
No response

Thanks for your report, but this is not a bug. This is the expected behavior.
curl command seems to send the data with x-www-form-urlencoded Content-type by default.
So in_http tries to parse the received data as a URL.
This is the expected behavior.
As you notice, you need to specify -H "Content-Type: application/json".

Then I suggest the documentation ( https://docs.fluentd.org/input/http#basic-usage ) is updated to mention the Content-Type which needs to be sent if we want to use the syntax with the prefix like json= . I'll gladly open a PR for that if you agree

Thanks @DavidRomao!
I agree! Certainly, this documentation is confusing. We should improve it.
Of course, we welcome a PR :)
Those examples seem to assume Content-Type x-www-form-urlencoded.
It would be better to specify that the data is parsed as a URL in this way.
Also, adding an example of -H "Content-Type: application/json" would make it clearer.


Android 13 permission issue

Permission not given issue in (FilePicker activity) on selecting the images or videos.

Hello rehmanjameel
We are working on it. We will you update ASAP.

Hello rehmanjameel We are working on it. We will update you ASAP.

Sure, Thank you I am waiting for your response.

@AshvinVavaliya How much time it will take. I need this for my project can you please update it ASAP?

Has this issue been resolved ?


fix first example in readme

well, title says it all
it should be either state = { (not this.state) or should be in the class constructor.

ah, let me do some other changes and create another one


Providing a default order for an association

Let's say all comments should be ordered by inserted_at desc. Will Absinthe.Ecto provide functionality similar to the following?
field :comments, list_of(:comment), resolve: assoc(:comments, order_by: [desc: :inserted_at])

This is an interesting question, and is really related to handling of arguments as well. Essentially what's necessary is the batching of query structs.

The Repo.preload function accepts a term for the field which either could be the name of the field as an atom or a two-element tuple in the form of field_name: queryable.
Could we support passing that tuple to the assoc function ?
field :comments, list_of(:comment), resolve: assoc(comments: from(c in Comment, order_by: [desc: c.inserted_at]))

This would allow filtering and ordering on an association.

May realize in this way is simple:
code
resolve: assoc(:cards, from(c in Card, order_by: [desc: c.inserted_at]))

@benwilson512 any feedback on supporting queryable ? Thanks in advance.

I'd have to investigate how it composes with Ecto.assoc. If it does so easily and someone wants to do a PR go for it! I'm focused on getting 1.3 out for now, this library will not likely get much more code from me I'm afraid until 1.3 is finished.

Thanks @benwilson512. If I remember correctly some discussion I have seen before with some core members of Ecto, José, among them, this is precisely how one should compose with assoc when you need to filter / order them.
Found the original issue: https://github.com/elixir-ecto/ecto/issues/659

Regarding the need to be able to use arguments, actually we could not map 1 to 1 to the Repo.preload but instead do something like this:
field :comments, list_of(:comment) do
  arg :top, :integer, default_value: 10
  resolve: assoc(:comments, fn query, args ->
      query
      |> order_by([desc: :popularity])
      |> limit(^min(Map.get(args, :top, 10), 100))
    end)
end

Let me know that you think @benwilson512 and if you like the idea, I can submit a PR.


Improve the repeatable build docs

Fixes : https://github.com/NuGet/docs.microsoft.com-nuget/issues/1717

Docs Build status updates of commit 64202f1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/consume-packages/Package-References-in-Project-Files.md
:white_check_mark:Succeeded
View

docs/reference/cli-reference/cli-ref-restore.md
:white_check_mark:Succeeded
View

docs/reference/msbuild-targets.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 18aa08b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/consume-packages/Package-References-in-Project-Files.md
:white_check_mark:Succeeded
View

docs/reference/msbuild-targets.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 79dbf32:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/consume-packages/Package-References-in-Project-Files.md
:white_check_mark:Succeeded
View

docs/reference/msbuild-targets.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[rest] disable SingleContextStorageLruCache when agent in multi-tenant mode

While probably an edge case, this prevents a tenant from being able to issue credentials to another tenant in the same agent instance. Or perhaps worded another way it prevents a tenant from caching a credential definition that has already been previously cached by another tenant. Not sure if there may be scenarios where this is applicable.

Makes sense! I think we can enable the in-memory cache by default


I'm probably missing something related to README.md Running locally section -- main branch

export SELINUX_VOLUME_OPTIONS=':Z'
cd deploy/compose
podman-compose -f compose.yaml -f compose-trustification.yaml -f compose-guac.yaml -f compose-walkers.yaml up

...
++ local cmd=update
++ shift
++ /opt/keycloak/bin/kcadm.sh update --config /tmp/kcadm.config users/d7b1116a-100b-4e95-aa82-fb0d932c19b6/reset-password -r chicken -s type=password -s value=user123456 -s temporary=false -n
+ echo SSO initialization complete
[init-keycloak]       | SSO initialization complete
exit code: 0
[2024-01-15T13:31:32.184Z INFO  tantivy::indexer::index_writer] Preparing commit
[2024-01-15T13:31:32.185Z INFO  tantivy::indexer::index_writer] Prepared commit 0
[2024-01-15T13:31:32.186Z INFO  tantivy::indexer::prepared_commit] committing 0
...

➜  trustification git:(local-run) curl localhost:8084
curl: (7) Failed to connect to localhost port 8084 after 0 ms: Couldn't connect to server

When switching to stable branch it works :+1:
Username and password:
admin
admin123456

I can see this in the logs when using main branch:
[2024-01-15T14:23:43.065Z INFO  trustification_infrastructure::infra] Setting up infrastructure endpoint
[2024-01-15T14:23:43.066Z INFO  trustification_infrastructure::infra] Running infrastructure endpoint on:
[2024-01-15T14:23:43.066Z INFO  trustification_infrastructure::infra]    http://[::1]:9010
[2024-01-15T14:23:43.066Z INFO  trustification_infrastructure::infra]    http://<IP_ADDRESS>:9010
[2024-01-15T14:23:43.066Z INFO  actix_server::builder] starting 1 workers
[2024-01-15T14:23:43.066Z INFO  actix_server::server] Tokio runtime found; starting in existing Tokio runtime
Error: Discover OIDC client
Caused by:
	error sending request for url (http://keycloak:8080/realms/chicken/.well-known/openid-configuration): error trying to connect: tcp connect error: Connection refused (os error 111)
	error trying to connect: tcp connect error: Connection refused (os error 111)
	tcp connect error: Connection refused (os error 111)
	Connection refused (os error 111)

I start to think that I ran set -x SELINUX_VOLUME_OPTIONS ':Z' in a different fish terminal or something.
closing the issue, the main branch is working following the running locally instructions on the readme.


add the ability to take a screenshot from the flutter tool

Is something like flutter screenshot in scope? I've needed to take a screenshot of the running app a few times, and always had to google how to do it with adb (adb screencap and then some file copying).
flutter pic? flutter capture?
Related to https://github.com/dart-atom/dartlang/issues/659.

Thanks!

Is this available ?


Mark session cookie as secure / HTTPS?

If I register the session service using the following code (a distributed cache has already been set up) -
services.AddSession(s =>
{
    s.CookieDomain = options.CookieDomain;
    s.CookieHttpOnly = options.CookieHttpOnly;
});

There is no option to enable the cookie to be secure (HTTPS only). This is in contrast to when setting up a forms authentication cookie, where the "Secure" option can be set:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    CookieSecure = CookieSecurePolicy.Always
});

How can I set a session cookie to be secure/HTTPS-only with ASP.NET Core?

It's there now in 1.1.
https://github.com/aspnet/Session/blob/dev/src/Microsoft.AspNetCore.Session/SessionOptions.cs#L42
https://github.com/aspnet/Session/issues/106


in the day only shows some events

Hi, I'm making your own template with decorator, but I realized that the day returns policy only events whose intervals are 60 minutes, I have an event that lasts 15 to 45 and no other displays

Setting this option should do the trick.


Plugin for swift iOS?

Hi.
Was wondering if there is a swift generator for producing types from graphql for use in Swift ?
Thanks

Hi @iangregsondev
We currently don't have a plugin for it, mostly because we don't use Swift by ourselves, so implementing it for us will be difficult.
If you wish, you can create your own plugin. PRs are welcome ;)


String formatting issue when CouplingError exception is raised

What is the current behavior?
There is a minor bug when CouplingError exceptions are raised in qiskit/mapper/_coupling.py: distance.
Suggested solutions
The descriptions of qubits are tuple (e.g. ('q',0)) that are not automatically convereted to strings when "%s not in coupling graph" % q1, a TypeError: not all arguments converted during string formatting raises.

Duplicated with #751 .


Example in readme is wrong

Your example in the readme has error
TypeError: Mime.__call__() got an unexpected keyword argument 'file'.

There's no file argument.

README is updated


Exact/partial matching option box issue

If you upload a mapping file, hit submit, you can still change the mapping options.  This is okay, but things get kind of weird when you change the mapping file or hit reset.
If you hit reset then switch the matching option, the mapping file gets reapplied.
Pretty sure this is because the mapping file isn't actually getting cleared when hitting the reset button.
Another related issue:
If you submit a tree with mapping file, then hit reset, then switch from exact to partial mapping, if that mapping file would have generated errors, the error pops up when switching mapping type even though the stuff is gone.

The first part is fixed (2a780fce586d3f58f14700ab6c98a0ea3ba46490).  Not sure about the second part though.


Conditional Logic

Hey!
I've been looking for a way to automate my project board, so I can get a better overview over some of my projects, and found this.
One thing I couldn't see was if there is any form of conditional logic?
That is, I want to have an "In Progress" column that reacts to added_label **inprogress**, but only if there is also another label on it, and so on.
My use case is that I have a private repo with lots of different issues in (Work, Open Source stuff, Personal stuff etc), and I currently tag them all as such so a given issue could have two labels: work, inprogress or personal, inprogress.
Because of this, I can't setup an added_label rule, since if I stick that in both my Work and Personal project, then the issue is applied to both projects, rather than just one of them.
What I guess I'm looking for is:
###### Automation Rules

- `added_label` **wontfix**
- `has_label` **work**

Or maybe my lack of experience with Projects means I'm doing something entirely wrong! I could swap to per project labels, but it sounds messy to duplicate everything.

From my limited experience with this bot my understanding is similar to yours: You only add straight rules to the automation cards. No conditions. If 2 columns apply to the same issue change, the last one executed wins. (e.g. remove and add labels at the same time? might be moved to one column first because of removing, then to another because of adding)


Docs: FAQ

Initial FAQ pages

images should be in docs/images (#1998)

images need optimizing (https://imageoptim.com/)

most of these files are missing the title/layout metadata

also include toc_min_level: 2 line in metadata

LGTM


entrystream tool: refactor; improve performance [phab:D884]

Created by schroederc at 2016-05-12 22:47:11:
Performance summary:
Before:
$ entrystream < entries >/dev/null # read/write
Average speed: 27.3 MB/s
$ entrystream --count < entries    # read
Average speed: 54 MB/s

After
$ entrystream < entries >/dev/null # read/write
Average speed: 75.9 MB/s
$ entrystream --count < entries    # read
Average speed: 121 MB/s

schroederc wrote at 2016-05-12 22:48:15:
Revert extraneous change

shahms commented inline (context lost during migration) at 2016-05-13 15:23:11:
AFAIK, multiples of page size (4k) tend to be best

shahms accepted this revision at 2016-05-13 15:23:11

schroederc wrote at 2016-05-13 15:35:05:
10240 -> 8192

schroederc closed via commit 91974b8a677efbbf174258fcaa088787bcf299e4 at 2016-05-13 15:44:41


fix(typo): Addresses comments in PR #28

:tada: This PR is included in version 1.5.2 :tada:
Your semantic-release bot :package::rocket:


Feature: Is it possible to make --ssl-protocol as a configurable variable?

Right now the --ssl-protocol is hard coded to tlsv1.2
It doesn't work very well when there is code in ajax posting to some website using different ssl protocols.
I'm wondering if it's possible to make it a configurable variable so I don't have to hard code it to 'any'
Thanks

That's the default, but you can pass in custom arguments using phantomArguments: https://github.com/prerender/prerender/blob/master/lib/server.js#L74
var prerender = require('prerender');

var server = prerender({
    phantomArguments: {
        '--load-images': false,
        '--ignore-ssl-errors': true
    }
});

server.start();

That should default it to "any" and you can pass any other phantomjs options that are supported. Let me know if that doesn't work!

Thanks!


Update README content

Fixes #9
Changes: Added required info related to the project in README file
Screenshots for the change:
N/A

@mariobehling The Circle-Ci test is not triggering when someone makes PR, they are running after PR get merged. I tried editing webhooks but no success. Do you have any idea about it?

With this PR, we have successfully set up the basic project. It is now ready for development. 💟

@jogendra

The Circle-Ci test is not triggering when someone makes PR, they are running after PR get merged.

I don't know. I remember it worked in other projects.


Misspelling in exercise 3

name should be namer in the description for exercise 3

Fixed for the afternoon class and clarified a  bit.

Samuel Birus

+1 EC, closing


🐛 Fix copying of .tsx files

Edited Library

[ ✔ ] Passes tests
[ ✔ ] Used gitmoji for commits

Description of Edits
Currently, copy-files copies .tsx files even when allowTs: true.
This fixes the problem by adding an additional check for .tsx files when deciding whether or not to copy.

LG 👍


Rov_control estop

This should be working according to rqt, e-stopping in general may need more testing when we finally get the robot up and running.

In this branch I also removed our python library version requirements because they were giving me grief with python 3.10.12


Re-Enable CAPS check in fixtureeditor and update other RexExp patterns

Related to https://github.com/mcallegari/qlcplus/issues/1329.
Documentation
https://doc.qt.io/qt-5/qregularexpression.html#introduction

Do I interpret the build correctly that the fixture editor is not currently built on Travis CI? I would expect a QT='qt5' build for the fixtureeditor directory which is not built in companion with the top-level build. Should I try to add it or is it not available intentionally?

Can you please take a look into the build configurations? The Appveyor build fails on some missing clang32 database and the Travis build fails on the installation on installing the required ppa.

Hi, thanks for this patch.
Appveyor should be fixed now and Travis is failing because of unstable PPA. Sometimes it works, sometimes it doesn't. I hope they'll fix it.

Thanks a lot! 👍


tela-circle-icon-theme: do not get libsForqt5 but breeze-icons

Description of changes

Do not get libsForqt5 but breeze-icons
Also use hash instead of sha256

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
23.11 Release Notes (or backporting 23.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

[x] Fits CONTRIBUTING.md.

breeze-icons is an alias, I'm not sure if it should be used.

Top-level breeze-icons is an alias, I'm not sure if it should be used. And the inherit pattern is also discourage since it breaks our magic (splicing) for cross compilation.

The derivation still uses libsForQt5.breeze-icons and not the alias. It just asks for breeze-icons in the arguments, and gets it from libsForQt5 in all-packages.nix.
  tela-circle-icon-theme = callPackage ../data/icons/tela-circle-icon-theme {
    inherit (gnome) adwaita-icon-theme;
    inherit (libsForQt5) breeze-icons;
  };

This way it is much easier to do an override if needed. As far as I known, it is better than passing full package sets as arguments to derivation functions.
Notice that adwaita-icon-theme from gnome is already passed in the same way.


chore: update changelog for v1.5.0

coverage: 18.386%. remained the same
when pulling df65ca133a7ee1328b9b8beaae1285e74a7f9d74 on changelog-v1.5.0
into 08060f42a33bc32093d7ec577c467e446f776e10 on master.

LGTM, thank you. I'm not sure what's up with the failing test builds though.


Make make_args and stanc_args more prominent in Julia doc

The Julia interface, like the Python interface, allows for make_args and stanc_args to be passed from Julia (or Python) when constructing a Stan model, see line 34 of BridgeStan.jl.
I think it would be helpful to have these arguments more prominently displayed in the Julia doc.  For instance, the arguments don't show up in the doc for the function StanModel, and only show up in the doc for compile_model much further down the page.
I'm raising an issue here because it's not obvious to me where in the Julia source code we should include this new documentation.
The two options, as I see it, are

src/model.jl: right above the definition of mutable struct StanModel, which is where the beginning of the Julia interface doc pulls from.  However, this is not where the additional arguments, make_args and stanc_args are defined.  So it might be awkward to put documentation here for arguments to a function that are defined else where in the source code.
src/BridgeStan.jl: this is where the additional arguments make_args and stanc_args are defined, but I don't think this function doc shows up in the Julia interface page.

but I don't think this function doc shows up in the Julia interface page.

Yes, the reason there is duplication between src/model.jl and src/BridgeStan.jl is just for rendering. If I remember correctly, one place was better for Documenter.jl and one place worked better for the in-REPL help dialogues.
I think there is no harm adding more doc, provided it is in both places. The current doc does point you toward compile_model for more details, but just highlighting that this behavior is even possible would be useful


Geneve tunnel support

A recent email to the skydive-dev list pointed out that GRE and VXLAN support had been implemented:
"- Tunneling support has been added. It's a first step but GRE and VXLAN tunnel are supported. It means that we can now follow a flow inside a tunnel."
This issue is to request the addition of Geneve tunnel support.  OVN uses Geneve as its primary tunnel protocol.

now supported in ovs : https://softwarefactory-project.io/r/#/c/5813/

Cool, thanks!


read release files for graph reports

The uses the release files to generate the graph summary reports.
the missing reports still need to directly access the triplestore, since we want to know what made it into the triple store.
using a commit reference to get the appropriate earthcube utilities

The scheduler running from the dev_eco branch, which has all 3 of these PR's. #75, #76, #82
merging into dev


Change impactful parts of the surface syntax (again)

You know, personal taste can change over the years. Some of these are not super well motivated I guess, it comes down to my perceived sense of esthetics. Also, every time I come back to the project after a long break, I always get negatively surprised by my past syntax choices (scales falling of my eyes) and want to do sth. about it (thereby avoiding the more important task).

(impl) comment prefix: ;;; → #

Historical context: Ages ago I was quite fond of / enamored in ; as a comment marker as used by many(?) assembly dialects. However over the years the ; got essentially "corrupted into" ;;; (initially ; → ;; to make ; start doc comments instead (to "heighten their status"); then, ;; → ;;; to make room for ; as an alternative declaration terminator which was subsequently removed without updating the comment grammar).
# is neat. I don't like Haskell-lineage -- (esp. if you can "break" it by attaching more symbols (e.g., in Haskell $-- or --| are operators) which doesn't feel robust) and C-lineage // doesn't feel right in a ML/Haskell-style language. Regarding ML-lineage (* *) block comments, well I still don't want block comments in Lushui (albeit my opinion is no longer that strict/quixotic) because of "lexical simplicity" and since block comment nesting is an unsolvable problem / rabbit hole. Also, (* specifically, that would clash with other lexical features like *-as-identifier (I don't want you to add extra spaces when writing (* 1 2) (( * 1 2))))
No longer need to special case shebangs #! since they're just comments

(doc/spec) comment prefix: ;; → #|

One con: # no longer unconditionally starts a comment. That means you have to add a space after the # when commenting out sth. starting with |. In practice that's always done anyway but I've seen conventions where lack of space signifies commented-out code as opposed to prose / actual comment. Well, we could think about swapping # and #| (and change #| to e.g. #.)? Hmm. Or keeping #| as doc/spec comment and change impl comments to e.g. #. from #. This would permit us to intro a third kind of comment (which I always wanted (not an original idea tho)): "rich"/"checked"/"semantic" impl comments. Let's call them #: here. These would the same dialect of markup language like doc comments #| be it asc**doc or custom-made (of Haddock or MarkDown lineage). Most importantly, they would feature intra-doc links that will get checked by lushui doc or lushui build. Hyperlink (liveness) checking is probably out of scope but that could also be a feature (opt-in ofc)-
Slightly unrelated but we can update ui_test_framework's test parameter syntax from ;;; TEST to e.g. #? or #@ (or #.? / #.@, see paragraph above) which looks so much nicer (for devs)

function declarations: No prefix → func

Allows for IDE-free Ctrl+F'ing for def site
Synchronization point for parse error recovery (that's why let (Lushui in 2019) is not a super great option either because it would conflict with let/in-expressions ("conflict" wrt. to error recovery that is)
Will probably make everything more legible since the eye has common patterns to "focus on" when skimming. Human synchronization points basically

abolishing hyphens/dashes from the lexical grammar of words (category of identifiers); rephrased, migrating from dash/kebap-case(with _ being permitted, too) to pure snake case. It's always been awkward to have _ as a discard and wildcard (hole) but being dash-case first everywhere. for types the convention changes from (proper) upper dash case to (proper) upper snake case (Letter-Case → Letter_Case).

It was a cute idea but it's simply not realistic

attributes from @simple / @(complex ...) to { simple } / { complex ... } plus allowing contractions via ,. E.g., { first } { two } to { first, two } (maybe we could even remove conseq attrs {a} {b} ... altogether? they lead to nasty hacks in the grammar (since they can be split across lines while still being considered 'together' despite "Line_Break==Decl_Terminator"))

having the split between simple and complex / unbracketed and bracketed is an eye-sore, it always has been, though I never admitted that. it's awkward to go from simple to complex, multiple steps are involved (e.g. jumping, not just inserting). esp. annoying if you used the simple form by accident
I always hated the idea of having to annotate all my component-public&transparent functions(…) with @(public topmost) @transparent (here we assume that transparent's reach defaults to public's reach). { public topmost, transparent } is more bearable I think (tho I haven't written larger Lushui programs yet, no experience/feel yet)
This means we have to update the syntax for record literals. We might want to merge the syntax of sequence literals ((), (x0,), path.(x0), (x0, x1, ..., xn), etc.) and record literals ({}, {p0 = x0, p1 = x1, ..., pn = xn; base}, etc.). Leaves the question of whether to merge the concepts too or not. In the latter case we would have to find a replacement for {} since it can't be () (the = disambiguates)). Several indie languages use [=] if [] reprs seq. However, in Lushui that would be (=) which looks very wrong. I guess we could permit trailing ; (empty base expr) and make (;) record unit. Hmmm, well, but don't we want base exprs for seqs too (e.g. for flatten/join/merge ops)?

Example
Current
;; Module-level documentation
module

;;; Some internal comment. Some internal comment.
;;; Some internal comment. Some internal comment.

;; These are the public-facing docs.
@(public topmost) @transparent
perform-it 'A [Operate-It A] (a: A): A =
    Operate-It.operate-it a

Then:
#| Module-level documentation
module

# Some internal comment. Some internal comment.
# Some internal comment. Some internal comment.

#| These are the public-facing docs.
{ public topmost, transparent }
func perform_it 'A [Operate_It A] (a: A): A =
    Operate_It.operate_it a

Ah I forgot (it's an older idea): Swap -> and =>. => is less visually appealing to me and therefore I don't want to see it everywhere but it's in all case/of's and lambdas. Furthermore, writing pi types "directly" (instead of via the sugar) is rarer.


Move blast_parser inside hcluster_sg .

I guess there is no use case for the blast_parser tool outside a hcluster_sg pipeline, what about moving its files inside hcluster_sg directory and release them inside the same Tool Shed repository?

Don't think it will make sense, as it can't be officially part of BLAST or hcluster_sg, It uses BLAST output to generate hcluster_sg input, but not necessary tool for both


Add IList interface to the Range Operator

Summary of the new feature / enhancement
Implementing the IList interface to the Range Operator would (presumably) require a easier syntax in case it is used for a (non-pipeline) parameter.
$Table = @'
1,6,6,2,9,4
8,4,3,9,5,7
1,0,9,5,4,0
'@

Currently it is required to used the Array subexpression operator @( ) to use a range as argument:
ConvertFrom-Csv $Table -Header @('a'..'f')

With the IList interface implemented, I expect the syntax to be simplified to:
ConvertFrom-Csv $Table -Header 'a'..'f'

Actually, I think my suggested lack of the IList interface  implementation suggestion is incorrect as the grouping operator also works:
ConvertFrom-Csv $Table -Header ('a'..'f')

It is probably a syntax issue (also reading the related error closely):

ConvertFrom-Csv: Cannot bind parameter 'Delimiter'. Cannot convert value "..f" to type "System.Char". Error: "String must be exactly one character long.

Anyhow, it would be nice it the range operator could be used without any parenthesis in an argument as syntaxial sugar.

It's more to do with how the command line parses  operators
ConvertFrom-Csv $Table -Header (' @('a','b','c') + @('d','e','f')
Will fail because the + operator morphs into a value. You can do this
convertFrom-Csv $Table -Header .., ++ , -f, 2+3, 5..6
you'll get silly headings but it's valid.

Resolution answered


onEndReached not working

[x] I have reviewed the documentation
[x] I have searched existing issues
[ ] I am using the latest React Native version

i am setting the newly fetched data in a method called within 'onEndReached' but the state is not set somehow, although the render method is called as many time the setState method is called but the thing is there is no change in data even setState is called and component is re-rendered.
Environment

Environment:
OS: macOS High Sierra 10.13.3
Node: 8.9.3
Yarn: Not Found
npm: 5.5.1
Watchman: Not Found
Xcode: Xcode 9.2 Build version 9C40b
Android Studio: 3.0 AI-171.4443003
Packages: (wanted => installed)
react: 16.0.0 => 16.0.0
react-native: 0.51.0 => 0.51.0
Steps to Reproduce

<ScrollView
contentContainerStyle={{ flex: 1, marginBottom: 20 }}
>

<FlatList
refreshing={this.state.isFetching}
onRefresh={this.onRefresh}
data={this.state.data}
ItemSeparatorComponent={this.renderSeparator}
renderItem={({ item }) => }
keyExtractor={item => item.id}
onEndReached={this.loadMoreData.bind(this)}
onEndReachedThreshold={0.5}
/>

add(pic) {
console.log('adding up', pic.id); //tells me that data is fetched proeperly
this.setState({ data: [...this.state.data, ...pic] });  //not working
}
async loadMoreData() {
if (ImageList.statInd < 0) {
console.log('no more data to load');
return;
}
await firebase.database().ref(this.props.dbref)
.orderByKey()
.endAt(String(ImageList.statInd))
.limitToLast(3)
.on('child_added', (snapshot) => {
if (snapshot.val().approved === 'Y') {
this.add(snapshot.val());
console.log('new node: ', snapshot.val().id);
}
});
ImageList.statInd -= await 3;
}
Expected Behavior

the data should be effectively modified if setState was called and component was re-rendered
Actual Behavior

setState is called component is re-rendered but the state data is not modified.

resolved


Windows Subsystem Linux

Windows Subsystem Linux 2 allows you to install an X Server to run Linux GUI apps (!!!)
I've had good luck with most apps, but it's not working with Iced:
$ cargo run --package counter
...
     Running `target/debug/counter`
Error: GraphicsAdapterNotFound

Make sure you use the glow feature for iced, as WSL2 uses OpenGL.
For example when creating a iced application, in you Cargo.toml file you should have
iced = { git = "https://github.com/hecrj/iced", branch = "master", features = ["glow", "tokio"] }

Thanks @NathanSWard.
This works, but only after unchecking the Native OpenGL option in VcxSrv X Server configuration.


_plugin.DataManager.path is not same as pluginconfig path

_plugin.DataManager.path locate at default XIVLauncher pluginConfig, but my pluginConfig is not there. Same issue with pricecheck, Anna's plugins like Macroogy and DalamudPython (I guess others would have the same issue)

What is the path for your plugin config directory?

F:\ffxiv\FFXIVQuickLauncher-CN\AppData\pluginConfigs

C:\Users\XXXXX\AppData\Roaming\XIVLauncher\pluginConfigs

Hey - what version of QuickLauncher are you using? Can share repo url?

Hi, I think this should be fixed. It's available now in my custom repo https://github.com/kalilistic/DalamudPluginRepo as well as the source code. If this works for you, I can push the same update to PriceCheck too.

WORK!


Device Request - [led strip] - [eWeLight] / [ZB-CL01]

Prerequisites:

Before requesting a device addition, please ensure there is not already a request for the device among the open issues.
Make sure your Homey is upgraded to firmware v5 or higher.
You need a physical example of the device.

Device Information

Device Name: RGBWW Led strip
Device Model: ZB-CL01
Device Description: RGBWW
Link to device image: Just found this amazing item on AliExpress. Check it out! €20,68 | Zigbee 3.0 Smart LED Controller DC12V 5M 10M 5050 RGBW RGBWW LED Strip Light LED Flexible Strip Tuya App for Smartthings Alexa
https://a.aliexpress.com/_EwtyMSN

Device Interview
{
    ["ids": {
    "modelId": "ZB-CL01",
    "manufacturerName": "eWeLight"
  },
  "endpoints": {
    "endpointDescriptors": [
      {
        "endpointId": 1,
        "applicationProfileId": 260,
        "applicationDeviceId": 269,
        "applicationDeviceVersion": 0,
        "_reserved1": 1,
        "inputClusters": [
          0,
          3,
          4,
          5,
          6,
          8,
          768,
          4096,
          2821
        ],
        "outputClusters": []
      }
    ],
    "endpoints": {
      "1": {
        "clusters": {
          "basic": {
            "attributes": [
              {
                "acl": [
                  "readable"
                ],
                "id": 0,
                "name": "zclVersion"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 1,
                "name": "appVersion"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 2,
                "name": "stackVersion"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 3,
                "name": "hwVersion"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 4,
                "name": "manufacturerName"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 5,
                "name": "modelId"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 6,
                "name": "dateCode"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 7,
                "name": "powerSource"
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 18,
                "name": "deviceEnabled"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 16384,
                "name": "swBuildId"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 65533,
                "name": "clusterRevision"
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "identify": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 0,
                "name": "identifyTime",
                "value": 0
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "groups": {
            "attributes": [
              {
                "acl": [
                  "readable"
                ],
                "id": 0,
                "name": "nameSupport",
                "value": {
                  "type": "Buffer",
                  "data": [
                    0
                  ]
                }
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "scenes": {
            "attributes": [
              {
                "acl": [
                  "readable"
                ],
                "id": 0
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 1
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 2
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 3
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 4
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "onOff": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "onOff",
                "value": false,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 16384
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 16385,
                "name": "onTime",
                "value": 0
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 16386,
                "name": "offWaitTime",
                "value": 0
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 16387
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "levelControl": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "currentLevel",
                "value": 254,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 1,
                "name": "remainingTime",
                "value": 0
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 16384
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "colorControl": {
            "attributes": [
              {
                "acl": [
                  "readable"
                ],
                "id": 8,
                "name": "colorMode",
                "value": "currentHueAndCurrentSaturation"
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 15
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 16385
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 16394,
                "name": "colorCapabilities",
                "value": {
                  "type": "Buffer",
                  "data": [
                    25,
                    0
                  ]
                }
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 16
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "currentHue",
                "value": 127,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1,
                "name": "currentSaturation",
                "value": 58,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 16386,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 16387,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 16388,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 16389
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 16390
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 3,
                "name": "currentX",
                "value": 17342
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 4,
                "name": "currentY",
                "value": 22999
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 7,
                "name": "colorTemperatureMireds",
                "value": 198,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 16395,
                "name": "colorTempPhysicalMinMireds",
                "value": 153
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 16396,
                "name": "colorTempPhysicalMaxMireds",
                "value": 500
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 16400
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "touchlink": {
            "attributes": [],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "diagnostics": {
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          }
        },
        "bindings": {}
      }
    }
  }"]
}

Additional Comments:

Note: Provide any other relevant information or requests related to the device. Link to where you bought the device can be of help

How to interview a device

Add the device as a generic Zigbee device in Homey
Navigate to https://developer.athom.com/tools/zigbee.
Interview the device, the button for this is to the right of the device in the list of Zigbee units.
Click the copy button/icon to capture the device information.
Paste the copied information above.

Note: To be able to add more devices to the Tuya Zigbee app, we rely on community members like you to provide interviews of the devices you want to be added. Thank you for your contribution!

@JohanBendz When will this picked up?

This is not the same. Now the ledstrip is seen as a rgb bulb E27 and it will not change color. It only goes on and off

@mrkhrmns
I know this is not the same device, but since the manufacturer uses the same ID for several types of devices, Homey has no way of knowing it's different. This is a really bad implementation from the manufacturer. I have a few ways to handle this and am working on a solution.

Thanks for the quick reply.


Integrate smart-contracts verifier into blockscout start-up

We would like to build and run a local instance of smart-contracts verifier on blockscout startup by default. So that users who run blockscout locally would have their own verifier service running.
We have to research how would be better to implement that. Currently we have two ideas: 1) to update docker-compose file that runs main blockscout instance; 2) to update blockscout instance to run the service on start-up from elixir code directly. We'll have to discuss  what advantages and disadvantages every one of them has

Integrated via docker-compose file in #6071


Fix multiline lexer bug

Fix https://github.com/RustPython/RustPython/issues/3760

Looks good! It seems not working for multi-line strings. Could you resolve it in this PR? If it takes long, separating PR is also good.
>>>>> a = [
..... 1,2,3
..... ]
.....
>>>>> a
[1, 2, 3]
>>>>> a = {
..... 1,2,3
..... }
.....
>>>>> a
{1, 2, 3}
>>>>> a = {
..... 1:2,
..... 3:4
..... }
.....
>>>>> a
{1: 2, 3: 4}
>>>>> a = """
SyntaxError: Got unexpected string at line 2 column 2

 ^

@Snowapril you mean the referred bug is not fixed yet, right?

Yeah correct ☺

@youknowone @Snowapril Exactly. Only nesting error fixed. I will submit next patch soon :) Thank you for feedbacks!


[google_maps_flutter] Support marker clustering

Description
Added marker clustering basis function for google_maps_flutter (for now only port for android platform). include add, modify and remove a marker of cluster and some click listener. Also, support custom marker icon for marker of cluster. in the meanwhile I added test case in Place marker page (examples).
I have modified onMarkerClickListener callback point, I set listener to MarkerManager instead of GoogleMapController because ClusterManager needs to handle whole marker click event.
based on the reason I also modified addMarker method for handle whole Marker event and so on.
Related Issues
flutter/flutter#26863
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[X] All existing and new tests are passing.
[ ] I updated/added relevant documentation (doc comments with ///).
[X] The analyzer (flutter analyze) does not report any problems on my PR.
[X] I read and followed the Flutter Style Guide.
[X] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[ ] I updated CHANGELOG.md to add a description of the change.
[X] I signed the CLA.
[X] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[X] No, this is not a breaking change.

Unless I miss my guess, this is Android only. Would it make sense to port the Android clusterer to Dart code and thus be able to use it for both Android and iOS?

I think this is not android only, we can use it
for both Android and iOS.
iOS version is as below.
https://developers.google.com/maps/documentation/ios-sdk/utility/marker-clustering

As the ex maintainer of the iOS maps clusterer, I'd rather not link it. It's in need of a rewrite, and we can't tree shake out unused functionality.

I didn't mean to close the PR. Sorry!

@domesticmouse I get it,  it's really a bad news. So sad.
Do you have any good idea about iOS maps clusters?

Marker clustering is implemented completely in terms of the public maps API. This means we can port the Java Maps clusterer across to Dart and get marker clustering everywhere. I'd love to put my hand up to do the work, but I'm currently swamped. I can aim to have a look post I/O.

@domesticmouse  It's a pity you're currently swamped.
I don't know which one Java Maps clusterer API that you mean, it shouldn't be a Google internal use project.  I guess that is Maps JavaScript API, right?
As far as I know, I feel it's the only way to port Maps clusterer to Dart and get marker clustering everywhere (iOS , Android, Web, ans so on).
But, for now I would prefer to use Maps SDK for Android and Maps SDK for iOS because Google change the pricing policy last year. these two API is for free, the Maps JavaScript API will be charge after 28,500 API calls. that's the reason why I didn't use the Maps JavaScript API.

The java clusterer that you are linking in this PR is Apache licensed and available at https://github.com/googlemaps/android-maps-utils/tree/master/library/src/com/google/maps/android/clustering
I’ll look at porting it over soon

@domesticmouse
Sorry, I mistook what you mean. @@
It's really exciting. I really appreciate your kind help.

All good @yyoungg0318 =)

Will it support Marker with Icon and Text written over marker icon?

Hello, is this merged in Master? Runs both on iOS and Android?

@domesticmouse have you had a chance to revisit adding iOS support for clustering?

Sorry, no. Lots of higher priority tasks on my plate at the moment.

Any progress?

@cyanglaz Sorry for late reply, last week is Chinese New Year.
I'll try to rebase the PR. but I didn't update the map source code for a long time, maybe it will take some time to rebase. After that, if no one can help to implement iOS part and I am free I will do that.

@yyoungg0318 Happy new year! :) I actually have a plan to create a new plugin to support features in the google-maps-utils. So your PR might be best to go to that plugin. Here is a Github issue tracking that effort: https://github.com/flutter/flutter/issues/49566
So we will move this PR to the other plugin when the plugin is ready.

@cyanglaz  I have just rebase the PR, could you help me to start review it? thanks.

Hi! Any progress on this issue lately?

Can we cluster our markers with google_maps_flutter yet?

Hello guys,
any updates on clusters in google_maps_flutter?

We apologize for the long delay in triaging this PR. We’re in the process of overhauling our PR triage system to respond much more quickly, as well as working through the backlog.
@cyanglaz is planning on getting back to this once we're done with the null-safety migration that's in progress for all of our plugins.

Hey all,
I'm busy rehauling my flutter project and as I'm in need of a cluster functionality, I wanted to know if we can expect this to be implemented soon?

Hello guys, any news with this PR? This is really important for us :)

Any updates on this? :)

any updates?

Its been a long time, will there be any updates regarding this?

The reviewer is currently out of office for a while, so there won't be any updates on the review front for at least several more weeks.
However, this PR is not complete; it doesn't include tests, and thus won't pass review as-is (as explained in our contributor guide, and highlighted in the PR checklist). So the most useful thing that could be done while waiting for review would be to add the necessary tests so the PR is actually ready.

Since this PR is lacking tests, we won't be able to land it. I'm going to close hte PR for now, but please don't hesitate to open a new PR with these changes if you have the time to write tests. Thanks!

Why you guys review this for many years? and now you guys say test not
passed, you guys are really so funny. Oh this is Google style?
Ian Hickson @.***> 於 2021年11月10日 週三 08:23 寫道：

Since this PR is lacking tests, we won't be able to land it. I'm going to
close hte PR for now, but please don't hesitate to open a new PR with these
changes if you have the time to write tests. Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/plugins/pull/1480#issuecomment-964664555, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHMYSMFCMAG5NNG433R4LRTULG3PBANCNFSM4HFCXG2A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

 Oh this is Google style?
Ian Hickson @.***> 於 2021年11月10日 週三 08:23 寫道：

Since this PR is lacking tests, we won't be able to land it. I'm going to
close hte PR for now, but please don't hesitate to open a new PR with these
changes if you have the time to write tests. Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/plugins/pull/1480#issuecomment-964664555,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHMYSMFCMAG5NNG433R4LRTULG3PBANCNFSM4HFCXG2A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Why you guys review this for many years?

Ideally the lack of tests would have been flagged as a blocker earlier in the process; that was an oversight. (To be clear though, this PR was not actually reviewed, it just received some high-level initial feedback.)
Automation has since been added to help avoid that in the future.

and now you guys say test not passed

No, we said that it doesn't have tests, which is not the same thing. This repository's contribution guide was probably not clear enough about the fact that this is a requirement for all PRs at the time you opened the PR unfortunately; that's been significantly improved since.
However, the framing that this is something we're only saying now is not correct. You were aware that it was missing tests when you opened the PR:

[ ]  My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).

And I flagged that this would be a blocker four months ago:

However, this PR is not complete; it doesn't include tests, and thus won't pass review as-is (as explained in our contributor guide, and highlighted in the PR checklist).

Since that comment, no tests have been added.
When we provide actionable feedback on a PR (such as indicating that it needs to have tests added), and we don't hear back from the PR author, our policy is generally to close the PR under the assumption that the PR has been abandoned. As @Hixie said, you can always open a new PR if that's not actually the case.

Oh this is Google style?

Flutter's engineering practice is to require tests as part of PRs, yes.

Funny
stuartmorgan @.***> 於 2021年11月10日 週三 下午11:02寫道：

Why you guys review this for many years?
Ideally the lack of tests would have been flagged as a blocker earlier in
the process; that was an oversight. (To be clear though, this PR was not
actually reviewed, it just received some high-level initial feedback.)
Automation has since been added to help avoid that in the future.
and now you guys say test not passed
No, we said that it doesn't have tests, which is not the same thing. This
repository's contribution guide was probably not clear enough about the
fact that this is a requirement for all PRs at the time you opened the PR
unfortunately; that's been significantly improved since.
However, the framing that this is something we're only saying now is not
correct. You were aware that it was missing tests when you opened the PR:

My PR includes unit or integration tests for all
changed/updated/fixed behaviors (See Contributor Guide
https://github.com/flutter/plugins/blob/master/CONTRIBUTING.md).

And I flagged that this would be a blocker four months ago
https://github.com/flutter/plugins/pull/1480#issuecomment-883411942:
However, this PR is not complete; it doesn't include tests, and thus won't
pass review as-is (as explained in our contributor guide, and highlighted
in the PR checklist).
Since that comment, no tests have been added.
When we provide actionable feedback on a PR (such as indicating that it
needs to have tests added), and we don't hear back from the PR author, our
policy is generally to close the PR under the assumption that the PR has
been abandoned. As @Hixie https://github.com/Hixie said, you can always
open a new PR if that's not actually the case.
Oh this is Google style?
Flutter's engineering practice is to require tests as part of PRs, yes.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/plugins/pull/1480#issuecomment-965341653, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHMYSMBECZ7N3LCDLTO2KTLULKCQ5ANCNFSM4HFCXG2A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You got wrong point, this PR is not creatre for me, many ppl need this
feature, anyway, it's not my business now.
I'm using react native now. thanks.
stuartmorgan @.***> 於 2021年11月10日 週三 下午11:02寫道：

Why you guys review this for many years?
Ideally the lack of tests would have been flagged as a blocker earlier in
the process; that was an oversight. (To be clear though, this PR was not
actually reviewed, it just received some high-level initial feedback.)
Automation has since been added to help avoid that in the future.
and now you guys say test not passed
No, we said that it doesn't have tests, which is not the same thing. This
repository's contribution guide was probably not clear enough about the
fact that this is a requirement for all PRs at the time you opened the PR
unfortunately; that's been significantly improved since.
However, the framing that this is something we're only saying now is not
correct. You were aware that it was missing tests when you opened the PR:

My PR includes unit or integration tests for all
changed/updated/fixed behaviors (See Contributor Guide
https://github.com/flutter/plugins/blob/master/CONTRIBUTING.md).

And I flagged that this would be a blocker four months ago
https://github.com/flutter/plugins/pull/1480#issuecomment-883411942:
However, this PR is not complete; it doesn't include tests, and thus won't
pass review as-is (as explained in our contributor guide, and highlighted
in the PR checklist).
Since that comment, no tests have been added.
When we provide actionable feedback on a PR (such as indicating that it
needs to have tests added), and we don't hear back from the PR author, our
policy is generally to close the PR under the assumption that the PR has
been abandoned. As @Hixie https://github.com/Hixie said, you can always
open a new PR if that's not actually the case.
Oh this is Google style?
Flutter's engineering practice is to require tests as part of PRs, yes.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/plugins/pull/1480#issuecomment-965341653, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHMYSMBECZ7N3LCDLTO2KTLULKCQ5ANCNFSM4HFCXG2A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


[AntiMentionSpam] Mute using role

If we assume the planned additions for Red's core mute are added, would it be sufficient to have a setting to invoke mute server against the user for your use case here? I'd rather this be allowed to invoke other things, even with pre-filled extra parameters if needed than to grow the mute logic by much here.

Yes, it would be enough for my use case, I kinda had those changes in mind while creating this issue.

I'll work on the changes for this after I finish the mute rewrite for Red.

Won't be added

Mute has gone nowhere in core. I don't want to do it anymore. The PR open doesn't do anything for an API. I'll add a role setting.