Switch from using .operations/objects to store remote blobs to a folder in ~/.cache/sparcur/.

Keeping blobs in .operations/objects is a reasonable idea if we were going to do something more like git, but right now for the curation flow it doesn't make sense to keep the remote objects in the repository since we only ever pull them. Working out how manage sync between local files and the remote and keeping track of local versions is also not in scope right now.

This machinery is in place to do this, however in the current single dataset pipeline flow it is convenient to keep the objects associated with a single dataset to simplify deletion along dataset boundaries and not have to try to reconstruct which files in the cache are associated with which dataset, because the dataset is not tracked explicitly in the xattr metadata. Thus closing since this no longer the best idea in the context of single dataset workflows which are used in production and curation.


Fixes #1541, #1540 - LeaderProxyFilter, do not proxy to self, timeouts

also:

prevent excessive calling of MarathonSchedulerService.getLeaderData
since that results in synchronous Zookeeper calls (now we call
it once per request instead of four times)
provide a metric for getLeaderData
wait for consistent leadership data if necessary

I thought about some more possible improvements. So I reassign to myself.

Ok, this is hopefully it.

If you review this, please also think about whether we should keep https://github.com/mesosphere/marathon/issues/828 or not.

Looks good!
Points that crossed my mind while reading:
-for GET/HEAD/DELETE we could also think about redirecting - most http clients are capable of this out of the box.
-is there a chance, to deny proxy requests when a certain limit of outstanding requests is reached?
-in the case of non leader: is the UI served directly or from the leader?

Some answers:

Redirects: I would stick with proxying instead of redirecting for now. Redirecting might cause issues with some clients and can cause problems with incorrect firewalling.
Max number of concurrent requests: The code uses blocking IO and thus there is natural back-pressure. In combination with timeouts that should be fine.
UI: Yes, the UI is directly served from the contacted instance.

Ok, I updated the code to include an explicit encoding for the candidate info.

We need to handle EventStreams specifically: the current leader can change over time. The connections should be closed and reestablished.

See #1625 as reference to the missing stream handling.


typeof not correctly inferring the type

function add(a: number, b: number): number {
  return a + b;
}

type A = {
  b: number | Function,
}

const obj: A = {
  b: 1,
};

// won't error
if (typeof obj.b !== 'function') {
  add(obj.b, 2);
}

