katib-integration UAT is failing for 1.9/beta

Bug Description
Running the UATs on 1.9/beta fails for Katib.
To Reproduce

juju deploy kubeflow --channel 1.9/beta --trust
Run tox -ve kubeflow-local following these steps
Observe the result

Environment

microk8s 1.29-strict/stable
juju 3.4/stable (3.4.4)
UATs at commit fe86b4e

Relevant Log Output
=================================== FAILURES ===================================
_______________________ test_notebook[katib-integration] _______________________

test_notebook = '/tests/notebooks/katib/katib-integration.ipynb'

    @pytest.mark.ipynb
    @pytest.mark.parametrize(
        # notebook - ipynb file to execute
        "test_notebook",
        NOTEBOOKS.values(),
        ids=NOTEBOOKS.keys(),
    )
    def test_notebook(test_notebook):
        """Test Notebook Generic Wrapper."""
        os.chdir(os.path.dirname(test_notebook))

        with open(test_notebook) as nb:
            notebook = nbformat.read(nb, as_version=nbformat.NO_CONVERT)

        ep = ExecutePreprocessor(
            timeout=-1, kernel_name="python3", on_notebook_start=install_python_requirements
        )
        ep.skip_cells_with_tag = "pytest-skip"

        try:
            log.info(f"Running {os.path.basename(test_notebook)}...")
            output_notebook, _ = ep.preprocess(notebook, {"metadata": {"path": "./"}})
            # persist the notebook output to the original file for debugging purposes
            save_notebook(output_notebook, test_notebook)
        except CellExecutionError as e:
            # handle underlying error
            pytest.fail(f"Notebook execution failed with {e.ename}: {e.evalue}")

        for cell in output_notebook.cells:
            metadata = cell.get("metadata", dict)
            if "raises-exception" in metadata.get("tags", []):
                for cell_output in cell.outputs:
                    if cell_output.output_type == "error":
                        # extract the error message from the cell output
                        log.error(format_error_message(cell_output.traceback))
>                       pytest.fail(cell_output.traceback[-1])
E                       Failed: AssertionError: Katib Experiment was not successful.

/tests/test_notebooks.py:59: Failed

Additional Context
No response

Running in a 1.9/edge (aka latest/edge) deployment
Environment
MicroK8s v1.29.5 revision 6884
Juju 3.4.4-genericlinux-amd64

Driver
The error I see is the following
$ tox -e kubeflow-remote -- --filter "katib"
...
INFO     test_kubeflow_workloads:test_kubeflow_workloads.py:135 Fetching Job logs...
##### git-sync initContainer logs #####
FAILED
------------------------------------------------------------------------- live log teardown -------------------------------------------------------------------------
INFO     test_kubeflow_workloads:test_kubeflow_workloads.py:82 Deleting Profile test-kubeflow...
INFO     httpx:_client.py:1013 HTTP Request: DELETE https://<IP_ADDRESS>:16443/apis/kubeflow.org/v1/profiles/test-kubeflow "HTTP/1.1 200 OK"
INFO     test_kubeflow_workloads:test_kubeflow_workloads.py:141 Deleting Job test-kubeflow/test-kubeflow...
INFO     httpx:_client.py:1013 HTTP Request: DELETE https://<IP_ADDRESS>:16443/apis/batch/v1/namespaces/test-kubeflow/jobs/test-kubeflow "HTTP/1.1 200 OK"

============================================================================= FAILURES ==============================================================================
______________________________________________________________________ test_kubeflow_workloads ______________________________________________________________________
Traceback (most recent call last):
  File "/home/ubuntu/charmed-kubeflow-uats/driver/test_kubeflow_workloads.py", line 128, in test_kubeflow_workloads
    wait_for_job(lightkube_client, JOB_NAME, NAMESPACE)
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/tenacity/__init__.py", line 314, in iter
    return fut.result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 437, in result
    return self.__get_result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)
  File "/home/ubuntu/charmed-kubeflow-uats/driver/utils.py", line 72, in wait_for_job
    raise ValueError(f"Job {namespace}/{job_name} failed!")
ValueError: Job test-kubeflow/test-kubeflow failed!

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/charmed-kubeflow-uats/driver/test_kubeflow_workloads.py", line 130, in test_kubeflow_workloads
    pytest.fail(
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/_pytest/outcomes.py", line 198, in fail
    raise Failed(msg=reason, pytrace=pytrace)
Failed: Something went wrong while running Job test-kubeflow/test-kubeflow. Please inspect the attached logs for more info...

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/_pytest/runner.py", line 341, in from_call
    result: Optional[TResult] = func()
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/_pytest/runner.py", line 262, in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/pluggy/_hooks.py", line 493, in __call__
    return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/pluggy/_manager.py", line 115, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/pluggy/_callers.py", line 152, in _multicall
    return outcome.get_result()
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/pluggy/_result.py", line 114, in get_result
    raise exc.with_traceback(exc.__traceback__)
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/pluggy/_callers.py", line 77, in _multicall
    res = hook_impl.function(*args)
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/_pytest/runner.py", line 177, in pytest_runtest_call
    raise e
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/_pytest/runner.py", line 169, in pytest_runtest_call
    item.runtest()
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/_pytest/python.py", line 1792, in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/pluggy/_hooks.py", line 493, in __call__
    return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/pluggy/_manager.py", line 115, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/pluggy/_callers.py", line 152, in _multicall
    return outcome.get_result()
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/pluggy/_result.py", line 114, in get_result
    raise exc.with_traceback(exc.__traceback__)
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/pluggy/_callers.py", line 77, in _multicall
    res = hook_impl.function(*args)
  File "/home/ubuntu/charmed-kubeflow-uats/.tox/kubeflow-remote/lib/python3.8/site-packages/_pytest/python.py", line 194, in pytest_pyfunc_call
    result = testfunction(**testargs)
  File "/home/ubuntu/charmed-kubeflow-uats/driver/test_kubeflow_workloads.py", line 136, in test_kubeflow_workloads
    fetch_job_logs(JOB_NAME, NAMESPACE, TESTS_LOCAL_RUN)
  File "/home/ubuntu/charmed-kubeflow-uats/driver/utils.py", line 87, in fetch_job_logs
    subprocess.check_call(command)
  File "/usr/lib/python3.8/subprocess.py", line 359, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/usr/lib/python3.8/subprocess.py", line 340, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib/python3.8/subprocess.py", line 858, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1720, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'kubectl'
------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------
INFO     test_kubeflow_workloads:test_kubeflow_workloads.py:110 Starting Kubernetes Job test-kubeflow/test-kubeflow to run notebook tests...
INFO     httpx:_client.py:1013 HTTP Request: POST https://<IP_ADDRESS>:16443/apis/batch/v1/namespaces/test-kubeflow/jobs "HTTP/1.1 201 Created"
INFO     httpx:_client.py:1013 HTTP Request: GET https://<IP_ADDRESS>:16443/apis/batch/v1/namespaces/test-kubeflow/jobs/test-kubeflow "HTTP/1.1 200 OK"
INFO     utils:utils.py:76 Waiting for Job test-kubeflow/test-kubeflow to complete (status == not ready)
INFO     utils:utils.py:40 Retrying in 2 seconds (attempts: 1)
INFO     httpx:_client.py:1013 HTTP Request: GET https://<IP_ADDRESS>:16443/apis/batch/v1/namespaces/test-kubeflow/jobs/test-kubeflow "HTTP/1.1 200 OK"
INFO     utils:utils.py:76 Waiting for Job test-kubeflow/test-kubeflow to complete (status == active)
INFO     utils:utils.py:40 Retrying in 4 seconds (attempts: 2)
...
INFO     httpx:_client.py:1013 HTTP Request: GET https://<IP_ADDRESS>:16443/apis/batch/v1/namespaces/test-kubeflow/jobs/test-kubeflow "HTTP/1.1 200 OK"
INFO     test_kubeflow_workloads:test_kubeflow_workloads.py:135 Fetching Job logs...
----------------------------------------------------------------------- Captured log teardown -----------------------------------------------------------------------
INFO     test_kubeflow_workloads:test_kubeflow_workloads.py:82 Deleting Profile test-kubeflow...
INFO     httpx:_client.py:1013 HTTP Request: DELETE https://<IP_ADDRESS>:16443/apis/kubeflow.org/v1/profiles/test-kubeflow "HTTP/1.1 200 OK"
INFO     test_kubeflow_workloads:test_kubeflow_workloads.py:141 Deleting Job test-kubeflow/test-kubeflow...
INFO     httpx:_client.py:1013 HTTP Request: DELETE https://<IP_ADDRESS>:16443/apis/batch/v1/namespaces/test-kubeflow/jobs/test-kubeflow "HTTP/1.1 200 OK"
====================================================================== short test summary info ======================================================================
FAILED driver/test_kubeflow_workloads.py::test_kubeflow_workloads - FileNotFoundError: [Errno 2] No such file or directory: 'kubectl'

while the experiments have succeeded. See logs from experiment
╰─$ k logs -n test-kubeflow cmaes-example-cmaes-5bd986458-9wxsw -f
I0716 12:04:16.195622       1 main.go:52] Start Goptuna suggestion service: <IP_ADDRESS>:6789
I0716 12:04:35.963904       1 service.go:84] Success to sample new trial: trialID=0, assignments=[name:"lr"  value:"0.04188612100654" name:"momentum"  value:"0.7043612817216396"]
I0716 12:04:35.964253       1 service.go:84] Success to sample new trial: trialID=1, assignments=[name:"lr"  value:"0.04511033252270099" name:"momentum"  value:"0.6980954001565728"]
I0716 12:07:38.383010       1 service.go:117] Update trial mapping : trialName=cmaes-example-52zt44qf -> trialID=0
I0716 12:07:38.383040       1 service.go:117] Update trial mapping : trialName=cmaes-example-mckhkcmb -> trialID=1
I0716 12:07:38.383048       1 service.go:147] Detect changes of Trial (trialName=cmaes-example-mckhkcmb, trialID=1) : State Complete, Evaluation 0.269100
I0716 12:07:38.383154       1 service.go:84] Success to sample new trial: trialID=2, assignments=[name:"lr"  value:"0.02556132716757138" name:"momentum"  value:"0.701003503816815"]

From a notebook (UI)

Running it from this PR's branch https://github.com/canonical/charmed-kubeflow-uats/pull/92/files at 73a6ee5a016720f6e2f8acdf2b59bb0fd0df1e2a and from main branch, it fails with the following error

  ---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
Cell In[10], line 6
      3 client.get_experiment(name=EXPERIMENT_NAME)
      5 # wait for the Experiment to complete successfully
