MAINT: have get_index_dtype follow its documentation and return int32 or int64

This also avoids np.intc which is a portability pain.
Adjust group_sparse signature accordingly.
This should also fix https://github.com/serge-sans-paille/pythran/issues/2002

It seems to trigger a segfault in special/tests/test_kolmogorov.py on i386.  I need to rerun the build to see where exactly.
Is there another location that needs to be fixed for armhf?
___________________________ TestMLS.test_mls_inputs ____________________________
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_scipy/build/scipy/signal/tests/test_max_len_seq.py:21: in test_mls_inputs
    assert_array_equal(max_len_seq(10, length=0)[0], [])
        self       = <scipy.signal.tests.test_max_len_seq.TestMLS object at 0xf0d0cdd8>
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_scipy/build/scipy/signal/_max_len_seq.py:136: in max_len_seq
    state = _max_len_seq_inner(taps, state, nbits, length, seq)
E   TypeError: Invalid call to pythranized function `_max_len_seq_inner(intc[:], int8[:], int, int, int8[:])'
E   Candidates are:
E
E       - _max_len_seq_inner(int[:], int8[:], int, int, int8[:])
E       - _max_len_seq_inner(int64[:], int8[:], int, int, int8[:])

Likewise TestMLS.test_mls_output.
See https://buildd.debian.org/status/fetch.php?pkg=scipy&arch=armhf&ver=1.8.1-8&stamp=1658712661&raw=0

The i386 segfault occurs in TestSmirnovp::test_oneminusoneovern:
../../.pybuild/cpython3_3.10_scipy/build/scipy/special/tests/test_kolmogorov.py::TestSmirnovi::test_x_equals_0point5 PASSED [ 80%]
../../.pybuild/cpython3_3.10_scipy/build/scipy/special/tests/test_kolmogorov.py::TestSmirnovp::test_nan PASSED [ 80%]
../../.pybuild/cpython3_3.10_scipy/build/scipy/special/tests/test_kolmogorov.py::TestSmirnovp::test_basic PASSED [ 80%]
../../.pybuild/cpython3_3.10_scipy/build/scipy/special/tests/test_kolmogorov.py::TestSmirnovp::test_oneminusoneovern Fatal Python error: Floating point exception

Current thread 0xf7c02180 (most recent call first):
  File "/home/dparsons/pythran/scipy-1.8.1/.pybuild/cpython3_3.10_scipy/build/scipy/special/_testutils.py", line 213 in eval_func_at_params
  File "/home/dparsons/pythran/scipy-1.8.1/.pybuild/cpython3_3.10_scipy/build/scipy/special/_testutils.py", line 227 in check
  File "/home/dparsons/pythran/scipy-1.8.1/.pybuild/cpython3_3.10_scipy/build/scipy/special/tests/test_kolmogorov.py", line 213 in test_oneminusoneovern
  File "/usr/lib/python3/dist-packages/_pytest/python.py", line 192 in pytest_pyfunc_call
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1761 in runtest
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 166 in pytest_runtest_call
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 259 in <lambda>
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 338 in from_call
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 258 in call_runtest_hook
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 219 in call_and_report
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 130 in runtestprotocol
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 111 in pytest_runtest_protocol
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3/dist-packages/_pytest/main.py", line 347 in pytest_runtestloop
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3/dist-packages/_pytest/main.py", line 322 in _main
  File "/usr/lib/python3/dist-packages/_pytest/main.py", line 268 in wrap_session
  File "/usr/lib/python3/dist-packages/_pytest/main.py", line 315 in pytest_cmdline_main
  File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 164 in main
  File "/home/dparsons/pythran/scipy-1.8.1/.pybuild/cpython3_3.10_scipy/build/scipy/_lib/_testutils.py", line 69 in __call__
  File "/home/dparsons/pythran/scipy-1.8.1/runtests.py", line 318 in main
  File "/home/dparsons/pythran/scipy-1.8.1/runtests.py", line 567 in <module>

Extension modules: numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg.lapack_lite, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator, scipy._lib._ccallback_c, scipy._lib._fpumode, scipy._lib._test_ccallback, scipy.sparse._sparsetools, scipy.sparse._csparsetools, scipy.sparse.csgraph._tools, scipy.sparse.csgraph._shortest_path, scipy.sparse.csgraph._traversal, scipy.sparse.csgraph._min_spanning_tree, scipy.sparse.csgraph._flow, scipy.sparse.csgraph._matching, scipy.sparse.csgraph._reordering, scipy.spatial._ckdtree, scipy._lib.messagestream, scipy.spatial._qhull, scipy.spatial._voronoi, scipy.linalg._fblas, scipy.linalg._flapack, scipy.linalg._cythonized_array_utils, scipy.linalg._flinalg, scipy.linalg._solve_toeplitz, scipy.linalg._matfuncs_sqrtm_triu, scipy.linalg.cython_blas, scipy.linalg.cython_lapack, scipy.linalg._decomp_update, scipy.spatial._distance_wrap, scipy.spatial._hausdorff, scipy.special._ufuncs_cxx, scipy.special._ufuncs, scipy.special._specfun, scipy.special._comb, scipy.special._ellip_harm_2, scipy.spatial.transform._rotation, scipy.cluster._vq, scipy.cluster._hierarchy, scipy.cluster._optimal_leaf_ordering, matplotlib._c_internal_utils, PIL._imaging, matplotlib._path, kiwisolver, matplotlib._image, scipy._lib._uarray._uarray, scipy.fftpack.convolve, scipy.sparse.linalg._isolve._iterative, scipy.sparse.linalg._dsolve._superlu, scipy.sparse.linalg._eigen.arpack._arpack, scipy.optimize._minpack2, scipy.optimize._group_columns, scipy.optimize._trlib._trlib, scipy.optimize._lbfgsb, _moduleTNC, scipy.optimize._moduleTNC, scipy.optimize._cobyla, scipy.optimize._slsqp, scipy.optimize._minpack, scipy.optimize._lsq.givens_elimination, scipy.optimize._zeros, scipy.optimize.__nnls, scipy.optimize._highs.cython.src._highs_wrapper, scipy.optimize._highs._highs_wrapper, scipy.optimize._highs.cython.src._highs_constants, scipy.optimize._highs._highs_constants, scipy.linalg._interpolative, scipy.optimize._bglu_dense, scipy.optimize._lsap_module, scipy.integrate._odepack, scipy.integrate._quadpack, scipy.integrate._vode, scipy.integrate._dop, scipy.integrate._lsoda, scipy.integrate._test_odeint_banded, scipy.interpolate._fitpack, scipy.interpolate.dfitpack, scipy.interpolate._bspl, scipy.interpolate._ppoly, scipy.interpolate.interpnd, scipy.interpolate._rbfinterp_pythran, scipy.ndimage._nd_image, _ni_label, scipy.ndimage._ni_label, scipy.special.cython_special, scipy.stats._stats, beta_ufunc, scipy.stats._boost.beta_ufunc, binom_ufunc, scipy.stats._boost.binom_ufunc, nbinom_ufunc, scipy.stats._boost.nbinom_ufunc, hypergeom_ufunc, scipy.stats._boost.hypergeom_ufunc, scipy.stats._biasedurn, scipy.stats._hypotests_pythran, scipy.stats._statlib, scipy.stats._mvn, scipy.stats._sobol, scipy.stats._qmc_cy, scipy.stats._unuran.unuran_wrapper, scipy.io.matlab._mio_utils, scipy.io.matlab._streams, scipy.io.matlab._mio5_utils, scipy.io._test_fortran, scipy.ndimage._ctest, _cytest, scipy.ndimage._cytest, scipy.odr.__odrpack, scipy.optimize.cython_optimize._zeros, scipy.signal._sigtools, scipy.signal._max_len_seq_inner, scipy.signal._upfirdn_apply, scipy.signal._spline, scipy.signal._sosfilt, scipy.signal._spectral, scipy.signal._peak_finding_utils, scipy.sparse.linalg._propack._spropack, scipy.sparse.linalg._propack._dpropack, scipy.sparse.linalg._propack._cpropack, scipy.sparse.linalg._propack._zpropack, scipy.special._test_round, scipy._lib._test_deprecation_def, scipy._lib._test_deprecation_call, matplotlib._qhull (total: 135)
Floating point exception
make[1]: *** [debian/rules:48: execute_after_dh_auto_install] Error 136

@drew-parsons that's the same issue in a different part of the code base though, right? Do the scipy.sparse and scipy.optimize tests pass? And in particular test_group_columns which was the original report in https://github.com/serge-sans-paille/pythran/issues/2002?

i386 does pass the known problematic pythranized tests,
../../.pybuild/cpython3_3.10_scipy/build/scipy/optimize/tests/test__numdiff.py::test_group_columns PASSED [ 39%]
../../.pybuild/cpython3_3.10_scipy/build/scipy/optimize/tests/test__numdiff.py::TestApproxDerivativeSparse::test_check_derivative PASSED [ 40%]
../../.pybuild/cpython3_3.10_scipy/build/scipy/optimize/tests/test_least_squares.py::TestDogbox::test_numerical_jac PASSED [ 40%]
../../.pybuild/cpython3_3.10_scipy/build/scipy/optimize/tests/test_least_squares.py::TestTRF::test_numerical_jac PASSED [ 40%]
../../.pybuild/cpython3_3.10_scipy/build/scipy/optimize/tests/test_least_squares.py::TestTRF::test_with_bounds PASSED [ 40%]

It also does fail the other two pythranized tests I mentioned above (doesn't detail the error because of the segfault)
../../.pybuild/cpython3_3.10_scipy/build/scipy/signal/tests/test_max_len_seq.py::TestMLS::test_mls_inputs FAILED [ 46%]
../../.pybuild/cpython3_3.10_scipy/build/scipy/signal/tests/test_max_len_seq.py::TestMLS::test_mls_output FAILED [ 46%]

Perhaps the segfault is triggered by some other change to the build environment, possibly the upgrade from gcc 11 to gcc 12. But the scipy builds weren't showing this segfault on i386 before I ran the builds with this patch. If TestMLS is fixed then we could justify merging this patch and dealing with the segfault as a separate issue.

Thanks @drew-parsons. The segfault in _smirnovp from special/tests/test_kolmogorov.py is unrelated to Pythran, would you mind opening a separate issue for that?

Given https://github.com/serge-sans-paille/pythran/issues/2015, I suspect this change is not the way to go, I'll propose an alternate patch.

@drew-parsons can you test that version of the patch instead? (the CI error seem unrelated)

scipy/_lib/highs is not in the source for scipy 1.8.1.  Should I just ignore this part of the PR?

@drew-parsons my bad, that's fixed now

No, the patch is still incomplete (applied to scipy 1.8.1).  It's still giving the second errors I reported. Build logs for armhf and i386
Error (from i386)
___________________________ TestMLS.test_mls_inputs ____________________________
../../.pybuild/cpython3_3.10_scipy/build/scipy/signal/tests/test_max_len_seq.py:21: in test_mls_inputs
    assert_array_equal(max_len_seq(10, length=0)[0], [])
        self       = <scipy.signal.tests.test_max_len_seq.TestMLS object at 0xefbb0460>
../../.pybuild/cpython3_3.10_scipy/build/scipy/signal/_max_len_seq.py:136: in max_len_seq
    state = _max_len_seq_inner(taps, state, nbits, length, seq)
E   TypeError: Invalid call to pythranized function `_max_len_seq_inner(intc[:], int8[:], int, int, int8[:])'
E   Candidates are:
E
E       - _max_len_seq_inner(int[:], int8[:], int, int, int8[:])
E       - _max_len_seq_inner(int64[:], int8[:], int, int, int8[:])
        length     = 0
        n_max      = 1023
        nbits      = 10
        seq        = array([], dtype=int8)
        state      = array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1], dtype=int8)
        taps       = array([7], dtype=int32)