Incorrect type error:
src/Types.js:26
 26:   add(obj.b, 2);
       ^^^^^^^^^^^^^ function call
 26:   add(obj.b, 2);
           ^^^^^ function type. This type is incompatible with
 12: function add(a: number, b: number): number {
                     ^^^^^^ number

Flow 0.17.0.

I'm assuming here that Flow can correctly nail down the type of obj.b through one or more of these typeof conditionals. It actually seems to work in other cases (which is totally black magic, kudos).

This looks like a pretty simple bug. The is_function check should also include AnyFunT (which comes from the Function) annotation. It looks like there might be a similar bug in is_object w.r.t. AnyObjT from the Object annotation.

Oh, and thanks for reporting this issue!

Np, I think there are also some other issues involved here.
This correctly works without type error:
function add(a: number, b: number): number {
  return a + b;
}

type A = {
  b: number | Function,
}

const obj: A = {
  b: 1,
};

if (typeof obj.b === 'number') {
  add(obj.b, 2);
}

So does this, if what I said above (about my assumption) is true:
function add(a: number, b: number): number {
  return a + b;
}

type A = {
  b: number | Object,
}

const obj: A = {
  b: 1,
};

if (typeof obj.b === '') {
  add(obj.b, 2);
}

But this doesn't
function add(a: number, b: number): number {
  return a + b;
}

type A = {
  b: number | Object,
}

const obj: A = {
  b: 1,
};

if (typeof obj.b !== 'object') {
  add(obj.b, 2);
}

Error:
src/Types.js:25
 25:   add(obj.b, 2);
       ^^^^^^^^^^^^^ function call
 25:   add(obj.b, 2);
           ^^^^^ object type. This type is incompatible with
 12: function add(a: number, b: number): number {
                     ^^^^^^ number


Create an NPM Package

Hi,
It sould be interesting to create an NPM package. You already have a package.json on your project so it could be interesting to publish it on NPM
Thx

That is something that has been pending for looong time. Maybe now it is the time 👍 .
I will do it as soon as I have a moment, along with deployment automation. I am thinking something similar to what I do in react-rating repository.


Extract file, line from golint output

This and #118 cover the last linter hooks whose message info is not extracted from the output.

Merged in 29f319e. Thanks!


repo-sync-2024-01-31T14:45:37+0800

Fixed

Fix error in sgb predict
Remove advanced join type in psi

I have read the CLA Document and I hereby sign the CLA


Loading of fixtures vs application code vs "document ready" ;)

Really simple.
I have some .js files that have the canonical $(document).ready(function() { // do some stuff }
I have a fixture file with a bit O static HTML in it.
So, the problem is insanely simple..  the order of loading/running is this:
my .js file & its document onready 100% run
.
.
.
.
.
the fixture gets loaded.
Thus, if my document.ready expects anything to be in the DOM from the fixture file at all -- it isn't there.
App works 100% fine outside of tests :)
What the heck :)?

Consider preloading your fixtures? That's in the docs, and I think works how you want.

Jeremy Jackson

On Feb 9, 2015, at 7:41 PM, Roger Studner<EMAIL_ADDRESS>wrote:
Really simple.
I have some .js files that have the canonical $(document).ready(function() { // do some stuff }
I have a fixture file with a bit O static HTML in it.
So, the problem is insanely simple.. the order of loading/running is this:
my .js file & its document onready 100% run
.
.
.
.
.
the fixture gets loaded.
Thus, if my document.ready expects anything to be in the DOM from the fixture file at all -- it isn't there.
App works 100% fine outside of tests :)
What the heck :)?
—
Reply to this email directly or view it on GitHub.

Consider using the jQuery(function() {}) style instead of the document ready style as well. Reads nice imo.

Jeremy Jackson

On Feb 9, 2015, at 7:41 PM, Roger Studner<EMAIL_ADDRESS>wrote:
Really simple.
I have some .js files that have the canonical $(document).ready(function() { // do some stuff }
I have a fixture file with a bit O static HTML in it.
So, the problem is insanely simple.. the order of loading/running is this:
my .js file & its document onready 100% run
.
.
.
.
.
the fixture gets loaded.
Thus, if my document.ready expects anything to be in the DOM from the fixture file at all -- it isn't there.
App works 100% fine outside of tests :)
What the heck :)?
—
Reply to this email directly or view it on GitHub.

I saw the preload docs and tried it but it had absolutely no effect of any kind.  I'm running teaspoon 0.7.9 btw.
I have a fixture file with  in it
my jquery(function() {
does something with that foo
});
my test preloads the fixture.. then actually loads the fixture in a beforeEach
Then in a describe/it just does expect($("div#foo").length).toEqual(1);
And that always fails, since it is "zero" (since the div isn't in "teaspoons test executor DOM at the time of the expect being executed).

You know -- I think this might be somehow unrelated to teaspoon (versus some weird asset pipeline issue)
When I look at the network tab, while doing localhost:3000/teaspoon I see this:

my test has like:
//= require support/jasmine-jquery
//= require folder/myjs

preload fixture
describe
  beforeEach
    loadTheFixture
  describe
     it
       test for something
So the issue, is that my javascript literally is just loading/running before the fixture ever gets into the DOM (at all).
Just seems like nothing I can do "in the spec file and with teaspoon" can possibly fix this.
hrm.

And -- running things from the command line always yields totally different results than running localhost:3000/teaspoon.
I can make things pass in one environment -- then they fail in the other -- and vice versa.

$(document).ready(function () {
  var checkState = function() {
      if ($("#incident-header").length == 0) {
        console.debug($('div'));
        setTimeout(checkState, 500);
      } else {
        //actual code would go here
      }
    };
    setTimeout(checkState, 500);
});

As an example.  The above works just fine if I just run my app normally.
if I run a teaspoon test with the above, the $("#incident-header") will fail, 100% of the time.
The fixture I both preloaded, and loaded, has a div with that ID in it.

Is the above normal -- that when I do localhost:3000/teaspoon and view my network tab, that all my javascript is loaded BEFORE the fixture  (and thus, no matter what, anything in $(document).ready will be run no matter what before the fixture is available
Or is that not normal?  (trying to see if there is something about the rails app i'm working on that is doing something weird with asset loading order in general)

Not sure, loading is entirely up to you. I recommend writing your tests with proper dependency requirements. For instance, your spec helper should only load library code (eg. jQuery/moment/underscore etc.) and then your spec files should require what they use. That way your spec_helper is loaded, then your spec files (or spec file if running a focused spec), then any fixtures, then any implementation files. If you're loading everything from application.js or something similar you may have complications. I prefer the scalpel and load only what's need for a spec to pass, but understand a lot of people use a hammer. I don't have a solution for the hammer approach, which is sort of why I dislike it and don't use it.

It looks like you want to load your fixture into the dom before the beforeEach is called, fwiw.. how do you accomplish that? You may be able to accomplish that by injecting it when the file is executed, and not before the test is run -- like, before your test even runs you're already doing a bunch of setup in your application, no?
So that means your current situation is, javascripts are parsed, application is initialized, test run begins. After which point, your beforeEach is called.
Looks like you'll need to inject your dom manipulations before the application is initialized. You can experiment with manipulating the dom at the time the spec file is being executed, and not when the specs are being run -- if that makes sense. Try adding something to the dom at the base of the file and not within the beforeEach.
Another approach, and one that I'd recommend, is to not initialize your application until you need it. For the most part teaspoon is a unit test framework, but you can use it for more integration level tests if you want -- you just need to know the issues that can arise by doing so.


[Travis-CI] fixes, cleanup, build stages

https://docs.travis-ci.com/user/build-stages
https://docs.travis-ci.com/user/customizing-the-build/#build-matrix
https://docs.travis-ci.com/user/build-stages/matrix-expansion/

still not totally sure how this is supposed to work


[import/order] Regression in 2.27.5

The order rule in release 2.27.5 behaves differently than it did in 2.26.0. Specifically, if a file name has a sibling directory that starts with the same name, the files used to be listed before the directory. The order rule now wants to sort the files after the directory. As a reference, Prettier's behavior is consistent with 2.26.0.
To repro, add the following test case in tests/src/rules/order.js:
    // Option alphabetize: {order: 'asc'} and check for files that overlap a folder name
    test({
      code: `
        import a from "foo/bar-blah";
        import b from "foo/bar-other";
        import c from "foo/bar/blah";
      `,
      options: [{ alphabetize: { order: 'asc' } }],
    }),

2.26.0 sets the order to a, b, c. 2.27.5 wants the order to be c, a, b. The regression was introduced with #2396.

I got the same issue 👍
// 2.27.5
import { isArray } from '@ember/array';
import { inject as service } from '@ember/service';
import { dasherize } from '@ember/string';
import JSONSerializer from '@ember-data/serializer/json';
import JSONAPISerializer from '@ember-data/serializer/json-api';

// 2.26.0
import JSONSerializer from '@ember-data/serializer/json';
import JSONAPISerializer from '@ember-data/serializer/json-api';
import { isArray } from '@ember/array';
import { inject as service } from '@ember/service';
import { dasherize } from '@ember/string';

Running into this as well with relative imports:
// 2.27.5
import date from './date';
import { rootRealmGlobal } from '../globalObject';

// 2.26.0
import { rootRealmGlobal } from '../globalObject';
import date from './date';


Error while trying to establish a connection

After starting a new AP on Arch. I get back this error and it instantly stops.
$sudo create_ap wlp3s0 wlp3s0 WuTangLAN paulhein &
[1] 4523
$ Config dir: /tmp/create_ap.wlp3s0.conf.DhWY2IvL
PID: 4528
Network Manager found, set ap0 as unmanaged device... DONE
wlp3s0 is already associated with channel 40 (5200 MHz), fallback to channel 40
Creating a virtual WiFi interface... ap0 created.
ERROR: Your adapter can not transmit to channel 40, frequency band 5GHz.
Doing cleanup.. done
What could be the problem and how can i fix it?

wlp3s0 is already associated with channel 40 (5200 MHz), fallback to channel 40

Wifi adapters can only be on one channel at a time, so if you are already connected somewhere then create_ap use the channel that your adapter is already using.
In your case you are connected to an AP at channel 40 which is 5ghz, so it fallbacks to that channel.
ERROR: Your adapter can not transmit to channel 40, frequency band 5GHz.

Your adapter doesn't support transmission on channel 40, and probably doesn't support on any 5ghz channel. I can confirm this if you post your iw list.
There is no fix for this, only workarounds:

If the AP you are connected is dual-band then connect to its 2.4ghz channel
Use only AP that are on 2.4ghz channel
Buy an adapter that supports transmission on 5ghz channels

This is not a bug, so I'm closing the issue.

l;;l

Why do you close all those topics so fast ? I have the same issue but it works with windows, this is so simple at that and we only have you on linux to save us.

I had the same issue. I found a very ugly workaround to solve the problem. But I am sure this method does not apply to everyone. I have almost no knowledge about network configuration and my method may be harmful or even illegal. But anyway, it works for now.
Before explain everything, I had the following info with create_ap.
$ sudo create_ap -c 149 wlp0s20f3 wlp0s20f3 aaaaaaaa aaaaaaaa
---------------------------------------------------------------------------------------------------------------------
Channel number is greater than 14, assuming 5GHz frequency band
Config dir: /tmp/create_ap.wlp0s20f3.conf.Mjxxt8ku
PID: 30569
Network Manager found, set ap0 as unmanaged device... DONE
wlp0s20f3 is already associated with channel 36 (5180 MHz), fallback to channel 36
Creating a virtual WiFi interface... ap0 created.

ERROR: Your adapter can not transmit to channel 36, frequency band 5GHz.

Doing cleanup.. done

Moreover, I have the following Intel card,
$ lspci -vv | grep "Network" -A10
----------------------------------------------------------------------------------------------------
00:14.3 Network controller: Intel Corporation Wireless-AC 9560 [Jefferson Peak] (rev 10)
        Subsystem: Intel Corporation Device 0030
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at 604b10c000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: iwlwifi
        Kernel modules: iwlwifi

Other new network adapter may also work but I am not sure.
According to the ArchWiki/software_access_point, I checked the following information:
$ iw list
----------------------------------------------------------------------------------------------------
Wiphy phy1
... ...
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * P2P-client
                 * P2P-GO
                 * P2P-device
        Band 1:
... ...
        Band 2:
... ...
                Frequencies:
                        * 5180 MHz [36] (22.0 dBm) (no IR)
                        * 5200 MHz [40] (22.0 dBm) (no IR)
                        * 5220 MHz [44] (22.0 dBm) (no IR)
                        * 5240 MHz [48] (22.0 dBm) (no IR)
                        * 5260 MHz [52] (22.0 dBm) (no IR, radar detection)
                        * 5280 MHz [56] (22.0 dBm) (no IR, radar detection)
                        * 5300 MHz [60] (22.0 dBm) (no IR, radar detection)
                        * 5320 MHz [64] (22.0 dBm) (no IR, radar detection)
                        * 5340 MHz [68] (disabled)
                        * 5360 MHz [72] (disabled)
                        * 5380 MHz [76] (disabled)
                        * 5400 MHz [80] (disabled)
                        * 5420 MHz [84] (disabled)
                        * 5440 MHz [88] (disabled)
                        * 5460 MHz [92] (disabled)
                        * 5480 MHz [96] (disabled)
                        * 5500 MHz [100] (22.0 dBm) (no IR, radar detection)
                        * 5520 MHz [104] (22.0 dBm) (no IR, radar detection)
                        * 5540 MHz [108] (22.0 dBm) (no IR, radar detection)
                        * 5560 MHz [112] (22.0 dBm) (no IR, radar detection)
                        * 5580 MHz [116] (22.0 dBm) (no IR, radar detection)
                        * 5600 MHz [120] (22.0 dBm) (no IR, radar detection)
                        * 5620 MHz [124] (22.0 dBm) (no IR, radar detection)
                        * 5640 MHz [128] (22.0 dBm) (no IR, radar detection)
                        * 5660 MHz [132] (22.0 dBm) (no IR, radar detection)
                        * 5680 MHz [136] (22.0 dBm) (no IR, radar detection)
                        * 5700 MHz [140] (22.0 dBm) (no IR, radar detection)
                        * 5720 MHz [144] (22.0 dBm) (no IR, radar detection)
                        * 5745 MHz [149] (22.0 dBm)
                        * 5765 MHz [153] (22.0 dBm)
                        * 5785 MHz [157] (22.0 dBm)
                        * 5805 MHz [161] (22.0 dBm)
                        * 5825 MHz [165] (22.0 dBm)
                        * 5845 MHz [169] (disabled)
                        * 5865 MHz [173] (disabled)
                        * 5885 MHz [177] (disabled)
                        * 5905 MHz [181] (disabled)
... ...
        valid interface combinations:
                 * #{ managed } <= 1, #{ AP, P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1,
                   total <= 3, #channels <= 2
... ...

I have removed some irrelevant output. There are something important to notice:

in the Supported interface modes section, I have AP.

in the section valid interface combinations, I have

                               #channels <= 2

If you have the same, then I think my method will work for you. If I am not wrong, the author of create_ap assumes that people have network adapter that only has #channels <= 1, which is also the case in the ArchWiki, so create_ap only use one channel. (Note that linux-router has the same limitation).

check the available frequencies, in my case, they are

                       * 5745 MHz [149] (22.0 dBm)
                       * 5765 MHz [153] (22.0 dBm)
                       * 5785 MHz [157] (22.0 dBm)
                       * 5805 MHz [161] (22.0 dBm)
                       * 5825 MHz [165] (22.0 dBm)

In my case, my WIFI  connects with channel 36, but I cannot use that channel to setup the AP, because
                       * 5180 MHz [36] (22.0 dBm) (no IR)

shows no IR. For more info about no IR, see (https://superuser.com/questions/809282/wifi-5ghz-ap-mode-what-does-no-ir-means-and-can-i-bypass-it).
However, according to 1, my adapter and driver support 2 channels at the same time, so I may use 149, 153, ... 165 to setup my AP, while my WIFI connects at channel 36.
(ugly, not complete) Solution ( but it works)
edit create_ap, find
https://github.com/oblique/create_ap/blob/016fd2b38f87d56344b87b588a6c887628884482/create_ap#L1531-L1546
change https://github.com/oblique/create_ap/blob/016fd2b38f87d56344b87b588a6c887628884482/create_ap#L1542
to
CHANNEL=$CHANNEL

then
$ make install
$ sudo create_ap -c 149 wlp0s20f3 wlp0s20f3 aaaaaaaa aaaaaaaa
--------------------------------------------------------------------------------
Channel number is greater than 14, assuming 5GHz frequency band
Config dir: /tmp/create_ap.wlp0s20f3.conf.gc79h5dk
PID: 21234
Network Manager found, set ap0 as unmanaged device... DONE
wlp0s20f3 is already associated with channel 36 (5180 MHz), fallback to channel 36
Creating a virtual WiFi interface... ap0 created.
Sharing Internet using method: nat
hostapd command-line interface: hostapd_cli -p /tmp/create_ap.wlp0s20f3.conf.gc79h5dk/hostapd_ctrl
Configuration file: /tmp/create_ap.wlp0s20f3.conf.gc79h5dk/hostapd.conf
Using interface ap0 with hwaddr fc:77:74:9c:a2:2b and ssid "aaaaaaaa"
ap0: interface state UNINITIALIZED->ENABLED
ap0: AP-ENABLED
ap0: STA 30:07:4d:6a:14:10 IEEE 802.11: authenticated
ap0: STA 30:07:4d:6a:14:10 IEEE 802.11: associated (aid 1)
ap0: AP-STA-CONNECTED 30:07:4d:6a:14:10
ap0: STA 30:07:4d:6a:14:10 RADIUS: starting accounting session 38E9E7A614375856
ap0: STA 30:07:4d:6a:14:10 WPA: pairwise key handshake completed (RSN)

Of course one can do more work to make it better, e.g., the above info fallback to channel 36 is incorrect,. But the above is the key point, I don't want to put more effort into that.


Feature Request: Automatic Directory Creation for Specified Path in PVs

Description:
Currently, when defining a PersistentVolume (PV) using the CephCSI driver, operator need to manually create the specified directory path on the CephFS file system before mounting the PV. If the directory does not exist, mounting the PV fails with an error stating that the path does not exist.
Here is an example of a PV configuration where the path needs to be pre-created:
apiVersion: v1
kind: PersistentVolume
metadata:
  name: ceph-pv6
spec:
  capacity:
    storage: 1Gi
  storageClassName: csi-cephfs-sc
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Delete
  cephfs:
    path: /volumes/default-group/test6
    user: kubernetes
    secretRef:
      name: csi-fs-secret

Requested Feature:
It would be beneficial if the CephCSI driver could support automatic creation of the specified path if it does not already exist. This feature would allow users to specify any path in the PV configuration, and the driver would ensure the path is created on the CephFS before attempting to mount the volume.
Benefits:

Automation: Improves the automation capabilities by removing the need for manual pre-configuration steps.
Flexibility: Increases flexibility in managing storage resources.

Kind regards,
Christophe

@christophenoel The above is not a CSI PV it's an intree PV which is deprecated and removed. we dont create or delete any directories cephcsi uses subvolume concepts.

@christophenoel closing now as its not possible, feel free to reopen if any further discussion is required.

@christophenoel you can write a Volume Populator which does this for you. Have a look at https://kubernetes.io/docs/concepts/storage/persistent-volumes/#volume-populators-and-data-sources for details.
One example is KubeVirt/CDI that downloads a VM image onto a PVC before an application pod can use it.


Permit overriding of the Makefile HUB and TAG

Also set the HUB and TAG consistently with other projects.
The manifest itself would need manual modification to choose a
different HUB and TAG. Rather than introduce helm for such an action
I'd prefer some other method...

@sdake: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gencheck_operator
7b0c7a4da98ce6425d4dcba3c2096dd546621f04
link
/test gencheck_operator

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Add function to get hdf5 column by name

In the current version of the SDK, a user can access the individual hdf5-columns via indexing:
column0 = item.hdf5[0].get()
column1 = item.hdf5[1].get()

The column-objects also have names and column-ids.
assert 0 == item.hdf5[0].column_id
assert "Zeit" == item.hdf5[0].name

Additionally, he/she can also can download the whole dataframe:
df = item.hdf5.to_df()

However, the user should also be able to access the dataframe through the name or the id, like e.g.:
column0 = item.hdf5.get(name="Zeit")
column1 = item.hdf5.get(id=1)

This minor function needs to be implemented.

Has been solved in 14.0rc9


Error dowloading seq-core50 dataset

I am trying to reproduce the results on seq-core50. However, I get the following error while downloading the dataset:
Files already downloaded and verified
Downloading dataset
Downloading 1rm2gE74AeEXaHRP8tHvtYnmokZ5Td-Yb into ./output/mammoth/CORE50/core-50-processed.zip... Done.
/volumes1/sofwares/anaconda3/envs/mammoth/lib/python3.7/site-packages/google_drive_downloader/google_drive_downloader.py:78: UserWarning: Ignoring unzip since "1rm2gE74AeEXaHRP8tHvtYnmokZ5Td-Yb" does not look like a valid zip file
warnings.warn('Ignoring unzip since "{}" does not look like a valid zip file'.format(file_id))
Traceback (most recent call last):
File "/volumes1/projects/mammothssl/main.py", line 131, in
main()
File "/volumes1/projects/mammothssl/main.py", line 124, in main
train(model, dataset, args)
File "/volumes1/projects/mammothssl/utils/training.py", line 111, in train
_, _ = dataset_copy.get_data_loaders()
File "/volumes1/projects/mammothssl/datasets/seq_core50.py", line 169, in get_data_loaders
train=True, download=True, transform=transform)
File "/volumes1/projects/mammothssl/datasets/seq_core50.py", line 127, in init
root, train, transform, target_transform, download)
File "/volumes1/projects/mammothssl/datasets/seq_core50.py", line 66, in init
('train' if self.train else 'test', num))))
File "/volumes1/sofwares/anaconda3/envs/mammoth/lib/python3.7/site-packages/numpy/lib/npyio.py", line 417, in load
fid = stack.enter_context(open(os_fspath(file), "rb"))
FileNotFoundError: [Errno 2] No such file or directory: './output/mammoth/CORE50/processed/y_train_00.npy'
Unzipping...
Process finished with exit code 1
Please help resolve this issue.