----> 6 assert_experiment_succeeded(client, EXPERIMENT_NAME)

File [/opt/conda/lib/python3.11/site-packages/tenacity/__init__.py:336](http://<IP_ADDRESS>.nip.io/opt/conda/lib/python3.11/site-packages/tenacity/__init__.py#line=335), in BaseRetrying.wraps.<locals>.wrapped_f(*args, **kw)
    334 copy = self.copy()
    335 wrapped_f.statistics = copy.statistics  # type: ignore[attr-defined]
--> 336 return copy(f, *args, **kw)

File [/opt/conda/lib/python3.11/site-packages/tenacity/__init__.py:475](http://<IP_ADDRESS>.nip.io/opt/conda/lib/python3.11/site-packages/tenacity/__init__.py#line=474), in Retrying.__call__(self, fn, *args, **kwargs)
    473 retry_state = RetryCallState(retry_object=self, fn=fn, args=args, kwargs=kwargs)
    474 while True:
--> 475     do = self.iter(retry_state=retry_state)
    476     if isinstance(do, DoAttempt):
    477         try:

File [/opt/conda/lib/python3.11/site-packages/tenacity/__init__.py:376](http://<IP_ADDRESS>.nip.io/opt/conda/lib/python3.11/site-packages/tenacity/__init__.py#line=375), in BaseRetrying.iter(self, retry_state)
    374 result = None
    375 for action in self.iter_state.actions:
--> 376     result = action(retry_state)
    377 return result

File [/opt/conda/lib/python3.11/site-packages/tenacity/__init__.py:418](http://<IP_ADDRESS>.nip.io/opt/conda/lib/python3.11/site-packages/tenacity/__init__.py#line=417), in BaseRetrying._post_stop_check_actions.<locals>.exc_check(rs)
    416 retry_exc = self.retry_error_cls(fut)
    417 if self.reraise:
--> 418     raise retry_exc.reraise()
    419 raise retry_exc from fut.exception()

File [/opt/conda/lib/python3.11/site-packages/tenacity/__init__.py:185](http://<IP_ADDRESS>.nip.io/opt/conda/lib/python3.11/site-packages/tenacity/__init__.py#line=184), in RetryError.reraise(self)
    183 def reraise(self) -> t.NoReturn:
    184     if self.last_attempt.failed:
--> 185         raise self.last_attempt.result()
    186     raise self

File [/opt/conda/lib/python3.11/concurrent/futures/_base.py:449](http://<IP_ADDRESS>.nip.io/opt/conda/lib/python3.11/concurrent/futures/_base.py#line=448), in Future.result(self, timeout)
    447     raise CancelledError()
    448 elif self._state == FINISHED:
--> 449     return self.__get_result()
    451 self._condition.wait(timeout)
    453 if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]:

File [/opt/conda/lib/python3.11/concurrent/futures/_base.py:401](http://<IP_ADDRESS>.nip.io/opt/conda/lib/python3.11/concurrent/futures/_base.py#line=400), in Future.__get_result(self)
    399 if self._exception:
    400     try:
--> 401         raise self._exception
    402     finally:
    403         # Break a reference cycle with the exception in self._exception
    404         self = None

File [/opt/conda/lib/python3.11/site-packages/tenacity/__init__.py:478](http://<IP_ADDRESS>.nip.io/opt/conda/lib/python3.11/site-packages/tenacity/__init__.py#line=477), in Retrying.__call__(self, fn, *args, **kwargs)
    476 if isinstance(do, DoAttempt):
    477     try:
--> 478         result = fn(*args, **kwargs)
    479     except BaseException:  # noqa: B902
    480         retry_state.set_exception(sys.exc_info())  # type: ignore[arg-type]

Cell In[9], line 8, in assert_experiment_succeeded(client, experiment)
      1 @retry(
      2     wait=wait_exponential(multiplier=2, min=1, max=10),
      3     stop=stop_after_attempt(30),
      4     reraise=True,
      5 )
      6 def assert_experiment_succeeded(client, experiment):
      7     """Wait for the Katib Experiment to complete successfully."""
----> 8     assert client.is_experiment_succeeded(name=experiment), f"Katib Experiment was not successful."

AssertionError: Katib Experiment was not successful.

while the experiment hasn't failed
  ╰─$ k logs -n admin cmaes-example-cmaes-5bd986458-vlmb4  -f
I0716 12:26:28.166999       1 main.go:52] Start Goptuna suggestion service: <IP_ADDRESS>:6789
I0716 12:26:48.748339       1 service.go:84] Success to sample new trial: trialID=0, assignments=[name:"lr"  value:"0.04188612100654" name:"momentum"  value:"0.7043612817216396"]
I0716 12:26:48.748436       1 service.go:84] Success to sample new trial: trialID=1, assignments=[name:"lr"  value:"0.04511033252270099" name:"momentum"  value:"0.6980954001565728"]
I0716 12:29:58.070186       1 service.go:117] Update trial mapping : trialName=cmaes-example-z7pnvrwl -> trialID=1
I0716 12:29:58.070571       1 service.go:147] Detect changes of Trial (trialName=cmaes-example-z7pnvrwl, trialID=1) : State Complete, Evaluation 0.269100
I0716 12:29:58.070807       1 service.go:117] Update trial mapping : trialName=cmaes-example-vqrxjvdp -> trialID=0
I0716 12:29:58.070995       1 service.go:84] Success to sample new trial: trialID=2, assignments=[name:"lr"  value:"0.02556132716757138" name:"momentum"  value:"0.701003503816815"]

Looking at the outputted experiment in the notebook's prints, we see that one trial is still running and that there's no failed trial. Increasing the timeout and rerunning from a new notebook (so we still need to download the same data), it looks like the UAT succeeds.

Solution
Since this was a timeout issue, I 'm sending a PR that increases the batch-size to a large enough number so the experiment doesn't perform that much training and completes earlier. The purpose of the UATs are to confirm that the workloads are working rather than perform complete tasks with them.


Fix project references

Description

Fix project refs.

Motivation and Context

The project refs were behind the version declared in the nuspec.

How Has This Been Tested?

Screenshots
Types of changes

[ ] Improvement (non-breaking change that improves a feature, code or algorithm)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Config and build (change in the configuration and build system, has no impact on code or features)
[ ] Dependencies (update dependencies and changes associated, has no impact on code or features)
[ ] Unit Tests (work on Unit Tests, has no impact on code or features)
[ ] Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@nfbot startrelease


no reponse / long time/timeout

docker run -it --rm remnux/ciphey -t "E+/DxMOXoKraZHnFNND51Q==" -v

cpu is hight

2024-11-01 10:10:46.598 | DEBUG    | ciphey.basemods.Decoders.url:decode:20 - URL successful, returning 'Y /ErNIYiLlbTIhGHOXHRR=='
2024-11-01 10:10:46.599 | DEBUG    | ciphey.basemods.Crackers.vigenere:getInfo:67 - Vigenere has likelihood 0.44116747248883803 with lens [2]
2024-11-01 10:10:46.599 | DEBUG    | ciphey.basemods.Decoders.url:decode:20 - URL successful, returning '==RRHXOHGhITblLiYINrE/ Y'
2024-11-01 10:10:46.599 | DEBUG    | ciphey.basemods.Crackers.vigenere:getInfo:67 - Vigenere has likelihood 0.44116747248883803 with lens [2]
2024-11-01 10:10:46.600 | DEBUG    | ciphey.basemods.Decoders.url:decode:20 - URL successful, returning '==IISCLSTsRGyoOrBRMiV/ B'
2024-11-01 10:10:46.600 | DEBUG    | ciphey.basemods.Crackers.vigenere:getInfo:67 - Vigenere has likelihood 0.44116747248883803 with lens [2]
2024-11-01 10:10:46.600 | DEBUG    | ciphey.basemods.Decoders.url:decode:20 - URL successful, returning '==I15CLSTsRGyoOrBRMiV/ B'
2024-11-01 10:10:46.622 | DEBUG    | ciphey.basemods.Decoders.bases:_dispatch:19 - ascii85 successful, returning b'X*Q\x95\xac\xd3\xea1~Y\xe8j\xe2\x16\x8d\xcap\x8c'
2024-11-01 10:10:46.641 | DEBUG    | ciphey.basemods.Crackers.vigenere:getInfo:67 - Vigenere has likelihood 1.0 with lens [2]
2024-11-01 10:10:46.641 | DEBUG    | ciphey.basemods.Decoders.bases:_dispatch:19 - ascii85 successful, returning b'\xae\xc4J\xc4~\x89~\x1a\xcc \x1a\xc9{\r\\\x80\x99~'
2024-11-01 10:10:46.642 | DEBUG    | ciphey.basemods.Crackers.vigenere:getInfo:67 - Vigenere has likelihood 1.0 with lens [2]
2024-11-01 10:10:46.643 | DEBUG    | ciphey.basemods.Crackers.vigenere:getInfo:67 - Vigenere has likelihood 1.0 with lens [2]
2024-11-01 10:10:46.643 | DEBUG    | ciphey.basemods.Crackers.vigenere:getInfo:67 - Vigenere has likelihood 1.0 with lens [2]
2024-11-01 10:10:46.644 | DEBUG    | ciphey.basemods.Crackers.vigenere:getInfo:67 - Vigenere has likelihood 1.0 with lens [2]
2024-11-01 10:10:46.644 | DEBUG    | ciphey.basemods.Decoders.bases:_dispatch:19 - ascii85 successful, returning b'X*Q\x95\xac\xd3\xea1~Y\xe8j\xe2\x16\x8d\xcap\x87\x07'
2024-11-01 10:10:46.644 | DEBUG    | ciphey.basemods.Decoders.url:decode:20 - URL successful, returning '==R15XOHGhITblLiYINrE/ Y'
2024-11-01 10:10:46.645 | DEBUG    | ciphey.basemods.Crackers.vigenere:getInfo:67 - Vigenere has likelihood 1.0 with lens [2]
2024-11-01 10:10:46.645 | DEBUG    | ciphey.basemods.Decoders.url:decode:20 - URL successful, returning 'Y /ErNIYiLlbTIhGHOX51R=='
2024-11-01 10:10:46.646 | DEBUG    | ciphey.basemods.Crackers.vigenere:getInfo:67 - Vigenere has likelihood 1.0 with lens [2]
2024-11-01 10:10:46.646 | DEBUG    | ciphey.basemods.Decoders.url:decode:20 - URL successful, returning 'B /ViMRBrOoyGRsTSLC51I=='
2024-11-01 10:10:46.647 | DEBUG    | ciphey.basemods.Searchers.ausearch:search:256 - At depth 2


