Not able to start a .net core service

Hi Peter,
Nice work.
Is it possible to start a .net core project from Start() , like this,
var host = new WebHostBuilder()
.UseKestrel(options => { options.AddServerHeader = false; })
.UseContentRoot(Directory.GetCurrentDirectory())
.UseUrls("http://*:5000")
.UseIISIntegration()
.UseStartup()
.Build();
        host.Run();

I tried this, a service is created . But unfortunately if i try accessing http://localhost:5000 it didnt work.
I am struck on it and any help is really appreciated.

Hello there mate! From what you've written, it seems you might be over complicating it. Basically what you are trying to do is host a website as a service. This lib was meant for hosting microservices where you don't have the luxury of having the WebHostBuilder. Please take a look at this as it might help you. https://docs.microsoft.com/en-us/aspnet/core/hosting/windows-service
If you are looking at building a microservice, then this lib is definitely for you and best way to start is the example provided in the repo. Happy coding ;) (feel free to open the issue again but I am 99% percent sure this will suffice for the problem you are trying to solve)


use srcObject in setSinkId

fixes #1428

Coverage remained the same at 69.931% when pulling 56516d46d1dac2936df1dc6e22e9975fc8522cd3 on srcobject-1428 into a497c33b852028643f206c10f4add79bf58119e0 on master.


PBS scheduling reports error on the generated PBSCluster job scripts

Hello,
I've been trying to invoke dask in data processing work by asking for more memory using dask-jobqueue (v0.7.1) on an HPC cluster that uses PBS scheduling. The following are the steps I used based on this Dask jobqueue Documentation.
from dask_jobqueue import PBSCluster
from dask.distributed import Client

cluster = PBSCluster(cores=24,
                     memory="108GB",
                     queue="internal",
                     project="ERTH0834",
                     resource_spec="select=1:ncpus=24:mem=120GB",
                     walltime="05:00:00",
                     interface="ib0",
                     scheduler_options={"dashboard_address": ":9375"})

cluster.scale(jobs=8)
client = Client(cluster)

After running this script I was expected things to work just fine, but I am getting error message like the following:
Task exception was never retrieved
future: <Task finished coro=<_wrap_awaitable() done, defined at /home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/asyncio/tasks.py:596> exception=RuntimeError('Command exited with non-zero exit code.\nExit code: 32\nCommand:\nqsub /var/tmp/pbs.2985597.sched01/tmpzidjg2zw.sh\nstdout:\n\nstderr:\nqsub: Error: You must request a project with -P <project>.\n\n')>
Traceback (most recent call last):
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/asyncio/tasks.py", line 603, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/site-packages/distributed/deploy/spec.py", line 50, in _
    await self.start()
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/site-packages/dask_jobqueue/core.py", line 310, in start
    out = await self._submit_job(fn)
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/site-packages/dask_jobqueue/core.py", line 293, in _submit_job
    return self._call(shlex.split(self.submit_command) + [script_filename])
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/site-packages/dask_jobqueue/core.py", line 393, in _call
    "stderr:\n{}\n".format(proc.returncode, cmd_str, out, err)
RuntimeError: Command exited with non-zero exit code.
Exit code: 32
Command:
qsub /var/tmp/pbs.2985597.sched01/tmpzidjg2zw.sh
stdout:

stderr:
qsub: Error: You must request a project with -P <project>.

When I print the job script it generates the following scripts where I am getting -A for project key instead of -P as normally required by PBS scheduling.
#!/usr/bin/env bash

#PBS -N dask-worker
#PBS -q internal
#PBS -A ERTH0834
#PBS -l select=1:ncpus=24:mem=120GB
#PBS -l walltime=05:00:00

/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/bin/python -m distributed.cli.dask_worker tcp://<IP_ADDRESS>:37047 --nthreads 24 --memory-limit 108.00GB --name name --nanny --death-timeout 60 --interface ib0

I thought there may be a way to update -A with -P, but I am stuck. Please, any help would be greatly appreciated.
Many thanks in advance,
Djeutsch

That's not normal for PBS according to http://docs.adaptivecomputing.com/torque/4-0-2/Content/topics/commands/qsub.htm (but I don't use PBS, so maybe this info is outdated?).
You can always use the job-extra kwarg to set unusual/alternative parameters, in this case
job-extra=['-P ERTH0834'],

should hopefully do the job.

@ocaisa,  That fixes the error issue but the job submission is not going through as it generates the following message
Task exception was never retrieved
future: <Task finished coro=<_wrap_awaitable() done, defined at /home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/asyncio/tasks.py:596> exception=RuntimeError('Command exited with non-zero exit code.\nExit code: 159\nCommand:\nqsub /var/tmp/pbs.2986504.sched01/tmps3km33i4.sh\nstdout:\n\nstderr:\nqsub: Unauthorized Request \n\n')>
Traceback (most recent call last):
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/asyncio/tasks.py", line 603, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/site-packages/distributed/deploy/spec.py", line 50, in _
    await self.start()
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/site-packages/dask_jobqueue/core.py", line 310, in start
    out = await self._submit_job(fn)
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/site-packages/dask_jobqueue/core.py", line 293, in _submit_job
    return self._call(shlex.split(self.submit_command) + [script_filename])
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/site-packages/dask_jobqueue/core.py", line 393, in _call
    "stderr:\n{}\n".format(proc.returncode, cmd_str, out, err)
RuntimeError: Command exited with non-zero exit code.
Exit code: 159
Command:
qsub /var/tmp/pbs.2986504.sched01/tmps3km33i4.sh
stdout:

stderr:
qsub: Unauthorized Request

@ocaisa,  That fixes the error issue but the job submission is not going through as it generates the following message
Task exception was never retrieved
future: <Task finished coro=<_wrap_awaitable() done, defined at /home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/asyncio/tasks.py:596> exception=RuntimeError('Command exited with non-zero exit code.\nExit code: 159\nCommand:\nqsub /var/tmp/pbs.2986504.sched01/tmps3km33i4.sh\nstdout:\n\nstderr:\nqsub: Unauthorized Request \n\n')>
Traceback (most recent call last):
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/asyncio/tasks.py", line 603, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/site-packages/distributed/deploy/spec.py", line 50, in _
    await self.start()
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/site-packages/dask_jobqueue/core.py", line 310, in start
    out = await self._submit_job(fn)
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/site-packages/dask_jobqueue/core.py", line 293, in _submit_job
    return self._call(shlex.split(self.submit_command) + [script_filename])
  File "/home/ldjeutchouang/scratch/CONDA/envs/researchPy37/lib/python3.7/site-packages/dask_jobqueue/core.py", line 393, in _call
    "stderr:\n{}\n".format(proc.returncode, cmd_str, out, err)
RuntimeError: Command exited with non-zero exit code.
Exit code: 159
Command:
qsub /var/tmp/pbs.2986504.sched01/tmps3km33i4.sh
stdout:

stderr:
qsub: Unauthorized Request

I assume that submitting the jobscript by hand results in the same error, so I would compare it to examples you have for your site to understand where the issue is coming from (or ask the admins to take a look at the jobscript). Try manually tweaking the jobscript until you can get it to submit correctly. Once you know what the script should look like, you can figure out how to tweak your cluster configuration.

Totally agree with @ocaisa. You probably have some qsub option that don't work with your cluster's restrictions. Maybe try to remove the project="ERTH0834", part? Or maybe this comes from the resources_spec.

Totally agree with @ocaisa. You probably have some qsub option that don't work with your cluster's restrictions. Maybe try to remove the project="ERTH0834", part? Or maybe this comes from the resources_spec.

Closing as stalled. @Djeutsch feel free to reopen if  you've got something to add.


Fixes #91

Renames  the Scripts folder to scripts.
Removes trailing whitespaces in Scripts/pycairoinstall.py

Does it actually? The diff only shows the whitespaces being removed

Does it actually? The diff only shows the whitespaces being removed

Huh, apparently git doesn't care about directory renames.

I also tried the same and got disappointed. @Aathish04

I also tried the same and got disappointed. @Aathish04

You could have told us then. It's not a noticeable change...

Wait.

The URL in the master branch is the proper one.
It points to https://raw.githubusercontent.com/ManimCommunity/manim/master/scripts/pycairoInstall.py
Which is what the link should be.
After this is merged, the proper file will be in that location.


relates to #2321: delete keyspaces on the integration test end

What this PR does:
Running all tests on a single env creates a lot of keyspaces, thus delete after each test. CI times should remain more or less the same.
Which issue(s) this PR fixes:
Relates to #2321

@tatu-at-datastax Would this also be enough for rest tests?

@tatu-at-datastax Would this also be enough for rest tests?

I was wondering about that, it'd be good to clean up if number of keyspaces becomes an issue (which apparently it does).
But it would need changes I think since REST tests create separate keyspace for every test method (not just per class) and so either deletion should be after every test, or iterating over all keyspaces (with given prefix?) after all tests are run.

@tatu-at-datastax I am going to merge this one and then create a separate issue for rest tests.. I am not sure why would you need a keyspace per test method, is this a requirement?

@tatu-at-datastax I am going to merge this one and then create a separate issue for rest tests.. I am not sure why would you need a keyspace per test method, is this a requirement?

It is inherited from existing tests (that is, it has always been done this way since I started): it allows all tests start from an empty dedicated keyspace without having to clean up after test. For some tests this doesn't really matter (row CRUD ones create test-specific tables anyway), for others it does (creating tables, testing to see keyspace only has table test method created and nothing else).


add link to the repo to start of file?

Hi,
While inspecting a local web app I noticed this script. Needless to say I didn't have a clue as to why it was appear "in" my simple app.  It would have saved me a lot of effort if the file included a link to this repo.
Thanks,
Tim

Hey!
We've recently started doing this for another feature. I think this is a very good suggestion.
I'll add this to our next build so that people can find where to raise issues like this 👍🏻

Closing this out, it will be in the next release of the code :)


Random crashes in watcher

From time to time, I see this in the ovn-k8s-watcher logs:
ovn-k8s-watcher[10746]: ovs| 2533| watcher  (GreenThread-3) | ERR | Failure in watcher EndpointWatcher
                                                        Traceback (most recent call last):
                                                          File "/usr/local/lib/python2.7/dist-packages/ovn_k8s/watcher/watcher.py", line 59, in _process_func
                                                            watcher.process()
                                                          File "/usr/local/lib/python2.7/dist-packages/ovn_k8s/watcher/endpoint_watcher.py", line 80, in process
                                                            self._process_endpoint_event)
                                                          File "/usr/local/lib/python2.7/dist-packages/ovn_k8s/common/util.py", line 77, in process_stream
                                                            line = next(data_stream)
                                                        StopIteration
ovn-k8s-watcher[10746]: ovs| 2534| watcher  (GreenThread-3) | WARN | Regenerating watcher because of "" and reconnecting to stream using function _create_k8s_endpoint_watcher
gcp-next-master ovn-k8s-watcher[10746]: 2017-02-24T16:14:09Z | 2533| watcher  (GreenThread-3) | ERR | Failure in watcher EndpointWatcher
 ovn-k8s-watcher[10746]: Traceback (most recent call last):