hi @hastings24 , could you reupload please the CoRe50 dataset on Drive? Many thanks!

Sorry for the delay,
I updated seq_core50.py with a new link.
Best.


Add current targeted Studio deployment w/ static RDD link to README

Explicitly denotes which Studio deployment is currently targeted by the codebase

Stop plugging your site

please go away with your proprietary links

please go away with your proprietary links

True https://github.com/latte-soft/rdd


Dependency on CommonJS module 'flat' causing Angular 10 warnings

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request
[ ] Other... Please describe:

Current behavior
When building or starting the Angular App the following warning is displayed:
WARNING in<EMAIL_ADDRESS>depends on 'flat'. CommonJS or AMD dependencies can cause optimization bailouts.
For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies

Expected behavior
No warning is displayed.
Minimal reproduction of the problem with instructions

Create a new Angular CLI project with Angular v10
Add transloco

What is the motivation / use case for changing the behavior?
While it's only a warning, it would be nice if it's fixed or suppressed.
The offending file is the helpers.ts (https://github.com/ngneat/transloco/blob/153682a4c4f3268ee20146c5f94f1baaa965008b/projects/ngneat/transloco/src/lib/helpers.ts#L2) because the flat package (https://github.com/hughsk/flat) is a CommonJS module.
Possible solutions are changing the flat package to something that uses proper ES6 modules or the inline the flat function into this package given the fact that the code is not complex or really big.
Environment

Angular version: 10.0.2

Browser:
n/a

For Tooling issues:
- Node version: 12.18.2
- Platform: macOS 10.15.5

Others:

@timbru31 This is a change introduced in angular-cli v10.
You can remove the warning by passing the allowedCommonJsDependencies build option.
You can open a PR for implementing the flat functionality in transloco 😄

I'm aware what caused the issue and that I can suppress the issue (which is what we currently do) :) - I wanted to raise an issue for your awareness. Feel free to close it, but at least others will find a solution in the comments.
Sadly, I do not have enough spare time to submit a PR inlining the flattening.

I would like to work on this but do not really understand how to develop/test inside projects. I have also opened an issue on flat, maybe they will update flat to be ES Module complaint.
This is what I have so far but it is not "safe".
import { paths } from 'deepdash-es/standalone';
import { get } from 'lodash-es';

export function flatten(obj: Translation): Translation {
  return paths(obj).reduce((a, b) => ((a[b.toString()] = get(obj, b)), a), {});
}

to fix this issue on terminal
in angular.json put this line :
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"allowedCommonJsDependencies": [
"ngneat-transloc",
"ngneat-transloco-locale",
"flat"
],

A fix for this issue has been merged in the flat lib, but they're failing to release it for months.
Not sure if having a dependency on a package that's maintained so sparingly makes sense for transloco.

@DmitryEfimenko there is another issue that's open related to flat.
Transloco and ~9M other consumers depend on that package, I hope they will release a new version soon, if they won't I'll consider a different solution.


Reduced liberal use of the autorelease pool

improved resource management
fixed comments

thx

You're welcome, thanks for the code!


Remove not-directly-used includes

Based on clang analysis.

Need to be careful on STL files; various compilers implicitly include things that others don't. For example, iota is one that is compiler-dependent.

The check I run only considered explicit includes. I.e. if a symbol from explicitly included header is used in current translation unit, the header it's not marked as unused.
But there is a potential problem if a symbol is defined in different headers by different STL implementations. One of the implementation should be non standard conformant in this case. Is that what you mean?

@s-barannikov Yup, it can happen that macOS and Linux (for example) disagree over whether including header “H” is sufficient to get a prototype for function “F”. So we might need to give this a try on Mac and Windows, at a minimum. I can give it a shot on our CI systems sometime in the next couple days, if someone else doesn’t get to it first.

@aprocter Thanks!

I ran a build on our internal CI systems, and everything seems to have compiled successfully, but CI failed for clang-format issues. I'll run a clang-format fix and try again, but if everything compiles it's probably fine.

#3416


Change makeGroupInvitation to makeGroupMembership in the docs

The README say to call the method makeGroupInvitation on the group object which does not exist, instead we have to use makeGroupMembership.

@pradel Thank you for the PR. Our team is looking at this.


gs1.1 update get gossip peers

Update getGossipPeers to suit gs 1.1 needs

add filter param - filter peers before shuffling, will be used to filter peers by score, mesh inclusion, etc
add gossipsub v1.1 protocol check - filter peers by gossipsub v1.0 and gossipsub v1.1 protocol strings

Codecov Report

Merging #90 into gsv1.1 will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           gsv1.1      #90   +/-   ##
=======================================
  Coverage   80.00%   80.00%
=======================================
  Files           1        1
  Lines          10       10
=======================================
  Hits            8        8
  Misses          2        2

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 ee32618...b582120. Read the comment docs.


[Feature Request] Use EasyEngine as non-privileged user

https://ptpb.pw/It5e
The steps brew install takes to ensure sudo isn't required again.
https://www.jujens.eu/posts/en/2017/Jul/02/docker-userns-remap/
Use Linux user namespaces to fix permissions in docker volumes
The information can help to allow non-privileged(non-root) user to run EasyEngine, be it MacOS or Linux.

There is another interesting article https://www.jujens.eu/posts/en/2017/Feb/15/docker-unix-socket/
Might help us overcome 25 site limit without a patch.


Expanded fuzzing

Expands the core fuzzing test to cover:

Adding and triggering Listeners
Randomly marking nodes as dirty
Borrowed props

(CI will likely fail initially because this uncovers some new issues)

Amazing, thank you!


Metrics by VHost

Is this a BUG REPORT, PERFORMANCE REPORT or FEATURE REQUEST?:
Feature Request
It would be good to view metrics from a team perspective or by VHost so I could see Requests per second against a VHost + Path. Right now the metric support allows those numbers against a backend, but it might not show the whole picture for what a team would be interested in.

Posted an Envoy issue: https://github.com/envoyproxy/envoy/issues/3351

Looks like there will be a few options for us in the near future. Adding blocked-pending-pr from envoy/contour land.


Outdated content

The third point under the API Permissions is no longer valid.
"Select scopes (permissions) that the confidential client application will ask for on behalf of a user. Select user_impersonation, and then select Add permissions.".
The only way to select user_impresonation is add "Azure Healthcare APIs" and not "Azure FHIR for DICOM". Please remove this point, and correct it to Azure Healthcare APIs.

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

ID: c4200685-77d6-8dde-de0d-994e1f823f7a
Version Independent ID: e82ce3da-e56a-caf2-af16-0d6d0a79eaed
Content: Register a client application in Azure Active Directory for the Azure Health Data Services
Content Source: articles/healthcare-apis/register-application.md
Service: healthcare-apis
GitHub Login: @dougseven
Microsoft Alias: dseven

Thank you for your feedback! We have assigned this issue to the author to review further and take the next course of action.

@mike-urnun-msft
Hi Mike, you may close this issue out.  I just updated the article and made the changes via PR 199675.

We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Add a lot more versions/variants (more Java versions, more base images, more OpenJDK implementations)

This implements a large number of new variants based on OpenJDK alternatives listed in https://hub.docker.com/_/openjdk (more Corretto, Temurin, Semeru, SAP, etc).
This is not intended as a target for merging, but rather as a placeholder for discussion (to make the scope of the problem more obvious than it has previously been).
See especially https://github.com/docker-library/tomcat/pull/248#issuecomment-1329908153, which summarizes this well:

Sorry, our current "support matrix" is already out of control, so we're still trying to decide the best path forward. :bow:
To give you an idea the scale I'm talking about, we currently support four concrete versions of Tomcat across ~3 versions of Java (both JDK and JRE) on up to three different implementation+distro combinations.  That's ~49 different builds of Tomcat, which is then multiplied by the list of supported architectures for each image we're FROM. :grimacing:
If we take this PR to the extended conclusion, that balloons to ~6 versions of Java (again, ~two builds each, JDK and JRE), from ~5 vendors across even more variants -- I have a test branch that includes those full changes, and it takes the matrix of supported versions from 49 all the way up to 228 (which still doesn't factor in the way the matrix expands along the supported architectures axis -- that's just explicit tag combinations that all support at least amd64).  Limiting that to just the three LTS versions of Java takes us down to 147, but that's still really unmanageable (even the 49 we're at now is pretty high up there). :face_exhaling:
One thing we've considered is updating the templating to generate all 228 variants, but only officially build/publish one or two "tracks" (perhaps just Temurin, for example).  That would take our actual supported list way down, but I wouldn't want to publish that many Dockerfiles unless our automated builds are also testing them, and at 228 we'd be pushing the limits of what GitHub Actions is willing to accept. :scream:
So, as you can see, this isn't as simple as just merging this PR. :disappointed:

