Does this still work at all with latest Pi OS images?

 Also the EEPROM is absent, which should be on 0x57 - perhaps this is the root cause? 0x53 is an accelerometer that also hangs off i2c-1, this is working as it should, so there's nothing wrong with the i2c bus itself.

Curiously, they do show up in /dev:
$ ls /sys/bus/i2c/devices/
10-0036  1-0018  1-006f  i2c-0  i2c-1  i2c-10  i2c-11

Trying to run the flash updater I get a write error on /sys/class/gpio:
./monarco-flash.pl flash ./firmware-bin/fw-monarco-hat-2008.bin
Monarco HAT Flash Firmware Downloader, version 1.1
(c) REX Controls 2016, http://www.rexcontrols.com

HAT ID detected:
  Vendor: REX Controls
  Product: Monarco HAT
  Product ID: 0x0001
  Product VER: 0x1105
  UUID: fe0f39bf-7c03-4eb6-9a91-df861ae5abcd

Serial device /dev/ttyAMA0 check OK.

write error at ./monarco-flash.pl line 293.
	main::file_write("/sys/class/gpio/export", 21) called at ./monarco-flash.pl line 261
	main::gpio_init() called at ./monarco-flash.pl line 158

It seems the hat EEPROM is being read, since it activates both the i2c and spi buses even when these are not enabled in /boot/firmware/config.txt. I'm not sure if the last bit works though, where it remaps uart0&1:
https://github.com/monarco/monarco-hat-firmware-bin/blob/master/device-tree/monarco-hat-4-9.dts#L53-L98
With no changes to my /boot/firmware/config.txt I see a /dev/serial0 device whereas I think the hat EEPROM should change this to /dev/serial1?

I've downloaded the Rexygen Bookworm image and had a poke around in it, to see if you're doing anything special to get the Monarco Hat working, but I don't spot anything obvious...

I see your Rexygen Bookworm image is 32-bit:
# less /media/me/rootfs/etc/apt/sources.list
deb [ arch=armhf ] http://raspbian.raspberrypi.com/raspbian/ bookworm main contrib non-free rpi

Whereas I'm running 64-bit PiOS Bookworm - could that be the issue?

Here's how the GPIOs are configured on the Pi in question:
$ raspi-gpio get
BANK0 (GPIO 0 to 27):
GPIO 0: level=1 alt=0 func=SDA0
GPIO 1: level=1 alt=0 func=SCL0
GPIO 2: level=1 alt=0 func=SDA1
GPIO 3: level=1 alt=0 func=SCL1
GPIO 4: level=1 func=INPUT
GPIO 5: level=1 func=INPUT
GPIO 6: level=1 func=INPUT
GPIO 7: level=1 func=OUTPUT
GPIO 8: level=1 func=OUTPUT
GPIO 9: level=0 alt=0 func=SPI0_MISO
GPIO 10: level=0 alt=0 func=SPI0_MOSI
GPIO 11: level=0 alt=0 func=SPI0_SCLK
GPIO 12: level=0 func=INPUT
GPIO 13: level=1 func=OUTPUT
GPIO 14: level=1 alt=0 func=TXD0
GPIO 15: level=1 alt=0 func=RXD0
GPIO 16: level=0 func=INPUT
GPIO 17: level=0 func=INPUT
GPIO 18: level=0 func=INPUT
GPIO 19: level=0 func=INPUT
GPIO 20: level=0 func=INPUT
GPIO 21: level=1 func=INPUT
GPIO 22: level=0 func=INPUT
GPIO 23: level=0 func=INPUT
GPIO 24: level=0 func=INPUT
GPIO 25: level=0 func=INPUT
GPIO 26: level=1 func=INPUT
GPIO 27: level=0 func=INPUT
BANK1 (GPIO 28 to 45):
GPIO 28: level=1 func=INPUT
GPIO 29: level=0 func=OUTPUT
GPIO 30: level=1 func=INPUT
GPIO 31: level=1 func=INPUT
GPIO 32: level=1 func=INPUT
GPIO 33: level=1 func=INPUT
GPIO 34: level=1 func=INPUT
GPIO 35: level=1 func=INPUT
GPIO 36: level=1 func=INPUT
GPIO 37: level=1 func=INPUT
GPIO 38: level=1 func=INPUT
GPIO 39: level=1 func=INPUT
GPIO 40: level=0 alt=0 func=PWM0
GPIO 41: level=0 alt=0 func=PWM1
GPIO 42: level=1 alt=0 func=GPCLK1
GPIO 43: level=1 alt=0 func=GPCLK2
GPIO 44: level=1 func=INPUT
GPIO 45: level=1 func=INPUT
BANK2 (GPIO 46 to 53):
GPIO 46: level=1 func=INPUT
GPIO 47: level=1 func=OUTPUT
GPIO 48: level=0 alt=0 func=SD0_CLK
GPIO 49: level=1 alt=0 func=SD0_CMD
GPIO 50: level=1 alt=0 func=SD0_DAT0
GPIO 51: level=1 alt=0 func=SD0_DAT1
GPIO 52: level=1 alt=0 func=SD0_DAT2
GPIO 53: level=1 alt=0 func=SD0_DAT3

Looks correct to me?

Loaded i2c modules:
$ lsmod | grep i2c
i2c_dev                20480  14
regmap_i2c             16384  1 rtc_ds1307
i2c_mux_pinctrl        16384  0
i2c_mux                16384  1 i2c_mux_pinctrl
i2c_bcm2835            20480  8

Trying to read the RTC and 1-Wire controller with i2cget fails:
$ i2cget -f 1 0x6f
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will read from device file /dev/i2c-1, chip address 0x6f, current data
address, using read byte.
Continue? [Y/n]
Error: Read failed

$ i2cget -f 1 0x18
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will read from device file /dev/i2c-1, chip address 0x18, current data
address, using read byte.
Continue? [Y/n]
Error: Read failed


Tweak the time of auto off lights

Maybe 20min is a little to much

Here you go, just update the last integer to whatever minutes your wanting https://github.com/jakkra/SmartMirror/pull/9

👍 Thx! Enjoy your t-shirt :)


ticket-27-control empty inputs before sending to back

-We have added an alert if any input is empty. handleCreateCard in CardMaker.js
-We have converted the defaultImage to base 64, letting users use the robot image.

Thanks Ioana, we have reviewed it. Can you check it again please


Recommendations for encouraging correct usage and good practices for $id

The schemas created on https://www.jsonschema.net don't use $id properly. We (the JSON Schema core team) see this leading to not only incorrect schemas, but also confusion about how $id works. We hope you'll consider making the following changes to your $id generation options to help encourage correct usage and good practices. Thanks for your consideration.
JSON Pointer Fragment
Because this is the default mode, we see this constantly. Unfortunately, it's invalid. A JSON Pointer is not allowed to be an anchor because / is not an allowed character for anchors. Which is good, because otherwise implementations wouldn't be able to tell the difference and wouldn't know how to process it correctly.

This value MUST begin with the number sign that specifies a fragment ("#"), then a letter ([A-Za-z]), followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), or periods (".").

https://tools.ietf.org/html/draft-handrews-json-schema-01#section-8.2.3

Even if it was valid to have a JSON Pointer as an anchor, it would at best be a no-op to have an anchor that is the same as the JSON Pointer you would otherwise use to reference that part of the schema. It gets worse if you have a JSON Pointer anchor that doesn't match its actual location in the schema. Should an implementation go to JSON Pointer location, or the contradictorily named anchor?
Recommendation: Remove this option entirely. It's invalid, unnecessary, and error prone.
Plain Name Fragment
This option sets anchors correctly except that it doesn't create unique names. Here's an example of a generated schema with conflicting anchors.
Instance
{
  "foo": {
    "foo": "bar"
  }
}

Generated Schema
{
  "$schema": "http://json-schema.org/draft-07/schema",
  "$id": "http://example.com/example.json",
  "type": "object",
  "properties": {
    "foo": {
      "$id": "#foo",
      "type": "object",
      "properties": {
        "foo": {
          "$id": "#foo",
          "type": "string"
        }
      }
    }
  }
}

#foo points to both /properties/foo and /properties/foo/properties/foo. You can't be sure which one you're going to get when you reference it.
But even if you are generating unique names, setting anchors everywhere is unnecessary noise. Anchors are best applied on a case-by-case basis. The only rule that I think makes sense for setting anchors would be to say that all definitions should have an anchor. But, as far as I can tell, this tool never generates definitions.
Recommendation: Fix or remove this option. If you fix the unique name problem, then there's nothing technically wrong with this option. However, there's also no value in setting anchors everywhere, so it should really never be used.
Base URI
The generous interpretation is that this is the same thing as the "JSON Pointer Fragment" option except more verbose. When defining a plain name fragment, it must start with a #. However, you could say that the "$id": "http://example.com/example.json#/properties/foo" is equivalent to "$id": "#/properties/foo" when the schema's URI is http://example.com/example.json.
Otherwise, you have to interpret it as a schema identifier, which means the fragment is not interpreted as a plain name fragment and you have a naming conflict where the root schema and the sub-schema have the same identifier. In the most recent drafts, it is explicitly forbidden for an $id to have a fragment. You also have the problem that schema identifiers change the resolution scope which causes confusing bugs (especially for beginners) when developers refactor or add to the generated schema with definitions and $refs.
Recommendation: Remove this option. The behavior in the this case is ambiguous at best. Either way, no one should be using $ids this way for any reason.
None
The only problem with this option is that it not only leaves out $ids from sub-schemas, it also leaves out the absolute $id at the root of the schema. That root $id is not necessary, but if it's set in the settings, we would expect it to be included in the generated schema no matter what other options are selected.
Recommendation: This should be the default option or the only option and it should not suppressed the root $id.

It gets worse if you have a JSON Pointer anchor that doesn't match its actual location in the schema. Should an implementation go to JSON Pointer location, or the contradictorily named anchor?

Here's a link to a recent example that illustrates this problem, https://stackoverflow.com/questions/69050877.
Please, please, please address this bug. It causes the JSON Schema support community so much time and effort to repeatedly explain the problem and tell people to delete the $ids that this tool generates. Even if all you can do is make the default "None", that would go a very long way to alleviate this problem.

Thanks for the feedback. This is addressed in a new version of the web application that we hope to publish soon. In fact we've already incorporated it into the new version...it's just not generally available right now.

@jdesrosiers we (jsonschema.net) also have experimental alpha version of command line tool that uses exactly the same engine as web application mentioned by @jackwootton. I was wondering if you (or someone form your org) would like to test it.

@mkyc I'd be happy to try it out and give feedback, but not for another 2 weeks. I have a deadline to make at the moment that takes priority.

This has been fixed in the new version available at www.jsonschema.net.


[Model] add kosmos2

tested on MME dataset