ovn-k8s-watcher[10746]:   File "/usr/local/lib/python2.7/dist-packages/ovn_k8s/watcher/watcher.py", line 59, in _process_func
ovn-k8s-watcher[10746]:     watcher.process()
ovn-k8s-watcher[10746]:   File "/usr/local/lib/python2.7/dist-packages/ovn_k8s/watcher/endpoint_watcher.py", line 80, in process
ovn-k8s-watcher[10746]:     self._process_endpoint_event)
ovn-k8s-watcher[10746]:   File "/usr/local/lib/python2.7/dist-packages/ovn_k8s/common/util.py", line 77, in process_stream
ovn-k8s-watcher[10746]:     line = next(data_stream)
ovn-k8s-watcher[10746]: StopIteration
ovn-k8s-watcher[10746]: 2017-02-24T16:14:09Z | 2534| watcher  (GreenThread-3) | WARN | Regenerating watcher because of "" and reconnecting to stream using function _create_k8s_endpoint_watcher

Is this normal?

Yes. That is normal. The stream connection to API server times out and then you reconnect. I think it needs to be improved.

I have heard that the 'timeout' is configurable. So that needs to be investigated.
Right now, during a reconnection, you effectively, get all the events again, and we waste cycles processing them.  Something better needs to be done here.

Thank you for clarifying. I'm OK if you want to close the issue but I'll leave it open in case someone else comes looking.

If this is normal / expected, it would be nice to catch the exception and just log that a reconnection is happening.  A traceback always looks like an unexpected error condition to me.

I sent in a pull request that does not show backtrace for this particular type of issue.


Fix compilation in D3D cases

Fix issue #388

Ok. I see that in CmakeLists.txt we have this path already included :
include_directories (${CLConform_SOURCE_DIR}/test_common/harness
then enough is to add:
#include "testHarness.h"


[DRAFT] go.mod: update module versions

graphql generation code has changed, that still needs fixing.

Can we update golang to 1.16 also with this PR ?

We need to update .travis.yml also to use go 1.16 for checks.


Use the full path of archives when linking

Instead of passing -I <path> file.cma to the compiler, pass -I <path> <path>/file.cma.
Fixes #118 and #177.
Using the full path should also be slightly faster as the compiler won't have to do the lookup through all include paths. The only drawback is that it makes linking command line slightly longer, maybe that's a problem for Windows (cc @dra27).

After some googling, the command line limit seems to be 32767, so we should still be good. We can go through response files when it starts to be an issue


Repair Safegraph changeset from #309

What was done:

#309 was merged to deploy-safegraph
Those changes were propagated to main to unblock downstream work
#336 was merged to deploy-safegraph to back out those changes, to attempt to resolve a failing Safegraph pipeline run

What should happen next:

[ ] Verify that Safegraph now runs to completion (ETA Wednesday morning)
[ ] Fix #309
[ ] Reapply to deploy-safegraph
[ ] Propagate to main

Relevant log segment from pipeline run:
Starting step [id=9850|step_id=69|name=Run Indicator: SafeGraph]
   Running cmd...
Purging ./receiving...
Running the indicator...
Completed 256.0 KiB/98.9 MiB (1.2 MiB/s) with 1 file(s) remaining
Completed 512.0 KiB/98.9 MiB (2.3 MiB/s) with 1 file(s) remaining
[...]
Completed 98.1 MiB/98.9 MiB (169.6 MiB/s) with 1 file(s) remaining
Completed 98.4 MiB/98.9 MiB (169.8 MiB/s) with 1 file(s) remaining
Completed 98.6 MiB/98.9 MiB (170.0 MiB/s) with 1 file(s) remaining
Completed 98.9 MiB/98.9 MiB (170.3 MiB/s) with 1 file(s) remaining
download: s3://sg-c19-response/social-distancing/v2/2020/10/16/2020-10-16-social-distancing.csv.gz to ../../../../common/safegraph/social-distancing/2020/10/16/2020-10-16-social-distancing.csv.gz
Traceback (most recent call last):
  File "/home/indicators/.pyenv/versions/3.8.2/lib/python3.8/runpy.py", line 193, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/indicators/.pyenv/versions/3.8.2/lib/python3.8/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/indicators/runtime/safegraph/delphi_safegraph/__main__.py", line 11, in <module>
    run_module()  # pragma: no cover
  File "/home/indicators/runtime/safegraph/delphi_safegraph/run.py", line 64, in run_module
    pool.map(process_file, files)
  File "/home/indicators/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/pool.py", line 364, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
  File "/home/indicators/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/pool.py", line 768, in get
    raise self._value
  File "/home/indicators/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/pool.py", line 537, in _handle_tasks
    put(task)
  File "/home/indicators/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/connection.py", line 206, in send
    self._send_bytes(_ForkingPickler.dumps(obj))
  File "/home/indicators/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/reduction.py", line 51, in dumps
    cls(buf, protocol).dump(obj)
AttributeError: Can't pickle local object 'run_module.<locals>.process_file'
Copying files to the ingestion directory...
cp: cannot stat ‘receiving/202009*’: No such file or directory
   Fail [cmd=sudo -u indicators -s bash -c "cd /home/indicators/runtime/safegraph && bash run-safegraph.sh"]

The AttributeError: Can't pickle local object 'run_module.<locals>.process_file' message likely corresponds to pickling a local function, which apparently does not generally work.  I will try to rewrite to use itertools.partial.

I also inadvertently changed the output file format to write the date as YYYY-MM-DD rather than YYYMMDD, which caused the cp: cannot stat ‘receiving/202009*’: No such file or directory error.  Fixed and re-running indicator to verify the behavior is correct.

Can this issue be closed now that #345 is in?


feat(calendar): add slots

Types of changes

[x] New feature

Background and context

This PR introduces two new slots to the Calendar component:

A header slot for custom header content.
A default slot for rendering custom content in each date cell.

The addition of these slots increases the flexibility and customization options for the Calendar component.
Solution

Added two slots to the Calendar component:

header slot: Allows users to customize the header section of the calendar.
Default slot: Allows users to provide custom content to be rendered in each date cell.
These slots are optional and do not break existing functionality.

How is the change tested?

Manually tested to ensure that the slots work as expected.
Changelog

Component
Changelog(CN)
Changelog(EN)
Related issues

Calendar
新增header和default插槽
Added header and default slots for customization.
#2658

Checklist:

[x] Test suite passes (npm run test)
[x] Provide changelog for relevant changes (e.g. bug fixes and new features) if applicable.
[x] Changes are submitted to the appropriate branch (e.g. features should be submitted to feature branch and others

Other information

This feature enhances the Calendar component without introducing any breaking changes. Users can opt to use these slots for more advanced customization, or continue to use the component as-is without any changes.

close #2393

@kinggq ++ close #2393

What?

- Related issues: #2658
+ Related issues: #2658 #2393


Propagating Secrets form Github Actions into Digital Ocean App

When following the docs in the GH marketplace, I cannot get the secrets or vars to propagating into my DO app.
This is my configuration, it is exactly like the docs.
When I commit this main the deployment runs but the values do not propagate to Digital Ocean.
app.yaml
name: bionysus
envs:
  - key: TEST_VAIRIABLE_FROM_REPSOITORY
    scope: RUN_AND_BUILD_TIME
    value: ${SOME_VAIRIABLE_FROM_REPSOITORY}
    type: GENERAL
  - key: TEST_SECRET_FROM_GITHUB
    scope: RUN_AND_BUILD_TIME
    value: ${SOME_SECRET_FROM_REPOSITORY}
    type: SECRET
services:
  - environment_slug: node-js
    name: nextjs
    github:
      repo: bionysus/digital_ocean_app_platform
      branch: main
      deploy_on_push: true
    source_dir: nextjs
    routes:
    - path: /
functions:
  - name: serverless-functions
    github:
      repo: bionysus/digital_ocean_app_platform
      branch: main
      deploy_on_push: true
    source_dir: serverless_functions
    routes:
    - path: /functions

workflow/deploy_app.yml
name: Update App

on:
 push:
   branches: [main]

jobs:
 deploy-app:
   runs-on: ubuntu-latest
   steps:
     - name: Checkout repository
       uses: actions/checkout@v4
     - name: Deploy the app
       uses: digitalocean/app_action/deploy@v2
       env:
        SOME_SECRET_FROM_REPOSITORY: ${{ secrets.SOME_SECRET_FROM_REPOSITORY }}
        SOME_VAIRIABLE_FROM_REPSOITORY: ${{ env.SOME_VAIRIABLE_FROM_REPSOITORY }}
       with:
         token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}

Do you have any idea what I am doing wrong?

@eyalch. I can see you made some changes around this functionality recently. Have you got it to work reliably? Perhaps you can see some issue with my configuration.

You have a typo in that secret ref SOME_VAIRIABLE_FROM_REPSOITORY. Can you ensure that the secret in Github is actually named this way? Things have seem to gone fine for TEST_SECRET_FROM_GITHUB

Thanks Mark. 100% typos. I also was accessing the variables incorrectly inside Github actions. env.SOME_VAR is incorrect, vars.SOME_VARS is correct. Long day!

However I have stumbled across a slightly more interesting issue.
In my app I use some serverless functions, these are referenced in the .do/app.yaml but are configured in serverless_functions/project.yaml.
serverless_functions/project.yaml
packages:
    - name: native-auth
      shared: false
      environment:
        DB_CA_CERT: "${DB_CA_CERT}"
        DB_PORT: "${DB_PORT}"
        DB_USER: "${DB_USER}"
        DB_HOST: "${DB_HOST}"
        DB_NAME: "${DB_NAME}"
        DB_PASSWORD: "${DB_PASSWORD}"
        SG_API_KEY: "${SG_API_KEY}"
        SG_SENDER_ADDRESS: "${SG_SENDER_ADDRESS}"
        JWT_SECRET: "${JWT_SECRET}"
      functions:
        - name: generate-token
          binary: false
          runtime: nodejs:18
          web: true
        - name: verify-token
          binary: false
          runtime: nodejs:18
          web: true

snapshot of .do/app.yaml.
name: tester
envs:
  - key: DB_CA_CERT
    value: ${DB_CA_CERT_GITHUB}
    scope: RUN_AND_BUILD_TIME
    type: SECRET

These References work when envs values are 'hardcoded' in .do/app.yaml. But when I replace those hardcoded env values with github secrets and vars I get buildtime errors.
It seems that when building the serverless functions in Digital Ocean, the github injected values are not there! I get the following error.

I wonder if this is something to do with my mono repo style setup. Or weather there is a 'trick' I am missing to make these environment variables available to the serverless functions too.
@markusthoemmes - would you be able to shed some light?
Is it worth me changing the title of this issue?

To the system, there's no difference between "Github injected values" and "hardcoded values" really. The substitution is done in the Github Action and so to App Platform, it's all the same.
As such: Are you correctly connecting the dots by passing the DB_CA_CERT_GITHUB secret into the action as an env var, so that it can replace it in app.yaml?

@md-coops any news on this one? Have you been able to get things into a working state?

Gonna consider this solved. Feel free to reopen if you're still having trouble.


SIGTRAP

cloned and built according to instructions, then ran program:
ASSERTION FAILED: (argc == 3) in /home/fuze/code/gits/wcp/src/wcpMain.cpp:23
fish: Job 1, './wcp' terminated by signal SIGTRAP (Trace or breakpoint trap)
Running up to date Arch.

Ah yeah, you need to give it some arguments. Atvtye moment it just asserts that there are two arguments. It should probably print a usage message.

https://github.com/wheybags/wcp/commit/e1023491f8d748d26eb44a74f4318083caedfa31 adds a more friendly error message. Thanks for the report!


main.py refactoring

Hey guys,
I'm currently looking into writing tests for the app. I've finding some of the code slightly tough to test; I was thinking of refactoring main.py to be a little more object oriented, which I think would make it easier to test. Does this sound like something that would make sense to you guys?
Thanks!
Andy :)

