Code 32

It’a possibile to implement Code 32 ( Italian PharmaCode ) ?

Hi! Great question! (i was just about to reply to your post in the other repo :) )
I definitely have an interest in expanding the barcode types that are available -- part of the reason I've added the ability to add additional decoders.
It does look like it is something that probably can be added, considering that according to this document: https://barcodeguide.seagullscientific.com/Content/Symbologies/Code_32.htm ... it is an offshoot of Code 39, which is already supported.
This document provides more information about it: https://help.accusoft.com/BarcodeXpress/v9.0/activex/Code 32.html
This may actually be quite simple to add support for, either as a separate decoder that extends Code 39, or as a supplement to Code 39.
If there's anyone in the group that is paying attention, and would like to take on the task of working out how to put together a new decoder, this looks like a very low hanging fruit.

@kevinpapst @WardLootens
If either of you are interested in taking a look at putting together a new decoder, or extending an existing one, this task might interest you, and also might help direct some of the other efforts going on

The length of any PHARMACODE must be 10 characters.
This code is adopted by the Italian Ministry of Health for the codification of pharmaceutical products.
The clear code is made up of eight digits that identify the type of packaging for each medicinal product, preceded by the character A and followed by a check digit (Check Digit)
The overall nine digits are then represented in base 32 with six alphanumeric characters, using (with a CODE39 barcode) the 10 decimal digits and the 26 characters of the alphabet, with the exclusion of the vowels A, E, I, O.
How the Check Digit is calculated
The first 8 digits of the code must be taken
those in even positions (2,4,6, ...) must be multiplied by 2
from the result use each single digit individually
add all the numbers (those in odd position normally, those in even position using single digits)
Divide the sum by 10
The rest obtained is the control character.
Example:
02009602
0x1 = 0
2 × 2 = 4
0x1 = 0
0x2 = 0
9 × 1 = 9
6 × 2 = 12 (1 + 2)
0x1 = 0
2 × 2 = 4

sum 20 (4 + 9 + 1 + 2 + 4)
20/10 = 0
the exact code is
020096020
TRANSPOSITION FROM CLEAR CODE TO BAR CODE and vice versa
If the plaintext code is A020096020 the barcode is 0M590N
Conversion table

Figure
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Character
0
1
2
3
4
5
6
7
8
9
B
C
D
F
G
H

Figure
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Character
J
K
L
M
N
P
Q
R
S
T
U
V
W
X
Y
Z

From clear code to bar code
020096020/32 5 (33554432) = 0 ( 0 ) with the rest of 20096020
20096020/32 4 (1048576) = 19 ( M ) with the rest of 173076
173076/32 3 (32768) = 5 ( 5 ) with the rest of 9236
9236/32 2 (1024) = 9 ( 9 ) with the rest of 20
20/32 1 (32) = 0 ( 0 ) with the remainder of 20
20/32 0 (1) = 20 ( N )
the resulting sequence is 0M590N
From barcode to plaintext
0 = 0 x 32 5 (33554432) = 0
M = 19 x 32 4 (1048576) = 19922944
5 = 5 x 32 3 (32768) = 163840
9 = 9 x 32 2 (1024) = 9216
0 = 0 x 32 1 (32) = 0
N = 20 x 32 0 (1) = 20
total = 20096020 (so with 9 digits it becomes 020096020)

I started by creating this file and changing the properties variable with those of Code 32  ( Italian PharmaCode )
import BarcodeReader from './barcode_reader';
import ArrayHelper from '../common/array_helper.ts';

function Code32Reader() {
    BarcodeReader.call(this);
}

var properties = {
    ALPHABETH_STRING: {value: '0123456789BCDFGHJKLMNPQRSTUVWXYZ*'},
    ALPHABET: {value: [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 66, 67, 68, 70, 71, 72, 74, 75, 76, 77, 78,
        80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 42]},
    CHARACTER_ENCODINGS: {value: [0x034, 0x121, 0x061, 0x160, 0x031, 0x130, 0x070, 0x025, 0x124, 0x064, 0x049,
        0x148, 0x019, 0x058, 0x00D, 0x10C, 0x01C, 0x103, 0x043, 0x142, 0x013, 0x052, 0x007, 0x106, 0x046, 0x016,
        0x181, 0x0C1, 0x1C0, 0x091, 0x190, 0x0D0, 0x094,
    ]},
    ASTERISK: {value: 0x094},
    FORMAT: {value: 'code_32', writeable: false},
};

Code32Reader.prototype = Object.create(BarcodeReader.prototype, properties);
Code32Reader.prototype.constructor = Code32Reader;

Code32Reader.prototype._decode = function() {
    var self = this,
        counters = [0, 0, 0, 0, 0, 0, 0, 0, 0],
        result = [],
        start = self._findStart(),
        decodedChar,
        lastStart,
        pattern,
        nextStart;

    if (!start) {
        return null;
    }
    nextStart = self._nextSet(self._row, start.end);

    do {
        counters = self._toCounters(nextStart, counters);
        pattern = self._toPattern(counters);
        if (pattern < 0) {
            return null;
        }
        decodedChar = self._patternToChar(pattern);
        if (decodedChar < 0){
            return null;
        }
        result.push(decodedChar);
        lastStart = nextStart;
        nextStart += ArrayHelper.sum(counters);
        nextStart = self._nextSet(self._row, nextStart);
    } while (decodedChar !== '*');
    result.pop();

    if (!result.length) {
        return null;
    }

    if (!self._verifyTrailingWhitespace(lastStart, nextStart, counters)) {
        return null;
    }

    return {
        code: result.join(''),
        start: start.start,
        end: nextStart,
        startInfo: start,
        decodedCodes: result,
    };
};

Code32Reader.prototype._verifyTrailingWhitespace = function(lastStart, nextStart, counters) {
    var trailingWhitespaceEnd,
        patternSize = ArrayHelper.sum(counters);

    trailingWhitespaceEnd = nextStart - lastStart - patternSize;
    if ((trailingWhitespaceEnd * 3) >= patternSize) {
        return true;
    }
    return false;
};

Code32Reader.prototype._patternToChar = function(pattern) {
    var i,
        self = this;

    for (i = 0; i < self.CHARACTER_ENCODINGS.length; i++) {
        if (self.CHARACTER_ENCODINGS[i] === pattern) {
            return String.fromCharCode(self.ALPHABET[i]);
        }
    }
    return -1;
};

Code32Reader.prototype._findNextWidth = function(counters, current) {
    var i,
        minWidth = Number.MAX_VALUE;

    for (i = 0; i < counters.length; i++) {
        if (counters[i] < minWidth && counters[i] > current) {
            minWidth = counters[i];
        }
    }

    return minWidth;
};

Code32Reader.prototype._toPattern = function(counters) {
    var numCounters = counters.length,
        maxNarrowWidth = 0,
        numWideBars = numCounters,
        wideBarWidth = 0,
        self = this,
        pattern,
        i;

    while (numWideBars > 3) {
        maxNarrowWidth = self._findNextWidth(counters, maxNarrowWidth);
        numWideBars = 0;
        pattern = 0;
        for (i = 0; i < numCounters; i++) {
            if (counters[i] > maxNarrowWidth) {
                pattern |= 1 << (numCounters - 1 - i);
                numWideBars++;
                wideBarWidth += counters[i];
            }
        }

        if (numWideBars === 3) {
            for (i = 0; i < numCounters && numWideBars > 0; i++) {
                if (counters[i] > maxNarrowWidth) {
                    numWideBars--;
                    if ((counters[i] * 2) >= wideBarWidth) {
                        return -1;
                    }
                }
            }
            return pattern;
        }
    }
    return -1;
};

Code32Reader.prototype._findStart = function() {
    var self = this,
        offset = self._nextSet(self._row),
        patternStart = offset,
        counter = [0, 0, 0, 0, 0, 0, 0, 0, 0],
        counterPos = 0,
        isWhite = false,
        i,
        j,
        whiteSpaceMustStart;

    for ( i = offset; i < self._row.length; i++) {
        if (self._row[i] ^ isWhite) {
            counter[counterPos]++;
        } else {
            if (counterPos === counter.length - 1) {
                // find start pattern
                if (self._toPattern(counter) === self.ASTERISK) {
                    whiteSpaceMustStart = Math.floor(Math.max(0, patternStart - ((i - patternStart) / 4)));
                    if (self._matchRange(whiteSpaceMustStart, patternStart, 0)) {
                        return {
                            start: patternStart,
                            end: i,
                        };
                    }
                }

                patternStart += counter[0] + counter[1];
                for ( j = 0; j < 7; j++) {
                    counter[j] = counter[j + 2];
                }
                counter[7] = 0;
                counter[8] = 0;
                counterPos--;
            } else {
                counterPos++;
            }
            counter[counterPos] = 1;
            isWhite = !isWhite;
        }
    }
    return null;
};

export default Code32Reader;

@kevinpapst @WardLootens
If either of you are interested in taking a look at putting together a new decoder, or extending an existing one, this task might interest you, and also might help direct some of the other efforts going on

I'd be interested, but honestely, due to Covid-19 measures over here, I now have 2 fulltime jobs: my normal job, and taking care of my 2 young sons now daycare is closed ;-)
So for the coming week, I won't have the time let alone the energy to engage in this.  Unfortunately...

@stefanocali it'd be a lot easier if i could see a diff there.. if you fork and make a pull req, then it would be easier for me to see how that works side by side.
There's a little bit more to do involving some of the other files to add another reader to the code, and i'm not entirely sure where all that is exactly -- i don't think anyone's added a new reader for quite a long time, but if you search on the class name of the one you're copying from, you can probably figure that out pretty quickly.
That said, it would be better to extend the Code 39 reader, and only change any properties/functions that are necessary to get it to work with Code 32.  Interestingly, I notice that the spec as you've quoted says it is always 10 characters, and there are several other barcodes that also have specific character lengths -- which is not something that i can recall seeing addressed in any of the decoders that i've converted to TypeScript so far.

Hi Eric, I made the change to the files, but I don't know why I canceled the assignment to this issue. Let me know if it's all fine! Thanks, see you soon


Move "Start Pomodoro Cycle" to bottom of group

Matches location of "Restart Pomodoro Cycle"
Consistency
Maybe move RPC up?

Won't fix. It's fine.


time-until-liquidation

This solves issue: #164
Improvements made:
Memoised component to avoid re-renders
Used correct terminology
re-arranged end-date to be above amount per/s to create a balanced visual

