Thoughts on making API more like WebSocket?

Conceptually MQTT is very similar to Websocket (in fact, MQTT even supports websocket as a protocol).
What do you think about making the API of this library we similar to the Crystal Websocket API (https://crystal-lang.org/api/0.29.0/HTTP/WebSocket.html)?
It would look something like:

new(...): Client: no change
on_message(listener: String, String -> ): similar to websocket.on_message, saves the block to call for each new value
publish(topic: String, value: String, qos, retain): similar to websocket.send, publishes a single value, and requires that the socket be connected
close: no change, similar to websocket.close.
subscribe(topic : String|Array(String)): sets the subscription topics, but does not actually subscribe.
run: similar to websocket.run, subscribes to the topics and blocks. This would be the run loop. One difference here from regular websocket could be a parameter, e.g. run(auto_reconnect: Bool), that would automatically reconnect, otherwise run would return when the connection is closed.

Is that something you think would be worthwhile?

Actually, it seems WebSocket API is not ideal: https://github.com/crystal-lang/crystal/issues/5600#issue-289450961.
If we use their proposed API, I think we end up with an even nicer solution:

new(...): Client: no change
connect, reconnect, close: no change
connected?: no change
subscribe(topic : String|Array(String)): subscribes to the topic(s), similar to current.
subscribed?(String): Bool: since we can have multiple subscriptions, this would check whether a particular topic's suback has been received
publish(topic: String, value: String, qos, retain): publishes a single value, requires that the client be connected
receive: Tuple(String, String): blocks until the next value is received, and returns topic and value.

Yes, it will be great.

Okay sounds good. I'll get something going for a PR soon


Fix python3

This PR fixes a couple python 3 compatibility issues I ran into, and adds some lightweight testing to try and help catch regressions in the future.

added a tox config for ensuring that test.py runs all the way through
added a .travis.yml that runs tox against a bunch of versions of python

If you guys go and enable travis-ci for the repository new pull requests and commits to master will run tests. See https://github.com/gnmerritt/ccxt/pull/1 for example of what that looks like

Thank you a lot! I merged all of these commits into the main repo.

The only thing I could not integrate is the following change in __init__.py inside the definition of fetch_products function:
- for p in range (0, len (keys)):
-     key = keys[p]
+ for key in keys:

Having two lines instead of one there is intentional and preferred for code consistency across JavaScript/Python/PHP (where Python and PHP versions are generated by the transpile.js script from the JavaScript version upon new releases). One line is shorter in syntax, but those two lines are more convenient for transpilation to other languages.

Ahh interesting, that explains the unusual python form.
The problem there is that in python3 the keys() functions on dictionaries doesn't return a list so you can't access elements with the [] operator. I think if you update the code generation to wrap list(dictionary.keys()) it should work

Wow, thank you for that hint! I will modify the transpilation script ASAP! )

Done. Appreciate your help!

Thank you for making the library!
If you want the tests to run automatically for every new commit to master you can go over to https://travis-ci.org/profile/kroitor and turn on travis for the repo.


conventional installation instructions, python packaging

This issue is part of my portion of the JOSS review, https://github.com/openjournals/joss-reviews/issues/5478
Ordinarily, python packages contain an installation heading on their main documentation page.  The PyPO docs require that I navigate from the index to "Related Pages" (a guess) and then the "General" page includes installation instructions.
Please place installation instructions on the index page of the documentation
--
The build instructions are highly non-normative for python, there is an ongoing multi-year period of confusion with python packaging, between poetry, pyproject.toml, setup.cfg/setup.py, and so on.  Regardless of all of that, the software should be installable using a one of the usual methods:

pip install . or pip install https://github.com/PyPO-dev/PyPO
poetry add PyPO

and so on.  This will require that you make a setup.py file, and/or setup.cfg+setup.py, or pyproject.tml file.
The user should not need to edit environment variables, and you should especially not prescribe path editing methods.  For example, I do not not even have $PYTHONPATH set; your instructions are incompatible with my ordinary, conda-based python environment
--
As-is, the instructions provide no feedback as to whether they worked or not; I ran ./Build.py -f and then -m, which opened a new terminal for a brief moment with no feedback as to whether it worked or crashed.  Same for -t.

I created a scratch environment for python 3.10 on an M2 macbook air, Ventura 13.3.1(a).  The installation instructions did not work:
conda create -n tmp python=3.10
conda activate tmp
pip install -e .
Obtaining file:///Users/bdd/src/PyPO
  Preparing metadata (setup.py) ... done