Absolutely!

I'm closing this since the PR has been merged.


Connect socket in create_channel

grpclib connects the socket lazily, but we can force it to connect on creation (and not on the first call) by calling an internal method. This solves a weird test failure in https://github.com/modal-labs/modal-client/pull/2439#pullrequestreview-2412843577
Once we remove ClientHello, checking connection upfront is I think a bit better since it will fail in the proper context and not later. It means we can still fail fail on client construction in many cases (although some issues like failing credentials will be raised lazily). It means we can remove a few dummy hello calls in tests in #2439

Turns out we're using create_channel in a bunch of internal code, so it's a bit annoying to change the signature (to async)


A Protocol Economics user SBAT have some monitoring dashboards

Expected Behavior
As a Protocol Economics user I should be able to use some dashboards to visualized the following key indicators:

[ ] Protocol Stability
[ ] Proof of Stake
[ ] Basic monitoring

Current Behavior
The described metrics are not easily accessible


⚠ Jenkins Plugins Artifactory has degraded performance

In e9d50e7, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1429 ms

Resolved: Jenkins Plugins Artifactory performance has improved in ea405f9 after 4 hours, 24 minutes.


Implement visual calculator

Implement a page that shows exactly how to calculate the DOTW of a date the user enters.

done with 86bf6fa4d38ee58b81e7ac0fdb6498bd1bd465a0


VS Code Speech does not work on mac

Testing #205524
Nothing seems to be happening when I say something and release the keyboards.
I've tried this manually clicking on the mic icon in chat and still no joy.
Its as though my audio isn't getting picked up by VS Code, I can confirm that audio is working, tried in slack and teams.
No relevant logs, no errors in vscode (not even in VS Code Speech output channel)
Here's the log from VS Code Speech

I clicked the Mic icon
I said generate guid in Python
Then clicked the mic icon again

2024-02-21 09:31:43.381 [trace] [vscode-speech-3] starting speech-to-text session
2024-02-21 09:31:43.381 [trace] [vscode-speech-3] started speech-to-text session
2024-02-21 09:31:46.722 [trace] [vscode-speech-3] disposing speech-to-text session
2024-02-21 09:31:46.877 [trace] [vscode-speech-3] speech start detected
2024-02-21 09:31:46.877 [trace] [vscode-speech-3] recognizing: Play
2024-02-21 09:31:46.885 [trace] [vscode-speech-3] recognizing: Start
2024-02-21 09:31:46.891 [trace] [vscode-speech-3] speech end detected
2024-02-21 09:31:46.891 [trace] [vscode-speech-3] recognized: Start
2024-02-21 09:31:47.002 [trace] [vscode-speech-3] stopped speech-to-text session

My details

MacOS
Version: 1.87.0-insider
Commit: 01ce8d869e4220577e194b2dd57bfa12437dfcf5
Date: 2024-02-20T02:04:15.870Z (21 hrs ago)
GitHub Copilot v1.162.714 (pre-release)
GitHub Copilot Chat v0.13.2024022003 (pre-release)
VS Code Speech v0.5.2024021516 (pre-release)

https://github.com/microsoft/vscode/issues/205524#issuecomment-1955520610

Wait, it works fine for me on macOS using Cmd+I as the push-to-talk keybind.
I had a prompt show up that said I had to give mic permissions to VS Code Insiders. Maybe that's the issue?

I never got this prompt

@DonJayamanne is Code Insiders listed here in permissions for microphone:


Unknown Proxy Error

Some proxies will work perfectly fine with the configuration I'm running but others randomly won't and return this as an error:

Exception in thread [google]HttpScrape:
Traceback (most recent call last):
File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
self.run()
File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/GoogleScraper/http_mode.py", line 298, in run
super().before_search()
File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/GoogleScraper/scraping.py", line 373, in before_search
if not self.proxy_check(self.proxy):
File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/GoogleScraper/http_mode.py", line 221, in proxy_check
super().update_proxy_status(status, ipinfo, online)
File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/GoogleScraper/scraping.py", line 388, in update_proxy_status
proxy = self.session.query(db_Proxy).filter(self.proxy.host == db_Proxy.ip).first()
File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/sqlalchemy/orm/query.py", line 2659, in first
ret = list(self[0:1])
File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/sqlalchemy/orm/query.py", line 2457, in getitem
return list(res)
File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/sqlalchemy/orm/query.py", line 2761, in iter
return self._execute_and_instances(context)
File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/sqlalchemy/orm/query.py", line 2774, in _execute_and_instances
close_with_result=True)
File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/sqlalchemy/orm/query.py", line 2765, in _connection_from_session
**kw)
File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/sqlalchemy/orm/session.py", line 893, in connection
execution_options=execution_options)
File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/sqlalchemy/orm/session.py", line 898, in _connection_for_bind
engine, execution_options)
File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/sqlalchemy/orm/session.py", line 313, in _connection_for_bind
self._assert_active()
File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/sqlalchemy/orm/session.py", line 214, in _assert_active
% self._rollback_exception
sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (sqlite3.IntegrityError) UNIQUE constraint failed: proxy.ip, proxy.port [SQL: 'UPDATE proxy SET ip=?, hostname=?, online=?, status=?, checked_at=?, city=?, region=?, country=?, loc=?, org=?, postal=? WHERE proxy.id = ?'] [parameters: ('<IP_ADDRESS>', '<IP_ADDRESS>.bc.googleusercontent.com', 1, 'Proxy is working.', '2016-05-28 06:51:53.871728', 'Mountain View', 'California', 'US', '37.4192,-122.0574', 'AS15169 Google Inc.', '94043', 110)]
I'm not sure what the problem is with some of these proxies but please help.

GoogleScraper --clean

This fixed it.


Images already loaded

Hi,
I'm trying to lazy loading an horizontal list of images but all images already loaded without me having to scroll right.
This is my code.

                  {{episode.label}}
                  {{episode.title}}

{{episode.first_aired | date : 'EEEE, MMMM d, y h:mm a'}}

And this is the resulted HTML code

Any idea?
Thanks.

Sorry, in the code it's only about vertical scrolling. You will have to adapt the view calculation that it also takes notice off x-as. Since we have no usecase for it that was left out.

The issue is also on vertical scrolling. I have a list of seasons and for each seasons I have a list of episodes with an image for each episodes.

                    {{season.name}}

                {{season.episode_count}} episodes

                                {{episode.label}}
                                {{episode.title}}

{{episode.first_aired | date : 'EEEE, MMMM d, y h:mm a'}}

So you url is a scrollable container? How do you use 'ep-screenshot', in other words how heigh is it without an image being loaded? It is easier to debug when sample can be triggered in the browser :)

So you url is a scrollable container?

It is the list of episodes which is a scrollable container.

How do you use 'ep-screenshot', in other words how heigh is it without an image being loaded?

div.ep-screenshot
{
    width: 100%;
    height: 166px;
    border: 1px solid @bunker-color;
    position: relative;
}

I will try without the afkl-image-container directive.

Sorry, do you have it somewhere online?

Yes, but I can't give you the URL here. It's actually private for testing purpose. Can you give me your email ?

See https://github.com/afklm/ng-lazy-image/blob/master/package.json Maarten

So... It work now after cleaning my code (HTML and CSS).

Sorry about the inconvenience. And thanks for your help.


Swift 4 Migration

😱

I know I keep putting this off. I'm scared.

Recently finished the conversion at work, it wasn't anywhere near as bad as updating from Swift 3 - don't think it'll cause us many issues on this size of codebase
but now that Xcode 9 has been released, don't see why not!

At least we don’t gave Obj-C... @objc x 100

Wanted to tackle this, but the build at compiling source files - but only when trying to migrate. Any of you have the same issue? I am trying to update only the Freetime + FreeTimeTests targets

Haven't tried this project, but other ones have been fine -- I'll give it a run later see how it goes

@BasThomas Issue is caused by Apollo, the version we have doesn't have a compatible version for us so we need to update. They have fixed it but I do recall @rnystrom saying something is wrong with the newer versions (Can't recall what)

Only that newer versions break everything. I'll file a task to upgrade apollo vers.

Oh not much then 😂
Having a quick look now to see what can be done, but it's not looking good 😞

done 😄


Translate legacy "bundle dependencies" to properties.

Operator dependencies are expressed as properties, but there was
initially a notion of dependencies as distinct from properties. For
that reason, catalog-operator must support existing catalog images
that serve separate Bundle.dependencies and Bundle.properties fields
by translating the three legacy dependency types (olm.label,
olm.package, and olm.gvk) into their corresponding properties.

/lgtm

/cherry-pick release-4.7


Custom DispatchClass

It will be good if we can define custom DispatchClass on top of the existing ones.
This will allow us to have more control on the block space usages. e.g. we can define certain transactions can only use up to x% of the block spaces.
Use case: I am designing a pallet to replace the pallet-scheduler that uses offchain worker + unsigned tx to trigger scheduled call instead of on_initlaize hook, to eliminate potential overweight / panic issue. In order to limit of amount block spaces that a scheduled task can use, I would like to define a custom DispatchClass. This will allow me to define limits for custom DispatchClass with BlockWeights to ensure scheduled tasks can never use more than x% of block spaces.

I am designing a pallet to replace the pallet-scheduler that uses offchain worker + unsigned tx to trigger scheduled call instead of on_initlaize hook, to eliminate potential overweight / panic issue.

That sounds like an overkill :D Wouldn't having a hook that runs after inherents are applied be enough?

That could still overweight / panic and brick the chain? The benefit of unsigned tx is that it is optional to include them. Hooks are mandatory unless something like https://github.com/paritytech/substrate/issues/8740 is implemented.

But in this hook you can check the current weight consumption. on_initialize would already have been run and if that would have already used too much weight, you skip running the scheduled call for the current block and try again in the next block. I think overweight is solved with this. Panicking can not be solved by this, but you should not panic anyway :P