___________________________ TestMLS.test_mls_output ____________________________
../../.pybuild/cpython3_3.10_scipy/build/scipy/signal/tests/test_max_len_seq.py:37: in test_mls_output
    orig_m = max_len_seq(nbits, state=state,
        alt_taps   = {2: [1], 3: [2], 4: [3], 5: [4, 3, 2], ...}
        nbits      = 2
        self       = <scipy.signal.tests.test_max_len_seq.TestMLS object at 0xefbb0328>
        state      = None
        taps       = None
../../.pybuild/cpython3_3.10_scipy/build/scipy/signal/_max_len_seq.py:136: in max_len_seq
    state = _max_len_seq_inner(taps, state, nbits, length, seq)
E   TypeError: Invalid call to pythranized function `_max_len_seq_inner(intc[:], int8[:], int, int, int8[:])'
E   Candidates are:
E
E       - _max_len_seq_inner(int[:], int8[:], int, int, int8[:])
E       - _max_len_seq_inner(int64[:], int8[:], int, int, int8[:])
        length     = 3
        n_max      = 3
        nbits      = 2
        seq        = array([1, 1, 1], dtype=int8)
        state      = array([1, 1], dtype=int8)
        taps       = array([1], dtype=int32)
=========================== short test summary info ============================
FAILED ../../.pybuild/cpython3_3.10_scipy/build/scipy/signal/tests/test_max_len_seq.py::TestMLS::test_mls_inputs
FAILED ../../.pybuild/cpython3_3.10_scipy/build/scipy/signal/tests/test_max_len_seq.py::TestMLS::test_mls_output
= 2 failed, 35264 passed, 2629 skipped, 11431 deselected, 447 xfailed, 9 xpassed in 673.91s (0:11:13) =

Same also in powerpc and x32 (all build logs found at https://buildd.debian.org/status/package.php?p=scipy)

@drew-parsons thanks! I updated the scipy/signal/_max_len_seq_inner.py code accordingly. I feel a bit embarrassed for using you as a remote build farm, your help is much appreciated <3

@drew-parsons thanks! I updated the scipy/signal/_max_len_seq_inner.py code accordingly. I feel a bit embarrassed for using you as a remote build farm, your help is much appreciated <3

The new patch doesn't follow the same pattern as the other patches. It introduced intc instead of removing it. Is that intended?

@drew-parsons fixed, should be better now

Looks in good order now.  32-bit machines are building and generally passing tests. The specific Invalid call to pythranized function error is no longer showing.
I judge that this issue is now dealt with and the PR is ready to merge.

This looks like it's about ready, but the log for the failing 32-bit Azure job had disappeared. So rebased on main.

Looks in good order now. 32-bit machines are building and generally passing tests (for scipy 1.8.1-13).

The remaining failures on armhf in that log are test_rbfinterp.py::TestRBFInterpolator*, which is also Pythran. So perhaps one more thing to fix there.

@serge-sans-paille what do you think about adding a test that ensures intc isn't used in Pythran signatures? I did a quick bit of searching, and this is still looking a little fishy:
$ rg "\#pythran" | rg "int"
scipy/optimize/_group_columns.py:#pythran export group_dense(int, int, intc[:,:])
scipy/optimize/_group_columns.py:#pythran export group_dense(int, int, int[:,:])
scipy/optimize/_group_columns.py:#pythran export group_sparse(int, int, int32[], int32[])
scipy/optimize/_group_columns.py:#pythran export group_sparse(int, int, int64[], int64[])
scipy/optimize/_group_columns.py:#pythran export group_sparse(int, int, int32[::], int32[::])
scipy/optimize/_group_columns.py:#pythran export group_sparse(int, int, int64[::], int64[::])
scipy/stats/_stats_pythran.py:#pythran export _Aij(float[:,:], int, int)
scipy/stats/_stats_pythran.py:#pythran export _Aij(int[:,:], int, int)
scipy/stats/_stats_pythran.py:#pythran export _Dij(float[:,:], int, int)
scipy/stats/_stats_pythran.py:#pythran export _Dij(int[:,:], int, int)
scipy/stats/_stats_pythran.py:#pythran export _a_ij_Aij_Dij2(int[:,:])
scipy/stats/_stats_pythran.py:#pythran export _compute_outer_prob_inside_method(int64, int64, int64, int64)
scipy/signal/_max_len_seq_inner.py:#pythran export _max_len_seq_inner(int32[], int8[], int, int, int8[])
scipy/signal/_max_len_seq_inner.py:#pythran export _max_len_seq_inner(int64[], int8[], int, int, int8[])

On Tue, Oct 04, 2022 at 11:07:27AM -0700, Ralf Gommers wrote:

@.*** what do you think about adding a test that ensures intc
isn't used in Pythran signatures? I did a quick bit of searching, and this is
still looking a little fishy:

At pythran level (like, a specificpythran flag) or at scipy level?

I meant a custom script in CI at the SciPy level, but now that you ask - a command-line flag to reject intc (or perhaps other non-portable types too, like long) at the Pythran level would be better. I think scikit-image and other users will want to enable it as well.


How do querys return the count records to be used in pagination?

Hello,
We currently do provide a count query(https://github.com/prisma/photonjs/issues/202)
Example usage:
const count = await photon.users.count()

It is not documented yet and its functionality is limited right now(see https://github.com/prisma/photonjs/issues/252). We are currently specing out and implementing all sorts of aggregation that you can use(https://github.com/prisma/specs/tree/master/photonjs#aggregations)
I create this issue regarding documentation of count query: https://github.com/prisma/photonjs/issues/252


Detects circular array references in VarDumper::dumpInternal

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
yes (except hhvm)

Fixed issues
#15506

This does not seem to be appripriate fix as having 2 identical arrays by with different keys will case the latest to be ignored.
Also this does not fix possible recursion around object fields.

@klimov-paul Thanks for your feedback. I will try to improve it


What is the expect behavior of wildcard reading CounterEntry with counter_id = 0 and index = x?

I'm reading the doc of reading and writing CounterEntry and getting confused about wildcard reading.
In the doc:
* If the `counter_id` field is set to 0 (default), the server returns the
  counter values for all indirect counter instances in the `ReadResponse`.

* If the `index` field is not set, the server returns the counter values for all
  indirect counters in the array identified by the unique id `counter_id`.

Is for all indirect counters actually for all indirect entries? It seems like a typo.

In the proto:
// - All counter cells for all counters if counter_id = 0 (default).
// - All counter cells for given counter_id if index is unset (default).

To my understanding, the results of different parameters are:

counter_id: x, index: y => one entry of counter x and its index is y
counter_id: x, index: UNSET => all entries of counter x
counter_id: 0, index: UNSET => all entries of all counters
counter_id: 0, index: y => Undefined behavior? Or all entries that index are y? Or does some error indicate that the parameter is illegal?

If the counter_id field is set to 0, then I would expect a P4Runtime implementation not to even bother looking at the index field, and the value you set should be irrelevant.
Maybe the second bullet point should just start with Otherwise, , to make it clear that these 2 checks are really ordered and mutually exclusive.

@duskmoon314 Would you like to submit a PR to clarify the spec's language per @antoninbas 's feedback above? It'd be great to get your contribution. Thanks in advance!

Sure! I have submitted a PR based on the feedback above.
I'm sorry for responding late due to some personal issue.


Correct typo in travis.yml that disabled CI

It's alive!

I am sorry.

No worries. This seems like a nasty travis bug too though - it should report to github that the yaml is invalid, rather than reporting nothing


[Feature] kuberay's helm chart should include redis + fault tolerance by default.

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
I was chatting with Michael and Pradeep and I think this is one of the things that will make early stage ray poc easier. I know ray removed redis as default option some time ago, but for us, when successfully running ray for the first time and see ray being restarted in the middle of training was a great experience. we should probably consider including redis + fault tolerance as part of the helm chart and easier for users to enable?
Use case
I think it will be a great experience to have fault tolerance enabled by default (or at least having one option to enable it), especially in k8s environment.
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

I think it will be a great experience to have fault tolerance enabled by default (or at least having one option to enable it), especially in k8s environment.

Did you use Ray Serve?

yes we use ray serve (RayService), but we do have other use cases as well (using RayJob or RayCluster directly).
For this feature, I think it's important for RayService but also important for RayClusters. When we started POC ray, we started with RayCluster and directly running distributed training jobs. so when head restart, all work load get interrupted, and we lost historical information about past jobs (job arguments for parameter sweep, job logs, job metrics, etc). We were able to address them by now, but I feel it was a pretty bad POC experience (losing all job history when you don't know enough about Ray makes people doubting about if ray is the right choice).

When we started POC ray, we started with RayCluster and directly running distributed training jobs. so when head restart, all work load get interrupted, and we lost historical information about past jobs (job arguments for parameter sweep, job logs, job metrics, etc).

Ray currently lacks a robust solution for GCS fault tolerance in workloads other than Ray Serve. It's not recommended to use GCS fault tolerance with other workloads for now.

we lost historical information about past jobs (job arguments for parameter sweep, job logs, job metrics, etc).

@nikitavemuri is working on the persistent dashboard. @nikitavemuri, would you mind sharing some GitHub issues or design docs for @kanwang to take a look? Thanks!

@nikitavemuri is working on the persistent dashboard

that's great to know!

It's not recommended to use GCS fault tolerance with other workloads for now (ref).

oh interesting. Mind sharing any further details on why is it the case? So for some production use case I think we can definitely use RayJob and cluster reliability is less of a concern. For some use cases, we still want to use a pre-configured cluster and share the cluster across multiple jobs. Is there any recommendation for that? E.g. something so that we can retry failed jobs in case it was caused by a head/cluster restart?


Ignore private, leading _ variables when validate_assignment=True

Feature Request
We'd like to configure public (no leading _) variables using pydantic with validate_assignment but still would like private variables _ to be possible, e.g. for logging:
import pydantic
import logging

class ModelWithLog(pydantic.BaseModel):
    option: int = 10

    class Config:
        validate_assignment = True

    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self._log = logging.getLogger(self.__class__.__name__)  # This fails

m = ModelWithLog()
m.option = 'foo'  # this should fail
m.optoin = 10     # typo, this should fail as well

Result:
Traceback (most recent call last):
  File "model_log.py", line 15, in <module>
    m = ModelWithLog()
  File "model_log.py", line 12, in __init__
    self._log = logging.getLogger(self.__class__.__name__)  # This fails
  File "pydantic/main.py", line 281, in pydantic.main.BaseModel.__setattr__
ValueError: "ModelWithLog" object has no field "_log"```

duplicate of #655, please comment there.

Ah, sorry did not find this issue somehow.


Cleanup of v1-related GH Actions workflows

We're no longer adding new functionalities to the tbtc-dapp code, as this repository is related to the v1 of the system and is no longer used in v2. There is no need to run the code-checking workflows every night.

@nkuba, for some reason I'm not able to select the reviewers (the list doesn't load). Could you please review this PR?