observation: It seems that Kosmos2 does not pre-train well with strong knowledge, resulting in poor performance on datasets that require extensive knowledge (testes with MMBench, overall only get 0.013), but it performance is as expected while testing on other dataset which do not require as much knowledge:

BLINK dataset

LLavaBench

MMMU

MMStar

MMVet

@kennymckormick the conflict is fixed, and this pr is ready for merge, please feel free to take your time to review this pr, thank you, appreciate.

@tackhwa I evaluated kosmos2 based on datasets adopted here. However, there is a significant difference in the results of LLaVABunch and MMVet. Which judge model did you choose when implementing evaluation?

@tackhwa I evaluated kosmos2 based on datasets adopted here. However, there is a significant difference in the results of LLaVABunch and MMVet. Which judge model did you choose when implementing evaluation?

@tackhwa I evaluated kosmos2 based on datasets adopted here. However, there is a significant difference in the results of LLaVABunch and MMVet. Which judge model did you choose when implementing evaluation?

I modify the source code and use free api of internlm2_5-7b-chat that available in SiliconFlow, so the result might be different, may i know what accuarcy you get?

@tackhwa I use the api of ### gpt-4-1106-preview

@tackhwa  I use the api of gpt-4-1106-preview. Here are evaluation results i get.

LLaVABench

MMMU

MMVet


Video of example in documentation is displaying error.

In the "Example" section of the documentation, the video showing an example of running cookiecutter is no longer available. In place of the video is the following text:
"This recording has been archived
All unclaimed recordings (the ones not linked to any user account) are automatically archived 7 days after upload."
In addition to recovering the video, perhaps displaying a set of screenshots would be a simple redundancy.

Added to the new CLI refactor, but as a stop gap it would be great if you could record one and add it! Looks like terminalizer is popular for making that kind of gif these days:
https://github.com/faressoft/terminalizer

Looks like it has been fixed but has not been re-deployed since.

Fixed and deployed


⚠ gorzdrav.org has degraded performance

In 31a6f3c, gorzdrav.org (https://gorzdrav.org) experienced degraded performance:

HTTP code: 200
Response time: 1870 ms

Resolved: gorzdrav.org performance has improved in 043041b after 5 minutes.


[CanonicalizeOSSALifetime] Extend Onone lifetimes.

To improve the debugging experience of values whose lifetimes are canonicalized without compromising the semantics expressed in the source language, when canonicalizing OSSA lifetimes at Onone, lengthen lifetimes as much as possible without incurring copies that would be eliminated at O.
rdar://99618502

@swift-ci please smoke test

@swift-ci please test

@swift-ci please test source compatibility

@swift-ci please benchmark

@swift-ci please test

@swift-ci please test source compatibility

@swift-ci please test

@swift-ci please test source compatibility

@swift-ci please test and merge


local volume provisioner is incorrectly configured

Is this a BUG REPORT or FEATURE REQUEST? (choose one):
BUG REPORT

Environment:

Cloud provider or hardware configuration:
Bare metal

OS (printf "$(uname -srm)\n$(cat /etc/os-release)\n"):

Linux 4.4.0-87-generic x86_64
NAME="Ubuntu"
VERSION="16.04.3 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.3 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

Version of Ansible (ansible --version):

ansible <IP_ADDRESS>
  config file = /Users/chris/workspace/octarine-deployment/octarine_deployment/kubernetes/third-party/kubespray/ansible.cfg
  configured module search path = ['/Users/chris/workspace/octarine-deployment/octarine_deployment/kubernetes/third-party/kubespray/library']
  ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.6.1 (default, Jun 16 2017, 16:42:41) [GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)]

Kubespray version (commit) (git rev-parse --short HEAD):
227875ca
Anything else do we need to know:
The local volume provisioner gets configured using a ConfigMap created from this template:
kind: ConfigMap
apiVersion: v1
metadata:
  name: local-volume-config
  namespace: {{ system_namespace }}
data:
  storageClassMap: |
    local-storage:
      hostDir: "{{ local_volume_base_dir }}"
      mountDir: "/mnt/local-storage/"

And the provisioner containers are created using this DaemonSet template:
---
kind: DaemonSet
apiVersion: extensions/v1beta1
metadata:
  name: local-volume-provisioner
  namespace: "{{ system_namespace }}"
spec:
  template:
    metadata:
      labels:
        app: local-volume-provisioner
    spec:
      containers:
        - name: provisioner
          image: {{ local_volume_provisioner_image_repo }}:{{ local_volume_provisioner_image_tag }}
          imagePullPolicy: {{ k8s_image_pull_policy }}
          securityContext:
            privileged: true
          volumeMounts:
            - name: discovery-vol
              mountPath: "/local-disks"
            - name: local-volume-config
              mountPath: /etc/provisioner/config/
          env:
            - name: MY_NODE_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
            - name: MY_NAMESPACE
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
      volumes:
        - name: discovery-vol
          hostPath:
            path: "{{ local_volume_base_dir }}"
        - configMap:
            defaultMode: 420
            name: local-volume-config
          name: local-volume-config
      serviceAccount: local-storage-admin

There are two issues:

The ConfigMap is found using an environment variable (VOLUME_CONFIG_NAME) which is missing from the DaemonSet. This must be set to the name of the ConfigMap. Without it, an empty string is used to query for the ConfigMap providing the following error:

I0208 05:39:18.957167       1 main.go:76] Could not get config map due to: resource name may not be empty, using default configmap

The value of the ConfigMap is expected to be in JSON format, not YAML format. So we get the following error during loading:

I0208 13:31:59.245429       1 main.go:76] Could not get config map due to: unable to unmarshal config for class storageClassMap: invalid character 'o' looking for beginning of value, using default configmap

Fixed in #2274


[Question] Safari Support for RTCMultiConnection

Just have a question, does webRTC-Experiment currently support browsers such as Safari, Opera, and  Android?
I currently tried webRTC package today on Safari and received the following error:

The package works well in Firefox and Chrome, do you have any suggestions on how to go about troubleshooting this issue? Also, we currently utilize the RTCMultiConnection.

this issue might be due to local testing on a non HTTPS server, I learned the following can be done to test on a local server: Safari (after enabling developer menu) -> Develop  -> Web RTC -> Allow Media Capture on Insecure Sites


spike_aggregation rule type doesn't appear to be setup

I was getting an error when I tried to make a rule_type spike_aggregation.
  File "venv/bin/elastalert", line 11, in <module>     sys.exit(main())   File "/home/elastalert/venv/local/lib/python3.5/site-packages/elastalert/elastalert.py", line 2034, in main     client = ElastAlerter(args)   File "/home/elastalert/venv/local/lib/python3.5/site-packages/elastalert/elastalert.py", line 138, in __init__     self.rules = self.rules_loader.load(self.conf, self.args)   File "/home/elastalert/venv/local/lib/python3.5/site-packages/elastalert/loaders.py", line 125, in load     raise EAException('Error loading file %s: %s' % (rule_file, e)) elastalert.util.EAException: Error loading file rules/rule.yaml: Could not import module spike_aggregation: not enough values to unpack (expected 2, got 1)
When I  investigated it looks like spike aggregation class(SpikeMetricAggregationRule) is not setup in loaders.py rules_mapping.  In my rule I used type: elastalert.ruletypes.SpikeMetricAggregationRule which doesn't give an error.
Is it possible that this rule type has never been enabled or am I configuring the type wrongly?

We had the same problem and we looked at elastalert/loader.py file,
it seems like that rule_mapping has no mapping for spike_aggregation.
We updated it with subsequent code:
rules_mapping = {
    'frequency': ruletypes.FrequencyRule,
    'any': ruletypes.AnyRule,
    'spike': ruletypes.SpikeRule,
    'blacklist': ruletypes.BlacklistRule,
    'whitelist': ruletypes.WhitelistRule,
    'change': ruletypes.ChangeRule,
    'flatline': ruletypes.FlatlineRule,
    'new_term': ruletypes.NewTermsRule,
    'cardinality': ruletypes.CardinalityRule,
    'metric_aggregation': ruletypes.MetricAggregationRule,
    'percentage_match': ruletypes.PercentageMatchRule,
    'spike_aggregation': ruletypes.SpikeMetricAggregationRule,
}

And now it works.
Hope this helps.

I manually added the line from https://github.com/nbaiocco/elastalert/pull/1 and reran setup. After that, the test worked.
I'd say that pull request can be merged. :)

After discovering the code shipped incomplete I dug through the PRs and saw @nbaiocco has had a one line PR languish. What needs to happen to see this advance so I don't have to apply a patch to every update locally?
Do I need to fork and resubmit a new PR?

Also looks like it was submitted in PR 2570.

@Qmando: This problem still exists in 0.2.1. Please fix it.


Writeable parameter translated to integer

When querying for ?writeable, the PHP true gets translated into the numeric 1, which is then ignored by the PMP.
$sdk->queryDocs(array('writeable' => true));

This is done!


Teste

Summary

Simplest Example to Reproduce