The main concern is about under estimated weights, which similar to panic, is not something suppose to happen, but still could happen.
Also not just about weights, as well as PoV size, which we don't yet have the ability to benchmark for.

But even for PoV size your offchain solution will not really help. It can still run above the allowed PoV size.

It is easier ask collators to ban unsigned tx & disable offchain worker than recover a bad block with overflow PoV size due to a hook.

Okay, I mean I will not prevent you from writing your solution :)
Regarding the custom dispatch class, do you think that having a variant that holds some u8 or something would be enough?

Yes another u8 should be enough. I don’t think anyone will want more than 256 additional dispatch class

I feel this is a bit over engineered so closing this.


Replace deprecated slot syntax

I used search and replace with the regex:
 slot="([^"]+)"\n?\s+slot-scope="([^"]+)"
to replace with:
 v-slot:$1="$2"
everywhere except for docs/* and dist/*.
fixes #700

This is needed for vue3

This is needed for vue3

Unfortunately, a straight forward search replace isn't going to work here since the new v-slot syntax requires the template to be at the root of the component.  VGT heavily uses nested slots so to upgrade, we need to do a good amount of re-write.


Add support for eggs

Currently if any python packages are installed as eggs, the tool doesn't detect any licenses for them.
This change adds support for reading licenses of python packages that are installed as eggs.

@lowaa could you please take a look over the changes? It seems I'm not able to add reviewers after I created the PR, that's why I ping you via comment.

Thanks a lot @initialed85 !


Add method tags for proxy classes

Also update the README with working instructions.

Any reason to ignore this minor change that helped me (and would probably help others who use this as a lib)?

I'm integrating your commends on the README, thank you!
However, reagarding the method declaration in the docblock, CacheTool class implements multiple Proxies not just those two methods.
If you find a way to have phpdoc read those methods, then I'll happily accept your PR.

You are totally right, here is the full set of proxy methods. Thanks.

Good to go now.
For reference, please see i.e. the nette Safe repo here: https://github.com/nette/safe/blob/master/src/Safe.php

Released in v8.5.0. Thank you!


[docs]: HOw to achive this MaterialRoute(page: StartupView,  initial: true, path: '/:uiD?', ), // Optional parameter route

Describe the missing piece of documentation
Hi,
I want to implement url like like https://exy.com/jdhdydhst   where 'jdhdydhst' is uiDor id  which is optional if uiDexist then load data from api using uiD if it is not exist then load without is . I have tried many ways to do this but not succussed plz help me how to setupup route
@StackedApp(   routes: [     // MaterialRoute(page: StartupView),     MaterialRoute(       page: StartupView,       initial: true,       path: '/:uiD?',     ), // Optional parameter route     MaterialRoute(page: HomeView), // @stacked-route   ],
Help me how to implement it
Thanks in advance

You'll have to remove the initialRoute part and just use path instead.
You can also remove the ? after the optional path param
And in addition to that you can add a redirect for / to go to /[yourDefaultUid[


Test QGIS plugin

We have an ever-growing of QGIS issues, and we typically notice them weeks after it broke in the code.
The data loading was broken for three months and nobody noticed: https://github.com/Deltares/Ribasim/issues/291
That is because we don't have any kind of automatic tests for the QGIS plugin at the moment.
This is not only the case because it was never prioritized, but also because it is exceptionally hard to do.
This is the case because of two reasons:

GUIs are harder to test than CLI applications or libraries
We don't control the whole stack

To elaborate on the second point: We don't ship QGIS with our plugin, but expect users to install the plugin on top of their existing QGIS application. This means that we are confined by QGIS' API, making testing (and many other things) much harder.
I think this issue needs further discussion, mostly because it is unclear to me if the QGIS plugin is valuable enough to justify that kind of investment. https://github.com/Deltares/Ribasim/issues/321

Let's test whether it works now (with QGIS bugs fixed)

Manual checks needed on:

[ ] adding nodes and edges
[ ] inspect and change the attributes for the tables
[ ] visualize the output in timeseries graphs
[ ] visualize the output in animated maps


session: trap SIGINT in interactive sessions like shells do

The current SIGINT handler in interactive sessions simply ignores it. This is not the behavior of most shells, which respond to SIGINT by restarting the prompt. This patch changes the behavior of DTSh to match that of shells.
Note: I'm unsure what the issue that is mentioned in the code with the pager is: Ctrl+C is properly trapped/handled by less in my Linux setup, and it is never passed to Python. Even trying to signal the process directly with kill -INT $(pidof python3) does not work while the pager is active.
The call to self._vt.pager_exit() is thus just a precaution.

The current SIGINT handler in interactive sessions simply ignores it. This is not the behavior of most shells, which respond to SIGINT by restarting the prompt. This patch changes the behavior of DTSh to match that of shells.

Fair enough ;-)

Note: I'm unsure what the issue that is mentioned in the code with the pager is: Ctrl+C is properly trapped/handled by less in my Linux setup, and it is never passed to Python. Even trying to signal the process directly with kill -INT $(pidof python3) does not work while the pager is active. The call to self._vt.pager_exit() is thus just a precaution.

Definitely right: comments are erroneous and misleading, there is no issue with the pager (with less at least as you say), it's while reading keyboard inputs (the opposite of being in the pager,  actually) that SIGINT causes issues  (the KeyboardInterrupt).
Your patch still fixes that, without messing with signal handlers unnecessarily, it's a better approach, besides better matching the usual behavior of shells.
Before I merge this, would you mind to also fix my poor comments, something like:
            except KeyboardInterrupt:
                # If SIGINT is signaled (e.g. CTRL-C, kill -SIGINT)
                # while reading keyboard inputs,
                # Python will in turn raise KeyboardInterrupt.
                #
                # Most shell behaviors is to just echo "^C" to the TTY
                # and start a new prompt.
                #
                # Pagers usually ingore SIGINT: the call to pager_exit()
                # is just a precaution.
                self._vt.pager_exit()
                self._vt.write("^C")
                continue

Thanks (again).

Apologies it took me so long to get to this. Rebased over current dtsh-next and changed the comment.


use os-specific EOL while creating the copyrightHeader for hygiene checks

Right now, the hygiene checks fail on windows machines because the copyrightHeader standard is being by joining an array of strings with a \n, which doesn't work on Windows with it's CRLF line-endings. This PR addresses that by using OS-specific line endings while building the copyrightHeader standard string.

Hi @kumarharsh, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

@kumarharsh, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;

We don't accept files with CRLF, and the hygiene checks for that. It's not that the copyright header makes it fail, its the rest of the file. Hygiene will barf if it finds any CRLF.

@joaomoreno should there be a .gitattributes file which takes care of this?

also, it was the copyright header which was making it fail, I double-checked that part.

It can't be, the hygiene specifically checks for CRLF and barfs if it finds one. So it is indeed the CRLF that occur after the header that trigger the failure.
.gitattributes is a good idea which we never looked into. I promise to do that soon: #3914.
Meanwhile, if you are on Windows and want to use CRLF for some reason, you can still set core.autocrlf to true, since the hygiene listens to that.

Oh, I just realised what you mean. You have a file that is all CRLF, including the header. So yeah... the hygiene would also barf at the copyright header.
Just use the auto.crlf setting and you'll be fine.
For the future, I believe .gitattributes will definitely be the solution.

@joaomoreno hygine isn't barfing at crlf for me but it does barf on the copyright header and I have core.autocrlf set to true.

This PR #4075 fixes this, sorry didn't see this issueor @kumarharsh PR  before hand.

It should be set to auto.crlf=input instead.
Some how my git had reverted itself to core.autocrlf and even though I was installing git with my preferred LF option it wasn't actually overwriting the global config.


Form submit button disabled after submit

Summary
After submitting the form using the default "submit" button the submit button is disabled and and cannot be resubmitted. On one hand this is good to prevent double submission, but on the other hand if the request fails- like invalid password on login- there is currently no way to reset the form state so it can be submitted again.
Steps to reproduce

Create a form with the default "Submit" button
Fill out the form and press submit

Current Behaviour
The Submit button is permanently disabled and cannot be resubmitted
Expected Behaviour
If the request fails there should be a way to clear the form state so the form can be resubmitted.
Possible Solutions
Add a formClear() function to the arguments of the onSubmit function- i.e.
onSubmit(data: FormDataReturned, utils: { formClear: () => void, etc }): void;

Other feedback
It would be more convenient for consumption if FormDataReturned returned the values as an object instead of an array. It could even be a generic so the type could be user defined. This would however be a breaking change.

hey @jermay do you want the inputs to be resettable like this?
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_reset
I'm not sure why the form would fail if the regex is used correctly. We can add a reset button that would enable the input and submit... but from what i am reading its more that you want the form to reset only when your API fails.
Maybe it would be good to add a resetForm boolean that you or other users could set true if the response fails... but for me it would be easier and better to render a "Thanks for submitting" message on submit, then render a new Form if fail.
what do you think?

You could remove the form after submit then show it again if an error occurs, but I don't think that's how most login forms work. The Moralis login doesn't work that way either. Even just some way to programmatically re-enable the submit button would be helpful as you may have a form that creates some sort of object in the database like a TPS report that you want to submit multiple times without resetting the form at all.
https://www.loom.com/share/8d8083fb99104a73af7eb7989e9e9fe2

hmmmm ok @jermay programatically being able to set the submit button disabled state sounds a great solution @AbhinavMV can you pick this up when you have a moment


[V6]The page always refresh in IE9

Simple to reproduce
import React, { Component, PropTypes } from 'react';
import { Field, reduxForm } from 'redux-form';
@reduxForm({ form: 'login' })
class Form extends Component {
  renderInput() {
    return (
      <Field
        name="test"
        component="input"
        type="text"
      />
    );
  }
  render() {
    return (
      <form ref="form">
        {this.renderInput()}
      </form>
    );
  }
}
export default Form;

No error, but the page auto refresh infinitely.
I using Microsoft Edge with following simulation
Document Mode: 9
User Agent: IE9

can you make a plunker (https://plnkr.co/) reproducing?

Sorry, I found the root cause right now, not related to redux-form, but browser history that IE9 do not support.
I am using react-router-redux to sync the history to redux store, seems when I go to the redux form, it did something initiation that update the redux store.
As history is also located in redux store, seems somehow the history operation fallback to refresh.
At least I removed the syncHistoryWithStore(browserHistory, store) in other file and it works.
I will close this issue.


Different tabular file format compatibility

Inc. CSV, SAV (SPSS metadata), ODS, XLS

Issue of requirement CLARIAH/wp4-requirements#7


UPS GetRates for Standard List Prices with CustomerClassification="53"

We need to query the standard list price to determine our shipping costs. To achieve this, according to the UPS documentation, see https://developer.ups.com/api/reference?loc=en_US#operation/Rate
...the CustomerClassification.Code = "53" must be preset.
In the library I can only find an internal class for this, which cannot be used externally. How can I still query the list price from UPS?
Here is the UPS documentation:
CustomerClassification
object (RateRequest_CustomerClassification) <= 1
Customer classification container. Valid if ShipFrom country or territory is "US"
Code
required
string = 2 characters <= 1
Customer classification code. Valid values:00 - Rates Associated with Shipper Number01 - Daily Rates04 - Retail Rates05 - Regional Rates06 - General List Rates53 - Standard List RatesLength is not validated.If customer classification code is not a valid value please refer to Rate Types Table on page 11. Description string [ 1 .. 35 ] characters <= 1 Customer classification description of the code above. Ignored if provided in the request. Length is not validated.

That's a bug (CustomerClassification is not filled properly at all right now) and a feature (add support for code 53). It's in progress now.

That's fixed in version 2.2.2. Now, you can specify a customer classification code like this:
new UPSProviderConfiguration()
{
    CustomerClassification = UPSCustomerClassification.StandardListRates
}

And that will put "53" in the request.

Any setting of the property UPSProviderConfiguration.CustomerClassification is ignored if shipment.OriginAddress.CountryCode is not "US". Could you please check the method Build() in the class UpsRatingRequestBuilder? The following lines of code are only executed if shipFromUS is true:
var code = ((int)customerClassification).ToString("D2");
request.RateRequest.CustomerClassification = new CustomerClassification() { Code = code };

In my opinion, there should always be a new object of CustomerClassification() { Code = code }. If I ignore the value of shipFromUS, then the response is correct.


odo delete component should delete the .odo/devstate.* files

If odo dev did not get the chance to reset its state files (e.g., it was abruptly killed or not stopped properly) and the OS assigned the previous PID (stored in .odo/devstate.*) to another process, odo dev will never be able to start again on the same platform (unless the user manually deletes those state files). As discussed in https://github.com/redhat-developer/odo/discussions/6958, this happened sporadically on Windows.
The goal of this issue is to make odo delete component also remove those state files. This would be provided as an option to users for starting over when facing similar issues.
And this would also fix https://github.com/redhat-developer/odo/issues/6534
We already have a --files flag for odo delete component which deletes the .odo folder, but might also delete the Devfile if it was originally created by odo.
Acceptance Criteria

[ ] odo delete component and odo delete component --running-in dev should remove the state files
[ ] odo delete component --running-in deploy should not remove the state files
[ ] Add this to the Troubleshooting page: https://odo.dev/docs/troubleshooting

Discussed in https://github.com/redhat-developer/odo/discussions/6958

Originally posted by jochenr July  7, 2023
Hello,
using odo (from vscode's openshift tooling) I sporadically/very often get this error:
Starting odo dev --debug
__
/  __     Developing using the "quarkus-camel-xxx" Devfile
_/  \    Namespace: xxx-dev
/  _/    odo version: v3.11.0
__/

Running on the cluster in Dev mode
X  unable to save state file: a session with PID 25992 is already running on platform "cluster"

Press any key to close this terminal
Environment is
Openshift local
CRC version: 2.20.0+f3a947
OpenShift version: 4.13.0
running on Windows 10
I am not able to finde the cause of the problem.
I'd appreciate some help.
Thank you,
Jochen
/kind task
/area dev

When a session is running, do we want:

to stop the session and delete the devstate file?
to skip the deletion of the associated devstate file?

More information needed, waiting for next cabal call

Stop it, to be sure we are restarting from scratch
We need to find a way to be sure a process with a given pid is really an odo process


Add KevinLMichel's file

Created a branch, created a file, made a commit, and opened a pull request.

Added line 5 quote as practice exercise.


Translations update from Hosted Weblate

Translations update from Hosted Weblate for ResearchEquals/Main platform.
Current translation status:

The slugs for translation are outdated and need to be resolved as in #589 first.


[Feature Request] Export and save the environment information before and after upgrade

Can you be a bit more specific?
Concrete5 environment info? or what exactly?

Yes. Run the concrete/bin/concrete5 c5:info and save the output somewhere.

concrete/bin/concrete5 c5:info doesn't exist pre version 8. So we cant run it before version 8.0.0


Document Kubernetes' use of WebSockets (replacement for SPDY / KEP 4006)

Adds documentation for new alpha TranslateStreamCloseWebsocketRequests feature flag, allowing the control plane to accept WebSockets/V5 upgrade requests.
Adds documentation for new alpha kubectl  environment variable KUBECTL_REMOTE_COMMAND_WEBSOCKETS feature flag, which attempts to use the WebSockets protocol for kubectl exec, kubectl cp, and kubectl attach when it is set.

/sig api-machinery

/retitle [WIP] Document Kubernetes' use of WebSockets (replacement for SPDY / KEP 4006)

Hello @seans3 👋, please take a look at Documenting for a release - PR Ready for Review to get your PR ready for review before Tuesday 14th November 2023. Thank you!

retarget this against the dev-1.29 branch, lgtm otherwise

/assign

/remove-language de
/remove-language es
/remove-language fr
/remove-language id
/remove-language ru
/remove-language uk
/remove-language vi
/remove-language zh
/remove-area blog

/remove-language it

/lgtm

/approve


feat: add windows support

Describe your changes
Tested to work on windows and linux with same lockfile
winloop is not present on linux, uvloop does not attempt to install on windows
Related Issues / Projects
Supersedes #527
Checklist

[x] I've manually tested my code

When this got merged. It's not possible to even use it without proper step by step guide. @cmyui

Just.. run it? You literally just run bpy.


Failed to resolve com.github.allan1st:JellyRefreshLayout:2.0

Hi, I'm trying to use your library but it seems that it is not available anymore?

Hi! This could be a configuration problem or network issue.
Please follow the README file or https://jitpack.io/#imallan/JellyRefreshLayout instructions and see if you can reproduce it.


Line plot with several groups broke

In https://d3-graph-gallery.com/graph/line_several_group.html
"d3.nest" no longer exists. This should be re-written to use d3.group.
P.S. note at the bottom says "fill a bug" instead of "file a bug"

Specifically I'm using d3 v7 and it broke


Constructor argument inconsistency in Polygon geometry

The polygon geometry constructor takes an CoordinateList for the exteriorRing argument. Internally needed is "only" a ICoordinateList.

Change implemented in the repository. It will be included in the next release.


Linking 'mailto' fails on Arabic chars in subject or body

Description
I am using Linking to send email.
const subject = 'Hello!';
const body = 'Hello-World';
const email =<EMAIL_ADDRESS>const url = `mailto:${email}?subject=${subject}&body=${body}`;

console.log("Call Email",url);

Linking.canOpenURL(url).then(supported => {
  if (supported) {
    Linking.openURL(
     url,
    );
  } else {
    console.log('Link not supported');
  }
});

on IOS Simulator:
Call Email mailto:feedback@company.com?subject=Hello!&body=Hello-World
Link not supported
on Real Device:
if latin text, email starts
if a single Arabic letter is used in either subject or body, linking fails:
2023-08-08 10:19:11.825896+0300 ReproducerApp[1093:82746] -canOpenURL: failed for URL: "file:///private/var/containers/Bundle/Application/3D8C6C2C-8A93-4B38-839B-B16E6D0B0E35/ReproducerApp.app/mailto:feedback@comany.com%3Fsubject=Hello!&body=Hello-%D8%A7%D9%93%D8%AE%D9%85%D8%AD"

error: "The operation couldn’t be completed. (OSStatus error -10814.)"
2023-08-08 10:19:11.827546+0300 ReproducerApp[1093:82956] [javascript] Link not supported

React Native Version
0.72.3
Output of npx react-native info
info Fetching system and libraries information...
System:
OS: macOS 13.4.1
CPU: (10) arm64 Apple M2 Pro
Memory: 520.55 MB / 16.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.16.1
path: /usr/local/bin/node
Yarn:
version: 1.22.19
path: /usr/local/bin/yarn
npm:
version: 9.5.1
path: /usr/local/bin/npm
Watchman:
version: 2<IP_ADDRESS>
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.12.1
path: /Users/saadalla/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 22.4
- iOS 16.4
- macOS 13.3
- tvOS 16.4
- watchOS 9.4
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode:
version: 14.3.1/14E300c
path: /usr/bin/xcodebuild
Languages:
Java:
version: 11.0.19
path: /usr/bin/javac
Ruby:
version: 2.7.5
path: /Users/saadalla/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.72.3
wanted: 0.72.3
react-native-macos: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: false
Steps to reproduce
run code using Xcode on real iOS device
add any Arabic chars [آخنميشثص] to subject or body, email fails
Snack, screenshot, or link to a repository
https://github.com/saadalla/RN-Linking-email-error.git

Hi @saadalla, due to the fact that Arabic is not in a standard encoding, you need to use encodeURIComponent to convert specific characters into escape sequences representing the UTF-8 encoding of the character before executing the Linking.canOpenURL/Linking.openURL function, as shown in the example below:
const email =<EMAIL_ADDRESS>const subject = 'Hello!';
const body = 'آخنميشثص';
const url = `mailto:${email}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;
Linking.openURL(url);


[Feature request] Add "Value mapping" support

I'm submitting a ...

[ ] Bug report
[X] Feature requestdd
[ ] Question / Support request

Hello can you add value mapping support?
I have in one "valuemap" 800 values and 240 values in other. I just import their to zabbix from *.xml, but grafana does not have import functionality, and creating 800 values manually is difficult.

@frogour which panel do you want to use with value mapping? Singlestat, Table?

yes, singlestat and table.

It's not a plugin feature.


Hold a reference to collection instead of create one for each request

Description
For tenant manager in riddler and get delta in alfred, we resolve collections for every request. The metric for db request is collected periodically and using object created on each request would not collect data properly.

Thanks for this PR, @zhangxin511 ! To confirm my newbie understanding: this change allows an ICollection to be passed to components and be reused across them, instead of just passing the MongoManager that would be used to create the ICollection each time.
Is that the case? If yes, are there any side effects of doing that? In other words, do you know if there is any reason why the code was not like that from the beginning?

@hedasilv Good questions, to answer your questions:

Your understanding is right.
Any side effects? I don't know, I searched online and don't find any articles regarding whether we should hold MongoClient reference or hold collection reference. Currently our other collections are holding the collection reference, and we have a class called MongoDatabaseManager which have the method of get a saved collection reference and we have being used this pattern at other locations too.
Could the hold mongo collection causing server mongo selection error? Could be, but remember when we first find delta collection is reporting data point one by one:

But the db stuck issue also happens for it:

So I don't think anything will be different, I could be wrong though

Thanks for this PR, @zhangxin511 ! To confirm my newbie understanding: this change allows an ICollection to be passed to components and be reused across them, instead of just passing the MongoManager that would be used to create the ICollection each time.
Is that the case? If yes, are there any side effects of doing that? In other words, do you know if there is any reason why the code was not like that from the beginning?

@hedasilv Good questions, to answer your questions:

Your understanding is right.
Any side effects? I don't know, I searched online and don't find any articles regarding whether we should hold MongoClient reference or hold collection reference. Currently our other collections are holding the collection reference, and we have a class called MongoDatabaseManager which have the method of get a saved collection reference and we have being used this pattern at other locations too. These two places code were born very early so I am not quite sure why it was designed like that...
Could the hold mongo collection causing server mongo selection error? Could be, but remember when we first find delta collection is reporting data point one by one:

If resolve collection for each request fix the issue, we should not see the db stuck issue also happens for it:  So I don't think anything will be different, I could be wrong though

Thanks for the detailed reply! Makes sense. Indeed, if other components are using the same strategy, then we should not have issues. I also agree that the reason for these components here (Get Deltas, Riddler) to have been using a different strategy and not reusing the ICollection could be just legacy code (so no real reason). Thanks for working on this change!


fix the compatibility of node_pcap

see the problem https://github.com/mnot/htracr/issues/20

LGTM


fix build with sixel feature on windows

There's an open pull request for viuer adding support for the native icy_sixel implementation: https://github.com/atanunq/viuer/pull/63. However, I currently can't get that branch to work without pulling in the broken sixel-sys dependency.
For now, I've forked that PR's branch and removed the old sixel dependencies, which allows the Windows build to succeed again. I'll leave this here as a draft until that PR is merged.
This should also fix #628

Thanks for making the PR. spotify-player was actually one of the things I had in mind for the icy_sixel support in viuer. I've made some changes to my PR branch, so that the auto-traits on the error type are no longer affected. The changeset required to get things to compile is now relatively simple. The changeset based on current master should look something like this:
diff --git a/spotify_player/Cargo.toml b/spotify_player/Cargo.toml
index 5b0c33e..e4b9e7f 100644
--- a/spotify_player/Cargo.toml
+++ b/spotify_player/Cargo.toml
@@ -41,7 +41,7 @@ tracing = "0.1.41"
 tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
 backtrace = "0.3.74"
 souvlaki = { version = "0.7.3", optional = true }
-viuer = { version = "0.9.1", optional = true }
+viuer = { version = "0.9.1", optional = true, git = "https://github.com/ollbx/viuer/", branch = "icy_sixel" }
 image = { version = "0.25.5", optional = true }
 notify-rust = { version = "4.11.3", optional = true, default-features = false, features = [
        "d",
@@ -87,7 +87,7 @@ gstreamer-backend = ["streaming", "librespot-playback/gstreamer-backend"]
 streaming = ["librespot-playback", "librespot-connect"]
 media-control = ["souvlaki", "winit", "windows"]
 image = ["viuer", "dep:image"]
-sixel = ["image", "viuer/sixel"]
+sixel = ["image", "viuer/icy_sixel"]
 notify = ["notify-rust"]
 daemon = ["daemonize", "streaming"]
 fzf = ["fuzzy-matcher"]

That being said, given that icy_sixel in Linux etc. is probably a worse choice than sixel (given the currently experimental nature). I would suggest a separate feature flag, similar to what I've done in the vuier project:
diff --git a/spotify_player/Cargo.toml b/spotify_player/Cargo.toml
index 5b0c33e..c93e5dd 100644
--- a/spotify_player/Cargo.toml
+++ b/spotify_player/Cargo.toml
@@ -41,7 +41,7 @@ tracing = "0.1.41"
 tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
 backtrace = "0.3.74"
 souvlaki = { version = "0.7.3", optional = true }
-viuer = { version = "0.9.1", optional = true }
+viuer = { version = "0.9.1", optional = true, git = "https://github.com/ollbx/viuer/", branch = "icy_sixel" }
 image = { version = "0.25.5", optional = true }
 notify-rust = { version = "4.11.3", optional = true, default-features = false, features = [
        "d",
@@ -88,6 +88,7 @@ streaming = ["librespot-playback", "librespot-connect"]
 media-control = ["souvlaki", "winit", "windows"]
 image = ["viuer", "dep:image"]
 sixel = ["image", "viuer/sixel"]
+icy_sixel = ["image", "viuer/icy_sixel"]
 notify = ["notify-rust"]
 daemon = ["daemonize", "streaming"]
 fzf = ["fuzzy-matcher"]
diff --git a/spotify_player/src/main.rs b/spotify_player/src/main.rs
index 3f65c5e..84b44ba 100644
--- a/spotify_player/src/main.rs
+++ b/spotify_player/src/main.rs
@@ -80,7 +80,7 @@ async fn start_app(state: &state::SharedState) -> Result<()> {
             // initialize `viuer` supports for kitty, iterm2, and sixel
             viuer::get_kitty_support();
             viuer::is_iterm_supported();
-            #[cfg(feature = "sixel")]
+            #[cfg(any(feature = "sixel", feature = "icy_sixel"))]
             viuer::is_sixel_supported();
         }
     }

Another alternative could be to specify different dependencies for Windows and the rest, so that viuer is compiled with feature icy_sixel in Windows and sixel otherwise.

@ollbx Thanks! I've applied your changes


Ignore sub submodule lib dirs

/cc @michaelneale

:shaved_ice: - @markhibberd would like your eye cast over the extra "! -path" in find to make sure you think it is doing what we think it is doing.

:8ball:


Atum's netherwart alternative not being caught as a valid input for cauldron potion making

girafi gave me this link for the recipe wrapper in case you needed it.
https://github.com/TeamMetallurgy/Atum2/blob/master/src/main/java/com/teammetallurgy/atum/utils/recipe/BrewingRecipeOreDictNBT.java

Fixed in 0.2.5


cmd/compile: stack allocation phase in large functions slows down SSA compiler

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?
devel for 1.7

What operating system and processor architecture are you using (go env)?
amd64

What did you do?
Downloaded Dave Cheney's genpkg to explore performance problems.

mkdir x
go run gen.go -n 3000  -noinitfn > x/types.go
time go build  -gcflags='-d=ssa/check/off -memprofile=x.mprof' ./x
go tool pprof -alloc_space ${GOROOT}/pkg/tool/darwin_amd64/compile x/x.mprof

with results
Showing top 30 nodes out of 40 (cum >= 1810.24MB)
      flat  flat%   sum%        cum   cum%
 1819.24MB 20.43% 20.43%  1819.24MB 20.43%  cmd/compile/internal/ssa.(*Func).newValue
  947.75MB 10.64% 31.08%  2753.49MB 30.93%  cmd/compile/internal/gc.(*state).lookupVarOutgoing
  947.44MB 10.64% 41.72%   947.44MB 10.64%  cmd/compile/internal/ssa.(*stackAllocState).buildInterferenceGraph
  638.83MB  7.18% 48.89%   642.34MB  7.21%  cmd/compile/internal/ssa.(*stackAllocState).stackalloc
  625.34MB  7.02% 55.92%  1041.10MB 11.69%  cmd/compile/internal/ssa.(*regAllocState).init
  581.15MB  6.53% 62.45%   649.08MB  7.29%  cmd/compile/internal/gc.genssa
  525.89MB  5.91% 68.35%   526.62MB  5.91%  cmd/compile/internal/ssa.cse
  482.10MB  5.41% 73.77%   482.10MB  5.41%  cmd/compile/internal/ssa.schedule
  460.90MB  5.18% 78.94%  2667.34MB 29.96%  cmd/compile/internal/ssa.(*regAllocState).regalloc
  416.07MB  4.67% 83.62%  1476.37MB 16.58%  cmd/compile/internal/ssa.(*stackAllocState).init
  415.25MB  4.66% 88.28%   415.77MB  4.67%  cmd/compile/internal/ssa.(*regAllocState).computeLive
  312.07MB  3.51% 91.79%   312.07MB  3.51%  cmd/compile/internal/ssa.(*Func).newSparseSet
  169.05MB  1.90% 93.68%   169.05MB  1.90%  cmd/compile/internal/ssa.tighten
  111.31MB  1.25% 94.93%   112.86MB  1.27%  cmd/compile/internal/ssa.(*stackAllocState).computeLive

What did you expect to see?
Not that much slowdown and memory consumption.

What did you see instead?
Much slowdown and memory consumption.

Note that two similar bugs are filed, one against the ssa.go variable lookup code, the other against regalloc/stackalloc, since the fixes are independent.

I'd like to push this off to 1.8; it's a hard problem, and we've made other progress for the pathological functions that trigger this:

https://go-review.googlesource.com/c/22790/ (iterate backwards when single predecessor)
https://go-review.googlesource.com/c/22342/ (sparse phi placement)

and we have two more CLs queued up for 1.8 ( or possibly 1.7 if sufficiently horrible inputs appear) that will help some more:

https://go-review.googlesource.com/c/23042/ (compact value IDs in SSA before regalloc)
https://go-review.googlesource.com/c/23211/ (use SCC to limit iteration in sparse phi placement)

@randall77 @dr2chase Please change the milestone to Go1.8 if you're satisfied with what's already in 1.7.

@dr2chase, what's the status of this? It's marked "Go1.8Early".

Very little work on the stack allocation code, and instead we beat on the more tractable problem of SSA phi-function placement -- one of the 1.8early changes went into 1.7late because of a horrifying compilation problem there: https://go-review.googlesource.com/c/23136/
I took at stab at this once and didn't get it right.  I'd guess that it's a least a week's work if I'm lucky, probably two.

Tip is now faster than 1.6 (3.5 sec for 1.6, 3.2 sec for tip).  Closing.


Absolute urls should remain absolute

Preserves the absoluteness of URLs in elements when bundling, where they were all being relativized and that's not fair.

Fixes #3348

Thx @aomarks


[Bug Report] Use drawer in a router-view result in broken the animation

Element UI version
2.13.1
OS/Browsers version
Chrome Version 83.0.4103.97 (Official Build) (64-bit)
Vue version
2.6.11
Reproduction Link
https://jsfiddle.net/op458tjq/29/
Steps to reproduce

click go to bar then close the drawer repeatedly
watch the animation.
sometimes after the button was just clicked, the draw showed first, animate then.

it's because el-drawer use <transition/> to implement animation. but view router will cause el-drawer to unmount and mount during an expected animation, this results in a confliction.
I write a component using plain CSS to replace el-drawer but cause a new bug that hard to maintain the z-index between my component and Element UI components.
I think we need a better implementation.
What is Expected?
smoothly animation.
What is actually happening?
the animation was broken by vue-router

I have encountered this problem

Use closed event and visble.sync

Use closed event and visble.sync

Hi, I had the same problem. So I create a data variable 'show: false', then on mounted method I set true. Works fine for me
const Bar = {   data: function () {     return {       show: false     }   },   mounted() { this.show = true; },   template: '<el-drawer @close="$router.back()" :visible="show">foo</el-drawer>' }
https://jsfiddle.net/edqc8s9f/2/


LiveUpdate re-render children when updates come from the same owner

<LiveUpdate> reload children components when the sender is the same, LiveUpdate should ignore updates from the same sender or have an option to disable it, this will avoid issues from users and unnecessary components re-renders.
We can add a new prop called clientId(unique per user), this will come with a timestamp and document URI message from WebSockets.
Let me know, what do you think about it @RubenVerborgh  .
Thanks,
Jairo

Not sure I fully follow. What does “when sender is the same” mean? When the websocket update is triggered by the current, then ignore it?
If this is what you mean, doing it the way you describe is not possible as the client id is not known. Furthermore, if multiple components on the page need live updates, they wouldn’t update.

One of the root problems we've had using LiveUpdate is changing data too quickly or changing multiple fields at once (such as through an autofill form). This triggers multiple updates, but with different sets of data. We have some basic conflict resolution we're using, and multiple simultaneous updates trigger conflicts even though we sent all of the data so there should be no actual conflicts.
In other words, in something like a form with multiple fields in the same document, liveupdate triggers too much without any context for what the change is, so we're forced to assume it's a change we don't know about.

@rubensworks  the idea to have a connection ID is to identify who update the document so we can decide if we need to re-render or not a component into Liveupdate so we can avoid unnecessaries re-renders on components also we can decide if user needs re-render or not a component so if user 1 made an update doesn't need to receive the new updates because these updates are in your local store. This will avoid a lot of issues, for example, right now we have an autosave form(field save on tab or onBlur),  when user updates the field 1(send updates on field 1 to POD)  then tab and start writing field 2 before field 1 was saved on POD  field 2 values will lose, why? because when field 1 is saved on Document, LiveUpdate will re-render the component because of detect changes.

@james-martin-jd Check, thanks, we're aligned on the problem indeed.
However, I'm afraid that the currently proposed solution will not do.

the idea to have a connection ID is to identify who update the document

I currently cannot imagine how to implement this, since LiveUpdate does not know who updated something.

if user 1 made an update doesn't need to receive the new updates

This would require server-side support, or some guessing (if we just updated x.txt, and we get a message that x.txt was updated, ignore it).
However, this approach (even if we could implemented it) would fail if there are multiple LiveUpdate instances.
Unless you see a clear implementation strategy, I'm afraid the necessary elements are just not there.
However,  I can see alternatives. For instance, we might want to temporarily LiveUpdate when something inside of the <LiveUpdate> is being edited. To make this work, LiveUpdate could expose a setEnabled function that we could call, or something similar. Would such a route be acceptable?


Allow to read the model_type value from a checkpoint file

Allow to read the model_type value from a checkpoint (dnn) file, as opposed to only from a .json file in a model directory.

PR merged.


HikariDataSource shutdown unexpectedly

Hi,
I use Hikari to connect my Oracle server and I found my server would shutdown the datasource sometimes, which caused SQLException The logs are as follows,
thread:SpringContextShutdownHook logger:com.zaxxer.hikari.HikariDataSource message:HikariPool-1 - Shutdown initiated...

java.sql.SQLException: HikariDataSource HikariDataSource (HikariPool-1) has been closed.

thread:SpringContextShutdownHook logger:com.zaxxer.hikari.HikariDataSource message:HikariPool-1 - Shutdown completed.

It seems that datasource shutdown due to some reasons. Could you provide some information of under what conditions such behaviors will happen?
Version
SpringBoot: 2.2.4
exposed: 0.14.1
Hikari: 3.3.1

No idea.  This is coming from outside of HikariCP.

getting below error ,no logging info why Shutdown initiated
hikari.HikariDataSource","message":"TxnMasterDB - Shutdown initiated.


Stage-Damage Curves table displays default Impact Area when editing an existing Aggregated Stage Damage Relationship

When creating an Aggregated Stage Damage Relationship, the Stage Damage Curves table defaults to the first available Impact Area. After selecting other values for the impact area and damage category, saving, then editing the created Aggregated Stage Damage Relationship, the first row in the Stage-Damage Curves table reverts to the default value.
Default selections for Impact Area and Damage Category when beginning creation:

Created Stage-Damage Curves:

Stage-Damage Curves when editing:

When I looked at the Study through SQLite, it looks like the selected impact area is "-1".

This does not seem to be an issue when the stage-damage rating table data is configured for each curve. The issue occurs when adding stage-damage curves then saving without configuring the rating data first.

[3:23 PM] Deziree Dizon
it's when it's the first Aggregated Stage Damage Relationship I create
[3:23 PM] Deziree Dizon
I had to make a new study, import an impact area and Occupancy types
[3:23 PM] Deziree Dizon
then create the new Aggregated Stage Damage Relationship
[3:24 PM] Cody McCoy
and then just switch the impact area and dam cat and click save
[3:24 PM] Cody McCoy
and then open it back up

Ok, this was an interesting one. The issue ultimately was not with the stage damages but with the way the impact areas were being saved the very first time they were imported. This is why we only see this when making a new study.  It is now fixed.

Tested and verified fixed in HEC-FDA-2.0-Snapshot task4 1_6_22.


feat: move regular files api to top level, add addFromFs and addFromUrl

Related to https://github.com/ipfs/interface-ipfs-core/issues/118

Yep, and IPFSX already has a unified ls:
https://github.com/alanshaw/ipfsx/pull/1
https://github.com/alanshaw/ipfsx/blob/master/API.md#ls

I think we should jump straight to the ideal API, rather than make users update their code twice - once to this and then again to ipfsx.

@achingbrain even if that means 4+ months?
In order for ipfsx to land, we will need:

(A) Refactor the whole codebase plus test that a stream muxer powered by async generators will be equally performant as the one we have with Streams.
(B) Agree on the de-facto files API

I believe that we should do these in parallel

I'm +1 on moving the files API stuff to the top level. IPFS's prime purpose is to deal with files, so these calls should be privileged. They are also the most widely used calls so saving on typing helps developers. WIN WIN.
I think that addFromURL and addFromFs are convenient right now, but these operations will become really easy if add starts to take an async iterator like IPFSX does and so I don't think they'll be needed.
Right now in IPFSX if I want to add these things I'd do something like:
// Add a file
const stream = fs.createReadStream('/path/to/file')
const { cid } = await node.add(stream).first()

// Add a URL
const response = await fetch('http://giffatron.com/cat.gif')
const { cid } = await node.add(response.body.getReader()).first()

Ok so, caveat, browser ReadableStream isn't a async iterator quite yet but we can shim temporarily.

@alanshaw what about users that want to add entire directories from their local file system in Node.js (analogous to the CLI ipfs add)? Even with ipfsx, you would still need to do the globbing manually that is happening here https://github.com/ipfs/js-ipfs/blob/master/src/cli/commands/files/add.js#L18-L102 every single time a user is using a embedded node.

I agree with @achingbrain we should not do a breaking change just to do another in a few months , I don't believe there sufficient value in it. We can improve docs and make small tweaks to improve experience though.
I think we should aim for ipfsx I looked into it just now for a second time didn't know it was already so complete. Looks freaking awesome @alanshaw please tell me how I can help !! We need this 🎉🎉🎉

@alanshaw what about users that want to add entire directories from their local file system in Node.js (analogous to the CLI ipfs add)?

Good point, I didn't consider that.

@hugomrdias here is a good milestone towards that. Convert https://github.com/libp2p/js-libp2p-mplex to async-generators and run the stream muxer tests on it https://github.com/libp2p/interface-stream-muxer/tree/master/src and compare it with the current implementation in terms of speed and memory usage.

Can I get a quick vote? I want to make sure to understand if people agree/disagree if people want to ship A and B -- https://github.com/ipfs/interface-ipfs-core/pull/378#issuecomment-432970995 -- in one swipe.

If you think that we should do A & B from https://github.com/ipfs/interface-ipfs-core/pull/378#issuecomment-432970995 refactor in parallel, 🎉 this comment
If you think that we should do A & B from https://github.com/ipfs/interface-ipfs-core/pull/378#issuecomment-432970995 refactor simultaneously, 😄 this comment.

I think we should aim for ipfsx I looked into it just now for a second time didn't know it was already so complete. Looks freaking awesome @alanshaw please tell me how I can help !! We need this 🎉🎉🎉

❤
There's so much to do. I'm trying to create RFC issues for everything now so that there can be some discussion before an implementation lands. The biggest contribution you can make is using it, suggesting changes, and proposing things you'd like to see.
Also, is there any opposition to moving the ipfsx repo to ipfs shipyard or is it too soon? I think by moving it to shipyard the community might feel it has some longevity and be more open to try it out and it'll also aid discovery.

From IRC (important for context on the vote https://github.com/ipfs/interface-ipfs-core/pull/378#issuecomment-432976852):

Have it all working on https://github.com/ipfs/js-ipfs-api/pull/878. Now onto js-ipfs.
@alanshaw @hugomrdias @achingbrain Please review meanwhile the docs and tests in this PR. Thank you!


[>=1.8.3] Parameter #1 $func of method Doctrine\Common\Collections\Collection<int, X>::map() expects Closure(X=): Y, Closure(X): Y given.

Hello there!
Since upgrading from 1.8.2 to 1.8.5 (and tested only to 1.8.3), I've got some errors I'm not sure what I'm supposed to do with, so I thought I'd report them. Here's the demo (only the last inspection is relevant, the rest is copy/pasted from doctrine's code) : https://phpstan.org/r/11e031ea-d018-4a3f-a78a-6f941bf44284
The same error happens for about all the functions on Collection requiring a callable that we use in the project (map, filter, etc). Seems related to the usage of = in the closure definition.
Thanks for your insights !
gnutix

Update doctrine/collections to the latest release and you're set.


Assignment

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
for part 2, I was trying to delete the wrong code after integrating the coworker's code
What did you learn from the changes you have made?
I need to save the change, git add, and git commit and git push origin assignment
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
not really
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
Yes, I was having difficulty push back my answer to the GitHub. So I went to our work session, where I learned a lot!
How were these changes tested?
I opened the explorer on the other side and copied and pasted the code into my terminal.
A reference to a related issue in your repository (if applicable)
Checklist

[ x] I can confirm that my changes are working as intended

You did a great job here!
Please go ahead and close this pull request now. Thanks!


Separate KProbe and KRetProbe

There's a potential footgun currently where a developer may attempt to access arguments in a kretprobe (clobbered by function) or access return value in a kprobe (doesn't exist yet). Since this is effectively always incorrect, kprobe and kretprobe should be split and args/ret access be limited to their respective types.

Hi! 👋 In regards to how kprobe and kretprobe should be split, would this also include splitting ProbeContext (or defining new context types, such as ProbeContext and RetProbeContext)?
Also, would uprobe and uretprobe need to be split as well?
Sorry if this question is off the mark with how ebpf works. I'm still sort of a newbie with the inner workings of these specific contexts.

Hey! 👋 All good questions 😊
Yes to both: uprobe and uretprobe would need to be split as well, and I guess we'd need separate ProbeContext and RetProbeContext.


add tutorial to API

I think tutorial is not part of the API so I am not sure what is going on here. Please can you post an image of the front page of the built docs and we can decide what it should look like

I copied the format from pdfgui. Here's a screenshot of index.html from both.

ok, this looks good.  I would just put it above the license and release notes, as it is in PDFgui.  Then I can merge it.

@sbillinge done


null-ls.lua:27: attempt to call field 'format' (a nil value)

Hello,
First off, excuse me if this is something I've just missed or did wrong as I'm new to Neovim and totally new to a Lua based config.
When I save a file, I'm getting the following error:
Error detected while processing BufWritePre Autocommands for "<buffer=4>":
Error executing lua callback: /Users/angelo/.config/nvim/lua/config/null-ls.lua:27: attempt to call field 'format' (a nil value)
stack traceback:
"alacritty.yml" 893L, 31333B written
It does save the changes, but I'm not quite clear what that error means. I'm on macOS (M1) with Neovim 0.7.2. Is the fact that I'm not on 0.8 the cause of this error or did I something wrong/miss something?
Thank you in advance!

With regards,
Angelo Machils

Hello,
please try replacing this line with vim.lsp.buf.formatting_sync()
If I remember correctly this should be the only 0.8 setting regarding null-ls.
If you want to go on Neovim dev it is really easy with brew

Install with brew install --HEAD neovim
Update with brew reinstall nvim

Hello,
Upgrading to the 0.8dev version was indeed the solution. Thank you!
btw, as I use Neomutt for my e-mail I'm still using 'regular' vim as the editor. Switching to Neovim is easy enough, but there is one vim script setting I can't seem to figure out how/where to put it in a Lua config. It's about having 'flowed' text in Neomutt which requires a setting in the Neomutt config, but also one in Vim: set fo+=w. I did some research, but I can't seem to be able to figure out where/how I should do this in Lua.
Thank you for your help and your very nice configuration for Neovim!

With regards,
Angelo Machils

Hello,
glad that it works!
Pls have a look at this commit. I should work this way. I also use Neomutt but there was no need for this setting. Maybe it will work for me as well 😆

Thank you for your help and your very nice configuration for Neovim!
You are welcome 😄

Hello,
The output of :set fo? of Neovim, started on it's own is: tcqj and with the edits in the autocmd.lua file and when started from within Neomutt: jtcqlaw, so it is at least being picked up. But it still doesn't work, the resulting e-mail still has hard return in continuous lines. I previously asked a similar question in the Neomutt repo and there I was told to set up something like vim -c 'setlocal textwidth=70 colorcolumn=75 ft=mail fo+=aw listchars=tab:→\\ ,trail:↓ list'. And for Vim this works. If I exchange vim with nvim in that line, it doesn't anymore. The output of :set fo? in Vim is the same as the one in Neovim (when called from Neomutt).
But isn't there some 'formatting' plugin running when one saves a file in Neovim when using your config? Could it be that this removes/alters the e-mail?

With regards,
Angelo Machils

Hmm but this is expected?

The above methods do a "hard" wrap of your text, by inserting newline characters.

This is working for me! 😄

Hmmmm, it doesn't for me. The result is still:

But with a proper configuration of Vim (and also Neovim with a more barebones configuration):

With Vim, it worked by entering the set fo+=w in an open session when Vim was called from Neomutt. Now, with that setting in Neomutt with the extended call of the editor, that is no longer needed. In Neomutt one puts set text_flowed.
I also tested a more barebones Lua Neovim config and there it works as well in the manner I described.

With regards,
Angelo Machils

This is me writing the mail. As indicated by the line numbers this is one long line.

This is the mail in Apple Mail

My Neomutt config calls nvim this way: set editor="$EDITOR +':set spell spelllang=de,en'"

I just built the Docker image with my config and it looks good as well. After set filetype=mail each paragraph is only one line. Of course I can't send a mail out of the container cause of missing config

This is how it looks without setting the filetype to mail. The lines go over the full window width

Hello,
Yes, I have Docker, but I've just tested with the simpler call to Neovim inside Neomutt and then it works as expected. I can understand (to an extend), why it was needed for Vim, but as I wrote, it also worked for a simpler setup with Neovim..... :) As a Sys Admin I don't like this kind of unexplained behaviour, but as a user, I'm happy that it's working now with your Neovim config.... :)
Thank you again, I will close the issue.

With regards,
Angelo Machils


404 at /desktop/mac/release-notes/undefined

I found a broken link : https://docs.docker.com/desktop/mac/release-notes/undefined
I arrived on this page through: https://docs.docker.com/desktop/mac/release-notes/

Looks the same as https://github.com/docker/docker.github.io/issues/13553 (and some other reports), but so far we haven't been able to find the cause for these broken links (it may be a JavaScript issue)
Do you know what link you clicked on that page? What browser (and version) are you using, and do you have any browser extensions installed?
Let me close this ticket in favor of #13553, but if you're able to provide more details that could help us find the problem, feel free to comment on that ticket!


RT MPI debug

Sorry about the very ugly diff in RT_kernels.cu resulting from running dos2unix in a regrettable effort to remove ^M endings. The main difference is a number of nz were converted to ny
After these bugfixes, the iliev1.txt test works and is consistent between 1, 2, 4, and 8 GPUs.

The bit in mpi/mpi_routines.cpp can probably be removed or replaced with some kind of comment. It currently does nothing but I left it in for now... if nfreq gets larger then it would need to be adjusted appropriately.


Fails when used with dart2js under Firebase Functions

When used in code run under Firebase Functions (using firebase_functions_interop package), I get the error:
ReferenceError: XMLHttpRequest is not defined
when trying to call
obtainAccessCredentialsViaServiceAccount or clientViaServiceAccount
I tried adding polyfills using js interop and so on, but nothing seems to work

this is compiling with dart2js and running on top of node.js
I don't think this is in scope of this project. If someone wants to support we might accept a minor PR if fixing it easy to do. But this ideally better maintained in a separate package.


Handle deployment-service-check user for auth0

That user (which we use for our health checks) does not have any auth state, so this was causing health checks to fail.
Follow-up to https://github.com/2i2c-org/infrastructure/pull/3618

Self-merging to unbreak


Support portrait orientation

Won't fix. We're currently in the process of adding support for different device types so exploit portrait support shouldn't be necessary.


Tokenizer model_max_length

Hello,
I was seeing warning during finetuning Mistral and tracked this line here
https://github.com/huggingface/alignment-handbook/blob/main/src/alignment/model_utils.py#L71
Because Mistral's tokenizer model max length has a large number so the model_max_length set as 2048. However my training data consists sequence length longer than that, e.g. 4000 characters. Would this be a problem?
Thank you!

I found that it comes from here. During initialization, tokenizer does not read the max_length from the model.
As a quick hack, I was able to update it to 4096 and then reinstall alignment-handbook by doing
cd ./alignment-handbook/
python -m pip install .

@lewtun Would you be able to comment on here why the max_seq_len has been hard coded instead of reading from config? Any reason for this decision?  Thanks

I'm also curious about that, especially that zephyr-7b-beta has model_max_length set to<PHONE_NUMBER>000000019884624838656, so these models were somehow exempt from that 😐
There is max_length argument passed in config.yaml, so setting model_max_length to some hard-coded value inside the script seems pointless

This also threw me off and caused a bug that was unnecessarily complicated to fix.
I second the notion that this snippet:
    # Set reasonable default for models without max length
    if tokenizer.model_max_length > 100_000:
        tokenizer.model_max_length = 2048

should not be there if there is a config value in the yaml. It leads to confusing results.


Possible bug in iterative_inv

When the input of iterative_inv is a 4-tensor (which is how it is used in NystromAttention), then the calculation of of the initial value of V in iterative_inv here takes the max over all dimensions of the 4-tensor K rather than just the matrix dimensions as claimed in lemma 1:

This has a significant effect on the accuracy of the approximation on random data I've tried it on.

Hi @sbodenstein, Z_0 = A_S^T/(||A_S||1||A_S||{\infty}. We did not update the draft. The line of code is doing sum first and then max. Can you read that line again?

@yyxiongzju: OK maybe I'm not being clear enough or misunderstanding something. So the input to iterative_inv is kernel_2 which has dimensions (batch, num_heads, num_landmarks, num_landmarks). We want to find inverses for each of the (num_landmarks, num_landmarks) matrices (and there are batch × num_heads of them). For each of these matrices, we will have a different value of ||A_s||_1 and ||A_s||_inf. But in your implementation, the max reduces over all remaining dimensions (including the batch and num_heads dimension), so there is a single value. This means that iterative_inv(data[0,0]) is different from iterative_inv(data)[0,0] (you can verify this with torch.manual_seed(1); data = torch.randn(1, 2, 5, 5)). Is that intended?
Basically, shouldn't it be this instead:
def iterative_inv(mat, n_iter = 6):
    I = torch.eye(mat.size(-1), device = mat.device)
    K = mat
    a1 = torch.max(torch.sum(torch.abs(K), dim = -2, keepdim=True), dim=-1, keepdim=True).values
    a2 = torch.max(torch.sum(torch.abs(K), dim = -1, keepdim=True), dim=-1, keepdim=True).values
    V = 1 / (a1 * a2) * K.transpose(-1, -2)
    for _ in range(n_iter):
        KV = torch.matmul(K, V)
        V = torch.matmul(0.25 * V, 13 * I - torch.matmul(KV, 15 * I - torch.matmul(KV, 7 * I - KV)))
    return V

@sbodenstein, Thanks for pointing out this. We did not realize the difference between the current coefficient computation and the math formula in the paper.
Like what I replied to you in the email, You are right about the coefficient of initialization point for the pseudoinverse approximation. Since the ||A_s||_inf = 1 because of the softmax function, the difference is
a1 = torch.max(torch.sum(torch.abs(K), dim = -2)
or
a1 = torch.max(torch.sum(torch.abs(K), dim = -2, keepdim=True), dim=-1, keepdim=True).values.
With the max reducing over all remaining dimensions, it will make a scale difference comparing to max only along the (num_landmarks, num_landmarks) axis
and the current coefficient computation will be more conservative in this sense.
Even though the current initialization coefficient does not affect the final pseudoinverse convergence and the performance (6 iterations are similar to 8 iterations on BookCorpse), it may lead to fewer iterations to achieve a reasonable pseudoinverse approximation by following exactly the math formulation. It can also resolve any initialization issue depending on batch size like you pointed out.

Thanks! Can I make a PR to fix this, or do you want to keep it like it is?

We updated the code and provided the option to compute the coefficient. Thanks again for pointing out the difference.

Thanks!


Leaning moves origin of guaranteed vision range

Not a big issue usually, but it probably should have option for not happening. However, I actually believe this is desirable for some systems to remain functioning as it does now, so please at most make it an option to disable this, not always enforced.
The token vision config in question:

Default view for reference:

Leaning, notice the guaranteed vision area has shifted:

Personally I view this as an extremely low priority issue.

token-lean just shifts the vision and light sources on a token, so any guaranteed vision will be shifted along with it. Version 2.0 will probably create a new temporary token at the desired location, which should solve this problem along with others i.e. At the moment occlusion also looks at the token position, so roofs don't work as expected.


Update Composer dependencies (2020-12-14-00-13)

Visual regression test passed!
View the visual regression test report