[4.0] Sema: missing switch case fixits should print payload names explicitly instead of printing underscores. rdar://32121806

Explanation: The fixit for missing enum cases used to insert _ for associated values of enum cases, which is not informative enough. As a consequence, it may create an extra step of jump to definition to figure out what the associate values signify. This patch changes "_" to using the actual payload name, e.g. "let X" in the content fixits create.
Reviewed by: @CodaFi
Scope: Compiler Fixit
Radar: rdar://32121806
Risk: Low
Testing: Existing test updated

@swift-ci please test


Add a report (MultiQC) summarizing analysis

Input reads
Trimming results
Decontamination results
Kraken summary
Assembly report (gap fill vs contigs)
Mapping stats


Map Page: Specific Pin display

Should hover over displayed map on the left side
Should display details about the charge station

Connector
Fuel type
Payment network
etc

Resolved


Suggestion: Provide an option to show the links that are scanned in the action's output

The CLI does this by default and it's a nice way to confirm the expected links were checked.
Currently:
Run JustinBeckwith/linkinator-action@v1
  with:
    paths: **/*.md
    markdown: true
    linksToSkip: node_modules/,test/,^https://github.com/.*/search\?q=,lib,style
    concurrency: 100
    recurse: false
    timeout: 0
Scanning http://localhost:5812/CONTRIBUTING.md
Scanning http://localhost:5812/doc/CustomRules.md
Scanning http://localhost:5812/doc/Rules.md
Scanning http://localhost:5812/example/good.md
Scanning http://localhost:5812/helpers/README.md
Scanning http://localhost:5812/example/bad.md
Scanning http://localhost:5812/README.md
Scanned total of 342 links!

See also: https://github.com/JustinBeckwith/linkinator/issues/213

Thinking the solution to this one will probably be:

Implement what we're talking about in https://github.com/JustinBeckwith/linkinator/issues/213
Default to the warning setting
Possibly expose a verbosity input for the action itself

Thanks!
Any chance the output is truncated? In a test run, line 103 is: Scanned total of 342 links!. I'd expect that to be on line >= 342 in order for all of those scanned links to be listed. Or?
Example (if you can see it): https://github.com/DavidAnson/Workflows/runs/1624915279

Ah - I think the total number of links right now includes skipped files.  Submitting a PR momentarily to fix that :)

For reference, the tool I've been for this using saw 164 links in that same scenario: https://github.com/DavidAnson/Workflows/runs/1624915420

Curious.   Could I trouble you for a minimal set of steps to try this with your repository?  I want to make sure I'm doing an apples to apples comparison.

That tool may be wrong, but it's run by this workflow: https://github.com/DavidAnson/Workflows/blob/linkinator/.github/workflows/markdown-link-check.yml
You only care about the first section, markdownlint. The workflow for linkinator lives in the same directory. I pushed an empty commit last night to kick things off with your latest code. If you need to PR something to that branch to get another run, feel free.

Oh, and this commit shows the changes to use linkinator CLI instead of Action: https://github.com/DavidAnson/Workflows/commit/6cc6e353186850547bae51f121d7cbb19e92d35e


Superset not up

Bug description
superset is not up. It gets stuck in the loading page.Please find the screenshot for the same.
(superset-env) [root@ip-192-168-3-20 superset]# superset run -h <IP_ADDRESS> -p 8088
Loaded your LOCAL configuration at [/home/ec2-user/superset/superset_config.py]

Serving Flask app 'superset.app:create_app()'
Debug mode: on
2024-10-22 12:37:01,203:INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 Its in loading state continuously.
Superset version
master / latest-dev
Python version
3.11
Node version
I don't know
Browser
Chrome
Additional context
No response
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[X] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

@dosu can you please check on this

@dosu its not a similar issue

@rusackas can you please help me on this

At first glance, it doesn't look the UI was built properly. See:
https://superset.apache.org/docs/contributing/development/#frontend
Once you have ran the npm commands listed, try again and report back.

@tshallenberger It was fixed using the npm commands. Thank you

@tshallenberger It was fixed using the npm commands. Thank you

@krishanthvs May I ask which commands did u use and how did you fix the problem. Same issue here and I tried purging npm and rebuilding. Didn't solve the problem.

When I use docker compose up, I met the same issue.

@tshallenberger
cd /path/to/superset-frontend
npm install
npm run build

@gongyuanze111
cd /path/to/superset-frontend
npm install
npm run build


AppTest is not wroking

I have tried to programm AppTest just like in the lecture Programming and Modelling WS22/23. But the program is still not working properly.

The issue has been solved. There are two JUnit modules for this test. The one that is being used in the Lecture Uni. Kassel does not have api in it. Make sure that all import and dependencies (build.gradle) are correct.


Question

Is it possible to have multiple stream with different schema definition, using InMemorySource with different topics

Yes, one topic will be to a unique stream, you can have multiple topics


hexdump file not updated when binary changes

Extension Version 1.7.2, VS Code Version: 1.38.1. OS: Linux
The hexdump seems to rely on some cached version of the binary, or cache the .hexdump file somewhere. As I make changes to the binary they aren't reflected in the hexdump.
Steps:

Generate a binary
Show the hexdump of the binary
Close the hexdump of the binary
Change the source and regenerate the binary
Show the hexdump. The hexdump remains unchanged from before, but the binary has changed.

I think I have solved this issue.
You can try it out at #67.

Will this fix be applied to the current VS Code extension soon?

I'm running into the same issue.
The current VS Code extension still does not update the hexdump when the file changes.

I'm seeing this problem on macOS too

@watersne, I resolved this issue in my fork: https://github.com/iliazeus/vscode-hexdump.
The fix was to simply invalidate the cache when a corresponding hexdump is closed.
Marketplace link

Fixed in version 1.8.0

I have version 1.8.1 installed and this still happens.
VS Code version is 1.51.1

I encountered the same problem in 'Remote - WSL'. Hexdump results won't change when the binary changes, unless I reload the window.
hexdump for VSCode v1.8.1
VS Code Version 1.55.2 on Windows


Load latest save on gameboot

I dont call BullyApplication__OrigNewGame, code looks cleaner w/o the additional check and functionality wise OrigLoadSlot has a failsafe and will call it when there is no savegame.


Idea: CLI setup tool

When you first start out with Quickwit, setup can be a bit intimidating with so many options!
What would be nice is if we had a CLI tool option like quickwit init and quickwit index init, etc... which walks you through all of the configurations in a bit more of a step-by-step process that then generates the required config file(s) at the end of it.
Something along the lines of how some tools like Python's poetry walk you through adding dependencies and generating a project when you initialise it.

That's a good idea.
For a more ambitious scope, we recently have heard good things about tiup, a tool to deploy a tidb cluster.
https://docs.pingcap.com/tidb/stable/production-deployment-using-tiup


Fixed an issue on LastName generation where hash added innappropriately

Fixed an issue on LastName generation where in one case the name was still getting the hash added if if the config flag was turned off.

Corresponds to issue #196

Thanks for the pull request!


Integrated Terminal: inserting emoj doesn't work

VSCode Version: 1.18.0
OS Version: macOS Sierra

Steps to Reproduce:

Open the integrated terminal
Press ctrl+cmd+space (osx) and choose an emoj

What happens?
Nothing is inserted into the terminal.
What should happen?
The selected emoj should be insterted into the terminal. It works with most terminals, like iTerm, standard macOS terminal.
Note that the same problem happens with Windows10  Insiders (that adds an emoj panel when pressing win+;).

Reproduces without extensions: Yes

@warpdesign Can confirm that you cannot directly add emojis from mac emoji pane. Although you can copy and paste emojis to integrated terminal.
Need triage from @Tyriar on this. Also would like to help if needed. 😁

Duplicate https://github.com/Microsoft/vscode/issues/35266


Pipelining for certain cluster commands

Handle transparent pipelining of following multikey commands:

del
mget
mset
msetnx

Where can I see code and tests for this functionality? Is it on github?

Look here: a2bc2de7a7150f7b6c7f2006d2477ecc9cd2e8e5
and: https://github.com/mp911de/lettuce/blob/multi-key-pipelining/src/test/java/com/lambdaworks/redis/cluster/AdvancedClusterClientTest.java

Need to add support for mget  with streaming

Implemented.


Set mnemonic for PostCSS wrapper action.

Inside Google, we're investigating making the mnemonic mandatory to make it easier to track the performance of a particular action across builds.

Thanks!


Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 0x01010462

Hi! I got UndefinedResObject while decoding apk.
Manifest and some resources (xml layouts, values, drawables) has been decoded successfully.
Version:
apktool:
2.0.1

java:
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

Decode log:
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec:
0x01010462
        at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:59)
        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:65)
        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:61)
        at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferen
ceValue.java:57)
        at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(Re
sStyleValue.java:54)
        at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResour
ces.java:496)
        at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:252
)
        at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:134)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:104)
        at brut.apktool.Main.cmdDecode(Main.java:165)
        at brut.apktool.Main.main(Main.java:81)

I also met the problem and have solved it:

remove the /Users/your user /Library/apktool/framework/1.apk
2.get another framework-res.apk from your phone ,it in  /system/framework
install the framework-res.apk

apktool if framework-res.apk

Same problem here. imesong's suggestion does rather sound like a workaround than a real solution.