Hey @Seroxdesign , it looks like there is a bug in the PR - positive flow rates also show end dates , if the flow rate is positive it won't get liquidated , also https://github.com/superfluid-finance/superfluid-console/pull/166
has been open a little bit faster and has already addressed this issue , so I'm closing this PR
https://user-images.githubusercontent.com/77115130/237022754-bb150e3a-ca9c-4efa-bd8c-890815a32ebf.mov


Revise naming. Get rid of Bump prefix?

Initially I added that prefix so there is no naming conflict with Box, Vec or String. But with the many collections in bump_scope that don't have a naming conflict this is sort of an eyesore? This naming also might be confusing because it might suggest a different behavior when its just  bump_scope's variant of a Vec?
The naming is also strange when comparing BumpPool and BumpVec where BumpPool is a pool of bump allocators but BumpVec is not  a Vec of bump allocators, but just a our variant of a Vec.
Would it make sense to also remove Bump* from BumpScope*? What about the macros? What about BumpAllocator?

I asked for opinions on reddit.

u/DroidLogician made some good points why this is a bad idea:

the types are not drop-in replacements of the std equivalents
developer experience will suffer, auto-importing such a type would overwrite the std type; they would be more annoying to type with the crate prefix


ValueError: Cannot feed value of shape (64, 218, 178, 3) for Tensor 'real_images:0', which has shape '(64, 64, 64, 3)'

I am getting the following error when trying to train the model using the celebA dataset. Load fails to find a checkpoint, which makes sense since there are no checkpoints. Then the following error occurs. I have pasted some of the last output along with the stacktrace. I would appreciate any and all help
  Total size of variables: 9451908
    Total bytes of variables: 37807632
     [*] Reading checkpoints... ./out\20200116.161511 - data - celebA -x108.z100.uniform_signed.y64.b64\checkpoint
     [*] Failed to find a checkpoint
     [!] Load failed...
Traceback (most recent call last):
  File "main.py", line 147, in <module>
    tf.app.run()
  File "C:\Users\...\.conda\envs\py3\lib\site-packages\tensorflow\python\platform\app.py", line 125, in run
    _sys.exit(main(argv))
  File "main.py", line 120, in main
    dcgan.train(FLAGS)
  File "C:\Users\...\Documents\DCGAN-tensorflow-master\model.py", line 279, in train
    feed_dict={ self.inputs: batch_images, self.z: batch_z })
  File "C:\Users\...\.conda\envs\py3\lib\site-packages\tensorflow\python\client\session.py", line 929, in run
    run_metadata_ptr)
  File "C:\Users\...\.conda\envs\py3\lib\site-packages\tensorflow\python\client\session.py", line 1128, in _run
    str(subfeed_t.get_shape())))
ValueError: Cannot feed value of shape (64, 218, 178, 3) for Tensor 'real_images:0', which has shape '(64, 64, 64, 3)'

Thank you

To resolve this:
add img_bgr = cv2.resize(img_bgr, (200, 200)) in utils.py after img_bgr = cv2.imread(path)

@rajendrac3
I added
img_bgr = cv2.resize(img_bgr, (64, 64))  instead of
img_bgr = cv2.resize(img_bgr, (200, 200))
And it worked for me


adding type inference for Foreach-Object -MemberName

Fixes #2596

@powercode Please add a PR description that we can use later for documentation. (What do you want to see in an absolutely great documentation? 😄 )

Better?

@powercode Great work! Thanks!


remove knowledge graph related endpoints

This PR removes knowledge graph related endpoints and cleanup code from ICEES+ API code base now that we have a separate ICEES KG service.

@karafecho Updated ICEES+ API services with knowledge graph related endpoints removed can be tested in all development instances. If everything looks good, I'll update production instances. Just let me know whether the development instances look good once you have a chance to test them out.

Looks fine to me, too. Note that I not only verified that the KG endpoints (and only the KG endpoints) had been successfully removed, but I tested the four development instances of the ICEES+ API (asthma, pcd, dili, covid) by creating a cohort and running a feature association functionality, and all looks fine, so this PR can be merged. Thanks, Hong!


Initial response time is slower on first request than on subsequent requests

Hi, this is more of a query than an issue.
We use KTE templates and the gradle command: jte { generate() }.
I notice that the initial requests have a slower reponse time, and I don't think it's to do with our code.
200 GET https://localhost:32327/xxx from <IP_ADDRESS> in 246ms
200 GET https://localhost:32327/xxx from <IP_ADDRESS> in 15ms

and
200 GET https://localhost:32327/yyy from <IP_ADDRESS> in 43ms
200 GET https://localhost:32327/yyy from <IP_ADDRESS> in 8m

Is this something you notice & expected behaviour, or something on our end?
TIA!

Hi @Jerbell,
this is expected behavior, since the class loader needs to load the generated classes on the first request. Probably at some point the JIT will kick in and make everything faster too.
Cheers

Thanks for the explanation - all good :)


Support for Promises

Closing this now, as there doesn't seem to be any progress.

Fixed in https://github.com/scravy/node-macaddress/issues/24


Update readmes to match common design (Map category) 1/x

Thanks @Rachael-E , would you mind just proofreading the wording on the new 'how it works' bullet points?


dotnet-sdk_7: 7.0.100-rc.2.22477.23 -> 7.0.100

Description of changes
Updates .NET 7 to the official release (no longer a preview).
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Confirmed the update.sh script recreates the same hashes on my machine.


SkinFiles Folder Empty

Hello,
First, thank you for this great work! It's impressive.
I installed MIB1 TOOLBOX and run dump_all script but I don't have any data in the SkinFiles folder.
Is there a specific procedure?
Thank you in advance

It will not dump to SkinFiles but to the dump folder.

Sorry I misspoke. I was talking about the SkinFiles folder in the Dump folder.

I fixed this bug in b88ceeceb2828c01929fc4f2618dea372d71c76b, are you sure you're using the latest version?

I think yes. I had checked in the script of my SD card.

Ahh, it's Audi, I see... Audi has a slightly different folder structure. I'll make a script that writes the entire folder tree to SD, that makes it easier for me and others to write scripts

Yes it's AUDI.
Thank you so much!

👍
No problem!
I added a quick and dirty dirlisting script in the latest commit. Can you try it?
The script will probably never end, unless you unplug the SD-card, but it will write the output of ls to the SD-card.

OK, I try tomorrow when I'm in the car. Thank you!

Well I tried because I didn't want to wait ;-)
I have the impression that the script does not start?

hmmmm strange... that's really weird

I tried to delete the (original) dump_all.sh script from the SD card.
And I replaced the script name dirlisting.sh with dump_all.sh.

Then I tried to launch the script from the first command.
This is the dump_all.sh (original) script that launched when I deleted it from the SD card.
The scripts are not read on the SD card ??

In addition? I replayed a complete installation with the configuration described in the previous post.
After installation, when I launch the script, the console still displays no data.
I hope to be clear in the handling explanations.

Hello,
In the attached file I do not find a resource folder, nor any * .mif files.
Could you just guide me? That I try to do things.
Thank you in advance.

Hello,
I'm trying to move on.
I found a kzb file. It is an extension of UI design software - Rightware Kanzi®. I used Dragon Unpacker to try to see images inside the kzb file. I got pictures.
I don't know if it's an interesting track or not.

Yes, the kanzi files are the archives where Audi keeps the graphics. The 2nd picture is the texture map they use on 3d models of the car.

Thank you for the information.
Are these the files I need to modify?Or should I look elsewhere?
Thank you in advance

I extracted the files, apparently I had to select format options in the unpacker software.
I don't really think that the content.kzb file is too useful, unless the dragon unpacker can't fully unpack the images. All I found are textures for the cabrio (as shared above) and some PHEV pictures (besides UI stuff). I'm looking for the actual texture of the car you see in the car settings (for me that'll be a sedan).
I've seen the 3D model replacements on the MIB2 units, just wondering how to do that on MIB1 (but first I'm only interested in texture modding).


Convert allow to expect

Start on converting allow to expect - avoided codegen / macros as in some cases makes sense (eg lint fires off in some code generated and not others), and avoided some lints such as Missing_Docs, where expect would say the lint is not needed but no allow resulted in the lint triggering

Start on Issue #300

Thanks for taking a crack at this! We'd love to see this land, though by the looks of it, there's still quite a few iterations left to go before all the lints get ironed out here.
We'll try to be reasonably timely with releasing CI runs here, but if we're lagging behind, you may want to look at the CI runner logs and figure out which cargo clippy invocations you can use to test this PR locally.

Resolved review comments - have clippy working for linux / macos builds fully now with
cargo clippy --locked --keep-going --tests --all-targets --workspace --features ci --target x86_64-unknown-linux-gnu --profile dev --exclude guest_test_uefi

(think I was probably missing some targets / features prerviously), but don't have windows test for the same locally

I believe you should be able to clippy lint the windows build by specifying a custom target, and also ensuring that vars like MINIMAL_RT_BUILD and SPARSE_MMAP_NO_BUILD are set correctly? But if not... you may want to look into setting up some sort of working Windows / windows-cross environment for this sort of sweeping repo-wide lint work.

Going to close this for now then (as if I do get access to windows box, will need to push onto branch to sync so no point reopening until there is something finished) - apologies for opening too hastily!

No worries - thanks for taking a crack at it!


how to override createEmailContent function

hi, this is a great library! wondering if there is a good way to override the createEmailContent function?
we would like to change the content of the email that is being sent for our users. thanks!

thanks @ottokruse , we read through it and we’re able to implement it without issues. thanks 👍


Crashes on Android 7.0+

This was fixed in v1.6.5 ages ago. Could you upload that source?

It’s not the exact source, which was unfortunately lost, but this is fixed in master now


ARROW-17838: [Python] Unify CMakeLists.txt in python/

This also moves copying codes in setup.py to CMakeLists.txt. setup.py uses "cmake --build --target install" to put artifacts to suitable location.

@github-actions crossbow submit -g python

@github-actions crossbow submit -g python

Hmm. Crossbow doesn't work...

@github-actions crossbow -g python

@github-actions crossbow submit -g python

@github-actions crossbow submit test-fedora-35-python-3 test-ubuntu-20.04-python-3

@github-actions crossbow submit -g wheel

@github-actions crossbow submit -g python -g wheel

Can we merge this?

Thanks for testing it locally!
I merge this.