Example docker build command to build a version/variant from this PR (adjust as needed for other combinations):
docker build --pull 'https://github.com/docker-library/tomcat.git#refs/pull/299/head:10.1/jdk17/semeru-jammy'

To make sure I get this right - the only problem is the GitHub actions limit? Have you tried reaching out to GitHub and request more capacity considering the impact of this project? Or to the ASF to pick up some of this load? If they won't bother, it should be possible to find a commercial sponsor to contribute the build systems for something like this.

No, the GitHub Actions limits are only an example to help illustrate how large this matrix becomes -- the bigger issue is the load in both maintenance and downstream in the official images program.

 One thing I would like to point out is that all the variations mentioned but one are variations of OpenJDK using the Hotspot JVM. From that perspective, they are quite similar (even intentionally, perhaps). But IBM Semeru Runtimes Open Edition is the only JDK variant that uses OpenJDK class libraries with the Eclipse OpenJ9 JVM. As such, it's a valuable variant simply for the significant difference it represents. OpenJ9 can provide different performance characteristics (faster startup and lower memory consumption) that some users might find attractive[1]. While it might not be practical to include all the different variations, adding an IBM Semeru Runtime Open Edition variant might be worth it.
I'm the chief architect for IBM Semeru Runtimes and a project lead at Eclipse OpenJ9 (and OMR) so if you have any questions, I would be happy to help.
[1] https://blog.openj9.org/2019/11/20/tomcat-tradelite7-performance-of-openj9-with-default-shared-cache/

To continue on the last comment, OpenJ9 has important performance features for s390x and we would really appreciate a docker container with Semeru for 390x which is currently not available.

Honestly, the number of tags showing on the Dockerhub doesn't scare me, nor do I think it's getting out of control. There is a significant value in all the variants. Just as we are picky and only want Corretto on AL, there are specific reasons why others want other Xs on Ys.
If the tag list is to be trimmed, I'd argue it can be trimmed horizontally. I.e., :

10.1.8-jdk20-temurin-jammy,
10.1-jdk20-temurin-jammy,
10-jdk20-temurin-jammy
jdk20-temurin-jammy
10.1.8-jdk20-temurin,
10.1-jdk20-temurin,
10-jdk20-temurin,
jdk20-temurin,
10.1.8-jdk20,
10.1-jdk20,
10-jdk20,
jdk20

I see value in having 10.1.8, 10.1 and 10 variants.
The rest seem to be excessive. I.e., it assumes that:

JDK 20 is the "default", if not specified
Tomcat 10 is the default, if not specified
Temurin is the default JVM, if not specified
Jammy is the default distro, if not specified

I think that folks that use those would need to say, at least, which major version of Tomcat they want, which VM and distro they want. Things are just too different between the variations here, and one truly doesn't care they might as well pick randomly. So this list can be shortened to:

10.1.8-jdk20-temurin-jammy,
10.1-jdk20-temurin-jammy,
10-jdk20-temurin-jammy

And the last one is questionable as well, as there is enough incompatibilities between minor versions of Tomcat, it should be expected that it's specified.
Of course, reducing this list now would throw a wrench to folks who're already using the shortcuts, as they would stop pulling the "latest" things for them.

Regarding the maintenance - I agree that this is a problem, considering just the changes that were needed for yum->dnf support. I think that the current framework is not too maintenance-friendly. I think that if the script was broken up into individual script files for each distro, things would be easier. If a distro stops working, the builds are not published (for that distro) until somebody goes and fixes it. Yes, there will be more duplication in the script code, but it will be offset by not having the as much work in the JQ files, and reduced regressions.