Collecting numpy
  Downloading numpy-1.24.3-cp310-cp310-macosx_11_0_arm64.whl (13.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.9/13.9 MB 14.0 MB/s eta 0:00:00
Collecting scipy
  Downloading scipy-1.10.1-cp310-cp310-macosx_12_0_arm64.whl (28.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 28.8/28.8 MB 25.0 MB/s eta 0:00:00
Collecting matplotlib
  Downloading matplotlib-3.7.1-cp310-cp310-macosx_11_0_arm64.whl (7.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.3/7.3 MB 17.4 MB/s eta 0:00:00
Collecting pillow>=6.2.0
  Downloading Pillow-9.5.0-cp310-cp310-macosx_11_0_arm64.whl (3.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 36.8 MB/s eta 0:00:00
Collecting contourpy>=1.0.1
  Downloading contourpy-1.0.7-cp310-cp310-macosx_11_0_arm64.whl (229 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 229.7/229.7 kB 29.5 MB/s eta 0:00:00
Collecting kiwisolver>=1.0.1
  Downloading kiwisolver-1.4.4-cp310-cp310-macosx_11_0_arm64.whl (63 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.2/63.2 kB 3.8 MB/s eta 0:00:00
Collecting cycler>=0.10
  Downloading cycler-0.11.0-py3-none-any.whl (6.4 kB)
Collecting python-dateutil>=2.7
  Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 kB 35.6 MB/s eta 0:00:00
Collecting packaging>=20.0
  Downloading packaging-23.1-py3-none-any.whl (48 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.9/48.9 kB 7.7 MB/s eta 0:00:00
Collecting fonttools>=4.22.0
  Downloading fonttools-4.39.4-py3-none-any.whl (1.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 37.5 MB/s eta 0:00:00
Collecting pyparsing>=2.3.1
  Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.3/98.3 kB 12.7 MB/s eta 0:00:00
Collecting six>=1.5
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Installing collected packages: six, pyparsing, pillow, packaging, numpy, kiwisolver, fonttools, cycler, scipy, python-dateutil, contourpy, matplotlib, PyPO-pkg
  Running setup.py develop for PyPO-pkg
    error: subprocess-exited-with-error

    × python setup.py develop did not run successfully.
    │ exit code: 1
    ╰─> [41 lines of output]
        running develop
        /Users/bdd/miniconda3/envs/tmp/lib/python3.10/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
        !!

                ********************************************************************************
                Please avoid running ``setup.py`` and ``easy_install``.
                Instead, use pypa/build, pypa/installer, pypa/build or
                other standards-based tools.

                See https://github.com/pypa/setuptools/issues/917 for details.
                ********************************************************************************

        !!
          easy_install.initialize_options(self)
        /Users/bdd/miniconda3/envs/tmp/lib/python3.10/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
        !!

                ********************************************************************************
                Please avoid running ``setup.py`` directly.
                Instead, use pypa/build, pypa/installer, pypa/build or
                other standards-based tools.

                See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
                ********************************************************************************

        !!
          self.initialize_options()
        running egg_info
        creating src/PyPO_pkg.egg-info
        writing src/PyPO_pkg.egg-info/PKG-INFO
        writing dependency_links to src/PyPO_pkg.egg-info/dependency_links.txt
        writing requirements to src/PyPO_pkg.egg-info/requires.txt
        writing top-level names to src/PyPO_pkg.egg-info/top_level.txt
        writing manifest file 'src/PyPO_pkg.egg-info/SOURCES.txt'
        reading manifest file 'src/PyPO_pkg.egg-info/SOURCES.txt'
        reading manifest template 'MANIFEST.in'
        adding license file 'LICENSE'
        writing manifest file 'src/PyPO_pkg.egg-info/SOURCES.txt'
        running build_ext
        cmake /Users/bdd/src/PyPO -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/bdd/src/PyPO/src/PyPO "-DCMAKE_BUILD_TYPE=Release --j4"
        error: command 'cmake' failed: No such file or directory
        [end of output]

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

× python setup.py develop did not run successfully.
│ exit code: 1
╰─> [41 lines of output]
    running develop
    /Users/bdd/miniconda3/envs/tmp/lib/python3.10/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
    !!

            ********************************************************************************
            Please avoid running ``setup.py`` and ``easy_install``.
            Instead, use pypa/build, pypa/installer, pypa/build or
            other standards-based tools.

            See https://github.com/pypa/setuptools/issues/917 for details.
            ********************************************************************************

    !!
      easy_install.initialize_options(self)
    /Users/bdd/miniconda3/envs/tmp/lib/python3.10/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
    !!

            ********************************************************************************
            Please avoid running ``setup.py`` directly.
            Instead, use pypa/build, pypa/installer, pypa/build or
            other standards-based tools.

            See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
            ********************************************************************************

    !!
      self.initialize_options()
    running egg_info
    creating src/PyPO_pkg.egg-info
    writing src/PyPO_pkg.egg-info/PKG-INFO
    writing dependency_links to src/PyPO_pkg.egg-info/dependency_links.txt
    writing requirements to src/PyPO_pkg.egg-info/requires.txt
    writing top-level names to src/PyPO_pkg.egg-info/top_level.txt
    writing manifest file 'src/PyPO_pkg.egg-info/SOURCES.txt'
    reading manifest file 'src/PyPO_pkg.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    adding license file 'LICENSE'
    writing manifest file 'src/PyPO_pkg.egg-info/SOURCES.txt'
    running build_ext
    cmake /Users/bdd/src/PyPO -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/bdd/src/PyPO/src/PyPO "-DCMAKE_BUILD_TYPE=Release --j4"
    error: command 'cmake' failed: No such file or directory
    [end of output]

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

This is just a case of cmake not being installed on my machine; please move the text in the installation instructions about cmake to a more central heading; it is present for windows and linux, but not mac
After the cmake dependency is listed generally, I am satisfied with the installation instructions
There is no problem waiting to generate wheels, or post the package to PyPI; these are not required at all, but are nice conveniences for users who may not wish to install directly from github

Thank you for the comment!
I have now included a prerequisites subsection to the "install from source" section where I explicitly mention that cmake has to be pip-installed before building from source, irrespective of operating system.
This afternoon, we will merge with the main branch again. When you resume the review, can you let us know if the installation instructions work? If it all works, I will close this issue.

Everything works as-is; you may consider removing the "Irrespective of operating system" note, since it does not add new information
thanks!


Switch datasource

I don’t believe this tool works with HotsLogs offline right now. Is anyone still using it? If so, it might be worth switching to Heroes Profile’s new API to source MMR info, etc.

I think it's a good idea!

So to do this, this is my suggestion.
Rebrand as HotsApi HotsStats
Then you will need to create an account on our api service where I can give you a free account.  Then you would need to implement that free account token in the app while also keeping it secret.
Thoughts?

Better yet, add macOS support and interface with Heroes Share which already does this server side and would conceal the API token.

yes pls fix urls or change;
hots logs again alive but show wrong data;
tool work and still fine;
in worst will switch it yself when will had time;
only mmr what it show and game numbers because that ifo from blizz looks like

hots logs not dead
https://www.hotslogs.com/player/profile?PlayerID=12958022
and hprofiles
https://www.heroesprofile.com/Hero/Single/?blizz_id=60330&battletag=maxoptimus&region=2&hero=Sgt. Hammer
both had problems with some huge numbers but in ost data is correct if check by seasins...
mmr is good but nuber of games is good to known....

I said HotsAPI.


Reference field name updates

Description of changes:

Refactor adding ReferenceField in CRD inside AddSpecField method
Create new "Field.GetReferenceFieldName"  method to generate ReferenceFieldName from corresponding Field
Change the ReferenceFieldName from just adding "Ref" suffix to "Singular(FieldName - IdentifierSuffix) + Ref(s)"
Uncomment the wait for ResourceSynced condition before referencing a resource
Update comments and docs to use "APIRef" instead of "APIIDRef"

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I will let @RedbackThomson lgtm this because I know he's a huge fan of this naming convention.


Optimize binaryClassifier

Use the grid search to find a starting set of values for C and gamma. Then use those starting values as the input to a real optimizer.
Consider trying to use the simulated annealing functionality built-in to GSL.
It's also possible to launch a small pool of simulated annealing optimizers concurrently and then exit as soon as a desired level of accuracy is reached.

Simulated annealing with GSL is rather complicated - maybe just stick to gradient descent for now

Because I want to be able to use up to 99 features with the binary classifier, computing a numerical gradient would be prohibitively expensive, which rules out Gradient Descent.
I have experience with genetic algorithms, so it might not be a bad idea to write a genetic algorithm to optimize binaryClassifier


Fix TableUtil.Extend not working as intended, add TableUtil.GetTableType  and remove whitespaces

Fix TableUtil.Extend, add TableUtil.GetTableType and remove whitespaces from TableUtil.lua
What was wrong with the previous version of TableUtil.Extend?
Wouldn't work with arrays. Only dictionaries.
tbl[k] = v
makes it so that, instead of adding k to the table, it replaces it. And since k = 1, k = 2 ... in arrays, it would just replace the values. This also means that the example of TableUtil.Extend is wrong.
This uses XAXA's function for getting the type of a table:
https://devforum.roblox.com/t/detecting-type-of-table-empty-array-dictionary-mixedtable/292323/15

I think there could be an argument that this should only work for dictionaries. You can just use table.move to extend an array.

Maybe it would be even better to have a separate library for arrays and dictionaries.

@Nickuhhh Yeah that's possible.  Would still want to keep a TableUtil for shared operations (such as Print and Copy)

@Sleitnick Printing tables is already handled by the new output, no need. I think it would make more sense for both ArrayUtil and DictionaryUtil to inherit some kind of BaseUtil since they both contain the same functions.

Going to be closing this for now due to restructure of TableUtil. The restructure will also address this issue with Extend.


Remove ._waitForUpdate()

The db has header now, so this shouldn't be necessary.
This was causing .readFile() from hyperdrive#hyperdb-backend to not
call it's callback.

Maybe this was needed ... now .authorized() seems to be broken.

Nevermind my last comment... it seems to be working now.

I think it still needs a wait in there... I'll try another approach to fix it.

This seems to be mostly working now.

I think that nextTick "need" is a hypercore bug

I think we fixed this in master but feel free to reopen if not


Change in inferred type in 3.6 for function call using generic union instantiated at string literal

TypeScript Version:  3.6.2

Search Terms: regression, string literal, union, 3.6, inference, generic.
Code
type NetworkProtocol = "TCP";
type Input<T> = Promise<T> | T;
function ifUndefined<T>(input:Input<T> | undefined, value: Input<T>): Promise<T> {
    throw new Error();
}
const y = ifUndefined(new Promise<NetworkProtocol>(() => {}), "TCP")
const z: Promise<NetworkProtocol> = y;

Expected behavior:
No error (3.5 and earlier).
Actual behavior:
A type error (3.6.2):
Type 'Promise<string>' is not assignable to type 'Promise<NetworkProtocol>'.
  Type 'string' is not assignable to type 'NetworkProtocol'.

Playground Link: Playground.  The TypeScript Playground doesn't appear to yet use 3.6.2 though so this doesn't repro in the playground.
Note that this example does work as expected - and looks morally "the same":
type NetworkProtocol = "TCP";
function ifUndefined<T>(input:Promise<T> | undefined, value: T): Promise<T> {
    throw new Error();
}
const y = ifUndefined(new Promise<NetworkProtocol>(() => {}), "TCP")
const z: Promise<NetworkProtocol> = y;

Yes, i can confirm there seems to be an issue in 3.6.2, simpler example here:

It shows the wrong type inference

I think this probably has to do with https://github.com/microsoft/TypeScript/issues/33131#issuecomment-526391597 and is therefore a bug.
The example above was a generic function with its argument typed as string | T.  The call site passes in a string, it matches the string part of the union.  The compiler then doesn't bother to infer T.  T therefore defaults to unknown (its constraint), bar's type is instantiated to string | unknown which collapses to simply unknown by subtype reduction.

Yeah, I think it's to do with the changes to naked type parameter inference. @weswigham mind taking a look to confirm before I close this as a duplicate?

@lukehoban Here's a link to a build you can try to see if it fixes the problem:
https://typescript.visualstudio.com/cf7ac146-d525-443c-b23c-0d58337efebc/_apis/build/builds/42167/artifacts?artifactName=tgz&fileId=84FA9BD7390E9AE04ED6006D9E265FBCF309C643377CBBC8CB1CE445229AAB2B02&fileName=/typescript-3.7.0-insiders.20190830.tgz
Some install instructions

(Hi Luke! 👋)
This is an effect of #32460, and I would argue one that is intended. In the call to ifUndefined we make two inferences for T, in the first argument from Promise<NetworkProtocol> to T | Promise<T> | undefined, and in the second argument from string to T | Promise<T>. Previously we'd give lower priority to the second inference because we infer to a naked type parameter in a union, and thus we'd end up inferring NetworkProtocol for T. Now we give equal priority to the inferences (which really is the correct behavior) and we therefore end up with string.
The string literal "TCP" is widened to string in the second argument because there is nothing to indicate that it shouldn't be. It works as intended if you add a const assertion:
const y = ifUndefined(new Promise<NetworkProtocol>(() => {}), "TCP" as const);


Search In Files returns partial lines when there is a slash

VSCode Version: 1.33.1 (system setup)
OS Version: Windows_NT x64 10.0.15063

Steps to Reproduce:

Open a file containing the following block
xcopy /Y /F /I /E %_PROFILES% %_PROFILES%_PREMIG
Trigger Search Panel and search PREMIG without option
The result line starts after the last slash

Does this issue occur when all extensions are disabled?: Yes

This is by design because we are looking for a good place to crop the result and we don't consider / to be a word character. But we want to show more info where there is room, you can see more info here: https://github.com/Microsoft/vscode/issues/59310


Order findAll() by a relation?

Not sure if this is possible, but I'm building a voting system for feature requests and would like to show the list of features ordered by the amount of votes it has been given.
// Feature model
public function getVote()
{
    return $this->hasMany(FeatureVote::className(), ['featureId' => 'featureId']);
}

// FeatureVote model
public function getFeature()
{
    return $this->hasOne(Feature::className(), ['featureId' => 'featureId']);
}

// Find all
Feature::find()->all();

When doing Feature::find()->all(); is there a way of ordering by the COUNT() of the getVote() relation?
Thanks,
Gary

You may join against a subquery that selects the counts per featureId but please use the forum to ask questions, github is for bug tracking.


v4 not working with Nx monorepo and pnpm

Describe the bug
Trying to set up v4 with a react native cli project inside a Nx workspace with pnpm fails on multiple steps.
Setup as per docs results in two errors of modules @babel/plugin-transform-react-jsx and react-native-css-interop missing, if I add them manually to the repo metro crashes with the invariant violation message that the app is not registered.
Reproduction can be found here.
Clone, and then pnpm install, nx pod-install nativewind-test-app, nx run-ios nativewind-test-app.
Additional context
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

React Native is very sensitive to the location of modules in your node_modules. It is highly recommend to use the nohoist option https://docs.expo.dev/guides/monorepos/
This is React Native issue and not a NativeWind issue


fix: Nil pointer exception when CreateDIDOpts object not provided

Signed-off-by: Derek Trider<EMAIL_ADDRESS>

Codecov Report
Base: 91.03% // Head: 91.05% // Increases project coverage by +0.01% :tada:

Coverage data is based on head (bc80d06) compared to base (8551715).
Patch coverage: 100.00% of modified lines in pull request are covered.

:exclamation: Current head bc80d06 differs from pull request most recent head 7d703de. Consider uploading reports for the commit 7d703de to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #153      +/-   ##
==========================================
+ Coverage   91.03%   91.05%   +0.01%
==========================================
  Files          37       37
  Lines        1261     1263       +2
==========================================
+ Hits         1148     1150       +2
  Misses         67       67
  Partials       46       46

Impacted Files
Coverage Δ

cmd/wallet-sdk-gomobile/did/creator.go
83.33% <100.00%> (+0.98%)
:arrow_up:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add support for sending a commit status to github if the contributor has signed CLA.

Thanks for your contribution @ketan.
I'm not actively maintaining this anymore, and unfortunately don't have the time to review this anytime soon. @lieutdan13 Can you review and merge this?

Thanks for the PR @ketan. 2 things:

How does one trigger this event and what does this do when you trigger it? (I'm sorry. This is a project I haven't visited in awhile).
Please write a unit test (or a few) to accompany your code.

Closing due to > 1 year and no feedback from the OP.


LDAP password auth - only first 1000 users are searched against

LDAP authentication with a search returning > 1000 results will not find some users in ActiveDirectory as only first 1000 results are returned.
https://stackoverflow.com/a/33445705/8874837
http://stackoverflow.com/a/31750628/384674
https://stackoverflow.com/questions/30567983/query-to-ad-for-unlimited-results
https://stackoverflow.com/questions/58638194/how-to-fix-ldap-connection-error-javax-naming-sizelimitexceededexception-ldap
https://self-learning-java-tutorial.blogspot.com/2016/06/jndi-pagination-support.html
https://docs.oracle.com/javase/7/docs/api/javax/naming/ldap/PagedResultsControl.html can resolve this

@findepi @tooptoop4 Would like to work on this issue

@dhruvp-8 go for it!
the test environments we use for testing are defined here https://github.com/prestosql/docker-images/
please ask on #dev channel of our slack for any "how do i ..." development questions.

@dhruvp-8 still interested in this?


editor hangs for very long time with 7.5k file

I've found similar reports when using Atom with large files but my file is less than 300 lines with less than 150 characters each.
Reproduction Steps:

Download and open the file https://github.com/go-gcfg/gcfg/blob/083575c3955c85df16fe9590cceab64d03f5eb6e/set.go#L242
Go to the end of line 242 (btw I find it weird that in Windows the last character is not displayed in full so the cursor at the end is also not visible)
Press Enter

Expected behavior:
New line is started at L243
Observed behavior:
Atom editor window hangs for a very long time. (I thought it was indefinite but it came back after an hour or so.) After that, new line is started.
Screenshots and GIFs

Atom version: 1.3.1 and 1.4.0beta3
OS and version: Win8.1 64bit, Debian8.2 64bit
Installed packages:
Just the core packages.
Additional information:

Problem can be reproduced in safe mode: Yes
Problem started happening recently, didn't happen in an older version of Atom: don't know
Problem can be reliably reproduced, doesn't happen randomly: Yes
Problem happens with all files and projects, not only some files or projects: No

I am able to reproduce this. Better yet, I am able to chase down its root cause and put together a fix: https://github.com/atom/language-go/pull/79.


Fix typo in Catalog name

Signed-off-by: Carlo Lobrano<EMAIL_ADDRESS>

/lgtm

/cherry-pick release-0.1


[BUG] request-id correlation header not being send because enableCorsCorrelation is false default, set enableCorsCorrelation to true by default

I have enabled tracking on both the frontend (React app) and the backend (.NET Core app).
When I run it in development mode, I do not use CORS preflight requests (this is really details, not important for the current issue. There is no CORS because I have a React proxy setup and the frontend is hitting the same port on which the proxy works, so the browser does not issue a preflight request).
When I built the frontend and deploy it to real development instance, frontend and backend work on separate domains, so CORS are needed, and the browser issues preflight requests.
I used the default configuration, just enabled the fetch tracking (disableFetchTracking: false) and surprise - while I develop everything works like a charm, and correlation is done. Then I deploy to develop and correlation breaks.
After doing some investigation I found the root cause: https://github.com/microsoft/ApplicationInsights-JS/blob/b63955bbdb47ac24dbb76479309628a47188fe0a/shared/AppInsightsCommon/src/Util.ts#L358
And then: https://github.com/microsoft/ApplicationInsights-JS/blob/b63955bbdb47ac24dbb76479309628a47188fe0a/extensions/applicationinsights-dependencies-js/src/ajax.ts#L279
So basically because enableCorsCorrelation is false, then no correlation header is included. I believe this is a problem.
I would say:

enableCorsCorrelation should be true by default
The if condition in canIncludeCorrelationHeader should be evaluated and may be reworked

I would say enableCorsCorrelation is default false because the library cannot know if sending the correlation headers will fail CORS (server may reject the OPTIONS preflight)
Our app has this same issue where we turned enableCorsCorrelation: true. We saw some requests fail because the service would reject the request as the request was trying to send the correlation headers. We're moving from a "deny-list" (dont send correlation headers for x,y,z domains) to an allow-list (only send correlation headers for a,b,c domains where it is known that CORS will succeed)
Hope this helps

For us, changing defaults like this would be considered a breaking change and therefore require a major version bump, so if we do this it won't be until then.


rethink.Polygon not accepting [][]float64

My array
[
[8.541952606550751, 47.378624911564714],
[8.542266223657606, 47.3766240925448],
[8.544698033921975, 47.378060155580556],
[8.541952606550751, 47.378624911564714]
]

Error:
gorethink: Expected 3 or more arguments but found 1. in:
r.Table("table").GetIntersecting(r.Polygon([[8.541952606550751, 47.378624911564714], [8.542266223657606, 47.3766240925448], [8.544698033921975, 47.378060155580556], [8.541952606550751, 47.378624911564714]]), index="location"
)

in your doc you say:

// Polygon constructs a geometry object of type Polygon. The Polygon can be
// specified in one of two ways:
//  - Three or more two-item arrays, specifying longitude and latitude numbers of the polygon's vertices;
//  - Three or more Point objects specifying the polygon's vertices.

So I dont see how this is an error since I am passing correct data. I am using gorethink.v4.
I have tried like this as well:
var p []rethink.Term
for _, e := range points.Value {
  p = append(p, rethink.Point(e[0], e[1]));
}
q := rethink.Table(model).GetIntersecting(rethink.Polygon(p), rethink.GetIntersectingOpts{Index: "location"})

And getting error:
app  main.go:1019: gorethink: Expected 3 or more arguments but found 1. in:
r.Table("table").GetIntersecting(r.Polygon([r.Point(8.542368522017995, 47.378576626035226), r.Point(8.542392247445093, 47.376716501429854), r.Point(8.544757278751717, 47.37745734502826), r.Point(8.544641791980752, 47.37888972253097), r.Point(8.544887890643821, 47.37894258545629), r.Point(8.543611149246146, 47.37926371873931), r.Point(8.542368522017995, 47.378576626035226)]), index="location")

I can see in your tests something like:
r.polygon([1,1], [2,1], [2,2], [1,2])
But I am not sure how to convert [][]float64 to that individual thing that you need for each point.

all i had to do is to use rethink.Polygon(p ...)  I dont even know hot that "..." is called? Can someone explain?


Add Dark Mode Toggle Button for Full Website

We need to add a toggle button to enable dark mode/light mode throughout the website for an enhanced user experience. The dark mode should provide a visually comfortable alternative, especially for users who browse in low-light environments.
Feature Requirements:
Add a toggle button in the website's navbar (next to the login/register button or in a convenient place).
Implement theme switching between light mode (default) and dark mode.
Ensure that the user's preference (dark mode or light mode) persists across sessions (using local storage or cookies).
Update styles across all pages for proper dark mode theming, including background colors, text, buttons, input fields, etc.
Test thoroughly on various devices and browsers for compatibility.
Design:
The toggle button should be intuitive, perhaps using an icon (e.g., 🌞 for light mode and 🌙 for dark mode).
Ensure that the dark mode color palette is visually appealing, with accessible contrast levels for readability.
Expected Outcome:
A functioning dark mode that enhances the usability of the site, with a toggle switch in the navigation bar to easily switch between light and dark themes.

Hello @Devmangrani, i am interested in this issue, are you able to assign me?

I’d be happy to assign it to you.
Feel free to reach out if you have any questions or need clarification on the UI designs or implementation.
Looking forward to seeing your contributions!

I do not have permissions to branch the code, can you please fix it?


Flutter crash from iOS device after clicking on push notification to open the application from a cold start

Steps to Reproduce
Send a push notification to someone that is using your application. When I click on the push notification to open the application and the application is not in memory. I half the time get this crash log sent to my Crashlytics:
Logs
Crashed: Thread #1
EXC_BAD_ACCESS 0x000000010ae0004c
Crashed: io.flutter.1.ui
0  Flutter                        0x102078dd0 dart::Simulator::Call(dart::Code const&, dart::Array const&, dart::Array const&, dart::Thread*) + 4316
1  Flutter                        0x102078d60 dart::Simulator::Call(dart::Code const&, dart::Array const&, dart::Array const&, dart::Thread*) + 4204
2  Flutter                        0x101f34424 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long) + 820
3  Flutter                        0x1021b8078 Dart_InvokeClosure + 1248
4  Flutter                        0x101e20fe4 tonic::DartMicrotaskQueue::RunMicrotasks() + 120
5  Flutter                        0x101b43494 fml::MessageLoopImpl::RunExpiredTasks() + 852
6  Flutter                        0x101b46858 fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*) + 32
7  CoreFoundation                 0x19f0ba718 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
8  CoreFoundation                 0x19f0ba448 __CFRunLoopDoTimer + 864
9  CoreFoundation                 0x19f0b9c7c __CFRunLoopDoTimers + 248
10 CoreFoundation                 0x19f0b4b58 __CFRunLoopRun + 1880
11 CoreFoundation                 0x19f0b40e0 CFRunLoopRunSpecific + 436
12 Flutter                        0x101b4697c fml::MessageLoopDarwin::Run() + 88
13 Flutter                        0x101b43684 fml::MessageLoopImpl::DoRun() + 52
14 Flutter                        0x101b46034 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0> >(void*) + 200
15 libsystem_pthread.dylib        0x19ed4425c _pthread_body + 128
16 libsystem_pthread.dylib        0x19ed441bc _pthread_start + 48
17 libsystem_pthread.dylib        0x19ed47cf4 thread_start + 4

This was built in release and pushed to TestFlight using Flutter 1.2.2, but happens on Flutter 1.1.8 and above.

@mjaffa-figure
Can you create a demo which don't use remote notification, instead use localnotification, which can mock this case and try to reproduce this issue? I think if your guess is right, you can also reproduce it using a LocalNotification. If reproduced, a demo project would be helpful.

@kangwang1988 @zoechi @dnfield This is not happening due to the push notification. out of 100 app launches we get this crash in the log as originally posted. This is not due to the push notification. This is on Version 1.1.8 of Flutter, don't know if it is happening in the latest. I can't upgrade to the latest due to another bug I posted of OOM for loading assets.

Hi @mjaffa-figure
can you please provide your flutter doctor -v ,
your flutter run --verbose
and  a reproducible minimal code sample.
Thank you

Hi @mjaffa-figure
Without additional information, we are unfortunately not sure how to resolve this issue. We are
therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the
bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


convert all fallible from_* functions to try_from_*

Some places use from_u16, others use try_from_bytes, this PR unifies the pattern. It settled on try_from_* for these reasons:

There exists a few functions, like from_static, which don't return a Result.
While there are several cases in std, like from_utf8, from_str, it's also inconsistent within std, with things like Duration::from_secs() -> Duration.
It lines up closer with the eventual TryFrom::try_from.

Closes #98

I personally disagree with the try_* prefix as outlined in this comment. I don't think there's strong precedent for requiring this and I don't think the presence of infallible from_* functions should make all infallible functions worse to call. It's already going to be pretty obvious what's fallible and what's not when reading source, it's whether or not there's a ? at the end.
I'd still value consistency more, though, so if others don't agree then I'm fine landing this.

I wasn't sure which way I leaned until I started this PR, when I saw from_static. That the compiler will remind you the function returns a Result is actually a fair reason to not have try_ everywhere, in my opinion.
Anyone else?

Given the pattern of having From<Foo> implementations also have a struct fn from_foo, I opted for TryFrom<Foo> implementations to mirror this as try_from_foo.
The only question is if a type will ever implement both From<Foo> and TryFrom<Foo>. Because, if this happens, there could be a naming conflict.

In the RFC for TryFrom it's suggest that any impl From<Foo> for Bar would fit into a blanket impl TryFrom<Foo> for Bar { type Error = ! }.

If we are confident that there is never any naming conflict, then it seems fine to make the style change as @alexcrichton suggested.

I've updated to do the reverse, then. All inherent try_from_* becomes from_*.


Fund Admin pallet: Track banks

Add a new field called bank into the ProjectData structure in order to track what banks are allowed for each project.

[x] The new field should look like this:
bank: {
bank name
bank address
}

Backend done. @tlacloc


Dev/v2 rc1

Merge v2 fixes into main. We will then make a rc2 branch, so that all the updates accumulated into main also get included.

These commits were reviewed individually over the week.

Codecov Report

Merging #375 (776b40a) into main (cfcaab5) will decrease coverage by 0.04%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##             main     #375      +/-   ##
==========================================
- Coverage   18.59%   18.54%   -0.05%
==========================================
  Files         134      138       +4
  Lines       21533    21824     +291
==========================================
+ Hits         4003     4047      +44
- Misses      16865    17105     +240
- Partials      665      672       +7

Impacted Files
Coverage Δ

x/lockup/keeper/lock.go
76.21% <33.33%> (-0.84%)
:arrow_down:

x/gamm/types/pool.go
70.68% <0.00%> (ø)

x/incentives/client/cli/tx.go
0.00% <0.00%> (ø)

x/gamm/types/genesis.pb.go
1.03% <0.00%> (ø)

x/gamm/genesis.go
61.53% <0.00%> (ø)

x/gamm/handler.go
3.03% <0.00%> (ø)

x/gamm/module.go
69.69% <0.00%> (ø)

x/gamm/keeper/pool.go
78.37% <0.00%> (+0.60%)
:arrow_up:

Continue to review full report at Codecov.

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


Parameterize max streams per ms

Problem
The upper layer like jato-relayer may want different PPS for tpu and tpu_forward than the default value. Our validator may use different values for tpu vs forward. This changes makes it possible.
Summary of Changes
Make it parameter instead of the hard coded
Fixes #

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

Project coverage is 81.9%. Comparing base (72ee270) to head (82edd41).
Report is 26 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #707   +/-   ##
=======================================
  Coverage    81.9%    81.9%
=======================================
  Files         851      851
  Lines      230726   230728    +2
=======================================
+ Hits       189009   189024   +15
+ Misses      41717    41704   -13


[Feature Request] Support Mixed Media Type Library

Description
Jellyfin and Emby allow for libraries containing movies and series at the same time (mixed content). Libraries of such type are not recognized and not selectable by jellyseer.
Desired Behavior
Jellyseer should recognize these libraries and process/import/scan them accordingly (best effort)

What do you mean by mixed content? Emby and jellyfin pointing to same media library? If so jellyseerr should recognise as long as you pick one of them when setting up 🤔

I mean this content type when creating a library:

Ah. Is that also a library type in jellyfin? Because I use jellyfin and I have not seen that type.
For now the current way overseerr and jellyseerr is built is to only detect library types of Movies and Shows

Even through discouraged, it is indeed an available type, see jellyfin documentation.
Would it be possible to "force" jellyseerr to import such a library or would that require significant changes to the database/data model?

Even through discouraged, it is indeed an available type, see jellyfin documentation.

is it the other library type?

Would it be possible to "force" jellyseerr to import such a library or would that require significant changes to the database/data model?

Unfortunately forcing is not possible and it would require the a rewrite of how jellyseerr imports jellyfin libraries as it currently only looks for tv and show just like how overseerr does for plex

Even through discouraged, it is indeed an available type, see jellyfin documentation.

 is it the other library type?

Yes
Additional Context:
I use this library type to have Anime Series and Anime Movies in one library

Additional Context: I use this library type to have Anime Series and Anime Movies in one library

Oh. There was some other user who did the same thing, though it was just Anime Series so they just changed it to Shows.

I use this library type for documentaries and stand-up comedy, as I've found it best for these media types.  The 'Other' media type (formerly called Mixed Media) allows one to search both TheTVDB and TMDB and TVMaze and IMDB and other comparable things which can create more complete views for those kinds of content types.  The Movies data type does not allow scraping TV sources.  Comedy specials and Documentaries may have a source on movies or TV depending on the original source.

I would also love to see this feature built in. For me the content type is listed as "Mixed Movies and Shows" in the library creation screen

and "Other" after it is created

Thanks for your work on this project, I appreciate it!

:tada: This issue has been resolved in version 1.3.0 :tada:
The release is available on:

v1.3.0
GitHub release

Your semantic-release bot :package::rocket:


1fa - Only by Code

Is it possible to use only the code without a password?

You can remove Username and Password form from Browser Flow


Add DPRINTF() and ABORT() logging wrappers

Add convenience macros for normal log messages:
DPRINTF(detail_level, fmt, args...);

and for fatal log messages:
ABORT(fmt, args...);

In addition, rename a few function parameters that shadowed file scope identifiers, and fix up the questionable code style in a couple places like the empty loop body of L265.
Implementation was based on changes requested by @pkmoore

After some thought this isn't really needed/useful; closing


[v2] Implement sanitizers to operate on OTLP data

Which problem is this PR solving?

Part of #5545

Description of the changes

Rewritten sanitizers for v2 with the existing sanitizers to achieve parity with v1

How was this change tested?

Not Yet

Checklist

[x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
[x] I have signed all commits
[ ] I have added unit tests for the new functionality
[x] I have run lint and test steps successfully

for jaeger: make lint test
for jaeger-ui: yarn lint and yarn test

@yurishkuro @albertteoh PTAL. I have rewritten the initial configuration of existing sanitizers to operate on OTLP data format. I have implemented them based on my understanding of OTLP data. Correct me, if I am wrong.

@yurishkuro PTAL and if it's ok, I will move ahead to add tests for them

@yurishkuro PTAL and if it's ok, I will move ahead to add tests for them

@yurishkuro PTAL

Closing!

Will complete it this PR very soon

Hi @varshith257 If you are not working on this can I take this from here?

Hey @Manoramsharma
I will complete this in follow up week. I currently have my university semester exams. So unable to get time to complete this.

fixed in #6078


fix document (cmd/manager/README.md)

watch and update was collapsed into commit at #293
Signed-off-by: Yuji Oshima<EMAIL_ADDRESS>

Current coverage is 69.45% (diff: 100%)

Merging #295 into master will not change coverage

@@             master       #295   diff @@
==========================================
  Files            25         25
  Lines          1303       1303
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            905        905
  Misses          321        321
  Partials         77         77

Powered by Codecov. Last update 6515e45...8d63e75

Thank you!


Packets are not getting forwarded

Hi,
I deployed the chirpstack-packet-multiplexer with docker compose, added one server for testing and configured my lorawan gateway to forward to the chirpstack-packet-multiplexer. unfortunately the multiplexer only receives the packets but didn't forward them
My Docker-Compose.yml:
  chirpstack-packet-multiplexer:
    image: simeononsecurity/chirpstack-packet-multiplexer
    ports:
      - 1700:1700/udp
    volumes:
      - ./:/chirpstack-packet-multiplexer
      - ./config/chirpstack-packet-multiplexer.toml:/etc/chirpstack-packet-multiplexer/chirpstack-packet-multiplexer.toml:ro

my chirpstack-packet-multiplexer.toml:
# Log level
#
# debug=5, info=4, warning=3, error=2, fatal=1, panic=0
log_level=5

[packet_multiplexer]
# Bind
#
# The interface:port on which the packet-multiplexer will bind for receiving
# data from the packet-forwarder (UDP data).
bind="<IP_ADDRESS>:1700"

[[packet_multiplexer.backend]]
host="<IP_ADDRESS>:1700"
uplink_only=True
gateway_ids = [
  "1234567890 ",
]
gateway_id_prefixes = []

[monitoring]

Log of the docker image:
[+] Running 1/0
 ✔ Container chirpstack-packet-multiplexer-chirpstack-packet-multiplexer-1  Created                                                                                0.0s
Attaching to chirpstack-packet-multiplexer-1
chirpstack-packet-multiplexer-1  | 2024-11-13T10:45:46.883651Z  INFO chirpstack_packet_multiplexer: Starting ChirpStack Packet Multiplexer (version: 4.0.0-test.2, docs: https://github.com/chirpstack/chirpstack-package-multiplexer/)
chirpstack-packet-multiplexer-1  | 2024-11-13T10:45:46.883672Z  INFO chirpstack_packet_multiplexer::listener: Setting up listener host="<IP_ADDRESS>:1700"
chirpstack-packet-multiplexer-1  | 2024-11-13T10:45:46.883789Z  INFO chirpstack_packet_multiplexer::forwarder: Setting up forwarder
chirpstack-packet-multiplexer-1  | 2024-11-13T10:45:46.883801Z  INFO chirpstack_packet_multiplexer::monitoring: Monitoring endpoint is not configured
chirpstack-packet-multiplexer-1  | 2024-11-13T10:47:52.697277Z  INFO {addr=<IP_ADDRESS>:41071}: chirpstack_packet_multiplexer::listener: UDP packet received packet_type=PullData gateway_id=1234567890 token=26566
chirpstack-packet-multiplexer-1  | 2024-11-13T10:47:52.697316Z  INFO {addr=<IP_ADDRESS>:41071}: chirpstack_packet_multiplexer::listener: Sending UDP packet packet_type=PullAck
chirpstack-packet-multiplexer-1  | 2024-11-13T10:48:00.528364Z  INFO {addr=<IP_ADDRESS>:45932}: chirpstack_packet_multiplexer::listener: UDP packet received packet_type=PushData gateway_id=1234567890 token=26995
chirpstack-packet-multiplexer-1  | 2024-11-13T10:48:00.528398Z  INFO {addr=<IP_ADDRESS>:45932}: chirpstack_packet_multiplexer::listener: Sending UDP packet packet_type=PushAck
chirpstack-packet-multiplexer-1  | 2024-11-13T10:48:02.781436Z  INFO {addr=<IP_ADDRESS>:41071}: chirpstack_packet_multiplexer::listener: UDP packet received packet_type=PullData gateway_id=1234567890 token=20991
chirpstack-packet-multiplexer-1  | 2024-11-13T10:48:02.781463Z  INFO {addr=<IP_ADDRESS>:41071}: chirpstack_packet_multiplexer::listener: Sending UDP packet packet_type=PullAck
chirpstack-packet-multiplexer-1  | 2024-11-13T10:48:04.402855Z  INFO {addr=<IP_ADDRESS>:45932}: chirpstack_packet_multiplexer::listener: UDP packet received packet_type=PushData gateway_id=1234567890 token=19180
chirpstack-packet-multiplexer-1  | 2024-11-13T10:48:04.402885Z  INFO {addr=<IP_ADDRESS>:45932}: chirpstack_packet_multiplexer::listener: Sending UDP packet packet_type=PushAck

Your configuration is incorrect. Since v4 it has changed. Please see: https://github.com/chirpstack/chirpstack-packet-multiplexer?tab=readme-ov-file#example-configuration.

I already tried this config
[logging]

  # Log level.
  #
  # Valid options are:
  #   * TRACE
  #   * DEBUG
  #   * INFO
  #   * WARN
  #   * ERROR
  level = "info"

# Multiplexer configuration.
[multiplexer]

  # Interface:port of UDP bind.
  #
  # This this is the interface:port on which the Multiplexer will receive
  # data from the gateways.
  bind = "<IP_ADDRESS>:1700"

  # Servers to forward gateway data to.
  #
  # Example configuration:
[[multiplexer.server]]

  #   # Hostname:port of the server.
server="<IP_ADDRESS>:1700"

  #   # Only allow uplink.
  #   #
  #   # If set to true, any downlink will be discarded.
  #   uplink_only=false

  #   # Gateway ID prefix filters.
  #   #
  #   # If not set, data of all gateways will be forwarded. If set, only data
  #   # from gateways with a matching Gateway ID will be forwarded.
  #   #
  #   # Examplex:
  #   # * "0102030405060708/32": Exact match (all 32 bits of the filter must match)
  #   # * "0102030400000000/16": All gateway IDs starting with "01020304" (filter on 16 most significant bits)
  #   gateway_id_prefixes=[]

# Monitoring configuration.
[monitoring]

  # Interface:port.
  #
  # If set, this will enable the monitoring endpoints. If not set, the endpoint
  # will be disabled. Endpoints:
  #
  # * /metrics: Exposes Prometheus metrics.
  bind = ""

Could you please share your logs with the above config?

same logs as in the first post

Both these logs correspond to incorrect configuration. As I already mentioned, the latest version has a new configuration format.

You say in your issue that this is your config:
# Log level
#
# debug=5, info=4, warning=3, error=2, fatal=1, panic=0
log_level=5

[packet_multiplexer]
# Bind
#
# The interface:port on which the packet-multiplexer will bind for receiving
# data from the packet-forwarder (UDP data).
bind="<IP_ADDRESS>:1700"

[[packet_multiplexer.backend]]
host="<IP_ADDRESS>:1700"
uplink_only=True
gateway_ids = [
  "1234567890 ",
]
gateway_id_prefixes = []

[monitoring]

In the latest version [[packet_multiplexer.backend]] does not exist.
It has changed to:
[[multiplexer.server]]

  #   # Hostname:port of the server.
server="<IP_ADDRESS>:1700"

(also other options have been changed.

As mentioned same as before
``[+] Running 1/0
✔ Container chirpstack-packet-multiplexer-chirpstack-packet-multiplexer-1  Created                                                                                0.0s
Attaching to chirpstack-packet-multiplexer-1
chirpstack-packet-multiplexer-1  | 2024-11-15T09:12:46.066809Z  INFO chirpstack_packet_multiplexer: Starting ChirpStack Packet Multiplexer (version: 4.0.0-test.2, docs: https://github.com/chirpstack/chirpstack-package-multiplexer/)
chirpstack-packet-multiplexer-1  | 2024-11-15T09:12:46.066845Z  INFO chirpstack_packet_multiplexer::listener: Setting up listener host="<IP_ADDRESS>:1700"
chirpstack-packet-multiplexer-1  | 2024-11-15T09:12:46.067398Z  INFO chirpstack_packet_multiplexer::forwarder: Setting up forwarder
chirpstack-packet-multiplexer-1  | 2024-11-15T09:12:46.067418Z  INFO chirpstack_packet_multiplexer::monitoring: Monitoring endpoint is not configured
chirpstack-packet-multiplexer-1  | 2024-11-15T09:14:03.415553Z  INFO {addr=<IP_ADDRESS>:49367}: chirpstack_packet_multiplexer::listener: UDP packet received packet_type=PullData gateway_id=1234567890 token=26566
chirpstack-packet-multiplexer-1  | 2024-11-15T09:14:03.415602Z  INFO {addr=<IP_ADDRESS>:49367}: chirpstack_packet_multiplexer::listener: Sending UDP packet packet_type=PullAck
chirpstack-packet-multiplexer-1  | 2024-11-15T09:14:09.898490Z  INFO {addr=<IP_ADDRESS>:52932}: chirpstack_packet_multiplexer::listener: UDP packet received packet_type=PushData gateway_id=1234567890 token=20991
chirpstack-packet-multiplexer-1  | 2024-11-15T09:14:09.898526Z  INFO {addr=<IP_ADDRESS>:52932}: chirpstack_packet_multiplexer::listener: Sending UDP packet packet_type=PushAck
chirpstack-packet-multiplexer-1  | 2024-11-15T09:14:12.829631Z  INFO {addr=<IP_ADDRESS>:52932}: chirpstack_packet_multiplexer::listener: UDP packet received packet_type=PushData gateway_id=1234567890 token=19180
chirpstack-packet-multiplexer-1  | 2024-11-15T09:14:12.829660Z  INFO {addr=<IP_ADDRESS>:52932}: chirpstack_packet_multiplexer::listener: Sending UDP packet packet_type=PushAck
chirpstack-packet-multiplexer-1  | 2024-11-15T09:14:13.490784Z  INFO {addr=<IP_ADDRESS>:49367}: chirpstack_packet_multiplexer::listener: UDP packet received packet_type=PullData gateway_id=1234567890 token=10701
chirpstack-packet-multiplexer-1  | 2024-11-15T09:14:13.490823Z  INFO {addr=<IP_ADDRESS>:49367}: chirpstack_packet_multiplexer::listener: Sending UDP packet packet_type=PullAck
chirpstack-packet-multiplexer-1  | 2024-11-15T09:14:22.967190Z  INFO {addr=<IP_ADDRESS>:52932}: chirpstack_packet_multiplexer::listener: UDP packet received packet_type=PushData gateway_id=1234567890 token=47787
chirpstack-packet-multiplexer-1  | 2024-11-15T09:14:22.967232Z  INFO {addr=<IP_ADDRESS>:52932}: chirpstack_packet_multiplexer::listener: Sending UDP packet packet_type=PushAck
chirpstack-packet-multiplexer-1  | 2024-11-15T09:14:23.574452Z  INFO {addr=<IP_ADDRESS>:49367}: chirpstack_packet_multiplexer::listener: UDP packet received packet_type=PullData gateway_id=1234567890 token=62203
chirpstack-packet-multiplexer-1  | 2024-11-15T09:14:23.574484Z  INFO {addr=<IP_ADDRESS>:49367}: chirpstack_packet_multiplexer::listener: Sending UDP packet packet_type=PullAck

In your custom docker image, are you setting the -c flag. If not, then you need to set it in the docker-compose.yml:
Example:
services:
  chirpstack-packet-multiplexer:
    image: chirpstack/chirpstack-packet-multiplexer:4.0.0-test.2
    command: -c /etc/chirpstack-packet-multiplexer/chirpstack-packet-multiplexer.toml
    ports:
      - 1700:1700/udp
    volumes:
      - ./config:/etc/chirpstack-packet-multiplexer

With the above correct config, that works for me:
chirpstack-packet-multiplexer-1  | 2024-11-15T09:55:29.890723Z  INFO chirpstack_packet_multiplexer: Starting ChirpStack Packet Multiplexer (version: 4.0.0-test.2, docs: https://github.com/chirpstack/chirpstack-package-multiplexer/)
chirpstack-packet-multiplexer-1  | 2024-11-15T09:55:29.890734Z  INFO chirpstack_packet_multiplexer::listener: Setting up listener host="<IP_ADDRESS>:1700"
chirpstack-packet-multiplexer-1  | 2024-11-15T09:55:29.890815Z  INFO chirpstack_packet_multiplexer::forwarder: Setting up forwarder
chirpstack-packet-multiplexer-1  | 2024-11-15T09:55:29.890818Z  INFO chirpstack_packet_multiplexer::forwarder: Adding server host="<IP_ADDRESS>:1700" uplink_only=false gateway_id_prefixes=[]
chirpstack-packet-multiplexer-1  | 2024-11-15T09:55:29.890825Z  INFO chirpstack_packet_multiplexer::monitoring: Monitoring endpoint is not configured
chirpstack-packet-multiplexer-1  | 2024-11-15T09:55:34.024077Z  INFO {addr=<IP_ADDRESS>:47907}: chirpstack_packet_multiplexer::listener: UDP packet received packet_type=PushData gateway_id=0016c001ff1a0a5f token=64474
chirpstack-packet-multiplexer-1  | 2024-11-15T09:55:34.024186Z  INFO {addr=<IP_ADDRESS>:47907}: chirpstack_packet_multiplexer::listener: Sending UDP packet packet_type=PushAck
chirpstack-packet-multiplexer-1  | 2024-11-15T09:55:34.024300Z DEBUG {addr=<IP_ADDRESS>:47907}: chirpstack_packet_multiplexer::listener: Sending received data to uplink channel
chirpstack-packet-multiplexer-1  | 2024-11-15T09:55:34.024388Z  INFO chirpstack_packet_multiplexer::forwarder: Initializing forwarder to server gateway_id=0016c001ff1a0a5f server=<IP_ADDRESS>:1700

this was the error, now it's working. thanks for you help

can you pin that container default latest version to 4 to match the readme compose example, i was scratching my head yesterday when it was failing to pull from docker hub 🤣
image: chirpstack/chirpstack-packet-multiplexer:4.0.0-test.2 to be image: chirpstack/chirpstack-packet-multiplexer:4


Include money request report in search result only

Details

Currently, we can create a group, send money, and assign a task to a money request report. This PR will not allow that anymore.
Fixed Issues

$ https://github.com/Expensify/App/issues/19684
PROPOSAL: https://github.com/Expensify/App/issues/19684#issuecomment-1596052942
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Open any chat
Request money from the user (at least once to create the money request report)
Open the money request report by clicking the request preview
Send any message in the money request report/chat.
Open New Chat, New Group, Send Money Participants Page, Split Bill Participants Page, Task Assignee, and Task Share Somewhere page
Verify on each page that the money request report is not included in the recent list
On each page, search for "owes"
Verify no result is found
Open the Search Page
Search for "owes"
Verify the money request report is included in the search result (it should be at the first item)

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/50919443/ae158318-2731-4fce-af72-8b3eafcb4d31

Mobile Web - Chrome

https://github.com/Expensify/App/assets/50919443/99af0a5a-173f-4a30-a939-69de7ba7c1e5

Mobile Web - Safari

https://github.com/Expensify/App/assets/50919443/39a25079-b78f-4fd8-b3dd-40959ef017f7

Desktop

https://github.com/Expensify/App/assets/50919443/723b6578-39ac-41f6-ba6f-25d5cf2f2632

iOS

https://github.com/Expensify/App/assets/50919443/3036c3bc-f86c-43f5-bd37-80533b9193f8

Android

https://github.com/Expensify/App/assets/50919443/4b0458fc-b5b9-4ad8-b5d7-fa005d5f0d26

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/jasperhuangg in version: 1.3.32-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.3.32-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Preview based on world name(?) leading to false previews

If you make a world called "new world" and then delete it, then make a different world called "new world" it will use the leftover preview from the original "new world".

Great mod though! It's a completely minor issue for an otherwise very cool mod!

You are right that previews are saved with the world name. Reason's so that users could easily find the image file to copy it if they want to (located under the screenshots directory)
I'll fix this in the next update by removing the image save when its associated world is deleted. This'll only apply to singleplayer worlds, where deleting a world usually means you won't be able to come back to it. Thanks for the report!


Fix: Fixed issue where nav menu had extra margin in the properties window

Resolved / Related Issues
Properties tabs use an unnecessary right margin. Some tabs do not appear. This removes the margin.
Validation
How did you test these changes?

[x] Built and ran the app
[ ] Tested the changes for accessibility

Screenshots (optional)
Before

After

The margin is to provide a drag region.

I reduced the margin from 120 to 32. This seems sufficient to me and often allows to have the 3 tabs instead of 2.

The number 120 is to match the expected behavior in Windows.


[10.x] Minor fix for structure correction of the laravel-lang/lang

See https://github.com/Laravel-Lang/lang/pull/1762

You have abandoned this PR 😢!

@luisprmat, no. We have a very hot summer in St. Petersburg. Last time it was 10 years ago. I don't feel very well in the heat. Therefore, the release of the new version was postponed a little.
In addition, I am doing a complete refactoring of the project to add new functionality.

Hey @andrey-helldar, any news or maybe ETA?

@mohamedsabil83, @luisprmat, hi guys!
Sorry, I was very busy at my main job. Thanks to this, I created a project Cashier: https://github.com/andrey-helldar/cashier
Yesterday I started creating contracts for the publisher.
In the next 1-2 weeks I will try to rewrite the project and release it for release.
Thanks for your support!

Good news @andrey-helldar will wait for it. Also, I am concerned with the cashier package. I'll take a look later.

@mohamedsabil83, Cashier is a provider for payment systems.
You can connect a driver to it to work with any bank. I tried to write simple and understandable instructions for their development with examples.
But it's better to talk about this in the Cashier project 😊


MacOS port 53 conflict with mdnsresponder

I use your vpn client and I am very happy with it, now I was trying this but I get error below.

 Not much experience with this.
My Mac as 5/6 processes that run on port 53, so when I try run the docker I get error:
(docker: Error response from daemon: Ports are not available: exposing port UDP <IP_ADDRESS>:53 -> <IP_ADDRESS>:0: listen udp <IP_ADDRESS>:53: bind: address already in use.)

Anyway to resolve this??
Thank you very much

You might want to try image qmcgaw/dns:v2.0.0-beta. It's quite stable, offer more fun stuff like metrics, should be on par with Unbound (latest image and v1.x.x images) in under 2-4 weeks. Documentation is at https://github.com/qdm12/dns/tree/v2.0.0-beta and you can set LISTENINGPORT=63 to change port. Saying all this especially since development on the master branch / v1.x.x/latest images is stopped to focus on releasing a v2.0.0 release.
Now if you want it to listen on port 53, you need to have that port available, or have a udp proxy to redirect requests to other ports depending on the request. If so, why do you want other programs listening on port 53? The dns v2.0.0-beta can already forward local names dns requests to other servers, but if you need something specific feel free to comment it and I can implement it eventually 😉

My Mac as 5/6 processes that run on port 53

I don't think so 🤔 Only a single process can listen on a specific port+protocol. And the dns server should listen on both udp and tcp (for truncated messages not fitting over)

I just saw your screenshot, sorry about that. What does sudo lsof -nP -i4TCP:53 and sudo lsof -nP -i4UDP:53 give you from a terminal? There might be some proxy already like dnsmasq 🤔

Running netstat -an | grep LISTEN
vitor@MainServer ~ % netstat -an | grep LISTEN
tcp46      0      0  *.9270                 .                    LISTEN
tcp46      0      0  *.8292                 .                    LISTEN
tcp46      0      0  *.9271                 .                    LISTEN
tcp46      0      0  *.8089                 .                    LISTEN
tcp46      0      0  *.34400                .                    LISTEN
tcp4       0      0  *.2968                 .                    LISTEN
tcp4       0      0  <IP_ADDRESS>.3306     .                    LISTEN
tcp46      0      0  *.33060                .                    LISTEN
tcp46      0      0  *.8096                 .                    LISTEN
tcp4       0      0  <IP_ADDRESS>.8024         .                    LISTEN
tcp46      0      0  *.8866                 .                    LISTEN
tcp4       0      0  <IP_ADDRESS>.32600        .                    LISTEN
tcp4       0      0  <IP_ADDRESS>.51395        .                    LISTEN
tcp4       0      0  <IP_ADDRESS>.32401        .                    LISTEN
tcp46      0      0  *.32400                .                    LISTEN
tcp6       0      0  *.1000                 .                    LISTEN
tcp4       0      0  *.1003                 .                    LISTEN
tcp6       0      0  *.1012                 .                    LISTEN
tcp4       0      0  *.1017                 .                    LISTEN
tcp6       0      0  *.1019                 .                    LISTEN
tcp4       0      0  *.1021                 .                    LISTEN
tcp6       0      0  *.53                   .                    LISTEN
tcp4       0      0  *.53                   .                    LISTEN
tcp6       0      0  *.111                  .                    LISTEN
tcp6       0      0  *.49158                .                    LISTEN
tcp4       0      0  *.49158                .                    LISTEN
tcp4       0      0  *.88                   .                    LISTEN
tcp6       0      0  *.88                   .                    LISTEN
tcp4       0      0  *.111                  .                    LISTEN
tcp6       0      0  *.2049                 .                    LISTEN
tcp4       0      0  *.2049                 .                    LISTEN
tcp6       0      0  *.1022                 .                    LISTEN
tcp4       0      0  *.1023                 .                    LISTEN
tcp4       0      0  *.50051                .                    LISTEN
tcp6       0      0  *.50051                .                    LISTEN
tcp4       0      0  <IP_ADDRESS>.8021         .                    LISTEN
tcp6       0      0  ::1.8021               .                    LISTEN
tcp4       0      0  *.445                  .                    LISTEN
tcp6       0      0  *.445                  .                    LISTEN
tcp4       0      0  *.5900                 .                    LISTEN
tcp6       0      0  *.5900                 .                    LISTEN
vitor@MainServer ~ %

Try with docker port mapping <IP_ADDRESS>:53:53/udp and <IP_ADDRESS>:53:53/tcp? mdnsresponder might not be listening on the loopback interface...

What do you want to use the dns server for? Is it just for the machine running it or for other containers? If it's for the Machine running it, would you it be interesting to serve dns over tls on port 853 tcp instead of port 53? That's issue #106 😉

Hi
Well, the idea was to use it for the machine running it and other containers and other machines on my network.

Hi
Is this OK?
2024-01-23 22:19:41 =========================================
2024-01-23 22:19:41 ========= DNS over TLS container ========
2024-01-23 22:19:41 =========================================
2024-01-23 22:19:41 =========================================
2024-01-23 22:19:41 === Made with ❤  by github.com/qdm12 ====
2024-01-23 22:19:41 =========================================
2024-01-23 22:19:41
2024-01-23 22:19:41 Running version latest built on 2021-10-30T19:28:15Z (commit dd1008b)
2024-01-23 22:19:41
2024-01-23 22:19:41
2024-01-23 22:19:41 🔧  Need help? https://github.com/qdm12/dns/issues/new
2024-01-23 22:19:41 💻  Email<EMAIL_ADDRESS>2024-01-23 22:19:41 ☕  Slack? Join from the Slack button on Github
2024-01-23 22:19:41 💸  Help me? https://github.com/sponsors/qdm12
2024-01-23 22:19:41 2024/01/23 22:19:41 INFO Unbound version: 1.13.2
2024-01-23 22:19:41 2024/01/23 22:19:41 INFO Settings summary:
2024-01-23 22:19:41  |--Unbound settings:
2024-01-23 22:19:41     |--DNS over TLS providers:
2024-01-23 22:19:41         |--Cloudflare
2024-01-23 22:19:41     |--Listening port: 53
2024-01-23 22:19:41     |--Access control:
2024-01-23 22:19:41         |--Allowed:
2024-01-23 22:19:41             |--<IP_ADDRESS>/0
2024-01-23 22:19:41             |--::/0
2024-01-23 22:19:41     |--Caching: enabled
2024-01-23 22:19:41     |--IPv4 resolution: enabled
2024-01-23 22:19:41     |--IPv6 resolution: disabled
2024-01-23 22:19:41     |--Verbosity level: 1/5
2024-01-23 22:19:41     |--Verbosity details level: 0/4
2024-01-23 22:19:41     |--Validation log level: 0/2
2024-01-23 22:19:41     |--Username:
2024-01-23 22:19:41  |--Blacklisting settings:
2024-01-23 22:19:41     |--Blocked categories: malicious
2024-01-23 22:19:41     |--Additional IP networks blocked: 13
2024-01-23 22:19:41  |--Check DNS: enabled
2024-01-23 22:19:41  |--Update: every 24h0m0s
2024-01-23 22:19:41 2024/01/23 22:19:41 INFO healthcheck server: listening on <IP_ADDRESS>:9999
2024-01-23 22:19:41 2024/01/23 22:19:41 INFO using DNS address <IP_ADDRESS> internally
2024-01-23 22:19:41 2024/01/23 22:19:41 INFO generating Unbound configuration
2024-01-23 22:19:41 2024/01/23 22:19:41 INFO starting unbound
2024-01-23 22:19:41 2024/01/23 22:19:41 INFO [1706048381] unbound[14:0] notice: init module 0: validator
2024-01-23 22:19:41 2024/01/23 22:19:41 INFO [1706048381] unbound[14:0] notice: init module 1: iterator
2024-01-23 22:19:41 2024/01/23 22:19:41 INFO [1706048381] unbound[14:0] info: start of service (unbound 1.13.2).
2024-01-23 22:19:42 2024/01/23 22:19:42 INFO [1706048382] unbound[14:1] info: generate keytag query _ta-4a5c-4f66. NULL IN
2024-01-23 22:19:42 2024/01/23 22:19:42 INFO restarting Unbound the first time to get updated files
2024-01-23 22:19:42 2024/01/23 22:19:42 INFO downloading DNSSEC root hints and named root
2024-01-23 22:19:44 2024/01/23 22:19:44 INFO downloading and building DNS block lists
2024-01-23 22:19:45 2024/01/23 22:19:45 INFO 780696 hostnames blocked overall
2024-01-23 22:19:45 2024/01/23 22:19:45 INFO 39565 IP addresses blocked overall
2024-01-23 22:19:45 2024/01/23 22:19:45 INFO 1953 IP networks blocked overall
2024-01-23 22:19:45 2024/01/23 22:19:45 INFO generating Unbound configuration
2024-01-23 22:19:45 2024/01/23 22:19:45 INFO starting unbound
2024-01-23 22:19:50 2024/01/23 22:19:50 INFO [1706048390] unbound[18:0] notice: init module 0: validator
2024-01-23 22:19:50 2024/01/23 22:19:50 INFO [1706048390] unbound[18:0] notice: init module 1: iterator
2024-01-23 22:19:50 2024/01/23 22:19:50 INFO [1706048390] unbound[18:0] info: start of service (unbound 1.13.2).
2024-01-23 22:19:50 2024/01/23 22:19:50 INFO [1706048390] unbound[18:1] info: generate keytag query _ta-4a5c-4f66. NULL IN
2024-01-23 22:19:50 2024/01/23 22:19:50 INFO [1706048390] unbound[18:0] info: generate keytag query _ta-4a5c-4f66. NULL IN

Try turning off the use of the kernel for udp:
https://github.com/docker/for-mac/issues/7008#issuecomment-1790417935
this issue has also a bunch of workarounds worth trying I think.

Thank you. I’ll try it.

With label dns:v2.0.0-beta do not run. It gives error "panic: runtime error: index out of range [0] with length 0

Sure, just pasting the panic stack trace would help 😉 I just ran the v2 tagged image without issue, so I'm definitely curious why it crashed, thanks!

Oddly, on a VM running ubuntu 18.04 also get port 53 already in use error.

By the way, if it's a VM, you won't be able to map it to port 53 on the host either, since it's still occupied right?
Ubuntu may be running dnsmasq; if you're ok with a terminal only vm, try alpine it's the simplest/vanillaest well known linux out there (barely anything included in the base OS). That's what I use on my servers to avoid dealing with the BS of all various distributions (dnsmasq on debian, no dhcp on arch linux, etc.). Plus apk is pretty easy to use 😉 Otherwise, still on Ubuntu, you can probably configure dnsmasq to forward dns requests to another port I would guess.

By the way, if it's a VM, you won't be able to map it to port 53 on the host either, since it's still occupied right?
Ubuntu may be running dnsmasq; if you're ok with a terminal only vm, try alpine it's the simplest/vanillaest well known linux out there (barely anything included in the base OS). That's what I use on my servers to avoid dealing with the BS of all various distributions (dnsmasq on debian, no dhcp on arch linux, etc.). Plus apk is pretty easy to use 😉 Otherwise, still on Ubuntu, you can probably configure dnsmasq to forward dns requests to another port I would guess.

Yeah I think you are right, but on windows server it works.


[Bug]: Duplicate data when sync data from milvus upstream to downstream

Current Behavior

Expected Behavior
No response
Steps To Reproduce
No response
Environment
No response
Anything else?
No response

@SimFG I use milvus version 2.4.13, cdc version v2.0.0-rc2. TPS is 2
My flow here:

source milvus create collectionA and insert data create index, flush
backup collection A, and restore CollectionA on target milvus While insert/delete data to source milvus
set target milvus's ttMsgEnabled to false
create cdc task use collectionA's backup positions
Stop insert/delete data to source milvus
set target milvus's ttMsgEnabled to true
Check data in GUI Attu

I just tested again only add data, no delete data and I see,
total data in source milvus: 987
total data in checkpoint backup: 492
total data in target milvus: 987 + 492 = 1479

@anhnch30820 you can try to use the cdc server in the latest main branch.

It seems that this has correctly processed the create request

@SimFG But when I created collection, nothing changes in the target cluster
[2024/10/22 07:06:12.594 +00:00] [INFO] [reader/etcd_op.go:251] ["the collection state is not created"] [key=by-dev/meta/root-coord/database/collection-info/1/453395456372882628] [collection_name=vdsmb] [state=CollectionCreating]
[2024/10/22 07:06:13.680 +00:00] [INFO] [reader/etcd_op.go:389] ["partition state is not created or partition name is default"] [collection_id=453395456372882628] ["partition name"=_default] [state=PartitionCreated]
[2024/10/22 07:06:15.941 +00:00] [DEBUG] [grpc@v1.65.0/call.go:35] ["retrying of unary invoker"] [target=etcd-endpoints://0xc0009e8700/milvus-etcd:2379] [attempt=0]
[2024/10/22 07:06:15.944 +00:00] [INFO] [reader/collection_reader.go:117] ["has watched to read collection"] [task_id=c72583aafca1470a9d8d04330f77445a] [collection_name=vdsmb] [collection_id=453395456372882628]
[2024/10/22 07:06:15.944 +00:00] [INFO] [reader/collection_reader.go:120] ["the collection should not be read"] [task_id=c72583aafca1470a9d8d04330f77445a] [collection_name=vdsmb] [collection_id=453395456372882628]
[2024/10/22 07:06:15.944 +00:00] [INFO] [reader/etcd_op.go:284] ["the collection is not consumed"] [collection_id=453395456372882628] [collection_name=vdsmb]

From the log, the collection in source milvus has not been created yet, because its state is creating. However, I suspect that this problem is caused by the previous data residue. To ensure correctness, I suggest cleaning up all environmental data first, such as the meta storage information of cdc, and then redeploy the two milvus and cdc services.

@SimFG I tried again, it still duplicated

How do you do it? Is it the following steps: insert data first, then delete data, and then use attu to check the number of data rows. Do you wait for a while before checking the number of rows? It may be because the deleted data may not have been applied yet. If you don't want to wait for a while, you can try using flush.
Can you find out the diff data and whether some delete operations have not taken effect.

Each PR is guaranteed by integration testing, and there will be CDC process testing every day. In theory, such a small amount of data should be unlikely to go wrong.

@SimFG Here is the dc

And here is the dr

@SimFG Could you provide me the latest file bin milvus-cdc?

you can clone the repo, and in the repo dir, execute the command: make build

Can you confirm whether the two milvus are completely independent? I feel that the downstream milvus seems to be abnormal. The extra data seems to be the data of one segment being repeatedly calculated on another segment.
318 = 169+149

@SimFG
318 from milvus cdc
169 from milvus backup restore

@anhnch30820 See if the point is not set correctly. You can try not to use the point first to see if the cdc can work properly.

@SimFG Not work with large data

In reality most pages have only 8 lines of data, but the results from 631 to 644 should be 14 lines

And I checked the total amount of data with code and attu and the results are the same.

This test is to see if the position parameter is passed in when creating the task. In addition, the performance of attu seems to be caused by duplicate data. Recently, I am developing a data difference checking tool.


fix(bch-js): Bumping to version 4.0.0

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


Image pull secrets

Summary

Change Type

Check List Before Merging

[ ] This PR passes all pre-commit hook validations.
[ ] This PR is fully tested and regression tests are included.
[ ] Relevant documentation has been updated.
[ ] The commits in this PR follow the Conventional Commits
standard.

Additional Information

closed in favor of #1651


Add support for Max Monitors

This would allow for remote clients with 3 or more monitors to only use 2 monitors and still have a local monitor open,

This is client-side choose that can't be implemented in RDP Wrapper.


feat: telemetry api

Description
Adds support for telemetry api in the client and the server. Also adds the hashed mac address to the electron context.
Task Item
Closes #4765

Coverage decreased (-0.07%) to 55.382% when pulling d1074d8a23feb3e0aac2827fc5f0617e70c2beba on tdurnford:feature/telemetry into 090722142f2cf71d55dce9e3b9583fbc30f8a99e on microsoft:main.

@a-b-r-o-w-n No, logPageView is not used in this PR, but it will be used a follow up PR that wires up all the events.


derive Debug for Widgets struct

Looks like #169 was partially reverted by the merge of the new macro code. Re-added the derive and added a test.

Sorry, that might have been accidentally removed due to merge conflicts. Thanks!


Decimal Casts are Unchecked

Describe the bug

Most numeric casts, e.g. Int16 - Int8, are checked and will return an error (or null) on overflow. By contrast the decimal conversions are not. In particular:

decimal to decimal conversion
float to decimal conversion
decimal to integer
integer to decimal

To Reproduce

Expected behavior

Additional context

I believe @viirya intends to work on this, but wanted to create a ticket so it didn't get lost

Yea, thanks @tustvold

label_issue.py automatically added labels {'arrow'} from #3076

Not sure if this should be reopened or a new issue created, but https://github.com/apache/arrow-rs/pull/3203 would suggest that truncation is not properly checked yet


Fix correlation_id generation

Coverage remained the same at 89.565% when pulling 3239612e2b54290533b1fa5b673e111859656a55 on correlation-id-header into 1990c64833fdf00d97d254c208f3e0705e80e121 on master.


The Simplified Shadow Access Model does not support nested JSON objects.

When I partly change a nested JSON object in the desired state, the simplified shadow access model cannot correctly deserialize the corresponding delta.
{
  "desired": {
    "foobar": {
      "foo": true,
      "bar": true
    }
  },
  "reported": {
    "foobar": {
      "foo": false,
      "bar": true
    }
  },
  "delta": {
    "foobar": {
      "foo": true
    }
  }
}

For the first level the SDK will use "AwsIotJsonDeserializer" to map individual fields to setters of annotated properties (@AWSIotDeviceProperty), but anything deeper will be deserialized  as a whole.
Object value = jsonObjectMapper.treeToValue(node, field.getType());
When a partial delta is deserialized all the fields that are not represented in the delta will contain the default values as specified in the class. This causes all kinds of problems like an endless loop where the reported state can never match the desired state.

Hi @KevinWorm ,
Yes, that's expected and we will update the documentation in the next release. Object deserialization may not be deterministic, as member variables may have different dependencies when used on a real device. Therefore it's recommended not to use objects but primitive types, arrays, lists and maps. If it is a pojo object, it could well be represented as a java map.
And do you have a specific use case that won't work without using nested JSON object?
Please let me know if you have further questions.
Fengyi

Hi @fengsongAWS ,
We want to represent our device by a single shadow copy. However, it may contain a number of subdevices. This may for example be a temperature sensor (with different attributes), a pressure sensor, and a wind sensor.
Modelling all sensor attributes as top level attributes with primitive types would not be scalable for the implementation of our AWSIotDevice class, unless we model the complete device as set of multiple shadow copies, hence we would need multiple AWSIotDevice objects.
Moreover, later in our roadmap we want the device to have a dynamic number of sub devices. If I plug in a new sensor tomorrow, how do you propose to model this at shadow copy level?
Therefore we propose the following:
AWSIotDevice {
public MyDeviceX device1;
public MyDeviceY device2;
...
}

Instead of calling setDevice1 if any of the values in the desired state of device1 is different from the current state, it would call device1.settAttr1 if attr1 of device1 in the desired state would be different from it's current value (available through device1.geAttr1).
Later in the roadmap we would even like to have the following:
{
	"desired": {
		"devices": [{
			"x": "lorem"
		}, {
			"y": "ipsum",
			"z": "dolor"
		}]
	},
	"reported": {
		"devices": [{
			"x": "sit"
		}, {
			"y": "amet",
			"z": "dolor"
		}]
	},
	"delta": {
		"devices": [{
			"x": "lorem"
		}, {
			"y": "ipsum"
		}]
	}
}

would lead to
devices[0].setX("lorem");
devices[1].setY("ipsum");

but not devices[1].setZ("dolor").
Even more, a day later, the device may report:
{
	"reported": {
		"devices": [{
			"x": "lorem"
		}, {
			"y": "ipsum",
			"z": "dolor"
		}, {
			"a": "anotherDevice",
			"b": "pluggedIn"
		}]
	}
}

Hi @KevinWorm
For logical (simulated) devices, what you explained about setting subdevice attributes independently may be appropriate, but it's usually not the case for real devices; we can't assume a device register can be modified without having side effects to other components or registers on the device. Therefore we pass the entire device state to the setter function, and let it make the call. Therefore, we also don't have to enforce the order of modifying these attributes.
Using array/list to model a list of devices may not always be desirable; if one of the devices somehow didn't return any reported data, it may not be added to the reported list, then all the array indexes are no longer correct.
For these considerations and to keep simplified access model simple and less error prone, we only support top level automatic attribute deserialization; but we may consider adding support for deserializing embedded objects in the future if more use cases are found relevant.

Thanks for your interest in AWS IoT Device SDK in Java. We are actively working on SDK development and please let us know if you have more questions and comments. Also, please open another thread if you still have questions.


It does not work properly

Unfortunately, after installing the extension it does not work properly. Please see attached file. No add button works. there is no filling area to input texts. please help.

We have updated our extension with few issues. Hope your issue also got resolved with same. Can you please update our extension to V2.0.55 and recheck if issue is fixed or not.


Single Row Generated for User Configs

Hey @crazyideas21 I've gone ahead and created a table for user_configs. ( see here https://github.com/nyu-mlab/iot-inspector-client/commit/a3514915e520145d5b2afb06cf482bad2258916e)
The idea is that it will contain a single row within id 0. Could you have it so that when spinning up the mock database it'll create the single row. If the database already exists, it shouldn't overwrite that row.
Is that something that can be done?
Thanks!

Is that something that can be done?

Yes.

do we want consent etc to be persistent after the server shuts down?

Yes.

I could also set this up on server startup, so each time the user sets up the server a user role will be created for them.

I can do that on my end in both the mock script and in the Python driver. Will push an update today.

No worries Danny! That sounds great. Let me know if I can help with anything else!

Pushed. By the way, I removed AUTOINCREMENT because it is unncessary; see https://www.sqlite.org/autoinc.html


Add one more config for very fast builds

Some more tweaks to the custom cargo profiles I'm experimenting with for faster compile times.
This adds another profile, dev-nopt-quick, which is like cargo build but turns off debug assertions and overflow checks. It should be the fastest possible build that has incremental turned on.
This also sets codegen-units=4 instead of 16 for dev-nopt,. I have seen one test where 4 built faster than 16.
Finally this adds a bunch of x-run-* targets so that it's easy to run cargo run with the same configuration as the x-build-* commands.

/test

I did some benchmarking of these profiles vs the ones in-tree: https://gist.github.com/brson/10e1c3e195debff49221477ea76fe655
Percentage reduction in compile time:

release mode, full rebuild: 45%
release mode, partial rebuild, 78%
dev mode, full rebuild: 11%
dev mode, partial rebuild: 14%

/test

/test

/test


tf.nn.compute_average_loss documentation/code misaligned

URL(s) with the issue:
https://www.tensorflow.org/api_docs/python/tf/nn/compute_average_loss
Description of issue (what needs changing):
The name of the method itself and the documentation at the URL above implies that the calculation will be an average (mean) reduction.
But in the source code (https://github.com/tensorflow/tensorflow/blob/v2.4.1/tensorflow/python/ops/nn_impl.py#L391-L446), line 446 calculates a sum reduction.
Either this is a mistake, and the code should be changed to do a mean reduction, or the documentation should be made more clear as to what the method actually does and why.

Is the average not over the global_batch_size?

It does indeed divide the sum by the global batch size.  I will close as user error.  I was passing in the global batch size since I had it available, but the error was that by not naming the parameter, the scalar global batch size was being broadcast as a weight to add to each example, thus producing the summing behavior I was seeing, despite the tensorflow code being correct.


Syntax errors are not showing

Issue Type: Bug
Type any code snippet with erros in it. Errors will not be shown.
VS Code version: Code 1.35.1 (c7d83e57cd18f18026a8162d042843bda1bcf21f, 2019-06-12T14:27:31.086Z)
OS version: Linux x64 4.15.0-52-generic

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz (8 x 2959)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: disabled_softwaresurface_synchronization: enabled_onvideo_decode: unavailable_offwebgl: enabledwebgl2: enabled

Load (avg)
0, 1, 1

Memory (System)
15.59GB (9.39GB free)

Process Argv
--unity-launch

Screen Reader
no

VM
0%

Extensions (3)

Extension
Author (truncated)
Version

xml
Dot
2.5.0

python
ms-
2019.6.22090

cpptools
ms-
0.24.0-insiders3

![Selection_004](https://user-images.githubusercontent.com/3253761/60376565-b755bd00-99c4-11e9-9f4c-c8a96774ea65.png)

It looks like this is an issue with the cpp extension. Please file this on the vscode-cpptools repo.

Hi @Malintha .  Is it possible there is a squiggle at the top of the file?  The default value of "C_Cpp.errorSquiggles" is "EnabledIfIncludesResolve".  When in this mode and includes are not found, we squiggle only the #include statement.  That is to avoid displaying many squiggles, all due to headers that could not be found.
Are there any other errors displayed?  If there is a problem with the configuration, squiggles would not appear, as system headers would not be found.

@Colengms Much thanks for your help. I have actually added all the headers to the include path and I could navigate to all the headers by Ctrl clicking on them. I just noticed that some of the headers were underlined with the message some of the headers of include files couldn't be resolved. It started to highlight the errors soon after I commented those includes out.
But this happened when even the C_Cpp.errorSquiggles = Enabled, which can be quite confusing sometimes.

@Malintha Do you have intelliSenseEngineFallback enabled?  If so, try disabling it.  This setting kicks in if #includes do not resolve, and uses the Tag Parser instead of the default IntelliSense engine.  Most features of the C/C++ extension will work in a less accurate or limited manner when in Tag Parser mode, which may be preferable if the default IntelliSense engine is unable to process sources (due to missing includes).  In Tag Parser mode, error squiggles are limited to unresolved headers.  We recently changed the default of intelliSenseEngineFallback to disabled, as feedback suggested people would prefer to see squiggles even if headers did not resolve.


BUG: linalg: use zero scratch arrays in expm

Reference issue

supersedes and closes gh-19020, closes gh-18086
What does this implement/fix?

The first commit it gh-19020; the second commit zeros out a work array on top of it.
Additional information

I think I've figured out the underlying issue. The test matrix from the bug report causes pick_pade_structure to return an m of 9. The corresponding pade_9_UV_calc_* function is the only one that actually uses Am[4, :, :]. This slice normally holds $A^8$ at that point, but we skip this calculation for $n \geq 400$, leaving the random noise from np.empty.
Applying the following diff fixed the inconsistency for me even after reverting back to np.empty:
diff --git a/scipy/linalg/_matfuncs_expm.pyx.in b/scipy/linalg/_matfuncs_expm.pyx.in
index 429a180fa..0dfded12d 100644
--- a/scipy/linalg/_matfuncs_expm.pyx.in
+++ b/scipy/linalg/_matfuncs_expm.pyx.in
@@ -342,6 +342,7 @@ cdef void pade_9_UV_calc_{{ pfx }}({{ tname }}[:, :, ::]Am, int n) noexcept nogi
     cdef int i, info, n2 = n*n, int_one = 1
     cdef {{ tname }} one = 1.0, zero = 0.0, neg_one = -1.0
     cdef {{if pfx in ['s', 'c']}}float{{else}}double{{endif}} two = 2.0
+    cdef char* cN = 'N'

     if not (work and ipiv):
         raise MemoryError('Internal function "pade_9_UV_calc" failed to allocate memory.')
@@ -357,6 +358,11 @@ cdef void pade_9_UV_calc_{{ pfx }}({{ tname }}[:, :, ::]Am, int n) noexcept nogi
         b[7] = 3960.
         b[8] = 90.

+        # Compute this in case we skipped it before (n >= 400)
+        if n >= 400:
+            {{ pfx }}gemm(cN, cN, &n, &n, &n, &one, &Am[2, 0, 0], &n,
+                &Am[2, 0, 0], &n, &zero, &Am[4, 0, 0], &n)

As an aside, I did not find any tests for expm when $n \geq 400$ in our current suite. Maybe we could turn the bug report into a test case?

Wow.
Is your patch above on top of main, or on top of this PR @thalassemia ?

It was on top of this PR.

Great!
Want to send a PR with your fix on top? I'll happily close this PR in favor of yours.

Just put up a separate PR. Took me a while to figure out how to set up a test matrix for CI.

closing in favor of gh-20259