@kou @AlenkaF @jorisvandenbossche Benchmark builds on test-mac-arm (https://buildkite.com/apache-arrow/arrow-bci-benchmark-on-test-mac-arm) started failing since this change was merged into main branch:
I am reproducing this issue on test-mac-arm:

cd ~
rm -rf arrow
git clone https://github.com/apache/arrow.git
cd arrow

conda create -y -n arrow-commit -c conda-forge \
  --file ci/conda_env_unix.txt \
  --file ci/conda_env_cpp.txt \
  --file ci/conda_env_python.txt \
  compilers \
  python=3.8 \
  pandas \
  aws-sdk-cpp \
  r

conda activate arrow-commit
pip install -r python/requirements-build.txt -r python/requirements-test.txt
source dev/conbench_envs/hooks.sh set_arrow_build_and_run_env_vars
export RANLIB=`which $RANLIB`
export AR=`which $AR`
export ARROW_JEMALLOC=OFF
ci/scripts/cpp_build.sh $(pwd) $(pwd)
ci/scripts/python_build.sh $(pwd) $(pwd)

(arrow-commit) voltrondata@m1mini01 arrow % python
Python 3.8.15 | packaged by conda-forge | (default, Nov 22 2022, 08:49:06)
[Clang 14.0.6 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyarrow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/voltrondata/miniconda3/envs/arrow-commit/lib/python3.8/site-packages/pyarrow/__init__.py", line 65, in <module>
    import pyarrow.lib as _lib
ImportError: dlopen(/Users/voltrondata/miniconda3/envs/arrow-commit/lib/python3.8/site-packages/pyarrow/lib.cpython-38-darwin.so, 2): Library not loaded: /Users/voltrondata/arrow/python/build/lib.macosx-11.0-arm64-cpython-38/pyarrow/lib/libarrow_python.1100.dylib
  Referenced from: /Users/voltrondata/miniconda3/envs/arrow-commit/lib/python3.8/site-packages/pyarrow/lib.cpython-38-darwin.so
  Reason: image not found
>>>

Any advice on this? Thank you!

Could you show otool -L /Users/voltrondata/miniconda3/envs/arrow-commit/lib/python3.8/site-packages/pyarrow/lib.cpython-38-darwin.so?

@kou
(arrow-commit) voltrondata@m1mini01 arrow % otool -L /Users/voltrondata/miniconda3/envs/arrow-commit/lib/python3.8/site-packages/pyarrow/lib.cpython-38-darwin.so
/Users/voltrondata/miniconda3/envs/arrow-commit/lib/python3.8/site-packages/pyarrow/lib.cpython-38-darwin.so:
	/Users/voltrondata/arrow/python/build/lib.macosx-11.0-arm64-cpython-38/pyarrow/lib/libarrow_python.1100.dylib (compatibility version 1100.0.0, current version 1100.0.0)
	/Users/voltrondata/miniconda3/envs/arrow-commit/lib/libarrow.1100.dylib (compatibility version 1100.0.0, current version 1100.0.0)
	@rpath/libc++.1.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.0.0)
(arrow-commit) voltrondata@m1mini01 arrow %

Thanks.
It seems that ARROW_INSTALL_NAME_RPATH=OFF is specified explicitly: https://buildkite.com/apache-arrow/arrow-bci-benchmark-on-test-mac-arm/builds/2099#01855a81-39fc-4639-b82c-df63b9db8f78/34-986
Can we stop it?

@kou Thank you! Yes, we can set ARROW_INSTALL_NAME_RPATH=ON. I am going to create a new PR now and confirm that this will work for benchmark builds on all machines.


Not All Hoes in Farming Stations Work

Issue Description:
A Supremium Hoe from Mystical Agriculture does not work in the Farming Station, even when marked as true in the config. This was working in past updates.
What happens:
The hoe will not work in the station.
What you expected to happen:
Steps to reproduce:

Mark as true in config
Try to insert or shift-click it in

...

Affected Versions (Do not use "latest"):

EnderIO: <IP_ADDRESS>
EnderCore: <IP_ADDRESS>
Minecraft: 1.10.2
Forge: 2122

Your most recent log file where the issue was present:
[pastebin/gist/etc link here]

I'm on <IP_ADDRESS> (part of allthemods modpack 1.43) and can confirm similar issue -- but with vanilla hoes. (been reporting to modpack owner too) https://mods.curse.com/modpacks/minecraft/242462-all-the-mods

I have yet to find any hoe which is not vanilla to work in the station. Also the charged item filter doesn't appear to work. The same aplies to killer joe where it basically doesn't except any weapon except vanilla or 'the ender'.


Add dependencies and optimize a bit

Optimize:
Removed second -y because it's not needed,
Added --needed flag so it only downloads packages that are not installed yet.
Fix:
Add AUR dependencies, fixes https://aur.archlinux.org/packages/pyload-ng/#comment-842746

@TheHellSite I dont know how else to contact you, but I added some optdepends to the package so you might want to check out, also if you found out that something else is needed for some other plugins then feel free to comment on AUR page or email me, my email is in PKGBUILD.

I see so your previous commit is then no more necessary, right?

No, this commit is still necessary, depends didnt change, but OPTIONAL did, from PKGBUILD
optdepends=('caffeine: For AntiStandby plugin'
            'python-beautifulsoup4: for XFileSharing plugin'
            'python-slixmpp: for XMPP plugin'
            'python-pillow: for some CAPTCHA stuff'
            'python-beaker: for some accounts')

so lets say that you wanted to use AntiStandby plugin then you would also need to install caffeine from AUR. Its not necessary, just extra functionality.
Also I didnt test everything (mainly because I dont have logins to all websites) thats why I wrote "for some CAPTCHA stuff" and "for some accounts" for pillow and beaker.

Well that makes sense! So I think I am not going to include them then either since they are optional.
But I was just wondering the following...
Shouldn't the packages of your commit https://github.com/TheHellSite/archlinux_lxc/commit/cb03cc366a012a1bbfbd522b3e2149d5d1854777 automatically be installed when running your aur script?

I dont know what you mean by "my aur script"

https://aur.archlinux.org/pyload-ng.git

Then you will have the error that you reported in comments. pacman is not aware of packages in AUR (4 dependencies in case of pyload-ng). You can workaround that by using aur helper, but im not sure if thats really something you want to do for container.

I know. But shouldn't the commands you added to my install script be included in your AUR script?

No.

Then please explain why your aur script doesn't need to install necessary dependencies? I know pacman can't handle this,

Because it is up to the user to install them. If you want to do it automatic way then you can use aur helper like trizen, pikaur, paru etc. and just type paru -Syu pyload-ng and it will take care of that.


WIP: investigate permitting FormData as a body in requests

Precedes https://github.com/apollographql/datasource-rest/pull/90 if favorable.
I'm not excited by the complexity in typings this introduces. This work spun out as an investigation in response to this comment: https://github.com/apollographql/datasource-rest/pull/90#issuecomment-1319273138
Unfortunately the generic TFormData has to be piped into everything that looks at request objects.

Closing in favor of #90


unmarshall to boltobject before listing

Hi,
We are using gofakes3 testing for s5cmd so thank you for this amazing project. When we are testing, we noticed something probably a bug.
gofakes3 shows object sizes larger than it should be.
For example, let's say we have a file named file.txt
> echo "this is a file content" > file.txt

If we check the size it says, it is 23 bytes.
> ls -lah file.txt
-rw-r--r-- 1 hasan hasan 23 Aug 17 10:50 file.txt

But in s5cmd, if we put this object to a bucket, then get object with ListBucket method. It will give us size of 317 bytes. I tried to debug the issue and find out:

when gofakes3 puts an object, first it converts whole object to an array using bson.Marshall method.
Then it puts the whole converted array to object
When listing objects it puts the size of whole array, therefore, gofakes3 shows file size larger than it should be. You can check it from here.

My suggestion is that we need to unmarshall the converted array, then use this unmarshalled object.
gofakes3 uses unmarshall just before GetObject function. And the results are correct in that case (file size is correct etc). You can check it from here. I think if we do the same process in ListBucket function, we will have no problem.

Codecov Report

Merging #57 (51aef96) into master (6a9f95c) will increase coverage by 1.98%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #57      +/-   ##
==========================================
+ Coverage   65.90%   67.89%   +1.98%
==========================================
  Files          28       28
  Lines        2241     2492     +251
==========================================
+ Hits         1477     1692     +215
- Misses        530      564      +34
- Partials      234      236       +2

Impacted Files
Coverage Δ

validation.go
85.71% <0.00%> (-5.20%)
:arrow_down:

messages.go
70.75% <0.00%> (-1.16%)
:arrow_down:

internal/goskipiter/iter.go
73.91% <0.00%> (-1.09%)
:arrow_down:

time.go
86.66% <0.00%> (-0.84%)
:arrow_down:

log.go
100.00% <0.00%> (ø)

chunk.go
100.00% <0.00%> (ø)

option.go
70.00% <0.00%> (ø)

backend.go
100.00% <0.00%> (ø)

backend/s3afero/hash.go
0.00% <0.00%> (ø)

backend/s3afero/option.go
0.00% <0.00%> (ø)

... and 17 more

Continue to review full report at Codecov.

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

hey @johannesboyne can you have a look please?

Hi @ocakhasan thanks a lot for the feedback and kind words! Glad that the project helps ;-)
And even more important, thanks a lot for the contribution it looks like a pretty good catch and something we should change!

Already merged, but maybe one additional ask, as you've already spotted the bug - if you would be open to write a small test case for it, we can prevent regression of that topic.


[EPIC] Unify Function Interface (remove BuiltInScalarFunction)

Is your feature request related to a problem or challenge?
This is based on the wonderful writeup from @2010YOUY01  in https://github.com/apache/arrow-datafusion/issues/7977
As previously discussed in https://github.com/apache/arrow-datafusion/issues/7110 https://github.com/apache/arrow-datafusion/pull/7752  there are a few challenges with how ScalarFunctions are handled, notably that there are two distinct implementations -- BuiltinScalarFunction and ScalarUDF
Problems with BuiltinScalarFunction