Any luck we can have the alpine corretto images as there is a vulnerability every week now

We are looking to migrate our applications to Spring 6, servlet spec 6.0 and thus Tomcat 10.1.x, however since we are on AWS we would be looking to use Corretto jdk 17 and Amazon Linux.
Might there be an update as to where the support matrix is headed @tianon?

I'm not really at a place to do that validation work right at the moment, but if someone else could take one of the Dockerfiles in this PR and validate that the changes necessary to support it are minimal and work (ideally just changing FROM :crossed_fingers:), I'd be willing to consider adding it to my matrix here.

Regarding my last request, in case you missed it: https://github.com/infosiftr/tomcat/pull/2


Find Appropriate formatter for html files

Currently, All files except HTML files are formatted automatically by pre-commit.
I should find an HTML formatted which understands go language to format our hugo website. I haven't found any which does our job well.

https://github.com/theNewDynamic/language-hugo-vscode/issues/9

https://github.com/NiklasPor/prettier-plugin-go-template


[Java] Add CheckStyle to ensure code standardization

Fixes #962
Proposed changes

Add linting standardized rules in linting-rules.xml
Add excluded files for auto-generated files in linting-excluded-files.xml
Add CheckStyle plugin to root project be triggered at Maven Build Lifecycle

As a side note, for the sake of demonstration of the POC, the tool won't make the build fail on warnings.
Screenshot
In this screenshot, the 'Fail on warning' switch in CheckStyle is turned on.

Hi @tellarin
Yes, in addition to suppression of folders you can supress checks with code regions delimited by comments.
The default ones are CHECKSTYLE:OFF and CHECKSTYLE:ON but they can be changed adding the following lines to the linting-rules.xml file
<module name="SuppressionCommentFilter">
  <property name="offCommentFormat" value="BEGIN LINT IGNORE SECTION"/>
  <property name="onCommentFormat" value="END LINT IGNORE SECTION"/>
</module>

More information on complex suppression filters like using RegEx, custom error messages and such can be found at CheckStyle's Documentation


New package: OpenXL v1.0.0

Registering package: OpenXL
Repository: https://github.com/bhftbootcamp/OpenXL.jl
Created by: @gryumov
Version: v1.0.0
Commit: 1b9936441efb183f043e67009b1f08bf65c88d87
Reviewed by: @gryumov
Reference: https://github.com/bhftbootcamp/OpenXL.jl/commit/1b9936441efb183f043e67009b1f08bf65c88d87#commitcomment-143963226
Description: OpenXL is a lightweight package designed to easily read Excel 2010 xlsx/xlsm/xltx/xltm files

The interface is similar; however, this is not a direct translation. When selecting names, it's not feasible to review all existing libraries in various languages. The chosen name was deemed logical for this type of library.

When selecting names, it's not feasible to review all existing libraries in various languages

I typed the name into Google. When you start a project, that's the minimum due diligence I would expect before choosing a name.

I typed the name into Google. When you start a project, that's the minimum due diligence I would expect before choosing a name.

There are many standard names, and although the programming language Julia was developed later than others, it does not mean that all names must already be taken by someone. I don't consider this a compelling argument. However, if you are sure of its contentiousness, I won't argue, and you can close the PR. But to be honest, I haven't Googled it; I just enjoy coding in Julia and giving things clear names.

if you are sure of its contentiousness

I'm not. This might well be fine.
However, I'm not going to facilitate merging this, so you'll have to gather support for this PR elsewhere.  Every one of your packages requires hours of community debate. At best, it's rude. At worst, your insistence on reusing names from existing projects without any connection to that project could give the impression that your organization is laying the groundwork for a supply chain attack.

But to be honest, I haven't Googled it

You NEED to start doing some basic research on your project names before you start the project. Do not submit further packages without typing their name into Google and carefully considering whether that name might be problematic.

Google and carefully considering whether that name might be problematic.

I think there's nothing to discuss here; for us, any name that doesn't have a length of 100500 characters would have been problematic.

impression that your organization is laying the groundwork for a supply chain attack.

OMG, I wouldn't make such statements.

I'm not making any kind of statement. I'm telling you that continuing to ignore the feedback that you've gotten from the community really only leaves two possibilities: Either you don't care or disagree with the guidelines, in which case you should not be submitting to General. Or you're ignoring them on purpose. I can't speculate about your motivations in that case, but it certainly raises some red flags.

 I think that with this statement, you are damaging the development of the Julia community.

I don't think so.

Our company is also a sponsor, https://juliacon.org/2024/

Yes, I'm very aware of that. I find it very strange that you would sponsor a conference if you have no interest in being a good member of the community represented by that conference. I don't know what kind of checks the JuliaCon organizing committee runs on sponsors, but BHFT being a sponsor is not something that puts me at ease.

I don't understand why we deserve such an attitude towards our community.

Because the way you handle your package development and registration raises plenty of red flags. It's entirely in your hand to change your approach, making your packages more than welcome.

Or you're ignoring them on purpose. I can't speculate about your motivations in that case, but it certainly raises some red flags.

I don't understand which community guideline we are violating by giving the package a normal and understandable name. OpenXL is just as generic a name as JSON, Tables, DataFrames, Plots, Graphs, etc.

Most directly, Rule 8 in https://pkgdocs.julialang.org/dev/creating-packages/#Package-naming-rules (which was formulated specifically in reaction to your past behavior).
To be clear, I'm not actually that strongly opposed to OpenXL specifically. If there's a maintainer who wants to merge it, I'm not going to complain. I am very opposed to the continuing pattern of willfully registering potentially problematic names.

Is this a direct translation of https://rdrr.io/cran/openxlsx/man/openXL.html? If not, the name would be misleading.

Regarding point 8, I can defend the name by saying that the package you mentioned above is not called OpenXL; it is called openxlsx.

it is called openxlsx

You're right! My mistake! Consider this unblocked, then.
There's also https://www.ibm.com/products/open-xl-cpp-aix-compiler-power, but I don't think I have a problem with that… there isn't really much room for confusion there. That being said, you could also just go with OpenExcel.jl.
My apologies for the drama… However, I really want to impress on you the need to be more mindful of the packaging conventions in the Julia community. You should definitely do a little bit of research on the name of any package you'd want to register, and choose names that are in line with the "long and descriptive convention (unless you can come up with something good/clever that's shorter). But the conventions of many other languages for a certain type of short name are not what would be expected in Julia, and your comment

any name that doesn't have a length of 100500 characters would have been problematic

definitely gives me the impression that you really haven't internalized that point. So that might continue to be a problem for the future…
[noblock]

Initially, I thought about OpenExcel, but Excel is a program for opening **xl**sx, xlsm, xltx, and xltm files. Since we are developing our own software to manage these files, I decided not to use the name of an existing similar program. Because of this, I suggested OpenXL, which is associated with the extensions it supports.


Make itunes-valid feed & submit to itunes

submitted to itunes on Monday Oct 5. I've heard it takes about a week


Adds Google Calendar visualization

Hey @buren, thanks for this PR as well 👍  and again, sorry for the long delay. I don't plan to support additional chart types at this time, but will let you know if that changes.


Version of checkout gh-action is incorrect

Hi,
Thank you very much for this useful package! I'm trying to bring it to (gh-)action, but the version of the checkout action seems to be determined or pasted incorrectly.
The GitHub-actions version updater wants to change:
- uses<EMAIL_ADDRESS>+ uses<EMAIL_ADDRESS>
which is not a valid version in the repo or marketplace.
Please have a look at the current failing action as an example. But it also failed already earlier when the version was still v2
I appreciate any help/hints/work-arounds.

Is this maybe dependent on the formatting of the yaml file? The version change is not consistent throughout the file.

With the reformatting of the yaml file, it seems to work now. Thank you.


fileinfo produces import-table hash of the empty string from a PE binary with imports

fileinfo produces import-table hash of the empty string from a PE binary with imports.
Input
Run
$ retdec-fileinfo -v FILE

where FILE is:

000B1F22029C979C27C7310712CAE66B8ADE37378023487277AD7C86D59A34F6

Output
[..]
Import table
------------
Number of imports: 127
MD5              : d41d8cd98f00b204e9800998ecf8427e
SHA256           : e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
[..]

Expected output
If there are 127 imports, why are the MD5 and SHA256 values hashes of the empty string?
$ echo -n '' | md5sum
d41d8cd98f00b204e9800998ecf8427e  -
$ echo -n '' | sha256sum
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  -

I would expect the hashes to be different from the ones of the empty string. Or, alternatively, I would expect the import table to be empty.
Configuration

Commit: c31c316565a2781808313cad31fae2fc2963a03c (current master)
64b Arch Linux, GCC 8.2.1, Debug build of RetDec

127 import entries were parsed, but it looks like they are all junk. Hashes are computed from imports' function names and library names. If these are not valid, import is skipped - not used in hash calculation. In this case, all imports were skipped and the resulting string used for computation was empty.