request({
  method: 'GET',
  url: 'http://example.com', // a public URL that we can hit to reproduce, if possible
  more: { 'options': 'here' }
},

Expected Behavior

Current Behavior

Possible Solution

Context

Your Environment

software
version

request

node

npm

Operating System

Teste pra instalação do Expo-cli


Add rust audit/deny to CI

Ref: https://rustsec.org/
We can let CI check for vulnerabilities dependencies and also deny improper dependencies.

fixed


Charm fails to bootstrap after host machine reboot

When a the LXD host machine reboots the charm fails to get the opensearch service to run, raising 503 http errors in the process.
Server logs:
[2024-06-10T09:06:16,978][INFO ][o.o.s.c.ConfigurationRepository] [main-0_711] Wait for cluster to be available ...
[2024-06-10T09:06:17,208][WARN ][o.o.c.c.ClusterFormationFailureHelper] [main-0_711] cluster-manager not discovered or elected yet, an election requires at least 3 nodes with ids from [poxiRShkTxeXfn_Quoh7-Q, 7YwoLqLUSCqYXqEqSzc1BA, rNb9cX69ThSrIY8sUB0G8A, xL8-9yGaSRWsI80bZAV2FA, tkNsDbIHRYWGnfIV2y-d2A], have discovered [{main-0_711}{7YwoLqLUSCqYXqEqSzc1BA}{vrNYjytWTjqkRdwnrmzfXw}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true, app_id=4cac7b7d-58b3-4c18-80c7-8f14aaeaeff7/main}] which is not a quorum; discovery will continue using [<IP_ADDRESS>:9300, <IP_ADDRESS>:9301, <IP_ADDRESS>:9302, <IP_ADDRESS>:9303, <IP_ADDRESS>:9304, <IP_ADDRESS>:9305, [::1]:9300, [::1]:9301, [::1]:9302, [::1]:9303, [::1]:9304, [::1]:9305, <IP_ADDRESS>:9300] from hosts providers and [{main-0_711}{7YwoLqLUSCqYXqEqSzc1BA}{vrNYjytWTjqkRdwnrmzfXw}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true, app_id=4cac7b7d-58b3-4c18-80c7-8f14aaeaeff7/main}] from last-known cluster state; node term 1, last-accepted version 86 in term 1
[2024-06-10T09:06:17,673][ERROR][o.o.s.a.BackendRegistry  ] [main-0_711] Not yet initialized (you may need to run securityadmin)
[2024-06-10T09:06:17,880][ERROR][o.o.s.a.BackendRegistry  ] [main-0_711] Not yet initialized (you may need to run securityadmin

This is most likely due to the unicast_hosts.txt and opensearch.yml (initial_cluster_manager) not being properly cleaned / removing all its content (offline cm eligible nodes) before starting the start process.

I can reproduce this issue with:

Deploy an LXD cluster
Restart the host machine after the cluster has settled

Once the machine is back, the cluster cannot settle anymore. A systemd status on each of the nodes shows: https://pastebin.ubuntu.com/p/MMFvSVvNZx/
One of the 3x units are up and cannot find the cluster manager anymore:
Jul 02 12:44:44 juju-c52a5b-0 opensearch.daemon[1076]: [2024-07-02T12:44:44,159][WARN ][o.o.c.c.ClusterFormationFailureHelper] [opensearch-0] cluster-manager not discovered or elected yet, an election requires at least 2 nodes with ids from [oTRIYXJ-QQ61M9fKQpfw5Q, 97OSchtyRwq-9rgd_zfoiw, OLvEl2U6TRa8WoXmGAIuoQ], have discovered [{opensearch-0}{OLvEl2U6TRa8WoXmGAIuoQ}{_F2PYiagQ6qQ-oZplrwBZg}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true}] which is not a quorum; discovery will continue using [<IP_ADDRESS>:9300, <IP_ADDRESS>:9301, <IP_ADDRESS>:9302, <IP_ADDRESS>:9303, <IP_ADDRESS>:9304, <IP_ADDRESS>:9305, [::1]:9300, [::1]:9301, [::1]:9302, [::1]:9303, [::1]:9304, [::1]:9305, <IP_ADDRESS>:9300] from hosts providers and [{opensearch-0}{OLvEl2U6TRa8WoXmGAIuoQ}{_F2PYiagQ6qQ-oZplrwBZg}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true}] from last-known cluster state; node term 1, last-accepted version 50 in term 1

That means, the opensearch/0 restarted because it was the leader charm unit, but given it is not the cluster manager leader, it will not let the other units start as they cannot grab the lock anymore.

I reran the same test and indeed I am seeing the same problem once again. However, manually restarting the remaining CM nodes that were powered down brings the cluster back.
I also tried the following scenarios:

3x nodes running as data and CM nodes
power down node-1
move the cluster manager between nodes 2 and 3
power down node-2 (which is not the cluster manager): ensure the metadata has a more recent version than node-1's
power down node-3
restart nodes 1 and 2: node-2 picks up as elected manager and the metadata is updated
restart node 3: node-2 continues as elected manager

Therefore, I can see we can bring nodes up in any other without not much damage to the cluster in this scenario.
When we restart a node, the entire start / config-changed hook sequence will re-run.
I propose the following:
At start hook, we check: if already had the opensearch snap installed and the peer relation is set with a started flag -> start the service
This way, all the eligible CMs will come back online and eventually the cluster will form again.
The other option we have is to set the systemd service as "enabled", which means opensearch will automatically restart after reboot. I believe this option is preferable.

CONT
Now, the main challenge in my view of a full-restart as suggested, is the risk of split-brains at certain moments of the restart.
Split brain - Test 1 - 6-node opensearch - half-cluster cut off
Deployed 6x nodes opensearch and:

Stopped the last 3x units (not-elected leaders)
Inserted a 6-replica index and pushed 100 docs
Stopped the first 3x units (with the elected leader)
Restarted the last 3x units

The last 3x units have a valid unicast_hosts.txt file and can find each other. However, each unit complains of missing an extra known unit to restart the cluster:
Jul 16 11:25:13 juju-a56f65-3 opensearch.daemon[19725]: [2024-07-16T11:25:13,727][WARN ][o.o.c.c.ClusterFormationFailureHelper] [opensearch-3.ddf] cluster-manager not discovered or elected yet, an election requires at least 3 nodes with ids from [JhXcRAMmSGW5ElV6ixjkZQ, VeBf6GTdQbCKUzio85L8Cg, qv5k5erhRvm6TOQUYF5uPA, HzYBd9PPSk28AyU4gO63jQ, qyAQDXL6SbOrJ9PEp9FTWw], have discovered [{opensearch-3.ddf}{JhXcRAMmSGW5ElV6ixjkZQ}{ijs2FK6ZQCO8C3X1g6RXAg}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true, app_id=fdfaa772-90ee-4e84-8e56-f06d0ea56f65/opensearch}, {opensearch-4.ddf}{qv5k5erhRvm6TOQUYF5uPA}{yRRlrZW-TTO8r0vlJ2lAmw}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true, app_id=fdfaa772-90ee-4e84-8e56-f06d0ea56f65/opensearch}, {opensearch-5.ddf}{xb1RNEmURCqnjxJj9_zT-A}{q9m-eMYLQQGhF_Af1FiDjQ}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true, app_id=fdfaa772-90ee-4e84-8e56-f06d0ea56f65/opensearch}] which is not a quorum; discovery will continue using [<IP_ADDRESS>:9300, <IP_ADDRESS>:9301, <IP_ADDRESS>:9302, <IP_ADDRESS>:9303, <IP_ADDRESS>:9304, <IP_ADDRESS>:9305, [::1]:9300, [::1]:9301, [::1]:9302, [::1]:9303, [::1]:9304, [::1]:9305, <IP_ADDRESS>:9300, <IP_ADDRESS>:9300, <IP_ADDRESS>:9300, <IP_ADDRESS>:9300, <IP_ADDRESS>:9300] from hosts providers and [{opensearch-3.ddf}{JhXcRAMmSGW5ElV6ixjkZQ}{ijs2FK6ZQCO8C3X1g6RXAg}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true, app_id=fdfaa772-90ee-4e84-8e56-f06d0ea56f65/opensearch}] from last-known cluster state; node term 1, last-accepted version 78 in term 1

Bringing an extra unit
The new unit, from the first 3x nodes, cannot connect to the cluster, as it does not recognize the last 3x opensearch units as having valid metadata:
Jul 16 11:30:27 juju-a56f65-1 opensearch.daemon[21522]: [2024-07-16T11:30:27,500][WARN ][o.o.c.c.ClusterFormationFailureHelper] [opensearch-1.ddf] cluster-manager not discovered or elected yet, an election requires at least 2 nodes with ids from [VeBf6GTdQbCKUzio85L8Cg, HzYBd9PPSk28AyU4gO63jQ, qyAQDXL6SbOr
J9PEp9FTWw], have discovered [{opensearch-1.ddf}{HzYBd9PPSk28AyU4gO63jQ}{TJAI0urnQUOMfrSf_bqQFQ}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true, app_id=fdfaa772-90ee-4e84-8e56-f06d0ea56f65/opensearch}, {opensearch-3.ddf}{JhXcRAMmSGW5ElV6ixjkZQ}{ijs2FK6ZQCO
8C3X1g6RXAg}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true, app_id=fdfaa772-90ee-4e84-8e56-f06d0ea56f65/opensearch}, {opensearch-4.ddf}{qv5k5erhRvm6TOQUYF5uPA}{yRRlrZW-TTO8r0vlJ2lAmw}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing
_pressure_enabled=true, app_id=fdfaa772-90ee-4e84-8e56-f06d0ea56f65/opensearch}, {opensearch-5.ddf}{xb1RNEmURCqnjxJj9_zT-A}{q9m-eMYLQQGhF_Af1FiDjQ}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true, app_id=fdfaa772-90ee-4e84-8e56-f06d0ea56f65/opensearch}] whi
ch is not a quorum; discovery will continue using [<IP_ADDRESS>:9300, <IP_ADDRESS>:9301, <IP_ADDRESS>:9302, <IP_ADDRESS>:9303, <IP_ADDRESS>:9304, <IP_ADDRESS>:9305, [::1]:9300, [::1]:9301, [::1]:9302, [::1]:9303, [::1]:9304, [::1]:9305, <IP_ADDRESS>:9300, <IP_ADDRESS>:9300, <IP_ADDRESS>:9300, <IP_ADDRESS>:9300, 10.225
.137.188:9300] from hosts providers and [{opensearch-1.ddf}{HzYBd9PPSk28AyU4gO63jQ}{TJAI0urnQUOMfrSf_bqQFQ}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true, app_id=fdfaa772-90ee-4e84-8e56-f06d0ea56f65/opensearch}] from last-known cluster state; node term 2,
 last-accepted version 121 in term 2

It is expecting a subset of the 6x nodes, although they are all eligible cluster managers.
Restarting all nodes
Restarting all nodes eventually brings the cluster back to a healthy status and all 6x nodes are shown in /_cat/nodes. The opensearch/1 came up as the elected manager now.
Split brain - Test 2 - 5-node opensearch + adding an extra node after
I ran another test, this time targeting a split brain scenario, which may happen in full power-off / full power-on:
Deploying 5x nodes opensearch units, I've:

powered off 2x units
Inserted data to the 3x remaining nodes: cluster is still responsive
powered off the other 3x units
Brought back the first 2x units

The cluster, as expected, is not coming up due to missing units:
Jul 16 10:58:20 juju-354fd8-3 opensearch.daemon[24528]: [2024-07-16T10:58:20,139][WARN ][o.o.c.c.ClusterFormationFailureHelper] [opensearch-3.d6c] cluster-manager not discovered or elected yet, an election requires at least 3 nodes with ids from [41bzeg-yRSq47P6qDP9R5w, YDjXVrHLR425K3pB2OreWg, qpf4jqIvRpWq
FZzVXP0vnQ, B1yc-Fk0TDu9DTAQ0vXZ0g, ygFPNW0VTfmk_5AXAekfPQ], have discovered [{opensearch-3.d6c}{ygFPNW0VTfmk_5AXAekfPQ}{xROcg9LjScWc96IsPXoilg}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true, app_id=a018c111-55b7-446a-89b2-1a014a354fd8/opensearch}, {opens
earch-4.d6c}{qpf4jqIvRpWqFZzVXP0vnQ}{7UcFZnjwTt-6yfKKYzPEEg}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true, app_id=a018c111-55b7-446a-89b2-1a014a354fd8/opensearch}] which is not a quorum; discovery will continue using [<IP_ADDRESS>:9300, <IP_ADDRESS>:9301, 127.0.
0.1:9302, <IP_ADDRESS>:9303, <IP_ADDRESS>:9304, <IP_ADDRESS>:9305, [::1]:9300, [::1]:9301, [::1]:9302, [::1]:9303, [::1]:9304, [::1]:9305, <IP_ADDRESS>:9300, <IP_ADDRESS>:9300, <IP_ADDRESS>:9300, <IP_ADDRESS>:9300] from hosts providers and [{opensearch-3.d6c}{ygFPNW0VTfmk_5AXAekfPQ}{xROcg9LjScWc96IsPXoilg}{10.
225.137.179}{<IP_ADDRESS>:9300}{coordinating_onlydimml}{shard_indexing_pressure_enabled=true, app_id=a018c111-55b7-446a-89b2-1a014a354fd8/opensearch}] from last-known cluster state; node term 1, last-accepted version 122 in term 1