Cannot find custom created Middleware: Cannot find module 'Adonis/Middleware/NoAuth'

Hello,
I created a new middleware for pages where the user can't be authenticated named NoAuth.js
class NoAuth {

  * handle (request, response, next) {
    // here goes your middleware logic
    // yield next to pass the request to next middleware or controlle
    console.log('NoAuth')
    yield next
  }

}
module.exports = NoAuth

And added the middleware in the namedMiddlewares variable in the kernel.js file.
const namedMiddleware = {
  noAuth: 'Adonis/Middleware/NoAuth',
  auth: 'Adonis/Middleware/Auth'
}

And when I add the Middleware to a route, I gives met the following error:
Cannot find module 'Adonis/Middleware/NoAuth
And I've added the middleware as follow:
Route.group('non-auth-routes', () => {

    Route.get('/login', 'AuthController.index').as('login-page')
    Route.post('/login', 'AuthController.login').as('login')

    Route.get('/register', 'AuthController.registerPage').as('register-page')
    Route.post('/register', 'AuthController.register').as('register')

}).middleware('noAuth')

The Auth middleware is working properly but the noAuth middleware doesn't.
Thanks in advance.
Theo

It has to be noAuth: 'App/Middleware/NoAuth'. Application specific middleware makes use of Autoloadingnamespace which is defined insidepackage.json` file.
{
  "autoload": {
      "App": "./app"
   }
}

The examples of autoloading are use('App/Model/User'), use('App/Listeners/Http'), etc.

After changing the namedMiddleware to
const namedMiddleware = {
  auth: 'Adonis/Middleware/Auth',
  noAuth: 'App/Middleware/NoAuth'
}

is gives me the following error: Cannot find module '/Applications/MAMP/htdocs/School/jaar3/rocket-adonis/app/Middleware/NoAuth'

@theobouwman
Your file is on
app/Http/Middleware/NoAuth.js
or
app/Middleware/NoAuth.js?
The default path is the fisrt one.
I've just tested here and It's working :)
//app/Http/kernel.js
const namedMiddleware = {
  auth: 'Adonis/Middleware/Auth',
  noAuth: 'App/Http/Middleware/NoAuth' //Check your file Path With or Without "Http"?
}

//app/Http/routes.js
// http://localhost:3333/pages/myabout (working and logging NoAuth to console)
Route.group('pages-no-auth', () => {
  Route.get('/myabout', function * (request, response) {
    response.send('You are looking at the about page :)')
  })
})
.prefix('/pages')
.middleware('noAuth')

Hi @theobouwman !
It's because you are using the wrong namespace. Think about where the file is from the root of your application.
You should use App/Http/Middleware/NoAuth.js.

@RomainLanz Thanks. It works now.

Closing since it has been fixed


Administrator path cannot be set in 2 levels after upgrade

I just upgraded my Grav CMS from v1.6.31 to v1.7.22.
I could not access my admin panel anymore after the upgrade due to a critical error.
After my investigation, it turned out that in v1.7.22 it is not possible anymore to have the Administrator path set to 2 levels, e.g. /admin/panel.
At the moment, I set the Administrator path to 1 level only, e.g. /administration. But it would be great if I could get my previous setting in v1.6.31 works again.
Please see the screenshots for more detail.
Administrator path setting

Critical error

Closing this ticket as it should actually be raised against https://github.com/getgrav/grav-plugin-admin.


lower log level for successful transport sends

fixes #527

test failure is unrelated (pymssql vs. Python 3.6 :( )


Remove TreatyOrganization (accidentally left in)

Peter found at the last minute that TreatyOrganization was still present in gistCore.ttl. This PR is to remove it consistent with the intention of issue #766 and pr #825

@dylan-sa does this look right?

Getting close to what we need, but looks like Heather's changes to the annotations for IntergovernmentalOrganization didn't make it in, either: https://github.com/semanticarts/gist/pull/825/files
If you change the prefLable, definition, and example for IntergovernmentalOrganization, I think we'll have what we need.

I did some more digging here and believe I found the root of the issue.
It looks like one of my commits on the inverses branch was not caught up with some of the work that came right before it. (Surprising to me since I had made a point to merge the develop branch into my inverses branch, but it appears that not everything was updated as expected.) So, I've looked to see what exactly got lost, and I believe this is what we need to get caught up:

[x] Remove TreatyOrganization (@stevenchalem has addressed in this PR)
[x] Update annotations for IntergovernmentalOrganization (already addressed in this PR)
[ ] Remove TimeZone, TimeZoneStandard, hasOffsetToUniversal, and usesTimeZoneStandard (per #815)
[ ] Update annotation on atDateTime as done in #815
[ ] Add TimeInterval class as done in #828

As best I can tell, this would fill in the gaps, but I would appreciate some more eyes on this just to make sure I've got it right. (@stevenchalem @rjyounes @Jamie-SA, if you could please take a look.) If this is looking right, I can make the remaining changes since my branch appears to be the culprit.

I retract my last statement... do to something I was working on, I was not looking at the correct version of gistCore.ttl.

@dylan-sa I think you've caught everything.

I submitted PR #879 to re-apply the TimeZone changes. Steven approved, and I merged it.
I have submitted PR #880 to re-apply the lost TimeInterval commit.

Hopefully everything is fixed now...


Add Eslint 6 in peerDependencies

Hi,
ESlint 6 have been release, could you please add it to the peerDependencies, thank you.
https://github.com/benmosher/eslint-plugin-import/blob/fc65509216dca4bb5a6a6d41c23348ba8cbb62c2/package.json#L80

Duplicate of #1362.


not working on android 5.0.x

can't select date and/or time on android 5.0.x, works well on other version

Do you have some logs ?

It shows material design picker with date when trying to invoke datetime picker on Android 5.0.x. Try it on any 5.0.x emulator/device to get reproduction.


nft doesn't pick up certain path.join statements

It seems like if the path.join statements are in a specific function scope, they're not picked up by nft.
Reproduction here: https://github.com/timsuchanek/prisma-vercel-next

Shipping here: https://github.com/vercel/vercel/pull/5455


Links to Reliable Dictionary and Reliable Queue do not work

Leads to a 404.

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

ID: b741800f-ac4d-5a3a-bf47-586618ce60d3
Version Independent ID: 55e5bfd3-37d8-0baa-b18c-b6b3f2980529
Content: Introduction to Reliable Collections in Azure Service Fabric stateful services
Content Source: articles/service-fabric/service-fabric-reliable-services-reliable-collections.md
Service: service-fabric
GitHub Login: @mcoskun
Microsoft Alias: mcoskun

As it stands right now, there is 0 documentation on the ReliableDictionary interface (except examples).

@mcoskun can you take a look? I am not sure where the page is that we need to link to.

@tastyeggs  The links are working now, sorry for the inconvenience.  #please-close

@rwike77 thank you.


Privileged Role Administrator issue

In the section "Who can do what?" it reads "only a user who is in the Privileged Role Administrator ... can manage assignments for other administrators," and then in the next paragraph it reads "Users who are Privileged Role Administrators ... do not by default have access to view assignments to Azure resource roles in Privileged Identity Management"
I'm no expert, but in order to manage assignments, doesn't the Priv Role Admin need to be able to view assignments?
[Enter feedback here]

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

ID: d7338196-8434-f76e-ec0d-15bc85d51434
Version Independent ID: c7003b7a-91f8-3727-0f3e-93f52f5809fa
Content: What is Privileged Identity Management? - Azure AD
Content Source: articles/active-directory/privileged-identity-management/pim-configure.md
Service: active-directory
Sub-service: pim
GitHub Login: @curtand
Microsoft Alias: curtand

@dalewb2 Thanks for your feedback. We will investigate and update the thread.

@dalewb2 Apologies for the delay in response and all the inconvenience caused because of the issue.
There is a catch on the mentioned issue which is that these are talking about 2 different roles. The first paragraph is more about Azure AD roles where users do have access to assignment related to Azure AD but the second one is more about resource based or subscription based roles which are different from Azure AD roles and the assignment works differently. A user can be a Global Admin in Azure AD but they won't have access to Subscription because both entities are different and need the assignments differently. That is why it has been mentioned that Privilege Admin role or Security Reader which are basically Azure AD based roles won't have these privilege by default. You can read more about the differentiation here.
Hope it helps!!!


Closing latest release (zip) via tray on windows 8.1 results in error

I am currently testing Squiggle (Squiggle-3.4.Client.zip) on a Windows 8.1 host.
If i do close the application via its tray icon it results in an error dialog that Squiggle Messenger is not longer working and i have to confirm that the application should be closed.
Looks like a message from the operating system on a non-reacting application.
Any way to debug this?

See attached screenshot

project seems dead - gonna close this issue to keep my open issue list small ;)


Change JSON formatters to be async

Latest JSON.Net package supports async reading and writing.
http://james.newtonking.com/archive/2017/03/21/json-net-10-0-release-1-async-performance-documentation-and-more
cc @DamianEdwards @pranavkm @rynowak

The async apis are not available on the JsonSerializer type (which we use here and here) yet, so looks like we cannot move to async yet. Async support is available on JsonWriter and JsonReader but that doesn't help us here.

@JamesNK Is support for exposing async api on JsonSerializer part of your future plans?

Maybe one day but not right now. It will be a lot of work

Thanks @JamesNK .
Closing this issue for now as there is no action item here.

There is definitely an action item here for us, it just might not be to make the formatters async.

f1dd475eae83ca32950e82d5ac2facfe1eaad42e


[Bug]The default test user and password are not secure

Describe the bug
Linkis default test users and passwords are deployment users, there will be weak password vulnerabilities here
Expected behavior
Should be changed to a random password.

Hello, please follow the issue template


create the wiki for running the airavata server in Jetstream instance of CentOS image

This has been achieved and wiki link is provided:
https://github.com/airavata-courses/airavata-nextcoud/wiki/Setting-airavata-server-in-Jetstream-CentOS-image


Errors while trying to drag a container from ActivityBar after moving all containers to ActivityBar

Move all containers from panel to ActivityBar
Open the panel
Try to drag the container from ActivityBar on to the panel header

🐛 Errors in the console
TypeError: Cannot read property 'id' of undefined
    at Object.onDrop (compositeBar.js:151)
    at Object.onDrop (dnd.js:491)
    at HTMLDivElement.<anonymous> (dnd.js:386)

/duplicate
https://github.com/microsoft/vscode/issues/96117


Not getting custom sync_attributes

Laravel Version: 5.7
Adldap2-Laravel Version: Latest
PHP Version: 7.2
LDAP Type: ActiveDirectory

Description:
after defining other LDAP user properties under sync_attributes, value is not obtained and throws SQL exceltion:
Column 'memberOf' cannot be null (SQL: update userssetmemberOf= ,updated_at...
Steps To Reproduce:
create appropriate user table column
edit adldap_auth.php with the following
'sync_attributes' => [

    'username' => 'samaccountname',

    'name' => 'cn',

    'memberOf' => 'memberOf',

],

Found it was caused by typo, turns out all attributes are decapitalised, compared the the attribute in AD, may want to document this, as I'm sure someone else will have the same issue, or possibly add an exception for when the attribute does not exist.

Hi @sachaw,
Thanks for pointing this out! I'll be sure to add this into the docs.
This is done to prevent casing issues with different schemas using other LDAP distros.
I don't really want to add an exception for non-existing attributes, because devs can add this themselves inside Attribute Handlers.
The attribute could also be nullable in their  SQL schema and they may want null values for non-existing attributes.

Perfect, Thanks

hi @stevebauman i have the same issue

Hi @dany-micheal, please create an issue with your details and I will assist you there.


fix translator language on initialization

this will solve #29

Coverage remained the same at 100.0% when pulling 70f8dda113871e926c453a86795f883f389161f5 on fix-translatorLanguage into 21f4dc71065b5e4ec219cfb291e2131b26665e57 on master.

Coverage remained the same at 100.0% when pulling 369c0980485732c735c96956240e89335159e96a on fix-translatorLanguage into 21f4dc71065b5e4ec219cfb291e2131b26665e57 on master.


wip -- why does flake8 not fail CI checks?

I guess because I have multiple flake8 plugins locally. So I will take a look into adding some more in requirements-dev.txt

ok, https://github.com/openSUSE/qem-bot/actions/runs/7709081576/job/21009493899?pr=157#step:6:1 fails now as expected. I will include the relevant changes in another PR


The golang example doesn't work, it's an old version

File: [themes/default/content/registry/packages/azuredevops/_index.md]
import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	ado "github.com/pulumi/pulumi-azuredevops/sdk/v2/go/azuredevops"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := ado.NewProject(ctx, "test", &ado.ProjectArgs{
			ProjectName: pulumi.String("my-project"),
		})
		if err != nil {
			return err
		}

		return nil
	})
}

https://www.pulumi.com/registry/packages/azuredevops/api-docs/
The golang example doesn't work, it's an old version.
please refer to https://pkg.go.dev/github.com/pulumi/pulumi-azuredevops/sdk/v2@v2.5.0/go/azuredevops?utm_source=gopls#ProjectArgs
or
refer to api docs
https://www.pulumi.com/registry/packages/azuredevops/api-docs/

We now generate this file from upstream, and the example looks correct.


Quick upgrade of the AngularJS 1.x sample

Uses Layer XDK v4.0 instead of websdk 3.2
Likely not the cleanest update but it's functional and doesn't throw exceptions

See https://github.com/layerhq/Web-XDK-Messenger instead; I'll update the README to make this clearer:
Web XDK Sample: https://github.com/layerhq/Web-XDK-Messenger
Web SDK/Layer UI Samples: This repo
Whats missing is a Web-XDK-Messenger sample showing an Angular sample... that won't go in this repository unfortunately, so I won't be merging any changes.
I will leave this open for now so that others can see your solution!


Errors after unmount component (Android only)

Hi!
I use react natigation to show the mapboxnavigation in a new screen, after press back button I have several errors in the console, I suppose the mapbox instance should be detroyed correctly before unmount the component.
[Sun Dec 13 2020 10:51:27.812]  ERROR    Mapbox error You're calling `cancelTransitions` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `cancelTransitions` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:27.850]  ERROR    Mapbox error You're calling `jumpTo` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `jumpTo` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:27.883]  ERROR    Mapbox error You're calling `getCameraValues` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `getCameraValues` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:27.907]  WARN     Mapbox warning Style is not fully loaded, not able to get source! {"level": "warning", "message": "Style is not fully loaded, not able to get source!", "tag": "mbgl-locationSymbol"}
[Sun Dec 13 2020 10:51:27.936]  ERROR    Mapbox error You're calling `getMetersPerPixelAtLatitude` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `getMetersPerPixelAtLatitude` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:27.967]  ERROR    Mapbox error You're calling `cancelTransitions` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `cancelTransitions` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:27.998]  ERROR    Mapbox error You're calling `jumpTo` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `jumpTo` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:28.370]  ERROR    Mapbox error You're calling `getCameraValues` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `getCameraValues` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:28.630]  ERROR    Mapbox error You're calling `cancelTransitions` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `cancelTransitions` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:28.900]  ERROR    Mapbox error You're calling `jumpTo` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `jumpTo` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:28.116]  ERROR    Mapbox error You're calling `getCameraValues` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `getCameraValues` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:28.146]  ERROR    Mapbox error You're calling `cancelTransitions` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `cancelTransitions` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:28.177]  ERROR    Mapbox error You're calling `jumpTo` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `jumpTo` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:28.204]  ERROR    Mapbox error You're calling `getCameraValues` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `getCameraValues` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:28.232]  ERROR    Mapbox error You're calling `cancelTransitions` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `cancelTransitions` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:28.263]  ERROR    Mapbox error You're calling `jumpTo` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `jumpTo` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:28.289]  ERROR    Mapbox error You're calling `getCameraValues` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `getCameraValues` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:28.316]  ERROR    Mapbox error You're calling `cancelTransitions` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `cancelTransitions` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}
[Sun Dec 13 2020 10:51:28.350]  ERROR    Mapbox error You're calling `jumpTo` after the `MapView` was destroyed, were you invoking it after `onDestroy()`? {"level": "error", "message": "You're calling `jumpTo` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?", "tag": "Mbgl-NativeMapView"}

Thanks for noting this and I'm aware of these logs as of the latest release (0.1.7).  Prior to this new release there was a lifecycle issue where you could not mount the MapboxNavigation  component again after it had been used before.
I tried to get rid of these errors that crop up after destroying the NavigationView but could not figure it out. I think there is a flaw in how the NavigationView shutdown is implemented. If you dig deep enough you'll see that the onDestroy here calls super.onDestroy() (which is the onDestroy of the NavigationView  in the SDK because this view extends it, and there it calls shutdown in that class).
I'll leave this issue open for anyone else that might come across it. It is working as intended despite these errors showing from the native library.

Thank you for the detaile explanation.
Anyway, the application works fine and the app does not crash.
Best regards.

Hey I wanted to provide an update on this based on a finding. This will not occur in a release build on android. It only happens when running a debug build and the slowdown appears to be caused by the RN bridge getting flooded with logs.

Hey I wanted to provide an update on this based on a finding. This will not occur in a release build on android. It only happens when running a debug build and the slowdown appears to be caused by the RN bridge getting flooded with logs.


Fix KDocReferencesNonPublicProperty false positive

KDocReferencesNonPublicProperty has a common false-positive where there is a name overlap with a public and non-public property (e.g. a local variable). This should not be reported as an issue since the kdoc is referencing the public field.
To fix this, we need to add awareness of the public properties and filter out name overlaps when checking if non-public properties are being referenced in the kdoc. This also includes properties declared as constructor parameters.
Also add a test that constructor parameters are allowed to be referenced in the class kdoc even when they are private fields.

An alternative I'm only realizing now is to try to just process the class-level properties and skip local variables entirely (if this is possible). That sounds cleaner but would slightly weaken the rule since it would not warn for references to local variables - but that seems like more of an edge case that the rule probably wasn't intended to cover in the first place.


Correct backprop for add operation with broadcast

Hi Daniel and Nikhil,
Although I'm not 100% sure, I think when we compute backprop for add involving broadcast, we need to use sum, not average. Could you check if my PL is correct? I might miss something.
I identified this issue while I perform 2d+1d in my tool. When I update code to this PL, it works better. I have also tried to derive this backpropagation equation. I hope you can double-check with this.
To be short, I want you to check whether the answer for the following line is 7 (avg) or 42 (sum).
https://github.com/minsukkahng/deeplearnjs/blob/71e7ed105591f958a642313d9590f5cd3142c8df/src/graph/ops/add_test.ts#L146
Thanks,
Brian

This change is

You are totally right, I just did the math out too.
Could you also make the change here:
https://github.com/PAIR-code/deeplearnjs/blob/master/src/graph/ops/subtract.ts
Then LGTM, sorry about that, and nice find!

Review status: 0 of 4 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Great! Thanks for the check. My original commit also includes correcting subtract (for scalar - ndarray). I can add a new case of 2darray - 1darray if you like.

Review status: 0 of 4 files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable

Review status: 0 of 4 files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable


fix: add missed export of di logic

Please describe the changes this PR makes and why it should be merged:
Package

@discordx/di

Can not believe i was so stupid as to not export the interface... @oceanroleplay will kill me...

just need to wait for @oceanroleplay to do a release


model, query builder functions not found

Larastan Version: 0.3.4
--level used: 2

Description:
I get errors for the query builder methods on models. (first, where, get, whereDoesntHave, delete, pluck ...)
Laravel code where the issue was found:
Error: Call to an undefined method App\Http\Controllers\SomeController::first().
ModelName::where('publication_id', '=', $id)
                ->where('position', '=', $position + 1)
                ->first();

Errors:
Call to an undefined method App\Http\Controllers\LocationController::with().
Call to an undefined method App\Http\Controllers\LocationController::where().
Call to an undefined method App\Http\Controllers\LocationController::orderBy().
$location = Location::where('site_id', $siteId)->orderBy('title')->with('page')->get();

If anyone can help me that should be very nice.
If it is something in larastan and someone can point me in the right direction, I like to try to create a PR.

This is an issue in your code. Can you share the exact code where this line exists Location::where('site_id', $siteId)->orderBy('title')->with('page')->get();?

I see that only the with error was from that line, the other errors where from more below in the code.
The code (I did remove the rest of the functions that isn't part of this)
namespace App\Http\Controllers\Admin;

use App\Location;
use App\Page;

class LocationController extends Controller

    public function index()
    {
        $siteId = $this->findAndSetSessionSiteId('location');

        return view('admin.locations.index', [
            'locations' => Location::where('site_id', $siteId)->orderBy('title')->with('page')->get(),
        ]);
    }

    public function create()
    {
        $pages = Page::where('site_id', $siteId)
            ->where('parent_id', 0) // this is the line wiht the where error
            ->where('active', 1)
            ->orderBy('pos')
            ->get();
        // rest of the function
    }

    public function edit(Location $location)
    {
        $pages = Page::where('site_id', $location->site_id)
            ->where('parent_id', 0)
            ->orderBy('pos') // error of the orderBy function
            ->get();
        // rest of the function
    }

Not sure that's an issue in his code, I have the exact same issue in various (but not all) calls on Eloquent instances:
Call to an undefined method App\Http\Controllers\<snip>::orWhere().
Call to an undefined method Illuminate\Database\Eloquent\Relations\Relation::save().
Call to an undefined method Illuminate\Database\Eloquent\Relations\Relation::sync().
Call to an undefined method App\Http\Controllers\<snip>::get().
Call to an undefined method Illuminate\Database\Eloquent\Relations\HasMany::withTimestamps().

I am noticing the same, and, it seems to related to chaining multiple where:
"nunomaduro/larastan": "^0.3.4"
<?php

namespace App;
use App\Models\Customer;

class Stan
{
    public function useWhere()
    {
        return Customer::where('email', 'test@example.com')->where('name', 'test')->first();
    }

    public function useWhereSingleWhere()
    {
        return Customer::where([
                        'email' =><EMAIL_ADDRESS>                        'name' => 'test'
                      ])->first();
    }

}

php artisan code:analyse --paths=app/Stan.php
 1/1 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%

 ------ ------------------------------------------------
  Line   app/Stan.php
 ------ ------------------------------------------------
  10     Call to an undefined method App\Stan::first().
 ------ ------------------------------------------------

I think it might be issue with methods returning $this. I get same error message for ->count() missing on controller.

Yes, it looks like a $this-related issue.
I have this code:
<?php
declare(strict_types=1);

namespace App\Html\Form;

use App\Models\Country;

class CountrySelect extends Select
{
    public function __construct(string $id, string $title, bool $editable = true)
    {
        $options = Country::orderBy('order')->orderBy('name')->pluck('name', 'id');

        parent::__construct($id, $title, $editable, $options);
    }
}

And I get this error:
Call to an undefined method App\Html\Form\CountrySelect::pluck().

Method pluck is called on Country, but phpstan thinks that it is called on CountrySelect.

@nunomaduro Do you agree with this analysis? Or do you think it's something else?

I think all these should be dynamic return types as they return the same type what they are given.

@tvbeek @ThomHurks This issue has been fixed in Larastan v0.3.10.
Please run a composer update nunomaduro/larastan and tell me the results.

@nunomaduro Thanks! The issue where it thinks that the Eloquent methods should be present on the current file is gone :)

It is indeed fixed, thanks


[SR-1788] Add -driver-time-compilation option

What's in this pull request?

Add an option to print the time it takes each driver task to complete.
Here's an example of the output:
$ swiftc -driver-time-compilation \
         -emit-library -module-name Crispix \
         Crispix/A.swift Crispix/B.swift Crispix/C.swift
===-------------------------------------------------------------------------===
                            Driver Time Compilation
===-------------------------------------------------------------------------===
  Total Execution Time: 0.0000 seconds (0.0892 wall clock)

   ---Wall Time---  --- Name ---
   0.0242 ( 27.1%)  /path/to/bin/swift -frontend -c -primary-file /path/to/Crispix/A.swift /path/to/Crispix/B.swift /path/to/Crispix/C.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -color-diagnostics -parse-as-library -module-name Crispix -o /tmp/A-216874.o

   0.0239 ( 26.7%)  /usr/bin/clang++ -shared -fuse-ld=gold -target x86_64-unknown-linux-gnu -Xlinker -rpath -Xlinker /path/to/lib/swift/linux /path/to/lib/swift/linux/x86_64/swift_begin.o /tmp/A-216874.o /tmp/B-243ab4.o /tmp/C-5af361.o -L /path/to/lib/swift/linux --target=x86_64-unknown-linux-gnu -lswiftCore @/tmp/A-864579.autolink /path/to/lib/swift/linux/x86_64/swift_end.o -o libCrispix.so

   0.0205 ( 23.0%)  /path/to/bin/swift -frontend -c /path/to/Crispix/A.swift -primary-file /path/to/Crispix/B.swift /path/to/Crispix/C.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -color-diagnostics -parse-as-library -module-name Crispix -o /tmp/B-243ab4.o

   0.0174 ( 19.6%)  /path/to/bin/swift -frontend -c /path/to/Crispix/A.swift /path/to/Crispix/B.swift -primary-file /path/to/Crispix/C.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -color-diagnostics -parse-as-library -module-name Crispix -o /tmp/C-5af361.o

   0.0032 (  3.6%)  /path/to/bin/swift-autolink-extract /tmp/A-216874.o /tmp/B-243ab4.o /tmp/C-5af361.o -o /tmp/A-864579.autolink

   0.0892 (100.0%)  Total

I don't write C++ very often, and this is probably one of the larger changes I've made to lib/Driver, so I wouldn't be surprised if there's some wacky code in here. 😅  Any and all feedback welcome!
/cc @jrose-apple @gottesmm
Resolved bug number: (SR-1788)

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    All supported platforms     | @swift-ci Please smoke test and merge
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

A smoke test on macOS does the following:

Builds the compiler incrementally.
Builds the standard library only for macOS. Simulator standard libraries and
device standard libraries are not built.
lldb is not built.
The test and validation-test targets are run only for macOS. The optimized
version of these tests are not run.

A smoke test on Linux does the following:

Builds the compiler incrementally.
Builds the standard library incrementally.
lldb is built incrementally.
The swift test and validation-test targets are run. The optimized version of these
tests are not run.
lldb is tested.

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    All supported platforms     | @swift-ci Please test and merge
    OS X platform               | @swift-ci Please test OS X platform
    OS X platform               | @swift-ci Please benchmark
    Linux platform              | @swift-ci Please test Linux platform

Lint Testing
    Language     | Comment
    ------------ | -------------
    Python       | @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

@swift-ci please test

The Linux failures are occurring when compiling swift-corelibs-foundation, and appear to be unrelated.

@jrose-apple is really the person to review this, but taking a quick look I have some comments.

This is looking great. I wonder how it interacts with -parseable-output, though. I do want to make sure that if someone puts this in their OTHER_SWIFT_FLAGS in Xcode that it shows up in the build log and doesn't mess up printing warnings from individual files.
(That's not something that necessarily makes sense to put in a regression test, but it's worth seeing what the behavior is before we commit. I think it'll be fine because I think I've used -driver-show-incremental in an Xcode project before.)

When using both -parseable-output and -driver-time-compilation, the timer output appears after the parseable output: https://gist.github.com/modocache/588a47488e0c1c0d7dc793e71d1ff57c -- is that OK?

Thanks for all the great feedback! I think I addressed everything I can.
@swift-ci please test

@swift-ci Please test

@modocache I don't think you actually triggered swift-ci. I pushed the button again.

Thanks for the follow-ups @jrose-apple. I think I've responded to them all. Now let's see if Swift CI still listens to me...
@swift-ci Please test

Sort of. OS X tests here

@swift-ci please test

Mostly looks good to me! I still feel weird about printing the whole command line, though—those can get pretty long with every input file appearing in the list.

(Rebased onto #4437.)
Ah, yeah, I guess for most actual inputs these timer names would be much, much longer. I liked the idea of seeing the exactly which jobs took up what amount of time, but that information is also available by using -driver-print-jobs.
I'll look into printing a summary of the job instead. Maybe I can reuse some of the logic from -driver-print-actions here.

The following change:
diff --git a/lib/Driver/Compilation.cpp b/lib/Driver/Compilation.cpp
index beabfd5..b86706c 100644
--- a/lib/Driver/Compilation.cpp
+++ b/lib/Driver/Compilation.cpp
@@ -436,13 +436,11 @@ int Compilation::performJobsImpl() {
     const Job *BeganCmd = (const Job *)Context;

     if (ShowDriverTimeCompilation) {
-      llvm::SmallString<128> CmdLine;
-      llvm::raw_svector_ostream OS(CmdLine);
-      BeganCmd->printCommandLine(OS);
+      auto JobName = BeganCmd->getSource().getClassName();
       DriverTimers.insert({
         BeganCmd,
         std::unique_ptr<llvm::Timer>(
-          new llvm::Timer(OS.str(), DriverTimerGroup))
+          new llvm::Timer(JobName, DriverTimerGroup))
       });
       DriverTimers[BeganCmd]->startTimer();
     }

Results in the following output:
modocache@ubuntu:~$ swiftc -driver-time-compilation test/Driver/driver-time-compilation.swift
===-------------------------------------------------------------------------===
                            Driver Time Compilation
===-------------------------------------------------------------------------===
  Total Execution Time: 0.0000 seconds (0.0467 wall clock)

   ---Wall Time---  --- Name ---
   0.0238 ( 50.9%)  link
   0.0196 ( 42.0%)  compile
   0.0033 (  7.1%)  swift-autolink-extract
   0.0467 (100.0%)  Total

You mention above displaying something like "Compile x.swift". I think I can do that by printing a Job's InputActions when available -- although, if there are a lot of input files, the name may get pretty long.

Yeah, now that I think about it printing like -driver-print-actions is probably the way to go, even though in theory one Action can have multiple Jobs. (We don't use that today.) getSource is the way to jump from Job to Action.

OK, I have something like this at the moment:
===-------------------------------------------------------------------------===
                            Driver Time Compilation
===-------------------------------------------------------------------------===
  Total Execution Time: 0.0000 seconds (0.0875 wall clock)

   ---Wall Time---  --- Name ---
   0.0245 ( 28.0%)  link /home/modocache/GitHub/tmp/Crispix/A.swift /home/modocache/GitHub/tmp/Crispix/B.swift /home/modocache/GitHub/tmp/Crispix/C.swift
   0.0211 ( 24.1%)  compile /home/modocache/GitHub/tmp/Crispix/A.swift
   0.0209 ( 23.9%)  compile /home/modocache/GitHub/tmp/Crispix/B.swift
   0.0176 ( 20.1%)  compile /home/modocache/GitHub/tmp/Crispix/C.swift
   0.0035 (  4.0%)  swift-autolink-extract /home/modocache/GitHub/tmp/Crispix/A.swift /home/modocache/GitHub/tmp/Crispix/B.swift /home/modocache/GitHub/tmp/Crispix/C.swift
   0.0875 (100.0%)  Total

Does this look good? I'll update the pull request with this soon.

Seems reasonable, and we can always tweak it later. Thanks, Brian!

I'm betting some of the C++ could be nicer, but this now produces the output I described above.
@swift-ci please test

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 6c92c78a62630a954cde4841b94700ea3da73794
Test requested by - @modocache

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 6afc93481c4242639ad48d8f4daf050a46cc95e7
Test requested by - @modocache

Both failures appear to be in the CI infrastructure, not the contents of the pull request.

Something weird happened there. Let's just try again.
@swift-ci Please test

Looks like it's all green this time! :)

Thanks for the new feature, Brian!

 I'd love to work on more of lib/Driver. Did you happen to see my email? https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160815/002739.html


Create SecureSoftwareGuidingPrinciples.md

this will be worked on in the BEST WG

@Skuggidex, @SecurityCRob -- is there anything else I need to do before this can be merged? Or are you waiting until the next meeting?

I’d like to have it presented in a WG call and get agreement from the group to be the host.  Our next call is 15Aug at 10am ET.
Cheers,
CRob
Director of Security Communications
Intel Product Assurance and Security
From: Jessica Marz @.>
Sent: Thursday, August 10, 2023 6:17 PM
To: ossf/wg-best-practices-os-developers @.>
Cc: Robinson, Christopher @.>; Mention @.>
Subject: Re: [ossf/wg-best-practices-os-developers] Create SecureSoftwareGuidingPrinciples.md (PR #212)
@Skuggidexhttps://github.com/Skuggidex, @SecurityCRobhttps://github.com/SecurityCRob -- is there anything else I need to do before this can be merged? Or are you waiting until the next meeting?
—
Reply to this email directly, view it on GitHubhttps://github.com/ossf/wg-best-practices-os-developers/pull/212#issuecomment-1673991628, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQRFDLANGBF4O7JFZYVLFDDXUVMWTANCNFSM6AAAAAA3ESS5HA.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>


NameError: name 'cutorch' is not defined

Hello!
I have some problems with cutorch.
I'm trying to import cutorch through require("cutorch"), but I get the NameError: name 'cutorch' is not defined.
The same problem with optim and sys by the way. But require("nn") works.
Although when I print require "cutorch" in th, everything works perfectly so I think the problem is not in PATH.
I use Python 3.5 and Lua 5.2.4 running on Amazon Linux AMI.

Hi @avgaydashenko, can you install torch with luajit rather than lua5.2? Lutorpy is tested with the default   torch installation so far.

@avgaydashenko Could you solve the error? How do I exactly do what @oeway is suggesting? I am not able to find it by searching on the web, please help.

Was this problem solved? I am having the same issue.

This doesn't answer your question, but I eventually rewrote my code and moved to PyTorch and would recommend you do the same. It's a huge pain working with these old libraries.


Command line script name not recognized as Windows UNC path

A command line like:
dart \\?\d:\something\something\lang\dart\temp\pwd.dart

gives the error:
Crash when compiling file://?/d:/something/something/lang/dart/temp/pwd.dart,
at character offset null:
Unsupported operation: Cannot extract a file path from a URI with a query component
#0      _Uri.toFilePath (dart:core/uri.dart:2713:7)
#1      new File.fromUri (dart:io/file.dart:265:49)
...

The path is a valid Windows path. It is treated as a URI, which is wrong, it should be converted to a URI explicitly in a way which preserves the ?, likely file://%25/d:/something/something/lang/dart/temp\pwd.dart or just file:///d:/something/something/lang/dart/temp/pwd.dart.

This has been labelled as area-dart-cli but I presume this fails irrespective of whether dartdev is enabled or not?

I think this is a problem at frontend.
\\?\ is a special prefix.

For file I/O, the "\\?\" prefix to a path string tells the Windows APIs to disable all string parsing and to send the string that follows it straight to the file system.

The path in the example is a regular path. But It can also be used together with UNC path.

The "\?" prefix can also be used with paths constructed according to the universal naming convention (UNC). To specify such a path using UNC, use the "\?\UNC" prefix. For example, "\?\UNC\server\share", where "server" is the name of the computer and "share" is the name of the shared folder.

Frontend should treat it as a regular path and Windows API is able to recognize.
Ref: https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#win32-file-namespaces

@lrhn Can you provide more of the stack trace?
When it try dart \\?\c:\src\dart-repo2\temp\abstract.dart on bleeding edge I get
c:\src\dart-repo2\sdk>out\ReleaseX64\dart.exe \\?\c:\src\dart-repo2\temp\abstract.dart
Error when reading '\\?\c:\src\dart-repo2\temp\abstract.dart': No such file or directory.
Could not find a command named "\\?\c:\src\dart-repo2\temp\abstract.dart".

Usage: dart [<vm-flags>] <command|dart-file> [<arguments>]

Global options:
-h, --help                              Print this usage information.
-v, --verbose                           Show additional command output.
    --version                           Print the Dart SDK version.
    --enable-analytics                  Enable anonymous analytics.
    --disable-analytics                 Disable anonymous analytics.
    --enable-experiment=<experiment>    Enable one or more experimental features.
                                        [extension-methods, non-nullable, nonfunction-type-aliases, triple-shift, variance]

Available commands:
  analyze   Analyze the project's Dart code.
  compile   Compile Dart to various formats.
  create    Create a new project.
  format    Idiomatically formats Dart source code.
  migrate   Perform a null safety migration on a project or package.
  pub       Work with packages.
  run       Run a Dart file.
  test      Runs tests in this project.

Run "dart help <command>" for more information about a command.

and when I run dart run \\?\c:\src\dart-repo2\temp\abstract.dart I get
c:\src\dart-repo2\sdk>out\ReleaseX64\dart.exe run \\?\c:\src\dart-repo2\temp\abstract.dart
Unsupported operation: Cannot extract a file path from a URI with a query component
#0      _Uri.toFilePath (dart:core/uri.dart:2713:7)
#1      RunCommand.run (package:dartdev/src/commands/run.dart:130:10)
#2      CommandRunner.runCommand (package:args/command_runner.dart:197:27)
#3      DartdevRunner.runCommand (package:dartdev/dartdev.dart:238:24)
#4      CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#5      new Future.sync (dart:async/future.dart:223:31)
#6      CommandRunner.run (package:args/command_runner.dart:112:14)
#7      runDartdev (package:dartdev/dartdev.dart:107:27)
#8      main (file:///c:/src/dart-repo2/sdk/pkg/dartdev/bin/dartdev.dart:12:9)
#9      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:32)
#10     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)

which doesn't match yours (at #1).
So it seems we have multiple entry points that need fixing.

@johnniwinther
I'm able to repro on my gWin machine using cmd.exe.
This is the stacktrace I got:

Crash when compiling file://?/C:/Users/zichangguo/dart-sdk/sdk/Junk/main.dart,
at character offset null:
Unsupported operation: Cannot extract a file path from a URI with a query component
#0      _Uri.toFilePath (dart:core/uri.dart:2713:7)
#1      new File.fromUri (dart:io/file.dart:260:49)
#2      _IoFileSystemEntity.readAsBytes (package:front_end/src/api_prototype/standard_file_system.dart:66:18)
#3      HybridFileSystemEntity.readAsBytes (package:front_end/src/fasta/hybrid_file_system.dart:54:61)
asynchronous suspension
#4      SourceLoader.tokenize (package:front_end/src/fasta/source/source_loader.dart:249:55)
#5      SourceLoader.buildOutline (package:front_end/src/fasta/source/source_loader.dart:417:26)
#6      Loader.buildOutlines (package:front_end/src/fasta/loader.dart:254:13)
#7      SourceLoader.buildOutlines (package:front_end/src/fasta/source/source_loader.dart:343:17)
#8      KernelTarget.buildOutlines. (package:front_end/src/fasta/kernel/kernel_target.dart:301:20)
#9      withCrashReporting (package:front_end/src/fasta/crash.dart:122:24)
#10     KernelTarget.buildOutlines (package:front_end/src/fasta/kernel/kernel_target.dart:300:12)
#11     generateKernelInternal. (package:front_end/src/kernel_generator_impl.dart:119:28)
asynchronous suspension
#12     generateKernelInternal. (package:front_end/src/kernel_generator_impl.dart)
#13     withCrashReporting (package:front_end/src/fasta/crash.dart:122:24)
#14     generateKernelInternal (package:front_end/src/kernel_generator_impl.dart:73:10)
#15     generateKernel. (package:front_end/src/kernel_generator_impl.dart:53:18)
#16     CompilerContext.runWithOptions. (package:front_end/src/fasta/compiler_context.dart:135:20)
asynchronous suspension
#17     CompilerContext.runWithOptions. (package:front_end/src/fasta/compiler_context.dart)
#18     CompilerContext.runInContext.. (package:front_end/src/fasta/compiler_context.dart:123:46)
#19     new Future.sync (dart:async/future.dart:223:31)
#20     CompilerContext.runInContext. (package:front_end/src/fasta/compiler_context.dart:123:19)
#21     _rootRun (dart:async/zone.dart:1190:13)
#22     _CustomZone.run (dart:async/zone.dart:1093:19)
#23     _runZoned (dart:async/zone.dart:1630:10)
#24     runZoned (dart:async/zone.dart:1550:10)
#25     CompilerContext.runInContext (package:front_end/src/fasta/compiler_context.dart:122:12)
#26     CompilerContext.runWithOptions (package:front_end/src/fasta/compiler_context.dart:133:10)
#27     generateKernel (package:front_end/src/kernel_generator_impl.dart:52:32)
#28     kernelForModule (package:front_end/src/api_prototype/kernel_generator.dart:99:17)
#29     SingleShotCompilerWrapper.compileInternal (file:///C:/Users/zichangguo/dart-sdk/sdk/pkg/vm/bin/kernel_service.dart:441:17)
#30     Compiler.compile. (file:///C:/Users/zichangguo/dart-sdk/sdk/pkg/vm/bin/kernel_service.dart:208:45)
#31     new Future. (dart:async/future.dart:175:37)
#32     _rootRun (dart:async/zone.dart:1182:47)
#33     _CustomZone.run (dart:async/zone.dart:1093:19)
#34     _CustomZone.runGuarded (dart:async/zone.dart:997:7)
#35     _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23)
#36     _rootRun (dart:async/zone.dart:1190:13)
#37     _CustomZone.run (dart:async/zone.dart:1093:19)
#38     _CustomZone.bindCallback. (dart:async/zone.dart:1021:23)
#39     Timer._createTimer. (dart:async-patch/timer_patch.dart:18:15)
#40     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:397:19)
#41     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:428:5)
#42     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)

The input has already been processed when it reaches pkg/vm/bin/kernel_service.dart:208:45. When I supply \\?\c:\src\dart-repo2\sdk\temp\abstract.dart to dart.exe at the command line the inputFileUri in _processLoadRequest is changed to //?/c:/src/dart-repo2/sdk/temp/abstract.dart. I don't know how _processLoadRequest is called but the caller needs to change processing to fix the issue for entry point. @zichangg Do you know how _processLoadRequest is called?

Running dart run with Windows paths is generally broken. See #42874

@zichangg We have a branch cut next week for Aug.  Is this something we can fix before that?

I think the any change here needs to happen very early in the pipeline. The command line argument can traditionally be either a local path or a URI, and we have never been very good at deciding. It's then converted to (or parsed as) a URI in order to have a single type internally in the front-end.
It think we should take some time to figure out what we really want to do about the command line interpretation. Perhaps we can even disallow URIs completely and always treat the command line argument as a local file path, unless there are still people compiling from HTTP URIs.
Then we should ensure that all our tools behave the same (see also #42864)

@franklinyow based on the comments above it looks like this is going take longer to get a clean fix and will not be fixed in time for the beta branch next week. I propose that as a first step we report all paths with "\?" as unsupported and not crash. We can include this change for beta and then work on a proper fix for it.

I will remove the P1 label for now.  As @zichangg said this is not a common use case, and we need more time to come up with the right solution

Looks like we have landed the fix for preventing a crash, can the rest of the work indicated in the comment above from @lrhn be tracked in #42864 ? Also should this be tracked in the September 2020 milestone ?

https://github.com/dart-lang/sdk/issues/42923 tracks the work @lrhn mentioned.
This one can be closed.


Compile Verible on Windows

Hi all!
I saw that there were added support to compile Verible on WIndows. But I don't understand what should I do exactly to achieve this.
Could you help me, please, like step by step guide, how to build and run Verible on Windows?

A good starting point for what to do is the Continuous Integration script which runs the compile and test.
https://github.com/chipsalliance/verible/blob/master/.github/workflows/verible-ci.yml#L270-L285
Mostly the important part is to use clang (llvm) to compile as there were issues with msvc (@corco knows the details).
But once you've installed clang and bazel, the compile should work as described in the README. The bazel install will not work AFAIK on windows, so you have to manually copy the resulting executables from bazel-bin/verilog/tools/*/verible-verilog-{syntax,lint,format}

I would really appreciate if binaries from compiling Verible on Windows are added to the release artefacts.

I have no experience in what a good distribution format is for Windows; accepting pull requests that adds something that is useful for Windows systems.

@corco you mentioned in #307 that you'd like to look into extracting windows artifacts from the CI. Are you still up for it ?

Yes, I have been heavily side-tracked on this task ;) I will take another look at it next week


finalizes draft of project one for review...

This should wrap up a refactor of project one and close #3, at least until any feedback is provided by @tommeagher, @hbillings, @kevinschaul, @katiepark, @rdmurphy or @esagara...
Streamlined things quite a bit and really focused on fundamentals found in the tutorial. It will be walking folks through the tutorial for the most part, but that might be an OK thing.
Parts 2 and 3 get into downloading a file and looping through its contents.
A couple thoughts:

Where is appropriate to have the global vs. local variable discussion
How to handle division
Python 2 vs. Python 3 will come up

Chris,
This looks great. I'd say go ahead and merge it in, though if anyone has other feedback or advice, please raise your hand.
To your question on variable scoping I wonder what others think. Is there a way to introduce scoping without sending the students down a path of fear and confusion?
As far as Python 2 vs 3, I think we can mention it in passing. I don't know that folks would get much out of that debate other than knowing it exists.
What did you have in mind about division?
Tom

Hey folks! Thanks for pulling this all together Chris! It's awesome.
Some feedback:
2 vs. 3
It's tough. I think these days most people still using Python 2 are doing so because of either:

actual compatibility reasons
it still works, I know it works, so why change it?

So I think saying anything too suggestive (Python 3 is too new! Don't trust it!) would be misleading. (A good read on this.) Ideally, we actually do want people to start moving to Python 3. It's easier for beginners than people using it, honestly.
The biggest argument I'd make here – OSX Yosemite ships with Python 2.7. So it's still good enough there. If we say anything, I say we say we're teaching Python 2 because it's what we're all comfortable with and use day-to-day, and it's what's installed by default on Macs. But we should encourage folks to check out Python 3 when they're ready. Just no fear mongering. :)
Python spacing
When it comes to spacing of Python code, I think it'd be best to just say the convention is to use 4 spaces. Like most languages, Python won't care as long as you're consistent, but I really cannot remember the last time I came across code that didn't do the 4 space convention. (And when I did, it was someone using tabs, not spaces.) For the sake of teaching good practices/making it easy to collaborate with other Python programmers, we may not want to leave that too ambiguous.
Scoping
I'd say save the scoping discussion until you describe how functions work. I think if we explain it before then it could get confusing. If you wait for functions, then you can give examples of setting variables inside and outside of a function and do the classic "what do you think x would equal after this?"
Strings
I'd say synonymous with characters instead of words.
Unicode
I'm torn on unicode. I know it's important (and something we all battle), but for a beginner it seems like a strange thing to have to grok (and I feel like some days I'm still trying to grok it). I know it comes up in later lessons, but I'd almost say we don't go into that at all for the first lesson.
Lists
The term compound data type feels a little wonky to me. Is it a necessary term for explaining what lists are (even if Python uses it in its docs)? I'd vote for using the terms collection or  collection of things instead of container of values or bucket, too. Also torn on explaining mutability unless we give examples of non-mutable things, or examples of why things would ever not be mutable.
Is vs. ==
May be worth stressing the difference here. == is for comparing values – is 2 equal to 2? is is for comparing whether the two items are the same exact thing. So:
x = {'hello': 'world'}
y = x

print x is y
# True

I only bring this up because I used to think they were identical to each other. Sometimes is works for numbers (because of Python weirdness), but it won't always, especially when the number is larger.
Could be too much for lesson 1 though.
Opening files and with
In the final example, we show two different ways to deal with opened files. The output file is open()ed and close()ed, but the input file uses with. This may be on purpose, but the with method is ideal for both operations. It's built in closing once the thread ends is really important to preventing lost of data via failure to close out files (or if your program crashes). If we show both ways on purpose, I think we should stress the with method is the preferred/better option.

All excellent points, Ryan, particularly regarding Python 3 and is vs ==. This is really helpful. Thanks!

Thanks all...
Made adjustments and tweaks, and can make more if other feedback comes in. If not, this is ready to go.


fix: weekly meeting time from 4pm to 3PM UTC

Slack thread: https://cloud-native.slack.com/archives/CL3SL0CP5/p1715188805913329

We have actually pinned the time to the ET timezone now, for 11am.
https://cloud-native.slack.com/archives/CL3SL0CP5/p1715188805913329

@lianmakesthings: Is this ok now?

Rebased to fix the DCO and i18n checks. @lianmakesthings ready for another review


Searching for a repository containing "." does not work

Searching for angular/angular.js yields the error

Woops,that developer can't code...

Hey here, this project is mostly not used by me anymore, I would love to add some maintainers if you want to collaborate on this!
But yeah this one sounds silly:D


Bug

So I don't know why my game does this when I removed the Additional Placements mod
https://github.com/FirEmerald/AdditionalPlacements/assets/110111270/b4c1e732-eadf-42c2-908b-1c7b427d324c

if you remove the mod you must also delete the datapack it creates inside the save.


Tab auto-completion hangs the terminal (macOS Sierra)

Since upgrading to macOS Sierra earlier today I can't use the tab completion in zsh while running Oh My Zsh or it will hang that terminal session. Running zsh without Oh My Zsh works fine.
I've upgraded o the latest release of Oh My Zsh and I'm running the pre-builtin Z shell in macOS Sierra: zsh 5.2 (x86_64-apple-darwin16.0).
Let me know if you need any additional information.

Actually it seems to hang the zsh process so hard I can't normally reboot my laptop, but instead I have to kill it by holding the power switch down for a couple of seconds.

Having reinstalled Antigen (forgot to mention I'm using that package manager) and updated oh-my-zsh via antigen update it seems to work. I'm not sure where in that process it started working...

I'm not sure how that is meant to be used. I tried functions -t cd but that immediately froze that session.
Anyway, it works for the moment. I'll let you know if something comes up.

The underscore before command is important, that's the conventional name of completion functions; _cd in your case.

Oooh, I see! Thank you, I'll give that a try.


refactor: move lock/unlock requests from Wallet to Wallets

Refactoring for easier testing and in preparation of https://github.com/joinmarket-webui/joinmarket-webui/pull/334, enables reacting to "lock/unlock" attempts in Wallets component.
Instead of passing startWallet and stopWallet to the Wallet component, this will perform the API requests in the parent Wallets component and just provide unlockWallet and lockWallet callbacks to the child.
This in turn greatly simplifies the Wallet component: Instead of passing multiple properties to determine whether "lock" and "unlock" buttons should be shown, this decision is made by the caller.
No functionality has been added or removed.

Nice refactor. white_check_mark
Just as a heads up, I think much of this is going to change with #337 so maybe don't put too much blood, seat, and tears into it. Still nice to have it simplified like this though!

Yeah, thanks! That's what I thought when I read what you wrote about the concept. That's why I refrained from doing anything more. Was thinking about a larger refactoring, but then again.. I am trying to behave and have smaller change sets lately. This one does not seems so small, but it is really just moving code around.
Thanks for the approval - will merge!

This one does not seems so small, but it is really just moving code around.

No it's totally fine, it's just moving code around -- as you say! 👌


chore(compute): update_discovery_doc.sh now edits generator_config

Improve automation by having script edit generator_config.textproto when new compute services are detected and re-running the generator to emit code for the new services.

This change is

/gcbrun


Angular version

The angular version in the bower dependencies should be updated.
The current version is 1.3.6 and the version in the bower.json is 1.2.9

hi how to validate

@niyazhussain You have to validate on the server. The docs for v1 are here: https://developers.google.com/recaptcha/old/docs/otherplatforms.


CoI instead of IT option

I'd like to replace Icy Touch with Chains of Ice in the unholy/sub-frost rotation so I can see how the pvp gauntlets perform in a Death Coil heavy rotation. In general, how can I add a custom rotation?

To add a custom rotation you can checkout the repo and you can find all the rotations in files named rotation_ in the dk folder. Then you can change the rotation to whatever you like and test stuff like this by hosting the local sim.
Apart from that I dont think your suggestion makes any sense to be a dps increase over the pvp items and the pvp skills. If proven wrong by some data i might add it but as it is now I won't waste time on it


Add legal attribution

See https://play.google.com/intl/en_us/badges/

Hi @mueller-ma thanks for this!
I'm working a the new version since yesterday with favoris/like, swipe, better videos controls and DI. Some features will arrive this weekend I hope and the last in the coming weeks.

thanks for the PR, very welcome as always!


Permission assignment missing?

My understanding is that the managed identity $IDENTITY_CLIENT_ID does need "Reader" permissions on the VMSS Resource group $NODE_GROUP.
Error message:
E1216 18:57:26.259725       1 main.go:73] failed list all vm, error: compute.VirtualMachinesClient#List: Failure responding to request: StatusCode=403 -- Original Error: autorest/azure: Service returned an error. Status=403 Code="AuthorizationFailed" Message="The client 'xxxxx' with object id 'x' does not have authorization to perform action 'Microsoft.Compute/virtualMachines/read' over scope '/subscriptions/SUBSCRIPTION_ID/resourceGroups/$NODE_GROUP/providers/Microsoft.Compute' or the scope is invalid. If access was recently granted, please refresh your credentials."
Therefore the following commands are missing
NODE_GROUP=$(az aks show -g myResourceGroup -n myAKSCluster --query nodeResourceGroup -o tsv)
NODES_RESOURCE_ID=$(az group show -n $NODE_GROUP -o tsv --query "id")
az role assignment create --role "Reader" --assignee "$IDENTITY_CLIENT_ID" --scope $NODES_RESOURCE_ID

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

ID: c3c187c0-27f1-11c9-41af-6c65ca36e77e
Version Independent ID: 249a570b-90ba-4a11-4467-320f0369ec25
Content: Use Azure Active Directory pod-managed identities in Azure Kubernetes Service (Preview) - Azure Kubernetes Service
Content Source: articles/aks/use-azure-ad-pod-identity.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

Thank you for the feedback.
Based on the linked PR, this feedback looks like it was addressed.
#please-close


Moderation panel fails silently and does not render if any PageRevision user is None

Issue Summary
The rendering of the template page pages_for_moderation.html fails silently if any PageRevision instance that it attempts to render has no user.  The panel will not appear at all when this error happens.
This line in the template causes the error
{{ revision.user.get_full_name|default:revision.user.get_username }}
Since PageRevision's user field is not a required field, this seems like a bug.
The error happened because I was using the save_revision in my own custom form handling and neglected to provide a user argument.
It seems that the best solution is to update the template with an if statement, i.e. {% if revision.user %}{{ revision.user.get_full_name|default:revision.user.get_username }}{% endif %}
Steps to Reproduce

save a page as a draft and submit for moderation
in the wagtail admin, observe that the draft page appears in the "Pages Awaiting Moderation" panel
from the django shell, remove the user from the most recent PageRevision object, e.g. revision = PageRevision.objects.last(); revision.user = None; revision.save()
observe that in the wagtail admin, the  "Pages Awaiting Moderation"  no longer appears

Technical details
python 3.6.5
Django 2.0.6
Wagtail 2.1

Encountered this error again -- this time due to a user being deleted, causing revision.user  to become None.

Fixed in #5971


Adds Reorder-able lists component

What
A list of items that can be reordered
List items can be reordered by drag and drop or by using the up/down buttons. On small viewports the drag and drop feature is disabled to prevent being triggered when scrolling on touch devices.
This component uses SortableJS - a JavaScript library for drag and drop interactions. When JavaScript is disabled a set of inputs will be shown allowing users to provide an order index for each item.
Why
This is used by publishing tools to allow reordering of lists such as steps in step by step, entries in timelines and order of visual presentation of attachments.
Disclaimer
This is a port/extension of the work that @alex-ju has done on the content publisher app.
Demo
https://govuk-publis-add-reorde-g116bw.herokuapp.com/component-guide/reorderable_list
Visual Changes

No JS view

https://trello.com/c/SD4pLfen/1086-add-reorder-component-to-govukpublishingcomponents

Nice one putting this together Dilwoar.
I do still think there needs to be more consolidation between the two implementations rather than having options for all. Nikin is available to have a meeting tomorrow to work towards this consolidation.
@alex-ju do you have any recollections for why Content Publisher made particular design decisions and or opinions on any parts where the collections-publisher designer is an improvement? as I understand the difference's we've got are:

Green and grey secondary buttons (Collections Publisher) vs grey secondary buttons (Content Publisher) - seems fine and non-divisive to go with just grey secondary buttons
Draggable elements in boxes (Collections Publisher) vs border bottom line (Content Publisher) - this seems the most divisive with a few people stating that boxes are easier to understand for drag and drop and probably the biggest decision
Whether to have numbers or not - these seem to be confusing and they seem reasonable to be implemented as an option, though I do wonder whether they're needed at all?

Nice one putting this together Dilwoar.
I do still think there needs to be more consolidation between the two implementations rather than having options for all. Nikin is available to have a meeting tomorrow to work towards this consolidation.
@alex-ju do you have any recollections for why Content Publisher made particular design decisions and or opinions on any parts where the collections-publisher designer is an improvement? as I understand the difference's we've got are:

Green and grey secondary buttons (Collections Publisher) vs grey secondary buttons (Content Publisher) - seems fine and non-divisive to go with just grey secondary buttons
Draggable elements in boxes (Collections Publisher) vs border bottom line (Content Publisher) - this seems the most divisive with a few people stating that boxes are easier to understand for drag and drop and probably the biggest decision
Whether to have numbers or not - these seem to be confusing and they seem reasonable to be implemented as an option, though I do wonder whether they're needed at all?

Hi both,
I don't have strong opinions on this, but I can provide a bit of background being involved with both:

Collections Publisher implementation was a rough improvement of an existing implementation in a rush to replace the old publishing interface for step-by-steps; this was tested internally with a limited number of users.
Content Publisher implementation was developed afterwards, was build from scratch and iterated a few times; this was tested with external stakeholders in a round of research.

Some of my design-related recollections of this during the Content Publisher times, in relation to the above points:

grey secondary buttons were used not to stand out as we found that users were less inclined to take the button-based approach to reorder
a boxes-based approach was considered but we realised it involved more vertical spacing – which became a problem on documents with lots of attachments as users needed to combine drag-and-drop with scroll and things end up messy
users didn't explicitly complain about the numbers, but some colleagues were confused by them after starting the reorder

I share the view that having as fewer options as possible would be ideal.

@kevindew - this is now ready to review

@kevindew - ready to review


How to achieve the function of relativeUrls like gulp-less

How to achieve the function of relativeUrls like gulp-less

I don't know what relativeUrls is. This is not a feature that belongs in gulp-sass. You should run another gulp-sass plugin after sass to rewrite urls. Plugins should aim to do only one job.


Refine add contact function

Prompt the user to input required fields one at a time.
Reason:
Each details are entered one at a time, to avoid the long syntax - more prone to typo.

Closed with AddByStepCommand


Replace /lib with ${nonarch_base_libdir}

- What I did
- How I did it

Can one of the admins verify this patch?

ok to test


Substrate Ambassadors

Following up on an idea from @nczhu, we should funnel rejected candidates towards an ambassadors program. Once developers have invested time/effort to learn our framework, we should encourage continued engagement by making it easier for them to build out their ideas. One criterion for acceptance into the ambassadors program could be a working, documented sample built on Substrate.
Benefits of membership could include:

host-your-own workshop starter pack
increased access/matching to teams building on Substrate that are looking to hire runtime developers
exclusive office hours and/or pairing with mentors at Parity
similar benefits to the Polkadot Ambassadors Program, with a focus on the SRML and building on top of it (ie more technical than the Polkadot Program)

I don't think that this program should be limited to rejected runtime engineer candidates. If anyone has spent significant time working on Substrate, then they should be considered for this program. The whole point is to engage those who have already invested a lot of time in the project.
I foresee synergies between this program and the newsletter #177 wherein we discuss interesting ideas built as part of the program.

Happy to help kickstart this with you whenever. Agree that it should be
open to everyone, with candidate funnel as one of the many inputs.
I'm thinking we can give folks an ambassadors playbook with official
materials that they can use for workshops, teachings.
At the moment, there are also a lot of unofficial materials floating
around. Some folks are actually charging for those workshops. This would
also be a good opportunity to formally open source a lot of these things.
And make our materials truly open access, in many languages.
On Sat, Jul 13, 2019 at 3:10 PM Amar Singh<EMAIL_ADDRESS>wrote:

Following up on an idea from @nczhu https://github.com/nczhu, we should
funnel rejected candidates towards an ambassadors program. Once developers
have invested time/effort to learn our framework, we should incentivize
continued engagement by making it easier for them to build out their ideas.
One criterion for acceptance into the ambassadors program could be a
working, documented sample built on Substrate.
Benefits of membership could include:

host-your-own workshop starter pack
increased access/matching to teams building on Substrate that are
looking to hire runtime developers
exclusive office hours and/or pairing with mentors at Parity
(least sure about this one)
similar benefits to the Polkadot Ambassadors Program
https://polkadot.network/polkadot-ambassador-program/, with a focus
on the SRML and building on top of it (ie more technical than the Polkadot
Program)

I don't think that this program should be limited to rejected runtime
engineer candidates. If anyone has spent significant time working on
Substrate, then they should be considered for this program. The whole point
is to engage those who have already invested a lot of time in the project
and grow the community of developers building on Substrate.
I foresee synergies between this program and the newsletter #177
https://github.com/substrate-developer-hub/substrate-developer-hub.github.io/issues/177
wherein we discuss interesting ideas built as part of the program.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/substrate-developer-hub/substrate-developer-hub.github.io/issues/178?email_source=notifications&email_token=AFS4DLLL7ZXPIQ5ZXT3OZ6TP7HH3PA5CNFSM4IC4M6F2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G7A2JIQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFS4DLMUB4SW4W2L6AAWVFDP7HH3PANCNFSM4IC4M6FQ
.

--
Best,
Nicole Zhu
Engineer | Product
Parity Technologies | Berlin
Li https://www.linkedin.com/in/nicolezhu/ | Git https://github.com/nczhu
| Blog https://medium.com/@nicolezhu
--
This communication and any attachments are confidential.

Closing this as its not really related to docs. We should maybe open another repo for more speculative ideas around the larger ecosystem?


[feature request] Support for custom command.

In my workflow, I often need to pull from the main branch first, then commit to my current branch, and finally push to main. With so many branches in my project, selecting the right branch from the list each time can be quite frustrating. Would you consider adding a custom command feature like the one in Sourcetree?
我的工作流中需要经常先从main pull后，先提交本分支，再推送至main。且项目分支众多，每次从分支列表中选择分支都很痛苦。是否考虑增加如sourcetree中的自定义命令功能？

I've pushed a simple implementation of this feature. You can download the latest CI build from Github Action.

You need to add a custom action from repository's configuration window

You can run repository's actions from the toolbar button:

or run commit's actions from the context menu of selected commit:


0.15.1

As requested here. cc @ikesyo

Oh I'm sorry, this actually should be 0.16.0 because the requirements are bumped to Xcode 10/Swift 4.2.

#118 Reverted for now.