Our hash computation algorithm should be the same as the one in YARA, so we looked into what YARA comes up with. It computes a different hashes, because it uses a different junk data. Imports are also corrupted in objdump and LIEF. It would be very hard to try to implement the same import parsing as YARA, to get the same data to work with.
Therefore, we decided to detect this case (an empty string used in hash computation) and not produce hashes at all. There is also a new method in fileformat called ImportTable::invalidImpHash(). Fileinfo will not produce hash entries if they are empty, so they won't be in output JSON and consumers cannot work with them.
Possible future problems. Since it is not guaranteed that we parse the same imports as YARA, the source data for hash computation may differ. If there is at least one valid import entry, hash gets computed (source string is not empty), but it may differ from hash YARA would compute. If this happens and becomes a problem, we should not try to duplicate YARA's import parsing mechanism, but we should try to detect that imports are corrupted and mark the computed hashes as invalid.


[LANG] EQ/NE operators support for StringImm expressions

Thanks for contributing to TVM!   Please refer to guideline https://docs.tvm.ai/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from Reviewers.

Please look into the CI error


Release-Date for 4.13 with support for psr/http-message 2.x ?

Hi. Is there a planned release-date for 4.13 with support of
"psr/http-message": "^1.1 || ^2.0",

Here is the new release:
https://github.com/slimphp/Slim/releases/tag/4.13.0

thanks


YI Dome Guard QFUS r35gb

Hi,
my new cam YI Dome Guard QFUS r35gb FW: 9.0.46 arrived today.
Tried flashing r30gb and r40ga without success.
Is there any chance to get the cam hacked?

I need a backup of the flash to check if I can support it.

backup.zip
Prego!

This file should grant telnet/ssh access.
r35gb_0.1.9.tar.gz
Now I need a copy of the framebuffer file /dev/shm/fshare_frame_buf

fshare_frame_buf.zip
Here it is!

Please, test this archive.
r35gb_0.1.9.tar.gz
It should work.
You could find problem with rtsp, snapshot and/or ptz.

Thanks soo much!
Shoud I give feedback here or should I open issues if I find some?

Here.
Probably we will need to change a few more bits.

Serial number is not shown:

RTSP is working fine. Tested both streams wit VLC and tinyCam.

ONVIF PTZ is working for pan and tilt. The zoom is not working. Tested with tinyCam Pro

Snapshot is working but there is an additional timestamp at the top left corner which does not show the correct time. The cam is not a european model so I needed to choose American server at YiHomeApp to get the cam logged in. Its possibly a DST issue. Timezones are set up correct in the app and in the cams web UI.

Thats what I figured out so far. I tested the points you mentioned and set up the cam the way I did with my other hacked Yi cams. Every thing else seem to be fine. Of course this was not an in depth test.

Zoom? Does the camera have a zoom?
You should set GMT in the app and set the correct time in the configuration web page.
The serial number is not ok. Please read the file /tmp/mmap.info with hexdump and tell me the offset of the serial number "QFUS..."

Zoom is menitoned on the package and here.

How to set GMT? This is the App setting:

and this is the web UI setting:
CET-1CEST,M3.5.0,M10.5.0/3
Should be correct for Germany.
I do not know/own hexdump. Tried wit NPP:

Cursor is after QFUS at position 789.

Zoom is menitoned on the package and here.

I think that this is a feature of the app. Not available on the cam.
But I could investigate.

How to set GMT? This is the App setting:  and this is the web UI setting: CET-1CEST,M3.5.0,M10.5.0/3 Should be correct for Germany.