Apktool has no knowledge of framework files. It does not track, have knowledge of, or anything to do with them. If they become out of date, deletion of the default framework and letting apktool recreate it is a valid solution. Upgrade notes when this is needed notes this.

imesong solution worked for me. had the same problem with Samsung galaxy S3
It would be helpful if the app provided slightly more meaningful report rather than an exception report. Exception is an indicator of a bug.

OH MY GOD，Thx


Exit code on warnings

I added a verification on the amount of warnings found and exit with 1 as error code when the number or warnings is more than 0.
Should solve #47 .

@Louis-Lesage 👋Thank you for your contribution!  🚀
Can you update the changelog file too?

@Louis-Lesage Thanks! ❤


Path traversal vulnerability

@hlbmtc can you just give this some thought; may not require action. Just close it if you don't think we need to do anything about it.
Reported by RuslanBes:
Check if you have the path traversal vulnerability in links. E.g. here I made a demo:
https://beta.metaculus.com/questions/20776/cannabis-removed-from-us-schedule-i-by-2025/#comment-191043
I don't think it's dangerous there, but just decide if you want to allow in general links like "../../../something/something".

This should not be the issue for nextjs/django routing


Add use-throttle hook

Would you mind adding this under the community folder? Curretnly it's under react-use

Sure.

Thanks. You can add your self to readme contributors section if you wish.


fix:  aws bedrock load db credentials issue

This pull request includes changes to the AmazonBedrockEmbeddingsComponent and AmazonBedrockComponent classes to update the configuration of AWS session tokens and credentials profiles.
Changes to AWS session token configuration:

src/backend/base/langflow/components/embeddings/amazon_bedrock.py: Changed the advanced attribute of the aws_session_token input from True to False to make it a non-advanced setting.
src/backend/base/langflow/components/models/amazon_bedrock.py: Changed the advanced attribute of the aws_session_token input from True to False, removed the value attribute, and set load_from_db to False.

Changes to AWS credentials profile configuration:

src/backend/base/langflow/components/models/amazon_bedrock.py: Removed the value attribute from the AWS_CREDENTIALS_PROFILE_NAME input to simplify the configuration.

@ogabrielluiz
If necessary, we can move the session token to the advanced section. However, based on feedback from LF, we noted that several users frequently require the session token field, so we will keep it accessible and not move it to advanced.
Additionally, I have removed the default value in cases where the load from the database is set to False.


Fix the arithmetic for wait_until_done(); add start_time kwarg in seconds, instead of ns.

Correctly account for the time sent from the API (ms since epoch), and
add a new parameter, start_time, which is in seconds not nanoseconds.
Deprecate the old parameter, to be removed in a future release.
Also adds an complex mocked test for wait_until_done, which tests that it really is waiting for the expected time, based on the created_on field from the API, which comes back in milliseconds.

Wow, creating this unit test was a real pain, but i think it's pretty solid!
It turned out we did already have some integration tests, so i don't understand why those weren't failing before @nantiamak's PR #103... 🤔  Very strange.
But anyway, i think this should be good once and for all.

Thanks you're 100% correct! I think my understanding was wrong when i started, and then i fixed it in subsequent commits. Thanks very much for the review! 😊 i'll adjust that then merge.


Implement paging on the main feature list in the dashboard

We are currently not paging the main list. We should default to a large page size.

https://github.com/Flagsmith/flagsmith/pull/357 The frontend can't actually page features due to other areas such as filtering by tags / archived, however this pr sets a page size of 999


Need to find a way to open zip files that isn't biomassrecovery

Importing biomassrecovery requires a bunch of environmental variables set up to do with where to store GEDI data, it needs your EARTHDATA variables too. This is fine for code that uses GEDI, but we use this in parts of the project that have nothing to do with GEDI as we use the unzip wrapper in that module, and thus now to download SRTM data you need an Earthdata account :/

This is addressed in #113


shaka.Player.getStats() returning mostly null values when playing mp4 Videos

Have you read the Tutorials?
Yes
Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
3.3.2
Please ask your question
I'm using shaka-player to play HLS, DASH and MP4 format videos and showing the "Stats for nerds" for the same. There is no problem in playback for all formats. But getStats() from shaka.Player is always returning null for most properties when mp4 is getting played. I have attached the stats log for one of mp4 video below
{     "width": null,     "height": null,     "streamBandwidth": null,     "decodedFrames": 23,     "droppedFrames": 0,     "corruptedFrames": 0,     "estimatedBandwidth": null,     "completionPercent": 0,     "loadLatency": 0.042999982833862305,     "manifestTimeSeconds": null,     "drmTimeSeconds": null,     "playTime": 1.121000051498413,     "pauseTime": 0,     "bufferingTime": 0.2630000114440918,     "licenseTime": null,     "liveLatency": null,     "maxSegmentDuration": null,     "stateHistory": [         {             "timestamp":<PHONE_NUMBER>.84,             "state": "buffering",             "duration": 0.2630000114440918         },         {             "timestamp":<PHONE_NUMBER>.103,             "state": "playing",             "duration": 1.121000051498413         }     ],     "switchHistory": [] }

Many of these values can only be obtained when using adaptive streaming managed by ShakaPlayer itself. I also see that width and height are not defined and if it would be possible to provide them, I will do a PR for this.

@avelad also I can see that player.getVariantTracks() also returning [] for mp4. Since Mp4 is single file video, Aren't the player supposed to return single track for this. All I'm trying to get is the activeTrack, estimatedbandwidth and bufferSize to show some basic State for Nerds

Not at the moment, no.  You would need to add something to Player and possibly StreamUtils to build a Track object based on the data that is available.  PRs are welcome.

All I'm trying to get is the activeTrack, estimatedbandwidth and bufferSize to show some basic State for Nerds

We have something like this already available in the UI.  Have you seen ui/statistics_button.js?  You can add "statistics" to the UI config as an overflow button or context menu element.  See also docs/tutorials/ui-customization.md.


font issues throughout app

Note 20 with stock font showing up as the following..

Can confirm this issue happens with Samsung Stock font, but works fine using Default font.
It's very likely the Android app is using Locale icons to display those ones, and Samsung doesn't use it for their internal font.


⚠ Samsung has degraded performance

In f3d27ed, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 3175 ms

Resolved: Samsung performance has improved in 6b42caf.


Add School

@alexdevz  The official school district website is not answering to my requests in last few days. Thus, I cannot verify your request and ensure that this domain belongs to the district or a particular school. I have to close the request without merging.
Please apply for free educational license with an official document which proves that you are a student. You can do it using "OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students.
Thank you for your understanding!

I do not believe I provided the main domain for the district, https://puyallup.k12.wa.us is the valid domain. It can be verified of authenticity as it has an official K-12 domain provided by the Washington Office of Superintendent of Public Education (https://www.k12.wa.us/). Here is a page verifying authenticity of student email, https://puyallup.k12.wa.us/cms/One.aspx?portalId=141151&pageId=3257594. If this can still not be authenticated or added, I understand.


[ADAM-604] Remove normalization code.

Resolves #604. More spring cleaning; this code will be moved upstream to bdg-utils.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/648/
Test PASSed.

Rebased.

Thanks, Frank


Closes softlayer/sl-ember-components#1019

gotta man-up and fix my own mistakes :S

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from the review on Reviewable.io


Why to get prediction  this way

@FabianIsensee Hi, sir.  I am puzzled for the line231 to line 268 in the utils_validation.py. It looks like these lines of code are used to get the prediction. But why the lines like "data_for_net = data_for_net[:, :, :, ::-1, :]" and "p = p[:, :, :, ::-1, ::-1]" appear. What is the meaning? Thank you very much!

Thank you！


Suppress Accesses if the variable is not of type FAMIXAttribute

Solved. Available on Smalltalkhub with version v0.4.1


Define network interface

There's not need to implement any of the functions, but we must define the needed types for them and leave the functions defined as:
functionName :: someType
functionName = undefined

The currently expected functions are:
For the users:
queryLeader
getSeathConfig
sendActionToLeader
sendSignedTxToLeader
sendRejectionToLeader
waitForActionConfirmation

In the leader:
sendChainToUsers
waitForChainSignatures
rebuildChainFrom
submitChain
sendConfirmationToUsers

I think that also as part of this we should fix the structure and content of the tests:

Change the name or move Seth.Test.SeathSetup to some other place.
Use quickcheck or something for property testing and setup instead of Seath.Test.SeathSetup.
Move the generation of configuration and plutip initialization out of the main function of the only test we have.
Use mote and quickcheck to add more extensive local tests.


feature/CDSCT-471-validation-review

Tweak generated resources to bring into spec

Don't use CareConnect* in type names for DataRequirement

Adding canonical URLs causes validation problems in searchset bundles


⚠ Fetchers has degraded performance

In 8681ca6, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 273 ms

Resolved: Fetchers performance has improved in 77b50b3.


Building on Windows

Currently following the example of https://github.com/conda-forge/climlab-feedstock

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

Selectors are suggested to take a <two spaces>#<one space>[<expression>] form. See lines [21, 22, 24, 26, 30, 31, 42]

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

appveyor currently fails because setup.py tries to compile tmatrix with mingw32-make, which isn't listed as a requirement. We could try to add it as a dependency, or we could try to make with flang.

DO NOT MERGE. Currently points to build off a test release on my own personal branch. Need to adjust to build off a real manoharan-lab account release.

Now building off manoharan-lab account. Ok to merge once tests pass.


Test/api endpoint

Pull Request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[x] Documentation content changes
[x] Testing
[ ] Other (please describe):

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Test the starknet call api endpoint
Add documentation on starknet get root

Does this introduce a breaking change?

[ ] Yes
[x] No

Other information

Codecov Report
Base: 73.58% // Head: 79.45% // Increases project coverage by +5.87% :tada:

Coverage data is based on head (34af9e2) compared to base (2852b82).
Patch coverage: 88.88% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #58      +/-   ##
==========================================
+ Coverage   73.58%   79.45%   +5.87%
==========================================
  Files          21       21
  Lines         511      511
==========================================
+ Hits          376      406      +30
+ Misses        135      105      -30

Impacted Files
Coverage Δ

beerus_rest_api/src/api/starknet/endpoints.rs
94.28% <88.88%> (+41.42%)
:arrow_up:

beerus_rest_api/src/api/starknet/resp/mod.rs
100.00% <0.00%> (+33.33%)
: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.