It is not possible to add new units either, as the cluster depends on the .charm-lock index to coordinate restarts. Adding a new unit will flush the unicast_hosts.txt file at the peer-changed execution. The ClusterTopology.nodes will not work

Closed with #407


Gossip Router stability issues

We found some connection issues between the Infinispan pods and Gossip Routers. This leads to some partitioned states where some messages go through and others don't.
Multiple Gossip Routers instances
The current implementation deploys 1 Gossip Router pod in each cluster. It brings the advantage of load balancing since each Infinispan pod will use both concurrently in a random fashion, and provides HA in case one of the Gossip Router pods fails.
During tests, it was observed that some pods lost connection to one of the Gossip Routers leading to unstable communication.
I propose to use a single Gossip Router globally to avoid unstable connections.
Multiple IPs for the same Gossip Router instance
Gossip Router expects a single connection for each Infinispan pod and we found some issues in the past (see JGRP-2722).
The Gossip Router is only able to use one connection to forward messages, meaning that the second connection is for receiving only. Also, the Gossip Router triggers a SUSPECT even when a connection is abruptly closed which leads to the "suspected" pod to removes from the view. TLTR: if one connection abruptly closes, the pod is removed from the view although there is a functional connection available. The pod is able to send data through the second connection Gossip Router is unable to send any data to it.
Fixing this in Gossip Router may improve the stability.
Disable SUSPECT events
In the same context as above, it is possible to disable SUSPECT events on the connection closed. May be worth considering. Failure detection will be based on heartbeats (FD_ALLx)
Skupper to the rescue?
Skupper (Red Hat Application Interconnect) allows two OCP clusters to connect. It is an alternative to using OCP Router to connect pods to the Gossip Router. If it is available in ROSA and it provides a single IP address for the Gossip Router, it may improve the stability of the cross-site connection.

@pruivo - reading about Skupper, would this then be "if you want to use cross-DC with Kubernetes, you'll need to use Skupper"?
This might increase the complexity of the setup, and not all organizations would "allow" such a technology in their cluster (the same as they might not "allow" a service mesh):

It is a cluster wide change, and the person deploying Keycloak would need to persuade an infrastructure person to install and maintain it Skupper.
Installing it might have an impact on the cluster itself, which would require testing and training
Once you upgrade the Kubernetes cluster, you'll need to ensure it is still compatible with Skupper

Let's discuss later today if the use of this tool justifies those costs.

@pruivo - reading about Skupper, would this then be "if you want to use cross-DC with Kubernetes, you'll need to use Skupper"?

No! These tools, Skupper and Submariner are tools with want to support in the Infinispan operator. See JDG-6364 (internal).

Between the Infinispan pods and the gossip router, there are multiple instances which could terminate a TCP connection, and then the pod would need to (seamlessly) reconnect.

EC2 Load Balancers: Those do TCP load balancing and they have an idle timeout of 60 seconds (looked up on an example ROSA installation). So any configuration would need to do some TCP keepalive - possibly from the Infinispan pod initiating the connection. While this would prevent timeouts, reconnects should be graceful.
I didn't find a maximum lifetime for sessions.

HAProxy: I didn't find a setting for a maximum lifetime for sessions, and also no keepalive settings. Pods and the nodes they run on might still restart on upgrades, and Infinispan pods should reconnect (seamlessly).

Wrt the connection between pods and the GossipRouter: you can enable heartbeats [1], so the connection will be left open, even when no regular traffic is encountered.
[1] https://issues.redhat.com/browse/JGRP-2634

Linking some related GH issues for the Infinispan operator
https://github.com/infinispan/infinispan-operator/issues/1856
https://github.com/infinispan/infinispan-operator/issues/1857

Current status: Wait for next version of Infinispan Operator, then retry with 2 Routers


add: YEUNGJIN UNIVERSITY

YEUNGJIN UNIVERSITY
URL : https://www.yju.ac.kr/kr/index.do
IT-related courses URL : https://computer.yju.ac.kr/index.php?mid=page_VrJT47
A URL that is recognized by the university as an official email domain : https://itcenter.yju.ac.kr/xe_board_notice/6834
The URL recognized by the university as the official email domain says: “As a student of the university, you can use MS Office 365 and Windows 10 for free with your issued Gmail account (id@g.yju.ac.kr).” This page also provides instructions on how to sign up for university email and how to install MS Office 365 and Windows 11.

@Sangyong-Jeon Thank you for your patience while waiting for a review and processing your request. Pull request merged. Please start applying for JetBrains educational subscription at https://www.jetbrains.com/shop/eform/students in an hour, to allow the changes to propagate through JetBrains systems.


Use friends-of-rust template on all locales

Hello, found out this is the same template on all locales, cheers

r? @steveklabnik
(rust_highfive has picked a reviewer for you, use r? to override)


Cannot publish fork as a theme on to atom.io

Hi, recently, I followed the instructions to create a theme by forking from an existing one. I created a fork of this repo, cloned it, and then changed the theme colors in uivariables.less and treeview.less.
I also renamed the repo and the local file and changed the .json file to this:
{
"name": "atom-soft-green-ui",
"theme": "ui",
"version": "0.42.0",
"description": "A soft green UI theme for Atom",
"repository": "https://github.com/ThanatchaPanpairoj/atom-soft-green-ui.git",
"license": "MIT",
"engines": {
"atom": ">0.50.0"
}
}
After I was done, I committed the changes to master and synced. Then, I did an apm publish minor and I got this:
Registering atom-soft-green-ui done
Preparing and taggin a new version done
Pushing v0.43.0 tag failed
It's published but listed as a package on https://atom.io/users/ThanatchaPanpairoj However, I am trying to publish it as a theme.

Would you mind reopening this on https://github.com/atom/apm? Thanks!

Okay here it is: https://github.com/atom/apm/issues/404
Sorry for posting at the wrong place.


[stable/minio] Add test chart

What this PR does / why we need it:
This adds a test phase

/ok-to-test

@gabibbo97 you need to bump the chart version. can you please do that? thanks

@cpanato bumped chart version to 1.6.2

hey @gabibbo97, you need to rebase and fix the conflicts

@cpanato Rebased
Now tests pass :1st_place_medal:

Ping @davidkarlsen

@gabibbo97 need to rebase and bump the chart again


Documentation for running locally

I the file https://github.com/nhtua/greencam/blob/main/docs/how-to-use-browser-in-obs.md
The instructions still point to the remote https://greencam.netlify.app/ site, but I believe you should be pointing to the local player.html file?

Yes, I don't know why the documentation is wrong but here's the steps in case anyone else is confused by this.

Clone the repo
Switch to whatever branch you want to be using
Run npm install
Launch OBS
Add a browser source
Enter a name ("GreenCam" is recommended)
Check the Local file checkbox
Point it to the Index.html file

Side note, you can also enable hardware acceleration from the OBS settings (under Sources > Advanced).

Unable to get this to load, I think OBS is waiting for me to allow/select my webcamera in my browser, whichever I've already done

the local file runs properly in chrome and edge

@KingBain Looks like you need to add --enable-gpu --enable-media-stream into the application shortcut (Windows OS)
https://www.lifewire.com/command-line-parameters-video-games-3399930


Video tracking in the JavaScript tracker

Video engagement can be tracked across all major media players.

There's been a bit of open discussion on this in the JS Tracker repo that I thought would be worth linking to: https://github.com/snowplow/snowplow-javascript-tracker/issues/805

See: https://discourse.snowplowanalytics.com/t/snowplow-javascript-tracker-3-2-released/6223
And: https://snowplowanalytics.com/blog/2022/01/31/how-snowplow-web-video-tracking-is-implemented/


about the maven-badges-generator