In the app, set GMT0 universal... (I don't remember exactly the name).
The web ui is correct.

I do not know/own hexdump. Tried wit NPP:  Cursor is after QFUS at position 789.

hexdump is embedded in the hack, you can run it using ssh.

Ok, I dont need the zoom feature. Save your time.
With:
hexdump -C /tmp/mmap.info
I found QFUS @ 00000310 so 784

Ok.
I will publish an official release asap.

Thanks a lot Sir, I am looking forward to test it!

The r35gb Beta works like a charm on Yi Dome Guard YRS. Super Thanks @roleoroleo! Only the Serial Number is not displayed correctly, as mentioned.
Unfortunaltely Presets in PTZ are not working - seems like an issue of the camera itself: https://forum.yitechnology.com/t/yi-dome-guard-preset-bookmarks-unavailable/6523/20 Any suggestions?

I can confrirm the presets point too.

i have the same camera, after hack using r35gb the camera works fine until that i start to config the camera then i got stuck and the move up and stay there.

@rt400 maybe you have to enable swap, ths helped with stability issues on my side.

@croessi
@Rushmed
Is the PTZ working with the original app?

@roleoroleo The PTZ is working fine in the App and in the Hack. But Presets/Bookmarks are missing in the App (as described here: https://forum.yitechnology.com/t/yi-dome-guard-preset-bookmarks-unavailable/6523/20). I tried other ONVIF Apps with the same result. I have a Dome U as well, where Presets are working fine. Strangely I do not understand why it is disabled in the Guard, since it is abel to move back in the exact same position after reboot.

Probably it's a bug.
But I'm not able to enable presets if they don't work in the app.

Is the PTZ working with the original app?

Nope

does r35gb still in beta ?

does r35gb still in beta ?

Yes.
@Rushmed
I need more details about the differences between two mmap.info
Could you please send me a copy of both versions?
If you don't want to publish them here please send me a mail to the address of my paypal.

@roleoroleo Where to get these files?

i want to help to... what do you need ?

@Rushmed I need more details about the differences between two mmap.info Could you please send me a copy of both versions? If you don't want to publish them here please send me a mail to the address of my paypal.

Sorry, forget this post.

Serial is already fixed, for ptz I think we need to wait for an upgrade from yi.

i still get "000000" on serial

Yes, fixed but not pushed.

@rt400 rtsp low quality is missing...

Does low res stream work?
If I remember correctly @Rushmed tested both streams.

Is it enabled in your config?

Is it enabled in your config?

Sorry i see it now that is only on high, change it to both and now i have low also .

@roleoroleo How can I get package with the your fixes ?

At the moment I didn't build a package.
If you want, I could send you a beta.
Try this rtsp server, audio should work, but no auth is supported:
rtsp_server.gz
Remember to kill wd_rtsp.sh and rRTSPServer before to start it.

thanks, i make a bulid witk your wiki. there is a way to upload it to the camera? or i have to put it on SDCARD ?

You have to update the sd card.

Hi, bought it on Ali but the PTZ profiles are also not working. Must be a bug on YIs side cause even with unhacked cam they arent working.

Thank you! Do you have an r30gb to compare against? As far as I understand, the r35gb is nearly two years newer - does that show?

No I dont have a r30gb. I have a h201c which has working PTZ profiles with another @roleoroleo  mod.


build(codepush): codepush sdk integration

This PR resolves PHIRE-156
Description

Part 1 of codepush integration.
Integrates the codepush SDK following docs here:
https://learn.microsoft.com/en-us/appcenter/distribution/codepush/rn-get-started
Some notes for changes outside the docs:

previously we were not updating version number in the native files and instead updating at build time, codepush tooling relies on this version number being up to date, I will update the scripts to updates this as part of release
a patch was necessary to workaround an issue with Android release builds, see HACKS.md entry for more details
until we start releasing to prod or integrate dev tooling the app should function as before with bundled js in betas

Follow-ups

Add scripts + ci + sentry integration for creating releases
Add dev tooling for running releases in beta

PR Checklist

[x] I have tested my changes on iOS and Android.
[ ] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Integrate codepush sdk - Brian, George

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Dev changes (Integrate codepush sdk - Brian, George)

  Generated by :no_entry_sign: dangerJS against dc0558e0fc7b4ff05f5d278c683342e693c7f2bc

I think we can merge this one? Unless we do a hot fix with code push, which I would suggest we don't for a while the app should be functioning as before with this PR.

👏


feat: add taqueria docker image

This change adds a docker image for taqueria to the GitHub registry enabling us to use taq with docker. Because the ligo and flextesa plugins use docker themselves we end up with a docker-in-docker scenario where we need to mount volumes and set the image workdir correctly for those plugins to work.
Here are some examples of how to use the image:
docker run -it --rm \
  --volume "$(pwd):$(pwd)" \
  --volume "/var/run/docker.sock:/var/run/docker.sock" \
  --workdir "$(pwd)" \
  ghcr.io/ecadlabs/taqueria:1106-merge-4a353b8 \
  taq init -p test-project

docker run -it --rm \
  --volume "$(pwd):$(pwd)" \
  --volume "/var/run/docker.sock:/var/run/docker.sock" \
  --workdir "$(pwd)" \
  ghcr.io/ecadlabs/taqueria:1106-merge-4a353b8 \
  taq compile

@GImbrailo one thing I noticed is that the analytics prompt for most commands will cause an error if the user answers yes like this:
Help improve Taqueria by sharing anonymous usage statistics in accordance with the privacy policy? (Y/n) Y
error: Uncaught (in promise) Error
export const toPromise = (f)=>pipe(f, mapRej((taqErr)=>new TaqError.E_TaqError(taqErr)), promise);
                                                       ^
    at file:///home/runner/work/taqueria/taqueria/taqueria-utils/taqueria-utils.ts:134:56
    at call (https://cdn.jsdelivr.net/gh/fluture-js/Fluture@14.0.0/dist/module.js:501:29)
    at Transformation.MapRejTransformation$rejected (https://cdn.jsdelivr.net/gh/fluture-js/Fluture@14.0.0/dist/module.js:1853:37)
    at Transformation.transformationHandler [as rejected] (https://cdn.jsdelivr.net/gh/fluture-js/Fluture@14.0.0/dist/module.js:1105:19)
    at rejected (https://cdn.jsdelivr.net/gh/fluture-js/Fluture@14.0.0/dist/module.js:977:27)
    at Interpreter.Reject$interpret [as _interpret] (https://cdn.jsdelivr.net/gh/fluture-js/Fluture@14.0.0/dist/module.js:890:3)
    at drain (https://cdn.jsdelivr.net/gh/fluture-js/Fluture@14.0.0/dist/module.js:1047:25)
    at settle (https://cdn.jsdelivr.net/gh/fluture-js/Fluture@14.0.0/dist/module.js:970:15)
    at rejected (https://cdn.jsdelivr.net/gh/fluture-js/Fluture@14.0.0/dist/module.js:977:5)
    at EncaseP$rej (https://cdn.jsdelivr.net/gh/fluture-js/Fluture@14.0.0/dist/module.js:1275:7)

Hey @GImbrailo, wanted to check in on where we left off with this before you take off


Initial webview rendering is too slow

Whenever I clear the app and launch it again, the loading speed becomes incredibly slow.
I'm wondering why this happens and how we can make it faster, similar to how it loads quickly when opened in a browser. Unlike the fast and instantaneous loading in a browser, the app takes a significantly longer time to load in a webview every time.
Is there any solution/workaround that improves the loading performance?

I've still found this to be true with cacheEnabled.


Create a smoketest

Simple smoketest that starts the relay server and does a simple query to check if it running

We have e2e test. Not needed anymore.


refactor!: rename to ape-geth to ape-node

What I did

fixes: #1843
How I did it

How to verify it

Checklist

[ ] All changes are completed
[ ] New test cases have been added
[ ] Documentation has been updated

@NotPeopling2day if you can double-check all the updates to node + UX feels okay (wording update doesn't cause any confusion in using ape)


refactor: place user facing types in the Extism.Sdk namespace

Only the types defined by the native runtime should be in the Extism.Sdk.Native namespace
Use file level namespace (this has caused a bit of a mess in the GitHub diff viewer)

This PR is ready for review


Add support for affinity matching

What type of PR is this?
/kind feature
What this PR does / why we need it:
Adds support for affinity matching with flavors
Which issue(s) this PR fixes:
Fixes #3
Special notes for your reviewer:
still need to add integration tests

/hold

/retest

/lgtm

squashed
/hold cancel

/lgtm

/retest

/retest

/retest


Javascript arrays to lists

Hi, just as a follow up question - I was wondering how javascript arrays might be transformed into the list structure required for the queries.

The list is a regular JS array. The elements must be lvars.


Add optional contrasting borders.

Borders should be useful to outline the limit of the image in very bright or dark environments

Small set of corners (borders) have been added.
Could be made optional...

Done with 0.9.0


prototype loadBalancerSourceRanges

Would be a cool selling point for out-of-tree windows-service-proxy if we can quickly prototype a hacky implementation of a  ACL based HNS firewall that blocks loadbalancerSourceRanges .
After we get it working if folks want to they can also bring the change back into the mainline kube proxy ....
xref https://github.com/kubernetes/kubernetes/issues/120033
For newcomers

starting up by reading https://windowsnetworking.readthedocs.io/en/latest/ would be a good place to get a feel for how the HNS API and KPNG on windows works.
then reading up on https://github.com/microsoft/hcsshim/blob/main/internal/hns/hnspolicy.go#L9 to see how to add those ACLs

https://github.com/microsoft/hcsshim/blob/27df1b95b69faaeca97de86d25d68f48f89bc0b9/internal/hns/hnspolicy.go#L90

@daschott
aclPolicy := hns.ACLPolicy{
	Type:            hns.ACL,
	Action:          hns.Block,
	Direction:       hns.In,
	RemoteAddresses: loadBalancerSourceRanges
}


boot/zephyr: add nrfx watchdog kick during boot region copy

copy of https://github.com/zephyrproject-rtos/mcuboot/pull/34
This fixes soft-bricks that we have seen as a result
of the bootloader being interrupted by the watchdog.
Signed-off-by: Emil Hammarstrom<EMAIL_ADDRESS>Signed-off-by: Andrzej Puzdrowski<EMAIL_ADDRESS>

@pabigot The spin behavior would not be of interest to us. It would delay the fw upgrade process for too long. But it might be of interest to others.
The other two wdt feeds you mention are good points and should be raised in a separate issue as the wdt feed macro is used by others already.
Note that this commit message is now misleading should have been updated in the previous PR (and now both @nvlsianpu). The soft bricks are related to mcuboot 1.3 and the message carried over from a migration, one of the bricked images have been reviewed by @utzig.
I think this is a good addition for the NRF chips as we do not want the wdt reset reason to be watchdog after a successful fw upgrade. If we are in the midst of swapping the reset is unnecessary, even if MCUBoot continues where it left off.

This patch enables implementation of MCUBOOT_WATCHDOG_FEED() macro which is used to feed watchdog while doing time consuming operation.
User case is that that mcuboot started while watchdog have been running (started by the application).
Wisely designed application should feed the watchdog just before it reset the SoC.
I think mcuboot should feed watchdog right after startup additionally.
This patch is to simple to provide solution for lot of possible watchdog hw implementation (STM32 window WDT for instance).
It just enables usage what is already implemented

Even then if somebody uses a very short-duration timeout it still might fail.

That a fact, for such a case need to identify timing consume routines and put feed where needed. I would add such call to MCUBOOT_WATCHDOG_FEED() once needed, once we encounter such a need.

In this situation you have no idea when the watchdog will actually fire, because you don't know when it was last fed: it might reset at any instant. The only robust solution is to detect a running watchdog as soon as MCUBOOT gains control, and spin in place doing no harm until the watchdog fires. Then you'll return to mcuboot in a clean environment in which you can do what you need to do regardless of how the application (or mcuboot) configures the watchdog.

I also have been considered re-entering to the mcuboot via watchdog reset - but this looks like as time consuming and definitely as another feature to me.


Provide stackit-cert-manager-webhook via Helm-Repository

Is your feature request related to a problem? Please describe.
When using the stackit-cert-manager-webhook in a Helm chart as dependency, we cannot use a link to a Github release.
Describe the solution you'd like
It would be great if the helm charts could be provided in a helm repository (e.g. via Gtihub pages), so that a helm Chart.yaml such as
apiVersion: v2
name: cert-manager-deps
version: 0.1.0
description: Deploying external-dns to manage DNS records with Stackit webhook container
dependencies:
  - name: stackit-cert-manager-webhook
    version: 0.2.0
    repository: https://stackitcloud.github.io/stackit-cert-manager-webhook

would work
Describe alternatives you've considered
At this moment, we have to download the build chart as .tgz file (or all chart files) and put it in the /charts directory (still this causes issue, e.g. when updating via helm.
Search

[X] I did search for other open and closed issues before opening this.

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Additional context
No response

Hey @FabianKlemmAA
we will check our possibles and come back after it.


Gradle errors with Dokka in IntelliJ

Describe the bug
The aws-sdk-kotlin project fails to load in IntelliJ in some circumstances. When the bug is present, Gradle loads/refreshes fail with the error message:
Could not create task ':aws-runtime:dokkaGfm'.
Cannot change dependencies of dependency configuration ':aws-runtime:dokkaGfmPlugin' after it has been resolved.

This error isn't reproduced when building from the command line. Disabling all Dokka components in Gradle scripts resolves the issue.
Expected Behavior
I expect to be able to load/refresh aws-sdk-kotlin within IntelliJ.
Current Behavior
See above description.
Steps to Reproduce

Check out a fresh copy of aws-sdk-kotlin
Load the project in IntelliJ
Observe that the Gradle load fails with the above error message
Refresh/reload Gradle within the IDE
Observe that the Gradle load fails with the above error message

Possible Solution
Unknown, all I have is a workaround of completely disabling all Dokka components in Gradle scripts. This allows Gradle loading to succeed although it's not viable as a long-term solution.
Context
This issue used to occur only occasionally for me but now happens reliably for every new and existing workspace.
Your Environment

AWS Kotlin SDK version used: 0.10.0-SNAPSHOT
Platform (JVM/JS/Native): JVM 1.8.311
Operating System and version: Windows 10 20H2
IDE version: IntelliJ 2021.2.2 Ultimate Edition, Build #IU-212.5284.40, built on September 13, 2021

Issue no longer occurs with latest codebase.

For folks who may stumble on this in future... for me this was caused by a mismatch between the Kotlin version I had in IntelliJ (1.6) vs what was set in the gradle.properties (1.7). Upgrading my Kotlin version for IntelliJ resolved the issue.


Apply ruff linter

This tool could be helpful for improving code quality and catching potential bugs
https://github.com/astral-sh/ruff

I would suggest to replace flake8 with Ruff as Ruff is much faster and you can with the same tool covered isort linting or bandit issues... Happy to take it if you agree 🐰


Heap buffer overflow in OP_EPUSH

The following input demonstrates a crash:
class NoMethodError
def initialize(a,b,c)
    q
    ensure e
    end
end

a

ASAN report:
==25457==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x000107d877f8 at pc 0x0001041dfbea bp 0x7ffeeb386e50 sp 0x7ffeeb386e48
WRITE of size 8 at 0x000107d877f8 thread T0
    #0 0x1041dfbe9 in mrb_vm_exec (mruby:x86_64+0x1000aabe9)
    #1 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #2 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #3 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #4 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #5 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #6 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #7 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #8 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #9 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #10 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #11 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #12 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #13 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #14 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #15 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #16 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #17 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #18 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #19 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #20 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #21 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #22 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #23 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #24 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #25 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #26 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #27 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #28 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #29 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #30 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #31 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #32 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #33 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #34 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #35 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #36 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #37 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #38 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #39 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #40 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #41 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #42 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #43 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #44 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #45 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #46 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #47 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #48 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #49 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #50 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #51 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #52 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #53 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #54 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #55 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #56 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #57 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #58 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #59 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #60 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #61 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #62 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #63 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #64 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #65 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #66 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #67 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #68 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #69 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #70 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #71 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #72 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #73 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #74 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #75 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #76 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #77 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #78 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #79 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #80 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #81 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #82 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #83 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #84 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #85 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #86 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #87 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #88 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #89 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #90 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #91 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #92 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #93 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #94 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #95 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #96 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #97 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #98 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #99 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #100 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #101 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #102 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #103 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #104 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #105 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #106 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #107 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #108 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #109 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #110 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #111 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #112 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #113 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #114 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #115 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #116 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #117 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #118 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #119 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #120 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #121 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #122 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #123 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #124 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #125 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #126 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #127 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #128 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #129 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #130 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #131 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #132 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #133 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #134 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #135 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #136 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #137 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #138 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #139 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #140 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #141 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #142 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #143 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #144 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #145 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #146 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #147 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #148 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #149 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #150 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #151 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #152 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #153 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #154 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #155 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #156 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #157 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #158 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #159 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #160 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #161 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #162 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #163 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #164 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #165 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #166 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #167 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #168 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #169 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #170 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #171 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #172 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #173 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #174 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #175 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #176 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #177 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #178 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #179 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #180 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #181 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #182 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #183 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #184 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #185 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #186 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #187 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #188 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #189 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #190 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #191 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #192 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #193 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #194 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #195 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #196 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #197 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #198 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #199 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #200 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #201 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #202 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #203 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #204 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #205 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #206 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #207 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #208 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #209 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #210 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #211 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #212 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #213 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #214 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #215 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #216 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #217 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #218 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #219 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #220 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #221 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #222 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #223 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #224 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #225 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #226 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #227 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #228 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #229 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #230 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #231 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #232 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #233 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #234 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #235 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #236 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #237 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #238 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #239 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #240 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #241 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #242 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #243 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #244 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #245 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #246 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #247 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #248 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #249 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #250 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #251 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #252 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #253 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #254 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #255 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)

0x000107d877f8 is located 0 bytes to the right of 524280-byte region [0x000107d07800,0x000107d877f8)
allocated by thread T0 here:
    #0 0x1045f91a7 in wrap_realloc (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x571a7)
    #1 0x1041bf255 in mrb_default_allocf (mruby:x86_64+0x10008a255)
    #2 0x104315d18 in mrb_realloc_simple (mruby:x86_64+0x1001e0d18)
    #3 0x1043164e1 in mrb_realloc (mruby:x86_64+0x1001e14e1)
    #4 0x1041df805 in mrb_vm_exec (mruby:x86_64+0x1000aa805)
    #5 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #6 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #7 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #8 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #9 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #10 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #11 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #12 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #13 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #14 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #15 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #16 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #17 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #18 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #19 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #20 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #21 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)
    #22 0x1041ca0af in mrb_run (mruby:x86_64+0x1000950af)
    #23 0x1041c78a7 in mrb_funcall_with_block (mruby:x86_64+0x1000928a7)
    #24 0x1041c3d49 in mrb_funcall_argv (mruby:x86_64+0x10008ed49)
    #25 0x10417fe02 in mrb_obj_new (mruby:x86_64+0x10004ae02)
    #26 0x1042c0c79 in mrb_no_method_error (mruby:x86_64+0x10018bc79)
    #27 0x10415277a in mrb_method_missing (mruby:x86_64+0x10001d77a)
    #28 0x1041e2a4a in mrb_vm_exec (mruby:x86_64+0x1000ada4a)
    #29 0x1041d2fcd in mrb_vm_run (mruby:x86_64+0x10009dfcd)

SUMMARY: AddressSanitizer: heap-buffer-overflow (mruby:x86_64+0x1000aabe9) in mrb_vm_exec
Shadow bytes around the buggy address:
  0x100020fb0ea0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100020fb0eb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100020fb0ec0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100020fb0ed0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100020fb0ee0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x100020fb0ef0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00[fa]
  0x100020fb0f00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x100020fb0f10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x100020fb0f20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x100020fb0f30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x100020fb0f40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==25457==ABORTING
Abort trap: 6

This issue was reported by https://hackerone.com/flamezzz

Thanks for all the fixes @matz! ❤


Backport of vitessio/vitess#12194

Description
This is a backport of https://github.com/vitessio/vitess/pull/12194 generated by:
$ sha="b9ce758c6e60bffeea025676bd15d5a0b17c0c70"
$ g cherry-pick $sha
$ g commit --amend -m "backport of https://github.com/vitessio/vitess/pull/12194"

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


touchdrag?

Just curious if you've thought about adding support for touch events as well.

That could be a nice feature, yep. Not sure what would be the best way to do it though.
Clicking on the element, and then sliding? Or just remove the custom behavior and replace everything with a basic number input?

The first would be cooler but harder. The latter would be a great start.
On Fri, Mar 13, 2015 at 8:18 AM Tommy<EMAIL_ADDRESS>wrote:

That could be a nice feature, yep. Not sure what would be the best way to
do it though.
Clicking on the element, and then sliding? Or just remove the custom
behavior and replace everything with a basic number input?
—
Reply to this email directly or view it on GitHub
https://github.com/tleunen/react-clickdrag-mixin/issues/1#issuecomment-78991073
.

It's just that I'm not sure about the best behavior with the touch. Usually I'm not a fan of number input when I'm using a tablet. So maybe transform it as a slider (range input) ?

That sounds great — support is pretty good

Omg I'm sorry. I thought we were in the react-number-editor repo :/
So yes, react-clickdrag should have touch features ;)

I've update the code. I completely rewrote the code to be a react component instead of a mixin.
And I added an option to enable touch events.
This is now version 2.0.0


Autocomplete dropdown focuses on disabled item

Reproduction
https://formkit.link/46f713b17ed9a63540c20e0dcf0025d1
Description:
When the first item in the autocomplete dropdown array is set to disabled, the dropdown still focuses on this item when opened. This behavior seems counterintuitive, as the dropdown should skip disabled items and target the next available (non-disabled) item instead.
Expected Behavior:
The autocomplete dropdown should automatically focus on the first non-disabled item when opened.
Actual Behavior:
The autocomplete dropdown incorrectly focuses on the disabled item, requiring manual navigation to reach an active option.
Steps to Reproduce:
1 .Populate an autocomplete dropdown array.
2 .Set the first item in the array to disabled.
3 .Open the autocomplete dropdown.
Environment
• Linux: [e.g. Ubuntu]
• Browser [e.g. chrome, brave]
• Version [e.g. 22]

@F4eNn This should be resolved at FormKit Pro v0.127.10


SQL function in SELECT clause

Hi
Is there any way to perform data conversion etc. in the SELECT caluse, like in WHERE?
For example:
SELECT NVARCHAR(uuid) AS uuid
FROM table

In my mind it could work almost as when doing this in WHERE:
$db = new medoo($dbconf);
$db->get('table', '#NVARCHAR(uuid) AS uuid');

When prefixing the table with a pound sign, the parenthesis syntax for aliasing tables would naturally break, but why not just disable it altogether then and allow for writing it yourself?

+1

+1

+1
See https://dev.mysql.com/doc/refman/5.7/en/functions.html for all possibility
and https://dev.mysql.com/doc/refman/5.7/en/group-by-modifiers.html
It would be usefull to wrote something like this :
$medoo->select(
    'table',
    [
       'HEX(uuid) (uuid)',
       'LCASE(name) (name)'
       "DATE_FORMAT(dateofbirth,'%Y') (birthday)"
   ],
   [
       "DATE_FORMAT(`dateofbirth`,'%Y')" => "DATE_FORMAT((CURDATE()),'%Y)",
      'GROUPBYWITHROLLUP' => 'phase'
   ]);

That would generate something like this :
SELECT HEX(uuid) AS uuid, LCASE(name) AS name, DATE_FORMAT(dateofbirth,'%Y') AS birthday
FROM table
WHERE DATE_FORMAT(`dateofbirth`,'%Y') = DATE_FORMAT((CURDATE()),'%Y)
GROUP BY 'phase' WITH ROLLUP

Using SQL functions will be supported on v1.5. You can use it as raw object. It's developing.
All those issues will be closed after this feature is finished.

+1
@catfan really appreciate this project and don't want to be pushy, but when do you think v1.5 will be put out? :)

It's now released.
https://medoo.in/api/raw