As more functions are added, the total footprint of DataFusion grows, even for those who don't need the specific functions. This also acts to limit the number of functions built into DataFusion
The desired semantics may be different for different users(e.g. many of the built in functions in DataFusion mirror postgres behavior, but some users wish to mimic spark behavior)
User defined functions are treated differently from built in functions in some ways (e.g. they can't have aliases)
Adding a new built in function requires modifications in multiple places which makes the barrier overly high.Built-in functions are implemented with Enum BuiltinScalarFunction, and function implementations like return_type() are large methods that match every enum variant.

Problems with ScalarUDF

The current implementation of ScalarUDFs is a struct, and does not cover all the functionalities of existing built-in functions
Defining a new ScalarUDF requires constructing a struct in an imperative way providing Arc function pointers (see examples/simple_udf.rs) for each part of the UDF, which is not familiar to Rust users where it is more common to see dyn Trait objects

Describe the solution you'd like
I propose moving DataFusion to only use ScalarUDFs and remove BuiltInScalarFunction. This will ensure:

ScalarUDFs have access to all the same functionality as "built in " functions.
No function specific code will escape the planning phase
DataFusion's core can remain focused, and external libraries of packages can be used to customize its use.

We will keep the existing ScalarUDF interface as much as possible, while also potentially providing an easier way to define them (ideally via a trait object).
Describe alternatives you've considered
https://github.com/apache/arrow-datafusion/issues/7977 describes introducing a new trait and unifying both ScalarUDF and BuiltInScalarFunction with this trait.
This approach also allows gradually migrating existing built-in functions to the new one, the old UDF interface create_udf() can keep unchanged.
However, I think it is a bigger change for users, and has the danger of making the overall complexity of DataFusion worse. As demonstrated in https://github.com/apache/arrow-datafusion/pull/8046 it is also feasible to allow new ScalarUDFs to be defined using a trait while retaining backwards compatibility for existing ScalarUDF implementations
Additional context
Proposed implementation steps:

[x] Prototype ScalarUDF interface changes (make the fields non pub): https://github.com/apache/arrow-datafusion/pull/8039
[x] Prototype how registering external packages would look like (by making a prototype for some BuildInFunctions): https://github.com/apache/arrow-datafusion/pull/8046
[ ] Propose ScalarUDF API changes for real: https://github.com/apache/arrow-datafusion/pull/8079
[x] https://github.com/apache/arrow-datafusion/pull/8059
[ ] Implement aliases for ScalarUDF (probably needs https://github.com/apache/arrow-datafusion/pull/8039)
[x] List additional feature gaps between built in functions and ScalarUDfs and close them
[x] https://github.com/apache/arrow-datafusion/pull/8114
[ ] Implement some way for expr_fn to work using function string names rather than fully resolved ScalarUDF  as discussed in https://github.com/apache/arrow-datafusion/pull/8046#issuecomment-1795967063)
[ ] Implement monotonicity for ScalarUDF
[ ] https://github.com/apache/arrow-datafusion/issues/8051
[x] https://github.com/apache/arrow-datafusion/pull/8088
[ ] Implement aliasing for ScalarUDF
[ ] Implement trait based ScalarUDF definition (see https://github.com/apache/arrow-datafusion/pull/8046)
[ ] Create a new datafusion-function crate with an initial set of functions as a model (see https://github.com/apache/arrow-datafusion/pull/8046)
[ ] Create tickets for extracting the remaining lists of packages into the datafusion_functions crate, file tickets to track them
[ ] File follow on tickets for applying the same treatment to AggregateUDF and WindowUDF

Would like to add that supporting serialization of user-defined functions would be quite nice. The current approach to serialization is to basically just use a string and so if you have a scalar udf with some constant parameter you end up having to encode the constant as a literal expression which is less than ideal. Providing a mechanism (through PhysicalExtensionCodec I assume?) to serialize udfs would be very nice.

Would like to add that supporting serialization of user-defined functions would be quite nice.

I don't understand this question @thinkharderdev 🤔
The current approach to serialize a ScalarUDF as I understand it, is to send over the function name along with the arguments
https://github.com/apache/arrow-datafusion/blob/c2e768052c43e4bab6705ee76befc19de383c2cb/datafusion/proto/proto/datafusion.proto#L686-L689
And then the physical plan deserialization looks that function up by name https://docs.rs/datafusion-proto/latest/src/datafusion_proto/physical_plan/from_proto.rs.html#318-333
The only difference compared to BuiltInScalarFunction is that BuiltInScalarFunction uses a number (in an enum) which might be slightly faster

Would like to add that supporting serialization of user-defined functions would be quite nice.

I don't understand this question @thinkharderdev 🤔
The current approach to serialize a ScalarUDF as I understand it, is to send over the function name along with the arguments
https://github.com/apache/arrow-datafusion/blob/c2e768052c43e4bab6705ee76befc19de383c2cb/datafusion/proto/proto/datafusion.proto#L686-L689
And then the physical plan deserialization looks that function up by name https://docs.rs/datafusion-proto/latest/src/datafusion_proto/physical_plan/from_proto.rs.html#318-333
The only difference compared to BuiltInScalarFunction is that BuiltInScalarFunction uses a number (in an enum) which might be slightly faster

Sorry, what I mean is that it would be useful to be able to serialize constant parameters into the user-defined scalar function themselves rather than pass them in as expressions. So for instance if you had to create a UDF to do something with a regex that you have as a static constant. Currently the way to do that is pass it as a literal expression. But then you have to compile the regex again for every batch you process through the UDF. Ideally you could have something like:
struct MyRegexUdf {
  regex: Regex
}

impl ScalarFunction for MyRegexUdf {
  // use regex on each value somehow
}

The regex would only need to be compiled once during deserialization (or construction) instead of once for each batch.

Sorry, what I mean is that it would be useful to be able to serialize constant parameters into the user-defined scalar function themselves rather than pass them in as expressions

This makes total sense -- I filed https://github.com/apache/arrow-datafusion/issues/8051 to track the issue

Here is a PR that shows what DataFusion might look like after removing BuiltInScalarFunction and moving everything to ScalarUDF: https://github.com/apache/arrow-datafusion/pull/8046

According to the previous prototyping in https://github.com/apache/arrow-datafusion/pull/7978, we might need to do several cleanups towards this issue.
Following 2 is necessary for separating encode()/decode() and make API change (in https://github.com/apache/arrow-datafusion/pull/8046)

return_type() now do both input validation and generating output, these responsibilities have to be separated
resolve expr_fn using function string names as discussed in https://github.com/apache/arrow-datafusion/pull/8046#issuecomment-1795967063

Functionalitiy gaps between BuiltinScalarFunction and ScalarUDF include

aliasing
monotonicity
Figure out the interface to let core pass information to function definitions (e.g. now() requires to be passed query start time from core) https://github.com/apache/arrow-datafusion/blob/308c35404939ed39e4e398054d6fc78c89817109/datafusion/physical-expr/src/functions.rs#L608

And other clean-up tasks might be helpful

Can they be moved into function implementations https://github.com/apache/arrow-datafusion/blob/308c35404939ed39e4e398054d6fc78c89817109/datafusion/physical-expr/src/functions.rs#L75-L204

Thank you for the investigation @2010YOUY01

monotonicity

This gap may be one of the gaps we are observing in IOx from a recent update from @mustafasrepo  and @ozankabak  in https://github.com/apache/arrow-datafusion/pull/8006 🤔
I will try and make it a priority to get a PR up to encapsuate the ScalarUDF fields so we can begin closing these gaps and I will update the list above

Figure out the interface to let core pass information to function definitions (e.g. now() requires to be passed query start time from core)

This is a similar usecase to what @thinkharderdev  describes on https://github.com/apache/arrow-datafusion/issues/8051 -- I wrote up some ideas https://github.com/apache/arrow-datafusion/issues/8051#issuecomment-1798636241

Can they be moved into function implementations

@2010YOUY01  -- I totally agree this could be cleaned up. Moving it to specific implementations would be great. Could you make a PR to do so?

@2010YOUY01  I have updated the task list on this ticket based on your investigation. Please take a look when you have a chance.
The only one I don't understand is

return_type() now do both input validation and generating output, these responsibilities have to be separated

Can you explain why validation of input types + output type calculation need to be separated?

@2010YOUY01 I have updated the task list on this ticket based on your investigation. Please take a look when you have a chance.
The only one I don't understand is

return_type() now do both input validation and generating output, these responsibilities have to be separated

Can you explain why validation of input types + output type calculation need to be separated?

I think it's a simple refactor, I can open a PR to better explain and solve this issue

Can they be moved into function implementations

@2010YOUY01 -- I totally agree this could be cleaned up. Moving it to specific implementations would be great. Could you make a PR to do so?

Sure

Thanks for driving this forward @2010YOUY01  -- it is very much apprecated.
I am planning to merge https://github.com/apache/arrow-datafusion/pull/8079 in 4 more days (after it has been open for a week to ensure anyone who wants has had a chance to review it)
In the mean time, I was thinking what other work could be done while we are waiting. I see two options:

We can just start on other tasks as draft PRs that build on https://github.com/apache/arrow-datafusion/pull/8079
We could potentially start on the following:

Implement some way for expr_fn to work using function string names rather than fully resolved ScalarUDF  as discussed in https://github.com/apache/arrow-datafusion/pull/8046#issuecomment-1795967063)

What do you think? Is any of that interesting to you?

Thanks for driving this forward @2010YOUY01 -- it is very much appreciated.
I am planning to merge #8079 in 4 more days (after it has been open for a week to ensure anyone who wants has had a chance to review it)
In the mean time, I was thinking what other work could be done while we are waiting. I see two options:

We can just start on other tasks as draft PRs that build on Make fields of ScalarUDF , AggregateUDF and WindowUDF non pub #8079
We could potentially start on the following:

Implement some way for expr_fn to work using function string names rather than fully resolved ScalarUDF  as discussed in #8046 (comment))

What do you think? Is any of that interesting to you?

I'm going to work on 2 in the next few days. I think this expr_fn task should better be done before migrating the first function.

I'm going to work on 2 in the next few days. I think this expr_fn task should better be done before migrating the first function.

Thanks! one thought I had was to introduce a new Expr:: variant, and port one or two of the expr_fn's to show how it works and the the first PR through. Then as a second PR we can port over the remaining expr_fns (which will be a larger PR but very mechanical)

Added some more items to this list:

[ ] https://github.com/apache/arrow-datafusion/issues/8346
[ ] https://github.com/apache/arrow-datafusion/issues/8347
[ ] Implement aliasing for ScalarUDF: https://github.com/apache/arrow-datafusion/issues/8348


[CARBONDATA-1703] Refactored code for creation of filter for IN expression

Refactored code for creation of filter for IN expression in case of null values
Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed? No

[ ] Any backward compatibility impacted? No

[ ] Document update required? No

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1914/

Build Failed with Spark 2.2.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/685/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/2247/

Build Failed with Spark 2.2.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/703/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1932/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/2263/

Build Success with Spark 2.2.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/741/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1972/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/2291/

Build Success with Spark 2.2.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/788/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2022/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/2334/

ok to test

Build Success with Spark 2.2.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/809/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/2351/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2040/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2086/

Build Failed with Spark 2.2.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/861/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/2384/

retest this please

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/2392/

Build Failed with Spark 2.2.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/875/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2100/

Build Success with Spark 2.2.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/878/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2103/

Build Success with Spark 2.2.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/945/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2174/

@gvramana Please review again, as I have made the required changes

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2387/

Build Failed with Spark 2.2.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/1171/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2394/

retest this please

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2409/

Build Failed with Spark 2.2.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/1185/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/2593/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/2594/

retest this please

@geetikagupta16 can you add more description of this bug? what is the bug and what is the root analysis of it?

@jackylk I have updated the PR description please check

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2436/

Build Success with Spark 2.2.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/1212/


Request: code to enable double-click, long-click on buttons

I'm looking to add the ability to enable and disable some additional options for the Biodata Feather interface (extra CC messages, AP setup), and it would be great to turn on/off these options with a double-click or long-click.
It appears that the samButton class was partially set up to support these functions, but I don't think it was fully enabled. Would you post the additions/updated samButton class to add these abilities?

Hmm, perhaps ;) but unlikely in any relative timeframe.  I only spun my own for portability.  Thinking about it, this should be trivial to implement.  If i can think of something (or you can suggest something) for which long press would be valuable then i might do it while watching Critical Role tonight.
Now i know that my menu code is totally the pits.  Describe how you want the AP to work, cause i have a couple ideas too.  I think it could be done in the wifi sub menu as a third option. ...  but i digress.
Give me one good reason to add long press and I'll do it ;)  - Cheers!

How about TWO reasons :-)

Turn on/off CC 84 for extra control over MIDI sounds. Once we get it going, we'll share what we're doing. For now we want to keep it under wraps ;-). Suffice to say, it should be very cool when we get it working with CC 80. This could be an option when in MIDI channel mode. FYI: I already have CC 84 working along side CC 80. I'm using a third-degree polynomial equation to give CC 84 more "wiggle" relative to CC 80.

Turn on/off WiFi STA mode. I am currently using the WiFi option to enable the AP mode to configure parameters, including the MIDI channel. (We will be adding more parameters as needed.) The AP eventually goes away for security purposes. I would like to be able to enable/disable WiFi connectivity to a network (STA mode) on-demand from the "Green" mode for future use with MQTT or to control LEDs by sending data to a Pixelblaze, for example.

And double-click would work just as well as long-click, as far as I'm concerned.

And one more reason...

Set the sensitivity to be static at whatever setting the pot is at, and then use the pot to control a MIDI parameter.


Print query plans

We need a way to print query plans (logical, physical, executable), mainly for debugging purposes.

This issue has been addressed in #47 for logical plans and for physical plans. What remains is to address is for executable plans as well.


Engine socket on container becomes unusable after Engine crash

If we start a container with the label io.balena.features.balena-socket: '1' set, this container will have access to the Engine socket. However, if the Engine crashes on the Host OS, that container will no longer be able to connect to the Engine (even after the Engine restarts on the HostOS). Attempting to run Docker on the container will fail with
Cannot connect to the Docker daemon at unix:///host/run/balena-engine.sock. Is the docker daemon running?

This can be easily reproduced by SIGKILLing balenad on the Host OS and then trying to run Docker or balenaEngine on a container where it was previously working.
This is arguably on the border between the Supervisor (that sets the mounts and shares up) and the Engine (that implements the mechanisms).

Another repro courtesy of @lmbarros: https://github.com/balena-io-playground/engine-on-container-socket-lost-test

Did a couple more quick tests:

SIGKILL leaves the socket unusable in the container, as we already knew.
SIGABRT gives the same result as above. (This case might be of interest because that's what the watchdog sends on a timeout)
SIGTERM is fine, however: after the Engine restarts in the host, the socket becomes usable again in the container.

I suspect this would be resolved by this https://github.com/balena-os/balena-supervisor/pull/1780

Hey @deanMike, I have requested updates on the linked PR: https://github.com/balena-os/balena-supervisor/pull/1780


test auto assign pr reviewer

This is the test PR
to test the reviewer auto-assignment.
Checklist

[ ] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your master branch!
[ ] Ensure that the pull request title represents the desired changelog entry
[ ] Please describe what you did
[ ] Link to relevant issues in GitHub or Jira
[ ] Link to relevant pull requests, esp. upstream and downstream changes
[ ] All follow-ups are documented as issues and-or TODO comments
[ ] Ensure you have provided tests - that demonstrates feature works or fixes the issue
[ ] Please update user documentation if needed
[ ] Please update developer documentation if needed

Umm...


Exclude sourcemaps from production build

In my opinion, sourcemaps in production aren't useful. People can get access to the source code.
In my projects, I don't want/need sourcemaps in production and every time I need to eject because it is not useful to exclude the sourcemaps files from the build folder. I think it might be a good idea to exclude them automatically from webpack.config.prod.js.

I think it is better to leave the option of disabling the source-maps in the userland itself. If he really doesn't want the source-maps, then he can delete the .map file from the build folder.

We intentionally include them. They are very useful for debugging production code, and for error reporting (e.g. Sentry).
If you don’t like shipping them, just delete them as a post build step. You don't need to eject to do this. Something like this could work:
"scripts": {
  "build": "react-scripts build && rm build/static/js/*.map"

I would still suggest to move them somewhere private rather than deleting so that you can use them for analyzing production errors.

Probably "build": "react-scripts build && rm build/static/**/*.map" is slightly better, because it also removes build/static/css/main.abcdef.css.map.

@gaearon can you point me in the direction on how to make them private for analyzing production errors?


Feature/202210-InstitutionalStorageControl/fixedbug/41895

Purpose

When Restore, it is not necessary to change the creator / created / modified of osf_fileversion.
When Restore, it is necessary to change the creator / created / modified of osf_basefilenode.
Adjust the values saved in the JSON file and ensure that rounding of the value of the created / modified osf_basefilenode is not done on restore.

Changes

Updated the save method of OsfStorageFileNode and OsfStorageFile to be able to pass args and kwargs from the derived class to the superclass.
Updated copy_files_from_export_data_to_destination method to update information in osf_fileversion and osf_basefilenode as required.
Updated extract_file_information_json_* method to ignore rounding of created / modified information

QA Notes
None
Documentation
None
Side Effects
None
Ticket
[Bug][#41895] リストア処理実行時に osf_fileversion の modified に created_at を使用して更新している事象について

Closed this PR for the remade PR #475


Market SPOT buy orders do not execute for small precision values on quoteOrderQty

Before submitting a new issue, please check if a similar issue has already been filed.
Issue subject
When executing a market buy order for a spot trade, if the quote order quantity is very small, (numerically) python converts the numbers in the API call to be scientific notation.
e.g.
{'symbol': 'XVGBTC', 'side': 'BUY', 'type': 'MARKET', 'quoteOrderQty': 8.329e-05}

Expected behaviour
quoteOrderQuantity should not be a scientific notation. it should go out as decimals with (maybe a configurable precision)
{'symbol': 'XVGBTC', 'side': 'BUY', 'type': 'MARKET', 'quoteOrderQty':  0.00008329}

Actual behaviour
Numbers get converted to scientific notation and trade is not executed. API responses with an error
(400, -1100, "Illegal characters found in parameter 'quoteOrderQty'; legal range is '^([0-9]{1,20})(\\.[0-9]{1,20})?$'...)

Steps to reproduce
Execute a market order for a small value below 0.000001
Environment
Any OS
Python 3.10
Binance connector verson 1.11.0

the best way to pass the amount into method is giving a string number.
key = ""
secret = ""

params = {
    "symbol": "BTCUSDT",
    "side": "BUY",
    "type": "MARKET",
    "quoteOrderQty": "0.00008329",
}

client = Client(key, secret, base_url="https://testnet.binance.vision")

try:
    response = client.new_order(**params)
    logging.info(response)
except ClientError as error:
    logging.error(
        "Found error. status: {}, error code: {}, error message: {}".format(
            error.status_code, error.error_code, error.error_message
        )
    )

The API spec indicates this is numerical. Which is why I did not try that. I will try and update.


Recursive Path example throws an error.

Version
Latest? The version bundled in https://reacttraining.com/react-router/native/example/recursive-paths as of the time of writing.
Test Case
https://codesandbox.io/s/react-router-recursive-paths-h74vx
The sandbox directly embedded in the official website.
Steps to reproduce
Just open it.
Expected Behavior
Not throw.
Actual Behavior
Array.find() doesn't like that your path param id is a string, while having the actual data in number.

The web example works fine: https://reacttraining.com/react-router/web/example/recursive-paths
We just haven't updated the RN version. Want to make a PR?


move legacy modules into primary extension listing

In order to keep a single entry point in Liftoff for specifying module loaders per-extension, the extension listing should look something like this:
{
  '.babel.js': 'babel/register',
  // ...
  '.ls': {
    main: 'coffee-script/register',
    legacy: ['coffee-script']
  },
  // ...
}

This will address gulpjs/gulp#1071

I think this is fine, but shouldn't everything be moved in there then? Like the install function, etc?

Yeah, may as well.

@tkellen does this make the liftoff implementation easier?

Yes, massively. I don't know why I didn't think of this representation to begin with.

Pretty sure this should do it:
var extensions = {
  '.babel.js': {
    module: 'babel/register',
    register: function (module) {
      module({
        // register on .js extension due to https://github.com/joyent/node/blob/v0.12.0/lib/module.js#L353
        // which only captures the final extension (.babel.js -> .js)
        extensions: '.js'
      })
    }
  }
  '.cirru': 'cirru-script/lib/register',
  '.cjsx': 'node-cjsx/register',
  '.co': 'coco',
  '.coffee': ['coffee-script/register', 'coffee-script'],
  '.coffee.md': ['coffee-script/register', 'coffee-script'],
  '.csv': 'require-csv',
  '.iced': ['iced-coffee-script/register', 'iced-coffee-script'],
  '.iced.md': ['iced-coffee-script/register', 'iced-coffee-script'],
  '.ini': 'require-ini',
  '.js': null,
  '.json': null,
  '.json5': 'json5/lib/require',
  '.jsx': [
    {
      module: 'node-jsx',
      register: function (module) {
        module.install({
          extension: '.jsx',
          harmony: true
        });
      }
    }
  ],
  '.litcoffee': ['coffee-script/register', 'coffee-script'],
  '.liticed': ['iced-coffee-script/register', 'iced-coffee-script'],
  '.ls': ['LiveScript', 'livescript'],
  '.node': null,
  '.toml': 'toml-require',
  '.ts': ['typescript-register', 'typescript-require'],
  '.wisp': 'wisp/engine/node',
  '.xml': 'require-xml',
  '.yaml': 'require-yaml',
  '.yml': 'require-yaml'
};

var jsVariantExtensions = [
  '.js',
  '.babel.js',
  '.cirru',
  '.cjsx',
  '.co',
  '.coffee',
  '.coffee.md',
  '.iced',
  '.iced.md',
  '.jsx',
  '.litcoffee',
  '.liticed',
  '.ls',
  '.ts',
  '.wisp'
];

module.exports = {
  extensions: extensions,
  jsVariants: jsVariantExtensions.reduce(function (result, ext) {
    result[ext] = extensions[ext];
    return result;
  }, {})
};

If the value is a string, Liftoff will just try to require it. If the value is an object, it'll require the module and pass it into the register method. If the value is an array, Liftoff will iterate through them trying to find one that doesn't throw (the values of the array can be mixed, strings or objects).
...thoughts?

@tkellen yeah, but module in an object needs to support an array also

This would also allow us to support old versions of interpret in liftoff so it is a minor bump instead of major :+1:

Do we have a use case for that now or are you just trying to keep things DRY in the event we need to use the same register method across multiple different possible modules?

@tkellen updated my above comment.  I didn't read :stuck_out_tongue:

Gotcha!

@tkellen are you implementing or looking for someone to tackle?  I might have some time

If you want to implement this in Liftoff, awesome! I think it'll be pretty straightforward.

I'll cut a new major for interpret in a sec.

@tkellen sounds good.  Make sure that the newest version of each module is in the first element of the array (e.g. livescript first instead of LiveScript)

good catch. i'll do a PR for the version so you can sanity check

resolved in 6131267d406f0b2b805ba71363daa2e9aa21e839


Can't able to open obj format

i want to open obj format with mtl and texture , also can i add multile objs at one space?

for now just some of obj could load , i will make some improvement in future.


How to open transaction saving data in the model

I would like to perform a transactional insert and modify the data, but ActiveRecord does not provide a way to open a transaction, then how do I solve this problem?

Open it using connection.

error 'Call to a member function begin() on null',Do you have an example for me?
$db = Yii::$app->getDb();
        $ts = $db->getTransaction();
        $ts->begin();
        try {
            $db->getQueryBuilder()->insert('users',
                [
                    'nickname' => '张三', 'username' => 'zhangshan',
                    'password' => md5('Abc!23'), 'createAt' => time()
                ],
                $params
            );
            var_dump($params);
            $ts->commit();
        } catch (Exception $e) {
            $ts->rollBack();
        }

http://www.yiiframework.com/doc-2.0/yii-db-connection.html#getTransaction()-detail "Returns the currently active transaction."
use beginTransaction() instead.


Create a demo module

There should be a demo section to illustrate different UI elements and their options. This was one of the frequently requested features in Yii 1.
Some thoughts:

Make it an extension module to have the examples available locally if desired
Host it somewhere on the yii site
Examples should show source code, created HTML markup and rendered result
Markdown would be nice, but we may need a customized version to help with PHP code integration

As an example, here's something we've built before our ActiveForm was integrated to yii2-bootstrap:
http://codemix.github.io/yii2-bs3activeform/
It's still missing a good way to organize the code snippets, though.

how to organize a module really depends on what you want to do with, really. There are many implementations thinkable. For those who want to have inspiration, take a look at different Yii modules at https://github.com/yiisoft, like:

https://github.com/yiisoft/yii2-gii
https://github.com/yiisoft/yii2-debug

If you want info about how a structure could be setup, please take a look at the guide http://www.yiiframework.com/doc-2.0/guide-structure-modules.html


[BUG] Custom logo not displaying until user logs in

Describe the bug
By default in the nginx config the media files in the media directory require user authentication.  This means that when you specify a custom logo it can not be seen in the login page as the user has not logged in/authed yet.
Steps to Reproduce
Steps to reproduce the behavior:

Specify a custom logo in .env or config.yaml
Open incognito browser and go to login page
Logo is not displayed

Expected behavior
Logo is displayed
Deployment Method

[ ] Docker

Version Information
InvenTree-Version: 0.8.0
Django Version: 3.2.14
Commit Hash: 6118d13
Commit Date: 01-08-2022
Database: postgresql
Debug-Mode: False
Deployed using Docker: True
Possible Solution
Consider using a different folder for custom logos? Possibly static/img or a new static/custom directory

@snorkrat very good point, custom images should be relative to the static/ directory. Will have to look into this.

@snorkrat should be fixed in master now

@SchrodingersGat depending on the name the file in static could be overwritten when inv update is run. Just a small caveat to look out for.

Would be a good idea to put it in a custom subdirectory maybe...


Defensive coding for very large numbers

As the title, how to defend against very large numerical inputs that may cause integer overflow?
We probably need to test it for everything with the equipartition testing technique.

I think that at least for int, it should work now coz I just rethrow the exception.


Error: spawn cmd.exe ENOENT using WSL since 9.0.0

Is this a bug report?
Yes
Did you try recovering your dependencies?
Yes
Which terms did you search for in User Guide?
cmd event.js ENOENT
Environment
OS: Linux 4.4 Ubuntu 18.04.1 LTS (Bionic Beaver)
CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz

Binaries:
Node: 8.11.4 - ~/.nvm/versions/node/v8.11.4/bin/node
Yarn: 1.15.2 - ~/.yarn/bin/yarn
npm: 5.6.0 - ~/.nvm/versions/node/v8.11.4/bin/npm
Browsers:
Chrome: Not Found
Firefox: 64.0
npmPackages:
react:  16.8.6
react-dom:  16.8.6
react-scripts:  3.0.1
npmGlobalPackages:
create-react-app: Not Found
Steps to Reproduce

react-dev-utils v 8.0.0
Upgrade to v.9.0.0
yarn install
yarn start
events.js:183
throw er; // Unhandled 'error' event
^
Error: spawn cmd.exe ENOENT

Expected Behavior
app should start using v 9.0.0
Actual Behavior

Reproducible Demo
Simply run Ubuntu or other distro on Windows WSL, upgrade to 9.0.0, same is valid for any project I tried using v9.0.0.

Hi @simakas, this looks to be related to this issue: https://github.com/facebook/create-react-app/issues/7094#issuecomment-494611206
Can you see if that resolves it for you, and if so, please close this off.

@mrmckeb I've hit this issue as well; tried the path fix mentioned in that comment and it didn't resolve the problem. No change to steps or symptom/error message.
My environment info, for reference:
System:
OS: Linux 4.4 Ubuntu 18.04.1 LTS (Bionic Beaver)
CPU: (8) x64 Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
Binaries:
Node: 10.15.3 - ~/.nvm/versions/node/v10.15.3/bin/node
Yarn: 1.16.0 - ~/.nvm/versions/node/v10.15.3/bin/yarn
npm: 6.4.1 - ~/.nvm/versions/node/v10.15.3/bin/npm
Browsers:
Chrome: Not Found
Firefox: Not Found
npmPackages:
react: ^16.8.6 => 16.8.6
react-dom: ^16.8.6 => 16.8.6
react-scripts: 3.0.1 => 3.0.1
npmGlobalPackages:
create-react-app: Not Found

Update - tried adding the WSL path to System32 and although it's a pretty shonky workaround it does stop the crash:
export PATH=$PATH:/mnt/c/Windows/System32
What's strange is that I'm pretty sure CRA used to work without that path set, which suggests something changed in the way it detects the environment and launches the app in browser (perhaps it was providing the path). While this workaround seems to work, I'd be a bit wary of relying on it - it's not uncommon for WSL users to remove windows locations from their PATH.

Thanks for the update @cheshrkat... it is a strange issue. And you're right, I ran on WSL for two years with no issue.
I'm not sure what (if anything) changed recently, but as I'm currently on a Mac (employers choice) I can't troubleshoot.
If you do find a cause on our side, feel free to raise a PR. In the meantime I'll close this off and people will hopefully find it in search if they have this issue.

Having the same issue with react-scripts ver. 3.0.1 Rolling back to 2.1.8 does not have this issue.
This is the npm log of the error
0 info it worked if it ends with ok 1 verbose cli [ 1 verbose cli   '/home/excessive/.nvm/versions/node/v12.4.0/bin/node', 1 verbose cli   '/home/excessive/.nvm/versions/node/v12.4.0/bin/npm', 1 verbose cli   'start' 1 verbose cli ] 2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prestart', 'start', 'poststart' ] 5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>7 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true 8 verbose lifecycle<EMAIL_ADDRESS>PATH: /home/excessive/.nvm/versions/node/v12.4.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/mnt/d/www/irithyll/client/node_modules/.bin:/home/excessive/.nvm/versions/node/v12.4.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files (x86)/Common Files/Intel/Shared Files/cpp/Bin/Intel64:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath_target_2247866140:/mnt/c/ProgramData/Oracle/Java/javapath_target_2247987171:/mnt/c/Windows/System32:/mnt/c/Windows:/mnt/c/Windows/System32/wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0:/mnt/c/Windows/System32/OpenSSH:/mnt/c/Program Files/Git/cmd:/mnt/c/xampp/php:/mnt/c/xampp/wp-cli:/mnt/c/xampp/mysql/bin:/mnt/c/Program Files/PuTTY:/mnt/c/Users/PC/AppData/Roaming/nvm:/mnt/c/Users/PC/AppData/Roaming/nvm/v10.12.0:/mnt/c/HashiCorp/Vagrant/bin:/mnt/c/ProgramData/ComposerSetup/bin:/mnt/c/Windows/System32:/mnt/c/Windows/System32/cmd.exe:/mnt/c/Users/PC/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/PC/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Users/PC/AppData/Local/atom/bin:/mnt/c/Users/PC/AppData/Local/GitHubDesktop/bin:/mnt/c/Users/PC/AppData/Roaming/Composer/vendor/bin:/mnt/c/Users/PC/AppData/Local/Programs/Microsoft VS Code Insiders/bin:/snap/bin 9 verbose lifecycle<EMAIL_ADDRESS>CWD: /mnt/d/www/irithyll/client 10 silly lifecycle<EMAIL_ADDRESS>Args: [ '-c', 'react-scripts start' ] 11 silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null 12 info lifecycle<EMAIL_ADDRESS>Failed to exec start script 13 verbose stack Error<EMAIL_ADDRESS>start: react-scripts start13 verbose stack Exit status 1 13 verbose stack     at EventEmitter.<anonymous> (/home/excessive/.nvm/versions/node/v12.4.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16) 13 verbose stack     at EventEmitter.emit (events.js:200:13) 13 verbose stack     at ChildProcess.<anonymous> (/home/excessive/.nvm/versions/node/v12.4.0/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14) 13 verbose stack     at ChildProcess.emit (events.js:200:13) 13 verbose stack     at maybeClose (internal/child_process.js:1021:16) 13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5) 14 verbose pkgid<EMAIL_ADDRESS>15 verbose cwd /mnt/d/www/irithyll/client 16 verbose Linux 4.4.0-17134-Microsoft 17 verbose argv "/home/excessive/.nvm/versions/node/v12.4.0/bin/node" "/home/excessive/.nvm/versions/node/v12.4.0/bin/npm" "start" 18 verbose node v12.4.0 19 verbose npm  v6.9.0 20 error code ELIFECYCLE 21 error errno 1 22 error<EMAIL_ADDRESS>start:react-scripts start 22 error Exit status 1 23 error Failed at the<EMAIL_ADDRESS>start script. 23 error This is probably not a problem with npm. There is likely additional logging output above. 24 verbose exit [ 1, true ]

Having the same issue with react-scripts ver 3.0.1. Rollback to 2.1.8 does not have the issue. I tried the suggestions of adding C:\Windows\System32 to the PATH, but it didn't work for me. Here is the npm log of the error
https://pastebin.com/YbUEBSPw

@hristov296 can you give output as above? Details of your environment, and versions?

Environment Info:
System:
OS: Linux 4.4 Ubuntu 18.04.2 LTS (Bionic Beaver)
CPU: (8) x64 Intel(R) Xeon(R) CPU           W3565  @ 3.20GHz
Binaries:
Node: 12.5.0 - ~/.nvm/versions/node/v12.5.0/bin/node
Yarn: Not Found
npm: 6.9.0 - ~/.nvm/versions/node/v12.5.0/bin/npm
Browsers:
Chrome: Not Found
Firefox: Not Found
npmPackages:
react: ^16.8.6 => 16.8.6
react-dom: ^16.8.6 => 16.8.6
react-scripts: ^3.0.1 => 3.0.1
npmGlobalPackages:
create-react-app: Not Found
Windows 10 Operating system -> Installed 'Ubuntu 18.04 LTS' from the store. Been using it for a year. There was no problem 2-3 months ago. Right now if I do just:

npx create-react-app myapp
cd myapp
npm start
I throws the error.
Tested on 'react-scripts' ver 3.0.0 and 3.0.1 - there is an error.
On version '2.1.8' it is working fine.

After some digging, I think it might be related to a newer version of webpack-dev-server

Need to look into this a bit further, I didn't get any troubles when running npm start using WSL 1 and just regular command prompt on my windows 10 box.  I am using a preview build that also supports WSL 2 though..

Can confirm that this issue occurs on my machine, running react-scripts 3.0.1
Microsoft Windows [Version 10.0.18890.1000]
With NO windows paths set I get the error
events.js:167
      throw er; // Unhandled 'error' event
      ^
Error: spawn cmd.exe ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:231:19)
    at onErrorNT (internal/child_process.js:406:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)

If I run
export PATH=$PATH:/mnt/c/Windows/System32
Things work as expected.
An older project, using react-scripts 2.1.5 works fine without updating the path.
I agree with @cheshrkat that this is a wonky workaround, and that WSL users does not want to pollute their WSL with windows paths.
I would gladly test further improvements or provide more feedback if needed

Found another workaround:
This error stems from the fact that CRA tries to open your browser:
In order to skip opening the browser, add
BROWSER=none
to your .env or .env.local file

Some more digging:
Turns our, in the cases that this fails on my machine, the browser variable sent to the  startBrowserProcess in
node_modules/react-dev-utils/openBrowser.js
is undefined.
I tried adding the following:
  if (browser === undefined) {
    return false;
  }

to line 90 of  node_modules/react-dev-utils/openBrowser.js and things again worked as expected.
I'm not sure if you want a PR with this, or if this info is enough?
Also: Not sure if this issue persists on master, where the opn library has been replaced with open?

Hey @atlefren, a PR would be great if you can - if you're not able, or want to pair, let me know!

I'll give it a try tomorrow! Just wanted to know if I should base this off master, or the relevant branch for the 3.0.1 version of react-scripts? Also: how do I run CRA from a local copy? (aka: where do I find relevant docs for development)

Correct - just fork and go.
The easiest ways to test locally are with (assuming Yarn, but npm has the same things):

yarn link in the react-scripts folder, then run yarn link react-scripts in a project that has been set up with CRA. You'll then be using your local react-scripts until you unlink.
yarn add file:/.../create-react-app/packages/react-scripts to your project.

If you are only touching one file, I think the easiest way is to just goto node_modules/react_scripts and modify the file directly.

This problem is not related to the browser argument in openBrowser. That variable is supposed to be undefined in most cases (unless the user has set the BROWSER environment variable).
Note that one workaround is to set BROWSER to "none". This will prevent any browser from being launched.
BROWSER=none  yarn start
#  or
BROWSER=none  npm start
#  or
export BROWSER=none
yarn start
...

The real problem is inside the "opn" package, which has been renamed to open. The opn function attempts to launch a browser on Windows (with or without WSL) by running cmd.exe ... start. The problem is that cmd.exe is not on the WSL path by default. So a workaround (that has been suggested above) is to add to the PATH:
PATH="$PATH:/mnt/c/Windows/System32"   yarn start   # (or npm start)

or
export PATH="$PATH:/mnt/c/Windows/System32"
yarn start    # (or npm start)

The former command will not alter your current shell while the latter will, so choose the one that suits your needs best.

FWIW I had previously edited my windows registry to exclude windows paths for an unrelated issue as per this comment. Changing it back to 7 "fixed" this issue for me.

This.
I am rather certain that assuming that everybody has their windows paths present in WSL is to beg for trouble.
Whether this is a CRA-issue, an open issue or a WSL issue is more of an academic question. The problem is that many WSL users will have an issue when updating to CRA 3.0, with no decent error messages.
As we've found in https://github.com/sindresorhus/open/issues/144 this issue is possible to solve in the open library.

FWIW I had previously edited my windows registry to exclude windows paths for an unrelated issue as per this comment. Changing it back to 7 "fixed" this issue for me.

I have resolve this problem by granted access to windows system permissions for wsl, may be the problem caused by some library run "cmd.exe" commend but wsl doesn't have the permissions to excute the windows's program

I don't know how or why cmd.exe is being invoked, but I can reproduce this on my machine when building and run an image from Docker on Windows. Setting BROWSER: none in docker-compose.yml fixes it.
The weird thing is, it's being built on the image node:10, for the linux/amd64 platform, on Linux with kernel 4.19. I've traced it down to:
Package open uses is-wsl, which detects the Docker container as being WSL-capable, which then tries to invoke cmd.exe.

This is probably the easiest fix.
"scripts": {
    "start": "BROWSER=none react-scripts start",
  },

Append this to your Path it worked fine for me.

C:\Windows\System32

there's not really a simple way to fix this for wsl that isn't ugly for other platforms. a simple workaround for wsl users is to just temporarily append the required path by modifying package.json so that the yarn start command is prefixed with a temporary PATH var that contains the folder containing cmd.exe. on most ubuntu wsl setups this looks like this:
  "scripts": {
    "start": "PATH=$PATH:/mnt/c/Windows/System32 react-scripts start",

Found another workaround:
This error stems from the fact that CRA tries to open your browser:
In order to skip opening the browser, add
BROWSER=none
to your .env or .env.local file

Thanks for saving me time <3

Worth mentioning that for WSL2 and Windows 10 later versions, the path to add to $PATH is different. I'm on version Version	10.0.18362 Build 18362, running Kali Linux as my dev environment via WSL2, and this worked for me:
shim to enable openBrowser from react-dev-tools to find and launch browser using powershell.exe
export PATH=$PATH:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/
adding 'if (!browser) return false;' to openBrowser.js from ./node_modules/react-dev-tools also works, but if you do ANY kind of install operation... it gets blown away.
The .env fix also works, but now you're managing the browser open and refresh yourself, because the linkage between the webpack dev server and the browser gets a bit borked when you turn BROWSER=none.
Hope this helps!

I've run into the same issue, but I have a bit of a wonky setup. I have a gaming PC which I decided to double as my dev server since WSL is so great now. I installed it, set it up, CRA starts without issues. However, when I try to do the same thing over a remote SSH connection, CRA thinks I'm still on the actual machine and tries to open the window, but now the env variables are different. I added the BROWSER="none" variable and that fixed it, but it feels like detection of remote environments should be better

Update - tried adding the WSL path to System32 and although it's a pretty shonky workaround it does stop the crash:
export PATH=$PATH:/mnt/c/Windows/System32
What's strange is that I'm pretty sure CRA used to work without that path set, which suggests something changed in the way it detects the environment and launches the app in browser (perhaps it was providing the path). While this workaround seems to work, I'd be a bit wary of relying on it; plus it's not particularly uncommon for WSL users to remove windows locations from their PATH.

Also worked perfect for me.

If you don't want to modify your package.json, or add windows paths:
export BROWSER ="none"
or in Fish:
set -x -U BROWSER none


Allow to refresh a source and reload its data.

Allow to refresh a source and reload its data.
Provide an API to refresh a source and reload its data in an associated layer, as for example already loaded tiles in a ol.source.Tile source are not refreshed.
Currently internal state is not cleaned up, e.g. already loaded tiles in a ol.source.Tile source are still cached and not reloaded at all.
github issue: #4867

This looks like a sensible addition to me.  Though it is questionable for a two line method, we want to have tests for any new functionality (and bug fixes).  Would you be up for adding a test?
Could be as simple as:
describe('#refresh()', function() {
  it('dispatches the change event', function(done) {
    var source = new ol.source.Tile({});
    source.on('change', done);
    source.refresh();
  });
});

Bonus points for making assertions about the tile cache.

Sure, I will look at the existing tests tomorrow to build a new one that fits in the project.
But will I be able to access the tilecache as it seems to be a protected member variable of  ol.source.Tile? I would expect it to get obfuscated/optimized by the compiler.
Or are all tests compiled into the whole build instead of applying them to the optimized result?

The tests run with an unminified build. We do access private/protected members frequently in our tests.

Sounds good, I will look at that.

Sorry for committing two separate commits. Travis failed on the eslint part when I only ran make test instead of make ci or an additional make lint.

I recommend running make check... not to long and catches a lot.

Thanks for the hint :-)

Do we have a CLA from you @sebasbaumh ? https://github.com/openlayers/cla

Yes you do, I signed it on Thursday last week.

Thanks, our list is not up to date

Can you please squash your four commits into one, after that we can merge your pull-request

How do I do that on this existing pull request?

@sebasbaumh any commits that you push to your refreshSource branch will update the state of this pull request.  To modify the history of this branch, you can force push commits.  This is useful to clean things up after catching lint issues and can be used to avoid unnecessary merge commits.
So, whenever sitting down to work on this branch, the first thing you might do is rebase your commits on top of the master branch of the openlayers remote (this assumes you have already done git add openlayers git@github.com:openlayers/ol3.git):
git checkout refreshSource
git pull --rebase openlayers master

The command above will rewind the commits in your refreshSource branch to a common ancestor with openlayers/master, advance to openlayers/master, and then replay your commits.  You may run in to conflicts during this rebase, but you would run into these same commits with a merge.  It is more appropriate to fix these commits during a rebase, because you get to correct the commits that are responsible for the conflicts (instead of having them all fixed in one big merge commit).
After successfully rebasing, you can push your commits up to your remote (this assumes you have git add origin git@github.com:sebasbaumh/ol3.git).  Notice that you have to force push these commits since you are (likely) overwriting history for the remote.  If you were collaborating with someone else on this branch, you would want to cautiously coordinate any force pushes.  But if you are working alone on the feature branch, you can force push at will.
git push --force origin refreshSource

The next thing you might want to do is clean up any commits in your branch.  This is another rebase, and would let you reword commit messages, add additional changes to a commit, squash multiple commits into one, or remove commits entirely.  Here are some resources on the subject:

https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History
https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase-i/
https://help.github.com/articles/about-git-rebase/

The request above was about squashing your commits into one.  So the first thing you want to do is to find the id of the first commit that you want.  You can do this with git log, looking for your "Allow to refresh a source and reload its data" commit message.  With the current state of your branch, this would be 0623a545ab764947bea541cd6678e314fd060bcf, but it will be different after the rebase above.  Assuming you find the commit identifier, you can use it instead of 0623a545ab764947bea541cd6678e314fd060bcf in the examples below.
Next, start an interactive rebase by appending ^ to the first commit id that you want to keep:
git rebase --interactive 0623a545ab764947bea541cd6678e314fd060bcf^

In your case, you just want to change the words pick to squash for every commit after the one with the id above.  So leave pick for the commit with the "Allow to refresh a source and reload its data" message, and change the others after it to squash.
After saving your edits to the interactive rebase instructions, the rebase will run to completion.  If you had instead changed some of the instructions to reword or edit, you would have the opportunity to take those actions before continuing the rebase.
With your commits successfully squashed, you can again update the history of your remote:
git push --force origin refreshSource

Rebasing and force pushing can be intimidating, but fortunately git and GitHub are pretty greedy about keeping old commits around.  So, for example, if things go haywire during any of the steps above, you can restore your old history by going back to this commit: https://github.com/sebasbaumh/ol3/commit/2cea22bf7f13eb217e91b1a60929edf5845482c3.
Let us know if you need a hand.

Nice explanation, Tim! :+1: I bookmarked your comment for the next time I need to explain rebasing. :)

Thank you @tschaub for that awesome explanation! :-)
Event though I worked with pull requests before, I did not do an interactive rebase until now.
After all it makes a more streamlined commit and I hope everything is fine now.

Thanks for the great work on this @sebasbaumh.

Please rebase your branch instead on upstream master. Here is an explanation: #4868 (comment)

( @tsauerwein )
@tschaub, thanks for the explanation. My minor suggestions are to change
git add openlayers git@github.com:openlayers/ol3.git
to
git remote add openlayers git@github.com:openlayers/ol3.git
and to remind people to do git fetch openlayers (just in case).


Only import languages needed for syntax highlighting

See instructions: https://www.npmjs.com/package/ngx-highlightjs
I tried to follow the instructions. The issue is the lack of typescript types for the individual languages. It would take me some time to figure out how to deal with this. I tried to follow the discussion here, but couldn't get it to work.

Is json the only language needed currently?

We're currently using just two:

json
dockerfile


Tekton updates (#53)

Move endpoint to pipeline run

Doc update

Switch to generateName

Fix branch name

Switch to generateName

OpenShift doc change

CP4i fixup

Fix permissions

Fix buildah image

Check devcontainers work at 12.0.11


Exercise 19_02

It seems like this exercise doesn't have a solution just by adding parentheses, or I'm too stupid
/*
 * Fix the program
 *
 */

#include <assert.h>
#include <stdbool.h>
#include <stdio.h>

// ❌ I AM NOT DONE

int main() {
    int a = 1;
    int b = 2;
    int c = 3;
    int result;

    // Only add parentheses, so that result == 2
    result = b * c / a - b % c; // <-- Fix this line

    assert(result == 2);
    printf("The result is %d\n", result);

    return 0;
}

It has a solution. Perhaps I should mention that you need to add more than one pair of parentheses. @Heus-Sueh

@danwritecode this issue can be closed. I will later modify the hint.


NIFI-2090 Add support for HL7 segment names and components in ExtractHL7Attributes

Closing to resubmit against master.


[Docs]update README

What:
I moved up the dependencies to avoid going all the way down readme to find them. And I added the dependency for Twitter to highlight the community.
Before
https://user-images.githubusercontent.com/47215234/160837545-f0d4df75-14d6-4427-bc76-5a52bc0c5c07.mp4
After

Hi @guelate, I believe we’ve done this on purpose so I’ll close this now.
If you’d like to make the case some or all of this should be further up, or suggest an addition such as the Twitter badge, please open an issue first. The project’s README is very important to us so it’s unlikely we would accept changes to it without upfront agreement.


add scopes[] to the FilteringTerm

The patch is the response to the several discussions #93, #94.
beaconFilteringTermsResults.json FilteringTerm should provide a list of scopes (entryTypes) the filter may be applied,
Dmitry

Everything looks fine except for the example, as we have discussed in person,
the json
                    "examples": [
                        ["individual", "biosample"]
                    ],

and the yaml
["individual", "biosample"]

It looks good to me.
Not to be corrected in this PR, but the example "Human Phenotype Ontology" is wrong as it is not part of the type enum.


test: determine if two users are friends

develop test to assert the ability to determine if two users are friends

closing see #20


Autocomplete issues on Safari with hint parameter enabled

Each instance of autocomplete with active hint: true results in the impossibility on Safari browser (both mobile and desktop) to display the keyboard to write in the field, as well as the instantaneous loss of focus on the field at its selection.
$('input[type=search]').autocomplete({
    autoselect: true,
    hint: true
}, ...)

Here is a short video of the malfunction, where you can see that the focus on the field is instantly lost when you click (the text cursor just appears disappears):
https://youtu.be/yS01E93xmFY
Also, you can try the issue live at https://staging1.vivi.city/ (try searching anything, eg. London)
If you disable the hint parameter, the field is focusable and you can write in it.

Which version of Safari are you using?
The next Autocomplete.js version should solve this problem.

There is no difference between used version to have this issue present.

Autocomplete v0 has been in low maintenance mode for a few years and we just released Autocomplete v1 so I'm closing this.
We went with another UX pattern for this version, similar to Google and Amazon, where your input takes the value of the active item, and the query updates once you interact with this temporary input.

Resources

Getting Started
getItemInputValue


[command-not-found] Load brew 'command-not-found' if homebrew tap is available

Homebrew has official tap that supports command-not-found. Enable it when possible.

Awesome! Thanks for your work on this!


[html] do not suggest to close an already closed tag

VSCode Version: Code 1.16.1 (27492b6bf3acb0775d82d2f87b25a93490673c6d, 2017-09-14T16:38:23.027Z)
OS Version: Windows_NT x64 10.0.15063
Extensions: none

When working on html file - the editor suggets I would close an already closed tag.
Tried uninstalling and other things but it didn't work
.
Happened to me on other versions too.
Steps to Reproduce:
(note I'm not sure it happens to everyone)

create a tag. let the editor automatically create the closed tag. or close it yourself
start creating a tag between those two.

Same here - https://i.imgur.com/M7IM1x6.gif

That's the intended behaviour. I see that this doesn't make sense for  but for other tags (e.g. div), you might want to close is so you can open it later again.

I understand. But for this  rare scenario we sacrifice the day-to-day
scenario?
Plus, I think other IDEs don't do that.
On יום ד׳, 27 בספט' 2017, 12:53 Martin Aeschlimann<EMAIL_ADDRESS>wrote:

That's the intended behaviour. I see that this doesn't make sense for but
for other tags (e.g. div), you might want to close is so you can open it
later again.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/35143#issuecomment-332470555,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHtwjIF-Ecs8WpozeQ6iwGNHYC-jbeqVks5smhr8gaJpZM4PkkqN
.

Code completion is just a coding aid. The user can pick what is needed and the user will know the order in which he/she edits.


Adjust-frequency should preview patterns

When adjusting frequencies, we need to choose a trip from a typical pattern on the route. While stepping through the patterns, the map display does not change making it hard to see which one is the most typical pattern.

See also #25 - we either need to implement hover or come up with a better way. @trevorgerhardt rightly points out that hover won't work on tablets, and that's a definite use case for this app (or touch tables, in a public meeting context).

Confirmed, I've had strong and specific requests to make everything work on tablets.