try this :)
[![Maven Central](https://maven-badges-generator.herokuapp.com/image/com.hhandoko/cassandra-migration)](https://maven-badges-generator.herokuapp.com/dependency/com.hhandoko/cassandra-migration)

Thank you 👍


Temporarily skip TestRunner

Renable with https://github.com/envoyproxy/gateway/issues/504
Signed-off-by: Arko Dasgupta<EMAIL_ADDRESS>

Codecov Report

Merging #505 (85e9c4e) into main (5bf94c1) will decrease coverage by 0.58%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #505      +/-   ##
==========================================
- Coverage   63.48%   62.89%   -0.59%
==========================================
  Files          40       40
  Lines        4425     4425
==========================================
- Hits         2809     2783      -26
- Misses       1471     1499      +28
+ Partials      145      143       -2

Impacted Files
Coverage Δ

internal/xds/translator/runner/runner.go
0.00% <0.00%> (-86.67%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

https://github.com/envoyproxy/gateway/issues/506 to track reenabling the test.


WIP feat: add alltalk tts support

WIP feat: add alltalk tts support
Pull Request Checklist
Note to first-time contributors: Please open a discussion post in Discussions and describe your changes before submitting a pull request.
Before submitting, make sure you've checked the following:

[x] Target branch: Please verify that the pull request targets the dev branch.
[ ] Description: Provide a concise description of the changes made in this pull request.
[ ] Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
[ ] Documentation: Have you updated relevant documentation Open WebUI Docs, or other documentation sources?
[x] Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?
[ ] Testing: Have you written and run sufficient tests for validating the changes?
[ ] Code review: Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
[ ] Prefix: To cleary categorize this pull request, prefix the pull request title, using one of the following:

BREAKING CHANGE: Significant changes that may affect compatibility
build: Changes that affect the build system or external dependencies
ci: Changes to our continuous integration processes or workflows
chore: Refactor, cleanup, or other non-functional code changes
docs: Documentation update or addition
feat: Introduces a new feature or enhancement to the codebase
fix: Bug fix or error correction
i18n: Internationalization or localization changes
perf: Performance improvement
refactor: Code restructuring for better maintainability, readability, or scalability
style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.)
test: Adding missing tests or correcting existing tests
WIP: Work in progress, a temporary label for incomplete or ongoing work

Changelog Entry
Description

[Concisely describe the changes made in this pull request, including any relevant motivation and impact (e.g., fixing a bug, adding a feature, or improving performance)]

Added

Alltalk_tts api support

Changed

openai TTS and STT endpoints
refactored most of the audio backend
added alltalk and openai under the 'provider' folder

Breaking Changes

OPENAI TTS AND STT:  due to moving certain endpoint and not having an openai API_KEY i could not confirm that my changes breaks it or not a check by someone that has the access may be required

Additional Information

After getting interested into alltalk_tts and seeing a discussion Discussions was already openned about it i decided to try my luck implementing it

Screenshots or Videos

[Attach any relevant screenshots or videos demonstrating the changes]

Thanks for the PR, but this should really be a pipeline instead of having this built in. I appreciate the effort still!


"Nuclear" sites are in the main list

I've imported the main list.txt, but now can't browse DeviantArt (specifically user profiles). I think it's because there's a "nuclear" section contained within list.txt, not just the extra addon txt file

Hi! The nuclear section is in the default list.txt for experimental blacklists of sites (I was tired of seeing stock photography sites and wanted to see how blocking these in the main list would affect searches 61f51dcbe0b277e6882cedd211cac8ff4f608697) . If you take a look closely, some sites are commented out, meaning that they shouldn't be active. DeviantArt is commented out, and I checked myself whether or not DeviantArt pops up in image search, and it does. Can't seem to replicate what you're experiencing, so it could be an issue on your side?
If all else fails, refer to the ReadMe and whitelist DeviantArt to see if that fixes anything.

Never mind. I was wrong, and you were right. I found the issue. Weirdly, it has to do with the domain "dreamup.com" (which is deviantart's AI image generator) which is for whatever reason responsible for deviantart's user profile. Sneaky. Will fix it quickly!

Oh, strange!
Thank you! And thank you so much for maintaining this list - you're doing a great service!

As of commit ac374f13e96469615c0417d0c976d6df4e702215 , DeviantArt user profiles should be working. And you're welcome! <3


Fix aliasing properly.

Summary
Aliasing should now be fixed, and should be able to be disabled via the nocompat extra

Checklist
TODO:

[x] implement automatic testing
[ ] disabling via the nocompat extra
[ ] compat checking with libraries such as jishaku, dislash etc

[x] If code changes were made then they have been tested.

[ ] I have updated the documentation to reflect the changes.

[x] This PR fixes an issue.
[ ] This PR adds something new (e.g. new method or parameters).
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[ ] This PR is not a code change (e.g. documentation, README, ...)

Issue found where the OS hasn't finished writing before the test starts... If there's a error when building the alias, just run it again.

Hasn't been taken out. Epic just added

By whom shall this be run? By the devs or by an other script?
(This could be interestig in order of adding possible debug messages when its finished and more)

By whom shall this be run? By the devs or by an other script?
(This could be interestig in order of adding possible debug messages when its finished and more)

Hmmmm probably on install to not pollute the git history

By whom shall this be run? By the devs or by an other script?
(This could be interestig in order of adding possible debug messages when its finished and more)

Hmmmm probably on install to not pollute the git history, and allow for the nocompat extra

Maybe add it to setup.py so it gets build when the package gets build? By that we do not get problems with antiviruses that might not like this behaviour?

By whom shall this be run? By the devs or by an other script?
(This could be interestig in order of adding possible debug messages when its finished and more)

Hmmmm probably on install to not pollute the git history, and allow for the nocompat extra

Maybe add it to setup.py so it gets build when the package gets build? By that we do not get problems with antiviruses that might not like this behaviour?

yeah thats what I was thinking too.

Hmmm automatic testing should probably be done in another pr.


Test data

@liuanna I can see that you uploaded test data to dropbox. Can you give me summary of where it's from? I was actually thinking of making a set of test_data from scratch instead.

The all test data come from subject001, BOLD and hehav folders, task001_run001. From now on, we only need behavdata.txt and bold.nii.gz for all run and all subjects. The rest of the files in the folder ds005   can be deleted.

I don't think it's a good idea to use the actual data to test our functions. I made test data from the most recent commits. Can you take a look at them some time and let me know if it's okay to use instead?

Hi Victor,
You did a good job and I think you are right that we should not use actual data for testing functions. So, we'd better use the test data you made and this will also avoid problems when running coverage. Would you mind going over all test files and making some modifications? Thanks. However, please do not change the Makefile now, since I also use test_data in Makefile for scripts. I will make modifications on scripts to make them get data from data folder instead of Makefile. Thanks for pointing them out.

Thanks for replying so quickly. Working on it now. Good luck on your project. (y)


Feature multiple crawler support, Fix #66

This PR prevents integrity errors when running two or more crawlers on same database:
sqlalchemy doesn't provide any method which gives INSERT OR IGNORE behaviour out of the box, this approach takes a performance hit but I couldn't seem to find any other way.
If we want to handle INSERT OR IGNORE ignore ourself we can do:
for mysql:
self.session.execute(insert(self.table, values=values, prefixes=['IGNORE']))
for sqlite:
self.session.execute(insert(self.table, values=values, prefixes=['OR IGNORE']))
Postgrest 9.5 has ON CONFLICT IGNORE. However, 9.5 is not yet common.
This approach would make the code a bit more complicated because of the raw queries.

This use case is handled in Frontera 0.4 different way: it is recommended to use distributed spiders run mode, with a single worker communicating with DB and spiders communicating using ZeroMQ. So no heavy services needed, and the whole solution can easily fit within single machine.

Please reopen, if you it still makes sense.


Add encoder support for hall effect commutation with Broadcom AEAT6012 position estimation

Allow us to use halls for BLDC commutation and absolute SPI encoders (AEAT-6012-A06) mounted post reduction to track joint position

I think I'm missing the encoder setup stuff for the 2nd encoder, but will figure that out during testing


ACD error HTTP code 409 conflict NAME_ALREADY_EXISTS

When syncing my music directory to ACD I have a few files that I get NAME_ALREADY_EXISTS errors on. I have checked using the web interface and these files do not already exist. Below is the verbose info and logs for just one for the files.

What is your rclone version (eg output from rclone -V)

rclone v1.33

Which OS you are using and how many bits (eg Windows 7, 64 bit)

Debian Linux 8 (Jessie)

Which cloud storage system are you using? (eg Google Drive)

Amazon Cloud Drive

The command you were trying to run (eg rclone copy /tmp remote:tmp)

/rclone --config rclone.conf --verbose --log-file errorv.log sync "~/media/Music/Music/Red Hot Chili Peppers/Under the Covers/08. Red Hot Chili Peppers - Castles Made of Sand.mp3" "acd:media/Music/Red Hot Chili Peppers/Under the Covers/08. Red Hot Chili Peppers - Castles Made of Sand.mp3"

A log from the command with the -v flag (eg output from rclone -v copy /tmp remote:tmp)

2016/09/21 19:16:28 rclone: Version "v1.33" starting with parameters ["./rclone" "--config" "rclone.conf" "--verbose" "--log-file" "errorv.log" "sync" "~/media/Music/Music/Red Hot Chili Peppers/Under the Covers/08. Red Hot Chili Peppers - Castles Made of Sand.mp3" "acd:media/Music/Red Hot Chili Peppers/Under the Covers/08. Red Hot Chili Peppers - Castles Made of Sand.mp3"]
2016/09/21 19:16:30 amazon drive root 'media/Music/Red Hot Chili Peppers/Under the Covers/08. Red Hot Chili Peppers - Castles Made of Sand.mp3': Modify window not supported
2016/09/21 19:16:30 Attempt 1/3 failed with 1 errors and: failed to make directory: HTTP code 409: "409 Conflict", reponse body: {"code":"NAME_ALREADY_EXISTS","logref":"9329d64f-806a-11e6-87b7-2f71c05fbae6","message":"Node with the name under the covers already exists under parentId YEB9_4-FSzOiZsHqhHho-g conflicting NodeId: iP7FiYBXQ1mITK9A02ZJkQ","info":{"nodeId":"iP7FiYBXQ1mITK9A02ZJkQ"}}
2016/09/21 19:16:30 Attempt 2/3 failed with 1 errors and: failed to make directory: HTTP code 409: "409 Conflict", reponse body: {"code":"NAME_ALREADY_EXISTS","logref":"934e27ba-806a-11e6-8356-95c96e77ed68","message":"Node with the name under the covers already exists under parentId YEB9_4-FSzOiZsHqhHho-g conflicting NodeId: iP7FiYBXQ1mITK9A02ZJkQ","info":{"nodeId":"iP7FiYBXQ1mITK9A02ZJkQ"}}
2016/09/21 19:16:31 Attempt 3/3 failed with 1 errors and: failed to make directory: HTTP code 409: "409 Conflict", reponse body: {"code":"NAME_ALREADY_EXISTS","logref":"937250a0-806a-11e6-9fe6-5b24b6ff85d0","message":"Node with the name under the covers already exists under parentId YEB9_4-FSzOiZsHqhHho-g conflicting NodeId: iP7FiYBXQ1mITK9A02ZJkQ","info":{"nodeId":"iP7FiYBXQ1mITK9A02ZJkQ"}}
2016/09/21 19:16:31 Failed to sync: failed to make directory: HTTP code 409: "409 Conflict", reponse body: {"code":"NAME_ALREADY_EXISTS","logref":"937250a0-806a-11e6-9fe6-5b24b6ff85d0","message":"Node with the name under the covers already exists under parentId YEB9_4-FSzOiZsHqhHho-g conflicting NodeId: iP7FiYBXQ1mITK9A02ZJkQ","info":{"nodeId":"iP7FiYBXQ1mITK9A02ZJkQ"}}

I have tried deleting my entire Music folder and re-uploading it but that seems to double the amount of files that produced errors. It seems as if deleting does not always work fully. (the files are not viewable in the web interface)
Possibly unrelated, but I did just switch from using acd_cli to rclone.

I'm geting the same kind of issues. First time I have used rclone or ACD
2016/09/22 02:35:28 IMAGES/Microsoft/WINDOWS 10/Win10_1511_English_x64.iso: Failed to copy: failed to make directory: HTTP code 409: "409 Conflict", r
eponse body: {"code":"NAME_ALREADY_EXISTS","logref":"c08a9e83-808e-11e6-aa5d-c147e65afed4","message":"Node with the name windows 10 already exists und
er parentId IAodEDmfS5WiX1DO2lQxHA conflicting NodeId: QpLQk-OVTualgTomlHaQKQ","info":{"nodeId":"QpLQk-OVTualgTomlHaQKQ"}}
2016/09/22 02:35:28 IMAGES/Microsoft/WINDOWS 10/10586.0.151029-1700.TH2_Release_IOTCoreRPi_armFRE.ISO: Failed to copy: failed to make directory: HTTP
code 409: "409 Conflict", reponse body: {"code":"NAME_ALREADY_EXISTS","logref":"c0a41941-808e-11e6-a8dc-b5cf3e680a4b","message":"Node with the name wi
ndows 10 already exists under parentId IAodEDmfS5WiX1DO2lQxHA conflicting NodeId: QpLQk-OVTualgTomlHaQKQ","info":{"nodeId":"QpLQk-OVTualgTomlHaQKQ"}}
2016/09/22 02:35:28 IMAGES/Microsoft/WINDOWS 10/en_windows_10_pro_10159_x64_dvd.iso: Failed to copy: failed to make directory: HTTP code 409: "409 Con
flict", reponse body: {"code":"NAME_ALREADY_EXISTS","logref":"c0bf69fc-808e-11e6-af0e-53aa35e62307","message":"Node with the name windows 10 already e
xists under parentId IAodEDmfS5WiX1DO2lQxHA conflicting NodeId: QpLQk-OVTualgTomlHaQKQ","info":{"nodeId":"QpLQk-OVTualgTomlHaQKQ"}}
2016/09/22 02:35:44 amazon drive root 'data': Waiting for checks to finish
2016/09/22 02:35:44 amazon drive root 'data': Waiting for transfers to finish
2016/09/22 02:35:44 Attempt 1/3 failed with 3 errors and: failed to make directory: HTTP code 409: "409 Conflict", reponse body: {"code":"NAME_ALREADY
_EXISTS","logref":"c0bf69fc-808e-11e6-af0e-53aa35e62307","message":"Node with the name windows 10 already exists under parentId IAodEDmfS5WiX1DO2lQxHA
conflicting NodeId: QpLQk-OVTualgTomlHaQKQ","info":{"nodeId":"QpLQk-OVTualgTomlHaQKQ"}}
2016/09/22 02:35:47
The file does exist from a previous copy and subsequent sync.

@lanrat What ACD seems to be saying is that you have a directory called "under the covers" and another called "Under the Covers".  rlone treats these as separate directories, but ACD treats them as the same, hence the conflict error.
Can you check if acd_cli uploaded the directory as "under the covers" maybe?  That would explain the problem

@javier-gotham2 you seem to have a similar problem with "windows 10" and "WINDOWS 10".  I'd guess you are using windows so that is unlikely to be actually the case.
Can you check what the directory is actually called - and also sending a log with -v would be helpful.

@ncw You are correct, I have multiple folders with different capitalization. Since running into this issue I've deleted my entire "Music" directory on ACD and re-uploaded it using rclone, so I'm not sure which one acd_cli used.
For future reference, I used the following command to find all my naming conflicts on my local file system and fixed them.
find . | sort | uniq -Di
Then I deleted them from ACD, and re-ran rclone with no issues!
You are free to close this issue once you help @javier-gotham2.

@ncw I'm actually running this from a linux vm where I have my zfs storage box mounted to.
It just happens to be a windows 10 iso ACD is complaining about.
@lanrat I'm going to check for dups as @ncw did.
I'll report back. I may have some created that I haven't noticed.

@lanrat @ncw and what do you know:
./data/IMAGES/Microsoft/Windows 10
./data/IMAGES/Microsoft/WINDOWS 10
plus a few more.  Thanks guys. And thanks for rclone.
I have been telling all my friends about it.

J


Codecov add env token from secret

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 68.53%. Comparing base (a5ad247) to head (10efb23).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #652      +/-   ##
==========================================
+ Coverage   67.43%   68.53%   +1.10%
==========================================
  Files         102      102
  Lines        7593     6426    -1167
==========================================
- Hits         5120     4404     -716
+ Misses       2162     1710     -452
- Partials      311      312       +1

Flag
Coverage Δ

unittests
68.53% <ø> (+1.10%)
:arrow_up:

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

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


Picked-Up Items

It would be nice if once the items had been picked up and put into the basket you could use a swipe-to-the-right gesture to slide the item off the screen.
This way the font could stay nice and readable , the list would be reduced as the shopping is done and unavailable items would be left behind on the list for the next shopping trip or store.
This may have been fixed in client version > 1.0 but I couldn't get version 1.1 to work.

Thanks for your feedback! I am going home tomorrow and will finally have time to fix the update problem with fdroid. V 1.1 behaves differently, you cross items of the list. However if you want, open an issue that you want the swiping for the list, and I'll try to make an option for that;)

Thanks @J-8 , the main issue was all items disappearing when I was unable to complete a shopping trip and being forgotten.
Either a tick box or sliding completed items are both good , I just thought the sliding may be easier to see and use.
Look forward to seeing the new version and thanks for writing such a cool tool!

Hey! Have you tried the new version yet? Does it work?

Not yet , as of 2015-09-24 0728 , F-Droid is still showing version 1.1 from 2015-09-04
I will upgrade as soon as it updates though.

Upgraded to version 1.3 via F-Droid and it no longer connects to the server.

That is really weird. Especially because after 5 seconds it should reach the connect timeout. So it probably has to do with somthing else...
Does the server show any connects from your device?
The thing is... app 1.0 does not work with the new backend version because the array names have changed. The question is, why it does for your wife.
I've just tried it with the new backend and app v1.0, which fails to work.
Could you check in CONSTANTS.php if BACKEND_VERSION on the top of the file is definded?
v1.3 should work just fine with release 1 of the backend, no need for the experimental.

I found the problem with my setup.
I only allow specific User-Agents to this VirtualHost so needed to add it 'ShoLiApp' to the list.
I also switched back to the Master branch and now my version 1.3 started working.
Upgraded the wife to 1.3 and its working perfectly for her , I didn't do a refresh when she was on 1.0 so perhaps thats why it looked like it was working.
In CONSTANTS.php I am seeing define('BACKEND_VERSION', 1.0);
Back to the original question , we can now click an item and it gets 'crossed out' , when my wife did this to some items and then refreshed the 'crossed out' items returned to being not 'crossed out' , when I refreshed I do not see her 'crossed out' items.
Thanks for the updates and support.

Ah good to know. Another thing for the wiki.
The synchronization of crossed out items is defined in the milestone v1.4.
Sure, of course!


Multiple Users Google Album Archive URL

If you have multiple user accounts on Google and you're not signed into your main one the URL changes from "https://get.google.com/albumarchive" to "https://get.google.com/u/1/albumarchive/" and this causes the extension to no longer work.
Could this possibly be fixed?  Would be handy for those of us with multiple user accounts.

Fixed!
I modified the filter URL to a more generic URL. Now, any URL started with "https://get.google.com/" will works.


Google storage and S3 support

May be able to start from:  https://github.com/ohsu-comp-bio/tesseract/blob/master/tesseract/filestore.py

Needs a matching StdFsAccess equivalent. I'm working on FTP, S3, and GridFTP for ELIXIR

Has there been any progress towards enabling S3/FTP?

@AlexanderSenf FTP was implemented, yes https://github.com/ohsu-comp-bio/cwl-tes/blob/master/cwl_tes/ftp.py

Thank you!


[core] Work on React 16.3.0 support

Closes #10852
Closes #10793

So, since this only seems to affect the core of it, why is this PR mentioned as the highlight "React 16.3 support" as if MUI fully supports it now? I still get a ton of deprecation warnings in the console. :/

@lookapanda Can you reproduce the warnings without react-hot-loader as a dependency?

Hi, sorry for the late response.
I'm using next.js in our project, I cannot disable the hot loader and using the production build, there are no warnings for obvious reasons.

@lookapanda As far as I have looked at the issue, react hot loader is adding legacy hooks to update the component as needed.


Add ability to change term for platforms

Command: platformterm (platform) (term)
Optional argument in newplatform sets the platform
add "addplatform" as an overload

See Issue #53


[doc] Make Hugo server not watch for changes to fix local previews.

Resolves #12322
New symlinks introduced by the Bazel migration were causing Hugo to hang on local previews because (it looks like) the procedure that watches files for changes doesn't ignore symlinks listed in the configuration's ignoreFiles. This passes --watch=false to Hugo server to avoid that issue (at the unfortunate cost of local previews no longer automatically
updating).
I've filed a bug with Hugo to see if we can get a nicer fix, like the watch procedure ignoring the things in ignoreFiles: https://github.com/gohugoio/hugo/issues/9838

@rswarbrick This is useful for running Hugo to test documentation fixes. I've also seen the issue it's fixing. Could you take a look and provide an approving review, or assign an appropriate reviewer?


Python type hints for the grpc client

I'm using the pb2 stubs, because they are async, but to improve the UX it would be nice to have type hints for autosuggestion, and to avoid type errors like:
Expected no arguments to "CreateCollection" constructor

Not sure whether we can actually do anything with grpc type hints since grpc is auto generated
However more common interface will be delivered soon for async and you won't be needed to use this grpc constructions https://github.com/qdrant/qdrant-client/pull/319

as of 1.6.1 AsyncQdrantClient is available, it provides an async version of a regular QdrantClient's interface


examples/std/cloud not works.

First the IP address look changed to [Ipv4(Address([34, 249, 85, 182])) and Ipv4(Address([34, 247, 113, 130]))]
But it not works if change to right IP address.
...
INFO  cloud] Response status: Forbidden

Hmm, I think we need a proper DNS client now that the endpoints moved to AWS load balancers, which may change IPs.  I'll see if we can get a fixed IP in front of it that might help.

@lulf BTW, do you have time to test this example? It not works on my testing, even change to right IP address.

I updated the IP and pushed a change to the main branch, and the GH action that runs this example is passing, so it should work:
https://github.com/drogue-iot/drogue-device/actions/runs/3846267558/jobs/6551369367

Hmm, I think we need a proper DNS client now that the endpoints moved to AWS load balancers, which may change IPs. I'll see if we can get a fixed IP in front of it that might help.

Looks IP address changed again. A proper DNS client is needed, I think.


Getting filter fields on Upper Side of page, in User and Taxes grid.

Framework Version : 0.1.1
Test Steps:

Click on filter.
Select any column.
Click outside of the filter.
Click again on Filter.

Framework Version: 0.1.4
Fixed


[ISTHMUS] Add substrait to sql support for join and aggregate.

LGTM

This looks good to me. Does this look good to you @JamesRTaylor ?

LGTM too, @jacques-n


Error when trying to change wallpaper

Installed version: 0.6.7-0extras20.04.2
When I try to change wallpaper, nothing happens. The following error is shown in terminal:

Invalid URL '/content/dam/photography/rights-exempt/best-of-photo-of-the-day/pod-archive-grid-2-sizeddown.ngsversion.1591291093226.adapt.1900.1.jpg': No schema supplied. Perhaps you meant http:///content/dam/photography/rights-exempt/best-of-photo-of-the-day/pod-archive-grid-2-sizeddown.ngsversion.1591291093226.adapt.1900.1.jpg?

Fixed. Thanks @garak


Not working with Slack

This is my configuration:
constructor(private oAuthService: OAuthService) {
    this.oAuthService.loginUrl = 'https://slack.com/oauth/authorize';
    this.oAuthService.redirectUri = '<redirect_uri>';
    this.oAuthService.clientId = '<client_id>';
    this.oAuthService.scope = 'commands users:read.email chat:write:bot channels:write channels:read users:read';
    this.oAuthService.tryLogin({
      onTokenReceived: context => {
        console.debug("logged in");
        console.debug(context);
      }
    });
}

Slack redirects to <redirect_uri> passing the parameters code and state.
http://<domain>/?code=<code>&state=<state>

Looking at the oauth page from slack (https://api.slack.com/docs/oauth), these are the following steps:

Authorization (https://slack.com/oauth/authorize)
Token Issuing (https://slack.com/api/oauth.access)

How can I make it work with Slack?

Slack seems to use the code flow. This library does not support it as it is not indented for single page applications. For SPA, the implicit flow ist best suited. In your very scenario, I would recommend to use implicit flow or an own id-provider that delegates to slack. After this the own id-provider can create a token for the SPA.


Bug in SelectionModel single selection mode

Bug, feature request, or proposal:
Bug
What is the expected behavior?
Single selection mode with empty initial selection should work
What is the current behavior?
Single selection mode doesn't handle empty selection
What are the steps to reproduce?
Source code that constructs a single-select model:
initialSelection = [];
allowMultiSelect = false;
selection = new SelectionModel(
this.allowMultiSelect, this.initialSelection);
What is the use-case or motivation for changing an existing behavior?
This model doesn't handle the scenario where there's no selection at initialization (e.g. empty table) when it's single selection mode.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Is there anything else we should know?
The problematic code is in SelectionModel's constructor...
constructor(
private _multiple = false,
initiallySelectedValues?: T[],
private _emitChanges = true) {
if (initiallySelectedValues && initiallySelectedValues.length) {
  if (_multiple) {
    initiallySelectedValues.forEach(value => this._markSelected(value));
  } else {
    this._markSelected(initiallySelectedValues[0]);  // BUG - we need to handle initiallySelectedValues being empty....
  }

  // Clear the array in order to avoid firing the change event for preselected values.
  this._selectedToEmit.length = 0;
}

}

The initiallySelectedValues being empty is already handled by the if (initiallySelectedValues && initiallySelectedValues.length) above. What version of the CDK are you running? The fix should be in 5.2.0.

Thanks for the info!  Found the issue and can close this bug...


[RFE] Introduce a command to "delete" or "remove" a toolbox

The joy of pet containers is in the ability to flush them out and start over.
Currently, I purge everything in ~/.local/share/containers/ whenever I need to start over.
Feel free to CLOSE if [RFE] don't belong in the Github Issues.

@ozoder already added rm and rmi in #45 and they are in toolbox-0.0.7. You might have to layer it in on Silverblue <= 29 because they are still stuck in updates-testing:

https://bodhi.fedoraproject.org/updates/FEDORA-2019-8b8b177139
https://bodhi.fedoraproject.org/updates/FEDORA-2019-52e62c5725

Or a workaround would be to use podman rm and podman rmi. The toolbox commands are just thin wrappers around them.
Thanks for stopping by. :)


✨[Feature Request]: Responsive Navbar with Toggle Button

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
The feature described is a Responsive Navigation Bar with a Toggle Button designed to adapt seamlessly across different screen sizes, particularly enhancing usability on mobile devices.
Use Case
The responsive navigation bar is a user interface component that adjusts its layout and behavior based on the screen size of the device being used. It includes a toggle button that allows users to show or hide the navigation links when viewed on smaller screens, such as smartphones and tablets.
Benefits
It will make the navbar responsive for the small screens.
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

I am a contributor participating in the GirlScript Summer of Code (GSSOC). I want to work on this feature. So, Please assign me.

please assign me this issue

Bro this is a level 2 issue bro. I have submitted a PR but it is closed. I can still create another PR if you are willing to merge I will submit another PR

@RohithChitrada Feel free to submit PR. You may not get immediate attention from me but within a week I will be back as my examination are ongoing


Add CQM.violations and CQM.iter_violations methods

Closes https://github.com/dwavesystems/dimod/issues/971

Codecov Report

Merging #975 (176f55f) into main (74ac365) will increase coverage by 0.03%.
The diff coverage is 95.83%.

@@            Coverage Diff             @@
##             main     #975      +/-   ##
==========================================
+ Coverage   84.18%   84.22%   +0.03%
==========================================
  Files          81       81
  Lines        7023     7047      +24
==========================================
+ Hits         5912     5935      +23
- Misses       1111     1112       +1

Impacted Files
Coverage Δ

dimod/constrained.py
92.66% <95.83%> (+0.19%)
:arrow_up:

Continue to review full report at Codecov.

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


(chore) - upgrade and simplify dev dependencies.

Problem
some dev dependencies were pretty far behind. it's important to stay up to date on these so we can pick up new features & improve performance and security of this package.
Solution
upgrade ~everything that's outdated. simplify the babel setup by using babel-preset-airbnb + an upgrade strip-flow-types plugin.
i did not upgrade flow-bin because we have some flow errors. this will be tackled in a separate branch.
note: i decided to use babel-preset-airbnb to stay in line with our choice for eslint config. we definitely don't need everything it supports for compliation, but it does help us stay up to date with future needs, if necessary.

Let's get this update. Not updating is causing us all kinds of grief with parser errors. The ecosystem is moving forward.


Provide DHS code generator compatible with node-client-api

Being able to generate NodeJS compatible code would make DHS attractive to the NodeJS community since it would simplify integration.

I don’t understand what you’re asking for, @laquereric. Can you please provide some more details?

I am still researching this but what I envision are all the pieces needed to engage the very high paced and high stakes NodeJS marketplace. The benefits that ML (and particularly DHS) offer are particularly dramatic to this market, I believe, because the existing infrastructure solutions are less mature than in the JAVA market ( JAVA vs Node ). Previous work ( for example the templates in slush-marklogic-node ) has bridges gaps in the 'story' but more attention will be required to modernize this layer.
The 'Code Generator' I referred to would take an .api file emitted by DHS and create from that the code required to call procedures inside ML. This might follow the JAVA model already implemented (creating classes with typed properties and streaming methods) or might take a different form to conform to 'best practice' in the NodeJS community and in the larger API community REST vs GraphQL. Note also my  Issue 509 that introduces the possibility of using TypeScript to better match the sematics of JAVA.

Microsoft and others have put A LOT into TypeScript
https://open.microsoft.com/2018/03/05/typescript-overview/. My personal
comfort and confidence increases DRAMATICALLY with TS and this mirrors
choices of projects
https://github.com/brookshi/awesome-typescript-projects like Angular
https://vsavkin.com/writing-angular-2-in-typescript-1fa77c78d8e8, but
users on other tools like React
https://medium.com/@amcdnl/react-typescript--647aa7d054a9 are
adopting it as well. This POSTGRES library
https://github.com/graphile/postgraphile library I think reflects what I
have in mind as to how type information can be useful throughout the
application stack. My journey has included C++, RUBY, some C#, some Scala,
some Elm etc and TypeScript seems to 'get it right' with type inference
etc. It even makes functional and dependancy injection programming fun for
a 'C guy' like me!  [BTW TypeScript just passed Ruby in popularity
https://thenewstack.io/typescript-getting-popular/]
I appreciate the concern that TypeScript might introduce complexity. Prior
to Babel 7 support https://iamturns.com/typescript-babel/ for TypeScript,
that could be a show-stopper (I know I struggled with tooling). Now Babel
simply erases type information but uses tsc (TypeScript compiler) to
enforce safety as a part of test. One gets the 'instant' interaction of
Javascript development and statically checked module interfaces, promises,
and inter-layer communication for production stability. Whenever needed, a
PURE Javascript application in ANY
https://kangax.github.io/compat-table/es6/ flavor (and Babel
https://babeljs.io/ integrates literally millions
https://kleopetrov.me/2016/03/18/everything-about-babel/ of flavors of
JS) is available.
On Tue, Nov 6, 2018 at 5:26 PM Erik Hennum<EMAIL_ADDRESS>wrote:

We would definitely benefit from an idiomatic Node.js API client for Data
Services endpoint modules -- especially given the popularity of Node.js for
AWS serverless solutions.
(Possibly that's what's headlined by internal issue DHFPROD-862?)
Should we hesitate to incur a TypeScript limitation as part of a Node.js
client for Data Services endpoint modules? I would have thought an
idiomatic interface would be much more useful than anything resembling a
Java API port.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/marklogic/node-client-api/issues/510#issuecomment-436431956,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAihfHb_YSddAfDbdU3K85Ygzx5mHN8ks5usgyigaJpZM4YMbzc
.

--
Eric Laquer
cell:<PHONE_NUMBER>

Closed in favor of #512 for now.


fix: remove syncthrough

Inlining is both simpler and faster.

We could do the same thing in the non chunked case and avoid pipe() with a possibly small memory & performance improvement, i.e. pipe does some not strictly necessary stuff.

Send a PR, I’m happy to experiment with this module.


AboutListTile colors cannot be changed when wrapped with Theme widgets

Hi everybody.
The buttons in the AboutDialoog seem to be using the default colors and ignore coloring themes defined higher up.
On Android, this results in "View Licences" and "Close" buttons in some shade of cyan (I believe this is the default Material accentColor).
On iOS, it results in standard blue buttons and a blue AppBar on the "Licences" page when clicking the "View Licences" button.
I'm grateful for any hints on how to work around this.

Hi @rgisi
does this code represent the situation you are describing?

sample code
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) => MaterialApp(
  theme: ThemeData(
    brightness: Brightness.dark,
    primaryColor: Colors.green[800],
    accentColor: Colors.red[600],
    fontFamily: 'Montserrat',
    textTheme: TextTheme(
      headline: TextStyle(fontSize: 72.0, fontWeight: FontWeight.bold),
      title: TextStyle(fontSize: 36.0, fontStyle: FontStyle.italic),
      body1: TextStyle(fontSize: 14.0, fontFamily: 'Hind'),
    ),
  ),
  home: MyHomePage(),
);
}

class MyHomePage extends StatefulWidget {

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  static void _showAboutDialog({
    @required BuildContext context,
    String applicationName,
    String applicationVersion,
    Widget applicationIcon,
    String applicationLegalese,
    List<Widget> children,
  }) {
    assert(context != null);
    showDialog<void>(
      context: context,
      builder: (BuildContext context) {
        return AboutDialog(
          applicationName: applicationName,
          applicationVersion: applicationVersion,
          applicationIcon: applicationIcon,
          applicationLegalese: applicationLegalese,
          children: children,
        );
      },
    );
  }

  @override
  Widget build(BuildContext context) =>Scaffold(
    appBar: AppBar(),
      body: Center(
        child: FlutterLogo(size: 200,),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: ()=> _showAboutDialog(
          context: context,
          applicationName:'name',
          applicationVersion:'1.0',
          applicationIcon: FlutterLogo(),
          applicationLegalese:'legal',
          children: <Widget>[Container()]
        ),
        child: Icon(Icons.question_answer),
      ),
    );
}

doctor
[√] Flutter (Channel dev, v1.12.1, on Microsoft Windows [Version 10.0.19013.1122], locale en-US)
    • Flutter version 1.12.1 at C:\src\flutter
    • Framework revision 86c91b12d8 (4 days ago), 2019-11-11 13:29:46 -0800
    • Engine revision 31cd2dfca2
    • Dart version 2.7.0

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\Users\iapic\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 3.5)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 41.1.2
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] VS Code, 64-bit edition (version 1.40.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.6.0

[√] Connected device (3 available)
    • Pixel 3a   • 965AY0WP5C • android-arm64  • Android 10 (API 29)
    • Chrome     • chrome     • web-javascript • Google Chrome 78.0.3904.97
    • Web Server • web-server • web-javascript • Flutter Tools

• No issues found!

I'm not sure to understand the issue,
the colors of the buttons respond to the different Theme;
can you provide more details about the issue?
thank you

Thank you for your input, @iapicca !
Indeed, your code works in a fresh sample project, which I guess should e kind of embarassing for me...
In my code, I use an AboutListTile() (but the behaviour is the same with showAboutDialog(). What strikes me as strange is that I can directly wrap the widget with
Theme(data: ThemeData(
    brightness: Brightness.dark,
    primaryColor: Colors.green[800],
    accentColor: Colors.red[600],
), child: AboutListTile(...))

The result: The color of the text in the AboutListTile changes (to unreadable white because of the dark theme), however the upcoming AboutDialog still has the same (default) button colors.

doctor
[√] Flutter (Channel stable, v1.9.1+hotfix.6, on Microsoft Windows [Version 10.0.18362.418], locale de-CH)
• Flutter version 1.9.1+hotfix.6 at C:\src\flutter
• Framework revision 68587a0916 (9 weeks ago), 2019-09-13 19:46:58 -0700
• Engine revision b863200c37
• Dart version 2.5.0
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at C:\Users\gregr\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
• All Android licenses accepted.
[√] Android Studio (version 3.5)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 41.1.2
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
[√] Connected device (1 available)
• LG H870 • LGH870f4432d2 • android-arm64 • Android 9 (API 28)
• No issues found!

Well, I guess that particular weirdness seems to be specific to my project.
Still grateful for any pointers on what to check - otherwise I'm okay with closing this issue.
Thank you!

CC @darrenaustin

Hi everybody,
Just a quick update in case that helps: We built our latest release with the new stable flutter version (1.12.3+hotfix.8) and the buttons in the AboutDialog are still acting weird, albeit in a slightly different way:

on iOS (no change): AboutDialog buttons ("View Licences" and "Close") are in the standard blue color, ignoring the Theme defined higher up. When clicking "View Licences", the licences page is in the standard blue color as well.
on Android: AboutDialog buttons are not cyan anymore, but white on white (and thus invisible, which is doubly annoying...). When clicking "View Licences", the licences page follows the design theme defined higher up.

Hope that helps.
Thanks for your awesome work!

... and with the current flutter dev version (1.15.17) as well, same behaviour still

Update: The "white on white" problem on Android apparently was a product of my own stupidity: A ButtonTheme with colorScheme.dark() caused it.
Now it's the default blue an Android an iOS, even when wrapping the AboutListTile directly in my Theme().

Code Sample
// Flutter code sample for AboutListTile

// This sample shows two ways to open [AboutDialog]. The first one
// uses an [AboutListTile], and the second uses the [showAboutDialog] function.

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

/// This Widget is the main application widget.
class MyApp extends StatelessWidget {
  static const String _title = 'Flutter Code Sample';

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: _title,
      home: MyStatelessWidget(),
    );
  }
}

/// This is the stateless widget that the main application instantiates.
class MyStatelessWidget extends StatelessWidget {
  MyStatelessWidget({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final TextStyle textStyle = Theme.of(context).textTheme.bodyText2;
    final List<Widget> aboutBoxChildren = <Widget>[
      SizedBox(height: 24),
      RichText(
        text: TextSpan(
          children: <TextSpan>[
            TextSpan(
                style: textStyle,
                text:
                    'Flutter is Googleâs UI toolkit for building beautiful, '
                    'natively compiled applications for mobile, web, and desktop '
                    'from a single codebase. Learn more about Flutter at '),
            TextSpan(
                style: textStyle.copyWith(color: Theme.of(context).accentColor),
                text: 'https://flutter.dev'),
            TextSpan(style: textStyle, text: '.'),
          ],
        ),
      ),
    ];

    return Scaffold(
      appBar: AppBar(
        title: Text('Show About Example'),
      ),
      drawer: Drawer(
        child: SingleChildScrollView(
          child: SafeArea(
            child: Theme(
              data: ThemeData(
                // brightness: Brightness.dark,
                primaryColor: Colors.green[800],
                accentColor: Colors.red[600],
              ),
              child: AboutListTile(
                icon: Icon(Icons.info),
                applicationIcon: FlutterLogo(),
                applicationName: 'Show About Example',
                applicationVersion: 'August 2019',
                applicationLegalese: 'Â© 2014 The Flutter Authors',
                aboutBoxChildren: aboutBoxChildren,
              ),
            ),
          ),
        ),
      ),
      body: Center(
        child: RaisedButton(
          child: Text('Show About Example'),
          onPressed: () {
            showAboutDialog(
              context: context,
              applicationIcon: FlutterLogo(),
              applicationName: 'Show About Example',
              applicationVersion: 'August 2019',
              applicationLegalese: 'Â© 2014 The Flutter Authors',
              children: aboutBoxChildren,
            );
          },
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel dev, 1.20.0-2.0.pre, on Mac OS X 10.15.5 19F101, locale
    en-GB)
    • Flutter version 1.20.0-2.0.pre at /Users/tahatesser/Code/flutter_dev
    • Framework revision 15a28159bc (9 days ago), 2020-06-23 04:52:58 -0700
    • Engine revision 91a63d6a44
    • Dart version 2.9.0 (build 2.9.0-19.0.dev 7e72c9ae7e)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.0
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.46.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.1

[✓] Connected device (5 available)
    • SM M305F      • 32003c30dc19668f          • android-arm64  • Android 10
      (API 29)
    • Taha’s iPhone • 00008020-001059882212002E • ios            • iOS 13.5.1
    • macOS desktop • macos                     • darwin-x64     • Mac OS X
      10.15.5 19F101
    • Web Server    • web-server                • web-javascript • Flutter Tools
    • Chrome        • chrome                    • web-javascript • Google Chrome
      83.0.4103.116

• No issues found!

Hi there. The AboutDialog now uses the app's primary color for the button text, this solves my specific problem and I'm okay with closing this issue if you think that makes sense.
(However, from my short tests it seems wrapping the AboutListTile in a Theme widget still doesn't do anything...?)

Reproduces as of stable 2.10.5 and master 2.13

flutter doctor -v
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  static const String _title = 'Flutter Code Sample';

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: _title,
      home: MyStatelessWidget(),
    );
  }
}

class MyStatelessWidget extends StatelessWidget {
  const MyStatelessWidget({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final ThemeData theme = Theme.of(context);
    final TextStyle textStyle = theme.textTheme.bodyText2!;
    final List<Widget> aboutBoxChildren = <Widget>[
      const SizedBox(height: 24),
      RichText(
        text: TextSpan(
          children: <TextSpan>[
            TextSpan(
                style: textStyle,
                text: "Flutter is Google's UI toolkit for building beautiful, "
                    'natively compiled applications for mobile, web, and desktop '
                    'from a single codebase. Learn more about Flutter at '),
            TextSpan(
                style: textStyle.copyWith(color: theme.colorScheme.primary),
                text: 'https://flutter.dev'),
            TextSpan(style: textStyle, text: '.'),
          ],
        ),
      ),
    ];

    return Scaffold(
        appBar: AppBar(
          title: const Text('Show About Example'),
        ),
        drawer: Drawer(
          child: SingleChildScrollView(
            child: SafeArea(
              child: Theme(
                data: ThemeData(
                  primaryColor: Colors.green[800],
                  colorScheme: ColorScheme.fromSwatch().copyWith(
                      primary: Colors.red, secondary: Colors.red[600]),
                ),
                child: AboutListTile(
                  icon: const Icon(Icons.info),
                  applicationIcon: const FlutterLogo(),
                  applicationName: 'Show About Example',
                  applicationVersion: 'August 2019',
                  applicationLegalese: '\u{a9} 2014 The Flutter Authors',
                  aboutBoxChildren: aboutBoxChildren,
                ),
              ),
            ),
          ),
        ),
        body: Center(
            child: ElevatedButton(
          child: const Text('Show About Example'),
          onPressed: () {
            showAboutDialog(
              context: context,
              applicationIcon: const FlutterLogo(),
              applicationName: 'Show About Example',
              applicationVersion: 'August 2019',
              applicationLegalese: '\u{a9} 2014 The Flutter Authors',
              children: aboutBoxChildren,
            );
          },
        )));
  }
}

flutter doctor -v (mac)
[✓] Flutter (Channel stable, 2.10.5, on macOS 12.3 21E230 darwin-arm, locale en-IN)
    • Flutter version 2.10.5 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5464c5bac7 (12 hours ago), 2022-04-18 09:55:37 -0700
    • Engine revision 57d3bac3dd
    • Dart version 2.16.2
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.65.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.39.20220405

[✓] Connected device (4 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:55555                    • android-arm64  • Android 11 (API 30)
    • iPhone 12 Pro (mobile) • 535317A4-921C-488F-B234-C2CC6D4AE5A1 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.3 21E230 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 100.0.4896.88

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 2.13.0-0.0.pre.808, on macOS 12.3 21E230 darwin-arm, locale en-IN)
    • Flutter version 2.13.0-0.0.pre.808 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2eed8cbf93 (10 hours ago), 2022-04-28 22:29:06 -0400
    • Engine revision dfdfe0b3b0
    • Dart version 2.18.0 (build 2.18.0-66.0.dev)
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! CocoaPods 1.10.2 out of date (1.11.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.66.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.39.20220405

[✓] Connected device (3 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5553 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)        • macos            • darwin-arm64   • macOS 12.3 21E230 darwin-arm
    • Chrome (web)           • chrome           • web-javascript • Google Chrome 100.0.4896.127

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.