Collection Runner doesnt show up test status for previous data sets, when collection is run for multiple data sets via scripts

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
I am using Bruno Desktop Version : v1.19.0
When i am running collection having set of API requests using Collection Runner feature with data file by writing js scripts feature in Pre/Post request script tabs (as suggested by Aliaic in discussions : https://github.com/usebruno/bruno/discussions/2313) having multiple sets of data (like iteration run), the collection runner doesnt show up test status for previous data sets where as it shows test status against each of API call only for 'nth' data set (last data set) in data file.
Please find below screen shot for the same:

Please let me know if any more information is needed.
Thanks!
.bru file to reproduce the bug
No response
Screenshots/Live demo link

I am facing the same issue on my end:

I have also noticed that if I use the 'bru.setNextRequest("re-queue tests");' in the test script it will not work it only work if it is in the  Post Response script even though the documentation says that it would work on either test or post response scripts:

#2551

@akhot09 I have created a PR #2551 with a fix for this issue. Lets hope that it gets approved by the maintainers.

Closing this issue because the PR fixing it has already been merged, and the next outgoing release will contain this fix!


WsgiDav==3.0.0a5

WsgiDav==3.0.0a5
Digest Auth currently broken in WsgiDav==3.0.0a4. Need new release to fix digest auth and add new get external digest auth hash feature.
just a reminder thanks (sorry to bug)
JR

Released a5, having trouble to build the msi installer though. Hope there is some time to during the next weeks.

thank you very much @mar10 . appreciate it.


This is my quick fix for infinite loop when internet goes down

I need to learn the best way to propose changes like these

These changes have been running non stop for days and survived a number of internet outages (restarting the router) without needing the docker container to auto-restart.
podping-3spk         | 2021-09-29T04:41:29+0000 | INFO | Status - Uptime: 6 days, 21:50:50.723066 - IRIs Received: 362 - IRIs Deduped: 361 - IRIs Sent: 361 - https://api.openhive.network
podping-3spk         | 2021-09-29T04:43:40+0000 | INFO | Status - Uptime: 6 days, 21:53:01.740419 - IRIs Received: 362 - IRIs Deduped: 361 - IRIs Sent: 361 - https://api.hive.blog

I also prefer this diagnostic output:
podping-3spk         | 2021-09-29T04:40:33+0000 | INFO | Batch send time: 0.67 - trx_id: 574e8e918f52d316300236ca6b2991a505e94d49 - Failures: 0 - IRI batch_id 8cb5e0b0-17ad-4e07-b6cb-2e7baff09d54 - IRIs in batch: 2 - https://hive-api.arcange.eu

Because it tells me the API node AND the time it took to process a batch in one line.

Fixes #22

My my, you’re a busy boy on Christmas Eve.

Lol first I knew was when the Hive account for podping.git which is used for CI tests suddenly screamed about resource credit depletion.

Level 3  ***
********** Mana Bar for podping.gittest  |  78.8 % | -123.77281 %/hr  | in one hour: -45.0 % | HP:      30.0

Btw I monitor all the main Podping accounts.
I gave it a bit more juice but it probably wasn't necessary as Alecks trends not to run crazy amounts of commit tests.


Fix name conflict in Onshape Go Client

Renames ServerVariable to APIServerVariable

This is going to be a breaking change when Onshape go client is re-built using this new custom go generator.
https://thingworx.jira.com/browse/CGM-1525

Looks good


Error when following MDN WASM Guide

Hello,
I attempted to follow along with the MDN guide for compiling simple Rust to wasm. Each step worked without error until I attempted to run the web pack server, at which point the below error was thrown:
ERROR in<EMAIL_ADDRESS>Module parse failed: Unexpected section: 0xfe
You may need an appropriate loader to handle this file type.
Error: Unexpected section: 0xfe
    at new CompileError (.........
<EMAIL_ADDRESS>2:0-40 8:71-82 9:45-56 30:16-38 43:15-25 46:8-28
 @ ./index.js
 @ multi (webpack)-dev-server/client?http://localhost:8080 ./index.js

ERROR in chunk 0
3e2522591534271b41d1.module.wasm
<EMAIL_ADDRESS>unexpected end

I went out to npm and just tried pulling in an npm package from someone else that had been published from the tutorial, and that did work. However going to that repo, cloning it locally, running wasm-pack build --scope mynpmusername, pushing it up to npm, and then pulling it to run through webpack resulted in the same error above. That leads me to believe that it has to be something with how I'm compiling the Rust to WebAssembly, but I don't have the skills to troubleshoot. Let me know if there's anything further I can provide.
OS: Windows 10
wasm-pack 0.6.0
rustc 1.32.0 (9fda7c223 2019-01-16)
cargo 1.32.0 (8610973aa 2019-01-02)

Duplicated of https://github.com/webpack/webpack/issues/8781.


feat: Add wrapper modules

Description

Add wrapper module pre-commit

Motivation and Context
Terragrunt user :wave:
Breaking Changes
None
How Has This Been Tested?

[ ] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects
[x] I have executed pre-commit run -a on my pull request

if you can fix the CI checks we can get this merged, thanks!

Thanks!
Apparently my laptop and CI don't agree on how to sort :thinking:
I'll have to come back and work that out another time :sweat_smile:

This PR is included in version 2.2.0 :tada:


Show ODK only surveys with geopoint information on map

ODK only surveys (without any OSM data) don't show on map. These surveys have a geopoint information.
Example: http://zambia.hotosm.org/omk/pages/#/submissions/Zambia_Minigrid_Village_Survey_V02

hi
can you give me some more information on this issue and what is expected.

Solved with https://github.com/hotosm/OpenMapKitServer/pull/107/commits/55f26af71704723c115034c4b3bc050bb7eb5666


belyi_db_improved

What the "improved" mean?  How is it different than belyi_db?  Which one is being used when we upload maps?

I believe belyi_db_improved has files with improved equations for genus 0 maps that Ciaran @cscmnu added after our virtual Belyi LMFDB mini-meeting.

So they're not currently part of the upload script?

Right, they're not part of the upload, and yes, I think we can delete them, although you might want to double-check with Ciaran.

Yes please delete them, there's nothing in there that we haven't superseded with Gm-Reduce


playwright issue with Toolbar.Item

I'm currently in the process of refactoring the NMRium panels toolbar. I'm replacing all the buttons within the toolbar with the toolbar component. However, I've encountered an issue with Playwright that I'm struggling to understand. It seems that the locator function is unable to resolve the _react=ToobarItem[text="hide peaks" i] selector properly, it works as expected in one scenario when I set the noToolTip property over the toolbar item, the reason behind this behavior is that the locator resolves 2 elements the tooltip and the button and it is unclear to me why the tooltip wrapper element it stays in DOM once mouse goes out of the tool item
https://github.com/cheminfo/nmrium/actions/runs/7961287963/job/21732151923?pr=2911
https://github.com/cheminfo/nmrium/pull/2911
Could anyone give a hand on this issue?

it is unclear to me why the tooltip wrapper element it stays in DOM once mouse goes out of the tool item

This is just how blueprintjs works. It does not unmount the portal div for the tooltip until the component is unmounted.
I'm not used to writing playwright selectors so I don't think I can help you create the right selector.

I think you should add a discriminant to your selector, such as button ?

I have tried all available options, and the only way that works for me is using the id _react=ToobarItem[id="ranges-toggle-peaks"] >> nth=0. rather than the old locator selector _react=RangesHeader >> _react=ToobarItem[text="hide peaks" i]  >> nth=0

Why can't you use button in your selector?

I attempted to use the button selector instead of nth=0 but unfortunately, it did not work, As you can see this is what the locator resolve
Error: expect.toBeVisible: Error: strict mode violation: locator('_react=ToolbarItem[id="ranges-toggle-peaks"][active=true]') resolved to 2 elements:
    1) <button tabindex="0" type="button" aria-expanded="false"…>…</button> aka locator('button:nth-child(9)')
    2)

 aka locator('.bp5-overlay').first()

That selector doesnt have any button` part.
Also, ideally we should be using accessible selectors like getByRole: https://playwright.dev/docs/locators#locate-by-role. If there's no name (or no way to add a name to the ToolbarItem's button), we can add something for it.

The problem is that the "toggle peaks" button exists in multiple panels ( the peaks panel and the ranges panel )

That problem should be solved by using a selector in front like you showed above: _react=RangesHeader >> ...

@hamed-musallam it this resolved in NMRium or do you still think the resolution is in react-science?

@stropitek
Indeed, the issue has been resolved in NMRium. Thanks


Error in response to system.storage.getInfo: TypeError: Path must be a string. Received undefined

I get this error on Windows 10:

Error in response to system.storage.getInfo: TypeError: Path must be a string. Received undefined

(unknown) TypeError: Path must be a string. Received undefined
    at assertPath (path.js:28:11)
    at dirname (path.js:716:5)

drivelist.list(function (error, drives) {
         console.log(error)
          console.log(drives)
});

Tested on MAC and Linux works well. Version: 5.1.5

I'm using webpack, so I can't show detailed debug, but problem in this line:
https://github.com/resin-io-modules/drivelist/blob/2c77f2bfa86b1aba802f834fa8dd7f97179236ee/lib/drivelist.js#L53

→ Z:\Jscode\rf_configurator\build\RaceFlight\win64\build\drivelist.node
 → Z:\Jscode\rf_configurator\build\RaceFlight\win64\build\Debug\drivelist.node
 → Z:\Jscode\rf_configurator\build\RaceFlight\win64\build\Release\drivelist.node
 → Z:\Jscode\rf_configurator\build\RaceFlight\win64\out\Debug\drivelist.node
 → Z:\Jscode\rf_configurator\build\RaceFlight\win64\Debug\drivelist.node
 → Z:\Jscode\rf_configurator\build\RaceFlight\win64\out\Release\drivelist.node
 → Z:\Jscode\rf_configurator\build\RaceFlight\win64\Release\drivelist.node
 → Z:\Jscode\rf_configurator\build\RaceFlight\win64\build\default\drivelist.node
 → Z:\Jscode\rf_configurator\build\RaceFlight\win64\compiled\8.1.4\win32\x64\drivelist.node
    at bindings (chrome-extension://dgandikapbplbmakkdaolhidnijdkkfp/app/bundle.js:135127:9)
    at Object.exports.list (chrome-extension://dgandikapbplbmakkdaolhidnijdkkfp/app/bundle.js:135010:5)
    at new deviceNotFoundCtrlFn (chrome-extension://dgandikapbplbmakkdaolhidnijdkkfp/app/bundle.js:206317:19)
    at Object.instantiate (chrome-extension://dgandikapbplbmakkdaolhidnijdkkfp/app/bundle.js:31876:14)
    at $controller (chrome-extension://dgandikapbplbmakkdaolhidnijdkkfp/app/bundle.js:37632:28)
    at Object.<anonymous> (chrome-extension://dgandikapbplbmakkdaolhidnijdkkfp/app/bundle.js:100493:28)
    at chrome-extension://dgandikapbplbmakkdaolhidnijdkkfp/app/bundle.js:28358:18
    at invokeLinkFn (chrome-extension://dgandikapbplbmakkdaolhidnijdkkfp/app/bundle.js:37194:9)
    at nodeLinkFn (chrome-extension://dgandikapbplbmakkdaolhidnijdkkfp/app/bundle.js:36591:11)
    at compositeLinkFn (chrome-extension://dgandikapbplbmakkdaolhidnijdkkfp/app/bundle.js:35856:13)

Hi @Arti3DPlayer ,
The Windows side of this module was written in C++, so webpack will not work there. You could compile the code in a Windows machine, and then manually place the .node file in the place where the final bundle looks for it.
I'm closing this, since I don't think webpack will ever play well with this module given the native code we have (except for the manual workaround described above)

@jviotti problem that if I even put drivelist.node into /out/out/Release/drivelist.node it can't see it :(

Can you try Z:\Jscode\rf_configurator\build\RaceFlight\win64\build\drivelist.node?

@jviotti Not sure, I leave this, and use https://msdn.microsoft.com/en-us/library/aa394173(v=vs.85).aspx
for win32 case
I don't know know why you use external script:(

BTW, I had this same .node file was not found.
Error: Could not locate the bindings file. Tried:

but after I ran this manually, (I was using yarn classic and 10.0.0 )
npm rebuild drivelist

this build .node file and it stopped complaining.
not sure why it didn't build while initial installation


[SMALLFIX] Revert breaking changes.

Reverts runtime breaking changes introduced by https://github.com/Alluxio/alluxio/pull/4591

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/13063/
Test PASSed.

LGTM


Repeated question + These questions stay in different part

For example, question related to React lifecycle: 33, 34, 74 - 78.

@tannguyencse19  Thanks for notifying on this. The questions have been re-organized and removed any duplicates exists. Please let me know if any duplicate questions exists


Ensure that TensorBoard is still available when pip installed. (r1.3)

Context:
After r1.2, TensorBoard moved out of the TensorFlow repository, into its own
repository and its own pip package (presently tensorflow-tensorboard, will later
switch to just tensorboard). The new pip package specifies the tensorboard
command, so I removed it from the list of console scripts forTensorFlow. I also
added tensorflow-tensorboard as a pip dependency.
However, it turns out that the pip order of operations is:

install pip dependencies (thus getting tensorflow-tensorboard and the new
tensorboard command)
remove deprecated console scripts (thus erroneously removing the new pointer
to tensorboard)

To fix this, I returned the tensorboard console script to tensorflow's
setup.py, except it now references the tensorboard package rather than the
tensorflow package. Thus, the console script declaration in tensorflow and
tensorboard are identical. We can be confident that the tensorboard package is
available, because it is specified by the pip dependency.
Test Plan:

Create a clean virtualenv.
pip install tensorflow < 1.3.
verify that the tensorboard command works properly
pip install tensorflow 1.3 using a pip package generated with this change
verify that the tensorboard command still works

This is the fix for r1.3. I will also send this same commit in a PR against master.

LGTM, but I'd wait for a Real TensorFlow Reviewer.

You have to update unfortunately.

Amit for 1.3 merge


Show type as referral when no arrival date

Previously, we were returning referral for a type when a placement application is not present. There are some circumstances when an application can be made, but have subsequent placement applications made, so we need to change the rule to check for the presence of a start date.

Gonna park this as I think I got the wrong end of the stick


Spot VM doesn't support confidential VM

[Enter feedback here]
Hi team,
Spot VM doesn't support DCasv5 and ECasv5 which confidential VM is enabled to. We need to update the section of limitation.

Best regards.

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

ID: fb6d504c-6e94-a353-3465-832330efab44
Version Independent ID: 79c70736-63a0-b023-5336-e16cb4f9d217
Content: Use Azure Spot Virtual Machines - Azure Virtual Machines
Content Source: articles/virtual-machines/spot-vms.md
Service: virtual-machines
Sub-service: spot
GitHub Login: @ju-shim
Microsoft Alias: jushiman

@kongou-ae
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly.

@ju-shim
Can you please check and add your comments on this doc update request as applicable.

Hello, I am looking at this with the team and will get back to this thread with more information. Thank you.

Our content has been updated, #please-close


bug: ion-nav-view will not load

Type: bug
Platform: ios 8 webview
When my applications loads first, ion-nav-title is not loaded from ion-view and placed in navbar. After a route change everything is fine.

Hey @appwrx, can you reproduce this in a codepen?

Greetings @appwrx!
My sensors indicate a reply was requested, but as we have not received one yet, I am using my robot powers to close this issue. However, if you are still experiencing this issue, please feel free to reopen it by creating a new issue, and include any examples or necessary information.
Thank you for allowing me to assist you.

Greetings @appwrx!
My sensors indicate a reply was requested, but as we have not received one yet, I am using my robot powers to close this issue. However, if you are still experiencing this issue, please feel free to reopen it by creating a new issue, and include any examples or necessary information.
Thank you for allowing me to assist you.


Change language

Hello. Thanks for the great package
However, I'm wondering if there is any simple way to change the package language ? I get controls from control center and callbacks, errors and stuff in chinese

Sorry about that, there is no multilingual support at this time. But it doesn't hinder music playing. Chinese is mostly a reminder log

Thanks for the quick answer
It does actually because buttons are in chinese..

This is a good question, thanks for remindering. I will change the Android notification text to icon and release the patch soon


HugrView::get_function_type makes no sense

It returns the PolyFuncType of a function, but the FunctionType of any other container e.g. DFG plus zero binders - what is going on here?

Used in constants, where we try_into the PolyFuncType back to a FunctionType
And in test code
Probably better to make it either

return a monomorphic function type or none (i.e. reject any FuncDecl/Defn with binders), as per the use in const; or
make it return a PolyFuncType for FuncDecl/fn, only (and None for anything else). It could then be used in the builder for building Call and LoadFunction nodes (which has its own code in build_traits.rs atm)

At the root here is the question - can you put a FuncDefn in a Constant and then LoadConstant it? Currently the rules say that you can (this lets you get a closure of a recursive function, which you can't do by LoadConstant'ing a DFG). But after #947 one could just add the FuncDefn to the Hugr and use LoadFunction. So maybe / do we really want to keep the FuncDefn-in-Constant just so we can have a nested Hugr rather than a child node?

On the latter: the thing is that it only works for monomorphic FuncDefns, which seems a bit crappy. There ought to be a way to apply type args, in which case, we have LoadFunction. So (@ss2165) is it really that important to allow a FuncDefn-rooted Hugr in a Const (a separate Hugr) as opposed to putting that FuncDefn as a subtree of the main Hugr?
Options? I can see about three...

A wild idea would be to make a function value store both a FuncDefn-rooted Hugr and TypeArgs, I guess then we'd have two kinds of function Value (another storing DFG-rooted Hugr without TypeArgs)

get_poly_function_type (as you suggest) that returns None for e.g. DFGs seems useful, e.g. there are a couple of methods in builder that do this; then mono_fn_type (in constant.rs) could be built calling both get_poly_function_type and get_df_function_type (if the former is None)

Or, mono_fn_type could be moved into HugrView and get_function_type removed by inlining into mono_fn_type, I think that would work too

Why can't we add Type Args to LoadConstant? Now polymorphic functions inside a Const would work fine? I'm not entirely sure keeping the LoadConstant/LoadFunction separation would be worth it if you did that.

Possibly we should have this discussion on PR #947, but...
The problem is that EdgeKind::Const has a standard Type, which cannot express a polymorphic function. The alternative is an EdgeKind::Function, which has both a type and a list binders (TypeParams) - possibly empty. So, I think your proposal says:

LoadConstant has a list of typeargs, which may be empty
If the list of typeargs is empty, the input is an EdgeKind::Const of a monomorphic (perhaps-function) type
If the list of typeargs is non-empty, the "body" of the type must be a function type, and the input is an EdgeKind::Function (i.e. the LoadConstant will store the TypeParams as well as the TypeArgs - like Call and #947's LoadFunction, in the PolyFuncType).

Since you intend to LoadConstant a FuncDefn, we have to define a similar rule there, i.e.

If the FuncDefn declares (a non-empty list of) TypeParams, its output is an EdgeKind::Function, otherwise its an EdgeKind::Const

And thus to work with that, Call then has to have the same behaviour as LoadConstant. Finally, Const...

May contain a DFG-rooted Hugr --> has output an EdgeKind::Const (no TypeParams)
May contain a FuncDefn-rooted Hugr --> has output the same edgekind as the FuncDefn

To my mind, this has an awful lot of "node X does A if P else it does B" and, rather than us trying to automatically do "the right thing", it's better to make the Hugr-user be explicit about what they want. Thus, I propose:

FuncDefn always has an EdgeKind::Function output, whose list of TypeParams may be empty
Call always has an EdgeKind::Function input, and a list of TypeArgs (other inputs/outputs appropriate to the function)
LoadFunction has an EdgeKind::Function input, and a list of TypeArgs (and a single EdgeKind::Const output, containing a mono fn type). Perhaps it should be called LoadLambda or something.
Const may contain only (non-function values or) DFG-rooted Hugrs (I guess perhaps also CFG-rooted), and has a EdgeKind::Const output (i.e. perhaps a monomorphic function type). If we really want, we could allow a Const to contain a FuncDefn-rooted Hugr with no typeargs, but I think it's better to force use of:
FuncConst contains a FuncDefn-rooted Hugr (always, no other kind of value), and has an EdgeKind::Function output (so can be used with Call or LoadFunction only)
LoadConstant always has an EdgeKind::Const input (i.e. which contains a type which is transferred directly onto the EdgeKind::Value output)

Once again I'll ping @ss2165 as to how much we really want to be able to have both nodes with function-bodies defined by their children in the hierarchy, and nodes with function-bodies defined by a separate struct Hugr contained in the node weight. But if we don't care too much about that, we just skip FuncConst.

EdgeKind::Function
EdgeKind::Const

Input
LoadFunction (#947, produces thunk), Call
LoadConstant (produces thunk, or other value)

Output
FuncDefn (body defined by children), FuncConst (body defined by Hugr-value, not yot realized)
Const

Haha - yes we did consider that in #906 - indeed the PR started out that way!! But yes, we could change back to that fairly easily.

I think LoadFunction is really TypeApply

yes, that is true, or at least, that is an excellent way of looking at it!
The other thing we haven't talked about at all (and we should any time we are thinking about FuncDefn's, really) is linking #882.
It might also be possible to simplify by removing DFG-rooted-Hugrs in Consts. Any such can easily be converted to a FuncDefn-rooted Hugr with no TypeParams in a FuncConst, and any LoadConstant successor-node into a LoadFunction with no TypeArgs. (Since edges from Consts go directly to LoadConstants, only, this is straightforward.) The only real requirement there is to come up with a name to put in the FuncDefn but this is of no importance (name could even become optional).

Apologies for being late to this - kept waiting for an opportunity to discuss in person that didn't arise.
Just had a conversation with @doug-q and @mark-koch where I believe everyone left on the same page. I will attempt to summarise. (I don't have a strong opinion on get_function_type - I'm happy with any sensible refactor in to two methods for getting only polymorphic types and getting only monomorphic types).
My first question was why allow hugr-valued constants if you can just LoadFunction - the answer is that constants can't have static edges coming in to them, they're self-contained (which we can make good use of for prepare-kernel-then-execute workflows).
In answer to the question I think we are in this scenario:

But if we don't care too much about that, we just skip FuncConst.
So I'm going to consider the rest of that proposal without FuncConst

The only two remaining queries I have on that proposal are:

I think we should enforce at Const (really Value now) construction time that any HUGR can only have DFG or CFG root. I don't see a case for any other root, given it must be monomorphic.
In #947 LoadFunction outputs a Value (which has a nice symmetry to LoadConst) rather than a Const as proposed . As far as I can tell the only difference is where LoadFunction would be valid (since the only thing you can do with a Const output is LoadConst it), as proposed above it would be valid in any static scope (not just inside dataflow blocks). I can't see why this would be particularly useful so I'm inclined to go with Value output.

Coming back to this but not sure whether I should reopen....

I think we should enforce at Const (really Value now) construction time that any HUGR can only have DFG or CFG root. I don't see a case for any other root, given it must be monomorphic.

The one thing you can do in a monomorphic FuncDefn(-rooted Hugr) that you can't do in a DFG-rooted Hugr is - recurse. That might be enough to justify Consts containing the former.

In feat: Add LoadFunction node #947 LoadFunction outputs a Value (which has a nice symmetry to LoadConst) rather than a Const as proposed . As far as I can tell the only difference is where LoadFunction would be valid (since the only thing you can do with a Const output is LoadConst it), as proposed above it would be valid in any static scope (not just inside dataflow blocks). I can't see why this would be particularly useful so I'm inclined to go with Value output.

sorry, where do we propose that LoadFunction outputs a Const? Yes, one could have such a conversion (from a static Function edge, which could be polymorphic, to a static Const edge, which must be monomorphic), but the node to do that is therefore also static (does not execute at runtime), which breaks the so-far-implicit constraint that static/Module-level ops do not have inputs, and it seems a bit of a corner-case. What would you do with the Const output - wire it to a LoadConst? In which case surely keep LoadFunction doing both steps (Function right through to Value) in one go....

Yes I don't object to that TypeApply, commoning up is an advantage, OTOH I think it does make static nodes more complicated, so I'm fairly neutral.

You can do this in a DFG rooted hugr by including a scoped definition FuncDefn.

Right - in that case, surely the only Const Hugr should be DFG-rooted, then? You can stick a CFG, TailLoop or Conditional inside one of those, too...


Add PaC pipelines for verify-ec task

https://issues.redhat.com/browse/HACBS-1557
Signed-off-by: Luiz Carvalho<EMAIL_ADDRESS>

Let's wait on merging this until https://github.com/redhat-appstudio/infra-deployments/pull/1278 is merged.

/retest


remind users to use /ga to answer

People are often asking how to answer the GA. By adding in this small amount of text, it lessens the chance of them asking how to guess.

There's no need for an exclamation after that.

Done

Squash, and also you should prefix the commit with "Wifi plugin: " to make it clear what exactly is going on.


Add proper UV coordinates to fonts/text

Godot version:
3.0

Issue description:

When writing shaders, it can be desirable to write shaders for text, to deform and operate on fragments and so on. However, they don't appear to have any UV coordinates set up, so operating on them with the fragment shader in this way isn't possible.
Intention: Write fragment shaders for text as you would do for any quad, screen or 3D model.

That's weird... Without UV, text would not even render, because characters are quads with a texture on them (sub-rectangle of an atlas).

Closing in favor of #23210, which describes the issue more accurately.


Decide whether we want to make optional reference types nullable

For example, in ExtractedField, LabelOutline  is an optional parameter.  However, since it is a reference type, we can't mark it as nullable.
It sounds like the .NET team has considered this and decided to postpone using nullable reference types, which is a new feature in C#.
Consider whether or not we want to indicate to users that reference type fields are optional in some other way.
See also:
https://github.com/Azure/azure-sdk-for-net/blob/ce046949f17fc4ceeab5c87beb4750047b983565/sdk/formrecognizer/Azure.AI.FormRecognizer/src/ExtractedReceipt.cs#L26

@tg-msft Does storage handle this?

Mainly via documentation in Storage and Search.  Some validation occasionally.  We're not using nullable references yet.

Can you explain the choice not to use nullable refernces?  I just want to understand so I can explain it to others if it comes up.

No good reason, unfortunately.  It would have been a nontrivial amount of work and we had a tight schedule.  At this point, I'd consider the recommendation to be "wait until the new generator does most of it for you and then light the rest of your client up."

@pakrym is this on the timeline for codegen at all?

Pretty far down the line considering we didn't even do it for hand-written libraries.

We will not address this, given precedent for .NET SDKs.


Parse error for un-recognized keys

top level role v roles, host v hosts, etc.

This should now work


Ascent should omit trait bounds on the generated program's type declaration

For generic programs ascent currently requires something along the following:
ascent! {
    pub struct AscentProgram<T: Clone + Eq + Hash>;

    relation dummy(T);

    // ...
}

or
ascent! {
    pub struct AscentProgram<T> where T: Clone + Eq + Hash;

    relation dummy(T);

    // ...
}

which then generates code that looks something like this:
pub struct AscentProgram<T>
where
    T: Clone + Eq + Hash,
{
    pub dummy: Vec<(T,), Global>,

    // ...
}

impl<T> AscentProgram<T>
where
    T: Clone + Eq + Hash,
{
    pub fn run(&mut self){
        // ...
    }

    // ...
}

// ...

This unfortunately tends to lead to problems with rather nasty effects one one's code and is thus generally considered an anti-pattern.
As such the official Rust API guidelines has a chapter on the topic (it talks specifically about derived trait bounds, but the viral breaking change effect is not limited to derived traits):

Data structures do not duplicate derived trait bounds
Generic data structures should not use trait bounds that can be derived or do not otherwise add semantic value. […]
// Prefer this:
#[derive(Clone, Debug, PartialEq)]
struct Good<T> { /* ... */ }

// Over this:
#[derive(Clone, Debug, PartialEq)]
struct Bad<T: Clone + Debug + PartialEq> { /* ... */ }

Generally speaking, adding a trait bound to a data structure is a breaking change because every consumer of that structure will need to start satisfying the additional bound. […]
There is a grey area around other non-derivable trait bounds that are not strictly required by the structure definition, like Read or Write. They may communicate the intended behavior of the type better in its definition but also limits future extensibility. Including semantically useful trait bounds on data structures is still less problematic than including derivable traits as bounds. […]

In short the problem is that trait bounds attached to a type's declaration spread virally (i.e. they require your surrounding code to now also be bounded by these traits), while those only attached to a type's implementation generally don't.
As such the generated code should preferably look like this instead:
pub struct AscentProgram<T>
// notice the lack of a where clause here!
{
    pub dummy: Vec<(T,), Global>,

    // ...
}

impl<T> AscentProgram<T>
where
    T: Clone + Eq + Hash,
{
    pub fn run(&mut self){
        // ...
    }

    // ...
}

// ...

This change should have no affect on ascent itself, but make integrating it much more pleasant and less intrusive.

Hmm, do you have a concrete use case where this is an issue?
I don't think the guideline applies here, for a number of reasons:

The bounds are specified explicitly by the user! How should Ascent go about figuring out what bounds are intended to be on the type definition, and what bounds are intended only for impl blocks?
In your specific example, the bounds do very much add semantic value, as the Ascent program would be useless without the required bounds.
Ascent programs should not be in a library's public API! They should be implementation detail. This means the point about introducing breaking changes does not apply.

Again, if you have a concrete and realistic use case where this becomes an issue, please share it here, so I can take a closer look.

Hmm, do you have a concrete use case where this is an issue?

Hiding the program as an implementation detail within another generic type, without leaking its trait bounds.
tl;dr: The trait bounds on a type's declaration deal with its structure. The trait bounds on a type's impls deal with its behavior. And having those two separated was very conscious decision in Rust: Just because parts of a type's behavior (even if the part is actually its whole behavior) require a certain trait you shouldn't be blocked from adding it to another type.

The bounds are specified explicitly by the user! How should Ascent go about figuring out what bounds are intended to be on the type definition, and what bounds are intended only for impl blocks?

Yes, that is a fair point, but more a limitation of ascent! { … }'s custom struct support, than an argument for adding trait bounds to the type declaration.
Preferably there should be a way for the macro body to declare where to add the trait bounds to, for sure. One possible approach might be to allow this:
ascent!{
    struct AscentProgram<T> where T: Clone + Eq + Hash;

    // ...
}

but also this:
ascent!{
    struct AscentProgram<T>;
    impl AscentProgram<T> where T: Clone + Eq + Hash;
    // ...
}

If you think this struct …  + impl … syntax is reasonable, then I'd be happy do refactor https://github.com/s-arash/ascent/pull/25 accordingly.

In your specific example, the bounds do very much add semantic value, as the Ascent program would be useless without the required bounds.

The same can be said about HashMap (and HashSet, BTreeMap, BTreeMap, …), yet this is how it's defined in stdlib:
pub struct HashMap<K, V, S = RandomState> { /* private fields */ }

And only those methods that actually require K: Eq + Hash, S: BuildHasher are implemented in
impl<K, V, S> HashMap<K, V, S>
where
    K: Eq + Hash,
    S: BuildHasher,
{ … }

Everything else just is
impl<K, V, S> HashMap<K, V, S> { … }

Type K does not need to be K: Eq + Hash in order for a HashMap<K, V> to obtain its .len(), so the latter is implemented in an impl without trait bounds. This allows for calling hashmap.len() in generic contexts where K: Eq + Hash might either be unknown or outright undesirable due to otherwise resulting in leaky abstractions.
Pretty much the only times where it is required and preferable to put trait bounds on a type's declaration itself is when those traits deal with allocation. As such Vec<T> is defined like this:
pub struct Vec<T, A = Global>
where
    A: Allocator,
{ /* private fields */ }

And BTreeMap<K, V>:
pub struct BTreeMap<K, V, A = Global>
where
    A: Allocator + Clone,
{ /* private fields */ }

It's only the state/allocation-relevant traits that are bound on the type's declaration. Everything else gets bound either on a per-impl, or even per-fn level:
impl<K, V, A> Clone for BTreeMap<K, V, A>
where
    K: Clone,
    V: Clone,
    A: Allocator + Clone,
{ … }

impl<K, V, A> BTreeMap<K, V, A>
where
    A: Allocator + Clone,
    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where
        K: Borrow<Q> + Ord,
        Q: Ord + ?Sized,
    { … }

    // ...
}

Ascent programs should not be in a library's public API! They should be implementation detail. This means the point about introducing breaking changes does not apply.

Yes. And that's exactly why the bound should be omitted on the type's declaration: Your outer container types should not have to leak their field's bounds.

Again, if you have a concrete and realistic use case where this becomes an issue, please share it here, so I can take a closer look.

Imagine a scenario where a generic type has multiple fields, one of which bing an ascent program:
pub struct Foo<T>
where
    T: Clone + Eq + Hash
{
    // ...
    program: AscentProgram<T>,
}

impl Foo<T>
where
    T: Clone + Eq + Hash
{
    pub fn do_the_ascent_thing(&mut self) { ... }

    pub fn do_something_else_entirely(&mut self) { ... }
    pub fn do_another_unrelated_thing(&mut self) { ... }

    // ...
}

The self.program is only used by a very small and specific subset of functionality of Foo<T> (here: self.do_the_ascent_thing()). And none of the other functions of Foo<T> require T: Clone + Eq + Hash.
However due to AscentProgram<T> forcing its own trait bounds upon its containing type we're forced to also constrain Foo<T> through its type declaration. As a result the type Foo<T> becomes unusable for any type T that isn't T: Clone + Eq + Hash. Even if we never intend to call foo.do_the_ascent_thing() on it. That's rather bad.
If however AscentProgram<T> omitted the bounds on its type declaration (as is the idiomatic thing to do in Rust) we could do this:
pub struct Foo<T> {
    // ...
    program: AscentProgram<T>,
}

impl Foo<T>
where
    T: Clone + Eq + Hash
{
    pub fn do_the_ascent_thing(&mut self) { ... }
}

impl Foo<T> {
    pub fn do_something_else_entirely(&mut self) { ... }
    pub fn do_another_unrelated_thing(&mut self) { ... }

    // ...
}

We're now free to both create Foo<T> with an arbitrary T, as well as call foo.do_something_else_entirely() on it, while also retaining support for the "ascent thing" via foo.do_the_ascent_thing() for any type T that is T: Clone + Eq + Hash.
Here is an in-depth discussion on the topic: https://stackoverflow.com/a/66369912/227536

Update: support for aforementioned syntax has now been implemented on the PR: https://github.com/s-arash/ascent/pull/25#issuecomment-1858441698

I definitely prefer this approach to shifting the user's defined generic bounds to the impl block.
You mentioned a scenario where you have a field of type AscentProgram<T> in another struct Foo<T>. Is that a real use-case you have, or is it more of a hypothetical? My sense is that one should use AscentPrgoram<T> in implementing some functionality, and put the results as fields on Foo<T>.

You mentioned a scenario where you have a field of type AscentProgram<T> in another struct Foo<T>. Is that a real use-case you have, or is it more of a hypothetical? My sense is that one should use AscentPrgoram<T> in implementing some functionality, and put the results as fields on Foo<T>.

I was trying to wrap the Program<N, E> (where N and E correspond to node and edge types) into a Query<Tree<N>> for encapsulating the setup + run + query steps into a single run step and was set back by being forced to propagate the behavioral generic bounds to the outer, which as outlined above is rarely the case in Rust.
As another hypothetical scenario you may not be able to defer the creation of the program to the immediately before running, but might have distinct setup and run phases (and prefer not to introduce an intermediary type for holding the program's "ingredients" instead of itself).
But either way behavioral trait bounds should never be added to the type declaration as outlined above. They provide zero benefits, but lots of problems.
The struct Polonius<T: FactTypes> (from the tests) is different in that the T: FactTypes is structural, not merely behavioral as the members of Polonius access associated types on T: pub loan_live_at: Vec<(T::Loan, T::Point)>, hence requiring the trait bound on the type declaration itself. (Whether or not Polonius<…> should be generic over <T: FactTypes> or directly over <O: Atom, L: Atom, Po: Atom, V: Atom, Pa: Atom> instead, since FactTypes does not impose any other bounds between them, is debatable.)

But either way behavioral trait bounds should never be added to the type declaration as outlined above.

Even assuming I agree with this completely (I'm not sure I do. Trait bounds on type definitions clearly signal the intended use to the user), the question is whether it's worth the added complexity to have different trait bounds on type declarations and impl blocks on Ascent. When you are defining a generic type directly, it takes 0 added complexity to not put trait bounds on the type definition.
Anyway, since you've already done the work, I don't have issues with it being added to Ascent, and thanks for the PR!


NPC's do not save

When the server is restarted all NPC's are erased.

I can't seem to replicate the issue. Could you please give me some more information.

server version
server software (spigot, paper, etc)
storage method (in config.yml)
any error messages in the console
version of java that the server is running (if possible)
anything else you think is relevant.

Nevermind, I realise the issue. I fixed this bug a while ago but forgot to release a new version. I'll release one shortly.

Version 1.4.4 has been released. It should address this issue.
https://github.com/Scroojalix/NPCManager/releases/latest

Awesome, thank you so much! I appreciate it :)


Add User Authentication & Misc Cleanup

Overview:
Wrapping up the last bits before first public releases ;)

[X] Add Authentication Check using Script Debugger Authentication ( using native /s/-/dw/debugger/v2_0/client SFCC API endpoint traditionally used for IDE's like VS Code and Eclipse )
[X] Stores Authentication Token in session
[X] Adds CSRF Token to Run requests since a valid login is required on Console-Show where Console-Run is called
[X] Simplify Toast messages to reduce duplicate code
[X] Converted Modal to a Component to it could be used for both File Naming and Login Prompt
[X] Fix Editor to use native method for padding to resolve Text Selection issues ( vs the previous hacked CSS solution I had before )
[X] Fix recursive bug with serializer when parsing Form instances, as this was breaking on two sandboxes I tried
[X] Fix code issue with res.setStatusCode(403); vs res.setStatusCode(403).json as status code was not being set before response so 410 status was actually being returned
[X] Update Version number to v1.0.0 as we have now satisfied all requirements for first public release :tada:

DEV NOTE:
So my solution for this was to use the existing /s/-/dw/debugger/v2_0/client SFCC instance endpoint for testing authentication.  This requires a valid username and password that has access to Business Manager.  It does NOT, however, require the user be setup as via Login_Agent which would be required with AgentUserMgr.loginAgentUser.  The user just need to use the same login info that is in their dw.json file, and that is good enough.
Since they cannot access the Dev Console without logging in and generating a token, the next step was to make sure all requests to Console-Run came from the Console-Show.  The easiest way to do that was to generate a CSRF token on page load.  You can see in the screenshots below what happens now if there is a mismatch in CSRF tokens.
This should be enough to protect the console for public access, as it will require the user first to login to create a token, then also make requests to Console-Run from the same page they authenticated on.  Pretty straight forward solution, but happy to discuss others if there is a better way.
This solution works without requiring the user to modify their account, or Agent settings.  Pretty much keeps with the "Drop in and Go" cartridge solution we wanted.
Checklist:

I have tested each of the following, and they work as expected: ( required )

[X] Meets Contributing Guide Requirements
[X] Pulled in the Latest Code from the develop branch
[X] Works on a Desktop / Laptop Device
[X] Works on a Mobile Device
[X] npm test Does Not Generate Errors

Documentation:

Screenshots, Attachments, Linked GitHub Issues, etc ( optional )

Fixes #18
Login Modal

Invalid Login Response

Successful Login Shows Console

If you fail to have a valid CSRF Token on Console-Run

What GIF best describes this PR or how it makes you feel?

Drag & Drop Something Fun Here ( optional )

Thanks for the notes section.
Will the user be forced to enter credentials every time the page is loaded then?

Unfortunately this authentication strategy, at least how we've implemented isnt going to work. This is easily bypassed by just hiding the modal and running the script, also storing the credentials in local storage is unsafe


[RBR-347] Fix update logic that was causing records to be stale

Current dependencies on/for this PR:

main

PR #71   👈

This stack of pull requests is managed by Graphite.


vendor: re-vendor agent to fix mount error

The agent gRPC protocol has changed meaning the order of the gRPC
Storage message members has changed. This manifested itself with the
following error:
"OCI runtime create failed: rpc error: code = Internal desc = Could not resolve symlink for source 9p: unknown."

This was caused by the agent attempting to mount a 9p FS with a blank
mountpoint - in fact due to the change in ordering, the mountpoint was
in the mount options!
Signed-off-by: James O. D. Hunt<EMAIL_ADDRESS>

/cc @devimc, @sboeuf.

LGTM


Request

Could you do that for training? Or at least if you won't, do you mind how do you find classes to edit; I mean your methods of modding so I could make my own

I haven't plan to make training one in the near future yet, but I'm planning to make this as part of rebalancing this game.
On the other hand, how to make something like this is easy from point of view of C# engineer I think.
Anyway, my modding routine in a nutshell,

Analying Assembly-CSharp.dll of the game using ILSpy or dnSpy,
Find Class, Method, Field name which is similar to purpose.
(If you want to edit training effort, find characterScript.WORK_Training(roomScript rS_) or menu and system, find Item_Training_Kurs) ...Maybe these are training methods.
Create C# dll plugin for BepInEx(HarmonyX) modding.
For more details BepInEx modding, please check the link.
https://github.com/BepInEx/BepInEx

Sorry I'm not good enough to teach someone modding and programing myself tbh.
I hope you will find it useful.


Dpgrev/update precommit config

update black to newest version
flake8 pre-commit-hooks is decommissioned updated to https://gitlab.com/pycqa/flake8
Add precommit-hook for end of line fixer and trailing whitespace it improve quality of life.
Run pre-commit hook in cicd instead of running black and flake seperately for better consitency

Thanks for this

Thanks for this


How to subscribe?

I don't see an example of how to actually subscribe an observable. Am I missing it? Looking in the code, I see TestSubscriber used in a unit test, but that's not appropriate for actual code of course. I see a class called SafeSubscriber, but it doesn't have a create() method.
Another library using ReactiveX for location purposes is this one:
https://github.com/mcharmas/Android-ReactiveLocation
On that page there is an example with both the set up and the subscription.

There's an example code snippet in the read me file: https://github.com/julioromano/RxLocation/blob/v0.10.0-beta/README.md