Camera function

The Pico8 camera function would be a nice feature to have. Also, an improvement would be to have smooth scrolling as an option. The pico8 camera gets jittery when it's slow. I know real consoles can't do this, but it would look really nice.

It'd be jittery since It can only move one pixel at a time. There are no half pixels in tic

Not necessarily. All subpixel scrolling or movement ("half pixels" as you put it) does is store position in a floating point number then round it to the closest integer. With a bit of thought, it could be implemented in any language that has floating point numbers of any kind (or even in some cases with fixed-point arithmetic as well).
And yes, I can see how such function would be useful. While as I've said, it is possible to roll your own function like that (and I will have to for my legend of zelda clone as I plan to have some areas with smooth scrolling), having it would be a nice addition since you won't be wasting characters for a basic function like this.
If I were nesbox I'd chalk it up to "cool to have, but not a necessity" though.

I don't believe TIC needs a camera function, but this issue inspired me to write a camera tutorial, and dealing with efficient map drawing. You can read it here:
https://github.com/nesbox/tic.computer/wiki/Camera-tutorial
I hope that it helps you some.
Sent from my HONOR FRD-L04 using FastHub

so, we can live without camera function
closing...


Can not find the tutorial document  for  no GPU celltype annotation

Hi  developer,
how to use this tool to annotate the celltype in single cell in GPU-free centos 7.9  platform?
Any advices would be appreciated,
Best,
hanhuihong

had anyone hear this issue?


email

website link was broken

which link?

in the email to the class the course website link was broken https://github.com/jhudsl/intro_to_r/blob/main/resources/email_to_class.txt
It was like there was an extra space or something - Idk if this was from copying over something else


Compatibility changes for upgrade to emscripten 3.1.30

For compatibility with https://github.com/ffmpegwasm/ffmpeg.wasm-core/pull/21
close #409 #438

@ffmpegwasm Can you review this?

Considering the long lack of response, I posted my fork under the @ffmpeg.wasm scope and continue to maintain and update this project
The migration guide can be viewed here

@jeromewu I think you need to merge https://github.com/ffmpegwasm/ffmpeg.wasm-core/pull/21 first


feat: Make matcher errors fixable

Makes the target check on job and instance fixable.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Closing in favor of #181


Extending the ensemble tools and task to allow variable parameter grids, and command line interaction

Resolves #20, resolves #21
parameter_dict in the create_dict_sweep function of ensemble_tools now includes an additional requirement of a number of steps for the sweep. In the make_sweep_dir script, this can either be set directly by the user when passing the input dict or assigned automatically with n_dirs if no argument is given.
This has necessitated a change to the way the iteration indices are calculated, which has been propagated throughout the ensemble_tools and its associated tests.
I have then also extended the neso_ensemble task to allow the definition of parameters to sweep directly in the command line, by calling this function in a manner similar to the original neso task.
A minor problem I encountered here was that even inside quotation and speech marks FabSIM3 still splits the input argument list by commas. This means that when an argument such as particle_initial_velocity="(0.2,2.0,5)" is provided, FabSIM interprets this as {"particle_initial_velocity": "\"(0.2"} and discards the rest of the tuple. I couldn't find any obvious way around this, so I'm suggesting that for the command line definition of our sweep bounds the list be given with a / separating the parameters. This is then interpreted into the correct form inside the neso_ensemble task. The above example would then be: particle_initial_velocity=0.2/2.0/5. If that sounds acceptable, I can update the documentation to reflect this.

A minor problem I encountered here was that even inside quotation and speech marks FabSIM3 still splits the input argument list by commas. This means that when an argument such as particle_initial_velocity="(0.2,2.0,5)" is provided, FabSIM interprets this as {"particle_initial_velocity": "\"(0.2"} and discards the rest of the tuple. I couldn't find any obvious way around this, so I'm suggesting that for the command line definition of our sweep bounds the list be given with a / separating the parameters. This is then interpreted into the correct form inside the neso_ensemble task. The above example would then be: particle_initial_velocity=0.2/2.0/5. If that sounds acceptable, I can update the documentation to reflect this.

That's a pain with regards to FabSim's argument handling, but your proposed solution seems reasonable. The only thing I would suggest is to use the colon : as the separator character as this is already used in Python slices for a similar purpose - for example 1:10:2 represents the slice containing indices (1, 3, 5, 7, 9) - so might be a bit more intuitive for users to remember, and also / possibly suggests either division or a date separator (for floating point end-values seems unlikely to be interpreted this way, but for example my first though on seeing something like 1/10/19 would be 1st October 2019 not (1., 1.5, 2., ..., 9.5, 10.) 😅).


ValidatingAdmissionPolicy for C-0004

Control C-0004
Related Resources: CronJob, DaemonSet, Deployment, Job, Pod, ReplicaSet, StatefulSet
Control Docs: https://hub.armosec.io/docs/c-0004
Control Rego: https://github.com/kubescape/regolibrary/blob/master/rules/resources-memory-limit-and-request/raw.rego

Hi @slashben! Is there any particular reason to set the type of memoryRequestMin, memoryRequestMax to array in CRD? If not, shall I change them to integer type?

You are right, I tried to understand why this was defined as an array of integers. You can changed this to a scalar


Simulator on M1/M2 MacOS seems not working

Simulator on M1/M2 MacOS seems not working:
Create version.h
Register: gpio
Register: hello
Register: dumpstack
Register: nsh
Register: sh
...
'g_reg_offs'
  .basic_num      = nitems(g_reg_offs),
                           ^
sim/sim_tcbinfo.c:96:28: error: use of undeclared identifier 'g_reg_offs'
sim/sim_tcbinfo.c:97:28: error: use of undeclared identifier 'g_reg_offs'
  .total_num      = nitems(g_reg_offs),
                           ^
sim/sim_tcbinfo.c:97:28: error: use of undeclared identifier 'g_reg_offs'
sim/sim_tcbinfo.c:99:10: error: use of undeclared identifier 'g_reg_offs'
    .p = g_reg_offs,
         ^
5 errors generated.
make[1]: *** [sim_tcbinfo.o] Error 1
make: *** [arch/sim/src/libarch.a] Error 2

Looking at the sim_tcbinfo.c, it seems that there are only g_reg_offs defined for CONFIG_HOST_X86, CONFIG_HOST_X86_64, and CONFIG_SIM_M32, but sounds that there's no g_reg_offs defined for CONFIG_HOST_ARM64.

If you want to get better debugging experience (thread awareness) on macOS, you have to provide the register layout expected by gdb/clang:
https://github.com/apache/nuttx/blob/master/libs/libc/machine/sim/arch_setjmp_arm64.S
otherwise, you can justt provide a dummy g_reg_offs or skip g_tcbinfo.

I tried to use a dummy g_reg_offs, but I got different errors
➜  nuttx git:(master) ✗ sudo make
LD:  nuttx
ld: warning: pointer not aligned at address 0x10006C612 ('_g_tcbinfo' + 18 from nuttx.rel)
ld: unaligned pointer(s) for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [nuttx] Error 1
make: *** [nuttx] Error 2

I don't want to use the debugger, I just want to be able to make the simulator on my mac. How can I skip the g_tcbinfo?

@duduita could you verify whether https://github.com/apache/nuttx/pull/11207 can fix your issue?

I'm currently vacationing, but I'll try it as soon as I can.


Pr 10173

Summary of the changes (in less than 80 characters):

Detail 1
Detail 2

Addresses https://github.com/NuGet/NuGetGallery/issues/123

This appears to be a duplicate of https://github.com/NuGet/NuGetGallery/pull/10173.


Added new repo

We have an issue with token limitations, I'm working on it, for now, I'll re-run the tests in a couple of minutes and this should work.


Wsl/InstallDistro/WININET_E_CANNOT_CONNECT when installing Ubuntu

Windows Version
Microsoft Windows [Version 10.0.22631.3447]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
No response
Distro Version
No response
Other Software
I have Rancher Desktop installed.
I should also add that I have tried to change my DNS settings to Google DNS, and that I have tried on two different networks (at home and at the office)
Repro Steps
> wsl --install -d Ubuntu-24.04
OR
Installing Ubuntu from the Windows store
Expected Behavior
Ubuntu installed
Actual Behavior
PS C:\code> wsl --install -d Ubuntu-24.04
A connection with the server could not be established
Error code: Wsl/InstallDistro/WININET_E_CANNOT_CONNECT

Diagnostic Logs
WslLogs-2024-05-15_08-41-27.zip

@viblo-majority: This looks like a connectivity issue, but maybe it's within the store.
Does:
wsl --install -d Ubuntu-24.04 --web-download

Help resolve the issue ?

I tried from two different (wifi) networks with the same result, and I don't have other network issues on any of them. But is there any specific address I can try with for example ping, curl or similar to check outside the wsl tool?
I did try the web-download option. I think it downloaded it, and maybe installed it. However, it can't be started, and now it will not try to install it again.
PS C:\> wsl -l --all
Windows Subsystem for Linux Distributions:
rancher-desktop-data (Default)
rancher-desktop
PS C:\> wsl -d ubuntu-24.04
There is no distribution with the supplied name.
Error code: Wsl/Service/WSL_E_DISTRO_NOT_FOUND
PS C:\> wsl --install -d Ubuntu-24.04
Ubuntu 24.04 LTS is already installed.
Launching Ubuntu 24.04 LTS...
The operation completed successfully.
PS C:\> wsl --install -d Ubuntu-24.04 --web-download
Ubuntu 24.04 LTS is already installed.
Launching Ubuntu 24.04 LTS...
The operation completed successfully.

Does the distribution start if you start it via wsl.exe -d Ubuntu-24.04 ?

No. I had a list of all commands I tried in my previous comment, let me format them again for clarity:
(It doesn't matter the order of these commands, I've tried all of them several times)

wsl -l --al

PS C:\> wsl -l --all
Windows Subsystem for Linux Distributions:
rancher-desktop-data (Default)
rancher-desktop

wsl -d ubuntu-24.04

PS C:\> wsl -d ubuntu-24.04
There is no distribution with the supplied name.
Error code: Wsl/Service/WSL_E_DISTRO_NOT_FOUND

wsl --install -d Ubuntu-24.04

PS C:\> wsl --install -d Ubuntu-24.04
Ubuntu 24.04 LTS is already installed.
Launching Ubuntu 24.04 LTS...
The operation completed successfully.

wsl --install -d Ubuntu-24.04 --web-download

PS C:\> wsl --install -d Ubuntu-24.04 --web-download
Ubuntu 24.04 LTS is already installed.
Launching Ubuntu 24.04 LTS...
The operation completed successfully.

Interesting. Do you have the Ubuntu-24.04 app installed now ? What if you start it manually ?

Oh, now it worked. I actually gave up and focused on other things, but seems like something happened that fixed it. (I did restart the computer both now and a 2 weeks ago when tried to troubleshoot this issue from the beginning).
However, some traces of the broken state could still be visible today when I ran the install command (you can see that it printed out that Ubuntu was already installed, but still proceeded to actually install it):
PS C:\code\dump> wsl --install -d Ubuntu-24.04
Ubuntu 24.04 LTS is already installed.
Launching Ubuntu 24.04 LTS...
Installing, this may take a few minutes..

Hmm I wonder if the MSIX package for the ubuntu app was in a weird state, and rebooting maybe fixed the issue.
The Ubuntu 24.04 LTS is already installed logline is expected if the MSIX package for the distribution is already installed.
Closing since the issue is fixed, but please reopen if this reproduces again.


[Feature Request]

Feature request
Overview
Delta Lake API should support table property read and write.
Motivation
As for 1.2.1, all Delta Lake APIs are about the data but not a single one about table properties/metatable.
Imagine that you would like to change log retention period if it's too long. You have to start up a spark-shell and run ALTER TABLE delta.hdfs:///mypath SET TBLPROPERTIES('delta.logRetentionDuration' = '7 days') and it is not clearly documented in https://docs.delta.io/latest/delta-batch.html#table-properties.
What about an API like DeltaTable.getProperty("delta.logRetentionDuration") and  DeltaTable.setProperty("delta.logRetentionDuration", "7 days")?
Further details

It will also be handy to support:
DeltaTable.getProperties() to get all delta related properties.
DeltaTable.setProperties(<map of properties>) to set multiple properties at once.
Willingness to contribute
The Delta Lake Community encourages new feature contributions. Would you or another member of your organization be willing to contribute an implementation of this feature?

[ ] Yes. I can contribute this feature independently.
[x] Yes. I would be willing to contribute this feature with guidance from the Delta Lake community.
[ ] No. I cannot contribute this feature at this time.

@yigangzhang can you please add a helpful title?

While I can see how it's annoying to have to use the SQL API right now to interact with the table properties, since table properties aren't inherently a delta-specific concept they don't really belong in the DeltaTable API. This functionality would be better added to the Spark Catalog API, do you want to open a ticket for that?


Implement Layout

This PR implements home page layout to add teams infos and score.

We need to add allowMouseWheel to NumberInput


Brandon/django pyjwt

Description
Add ability to create new Teachers (users) from GraphQL that will return the teacher data and a JWT to be stored on the frontend for authorization with the back.
Also opened CORS to our frontend so requests from front => back should not be blocked by a CORS error anymore.
New Dependencies

Backend

django-cors-headers

Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Start backend server
Navigate to http://<IP_ADDRESS>:8000/graphiql/
Make GraphQL mutation

mutation {
  createTeacher(ClassID:"97ac3b82-38e0-419a-a595-ce5da097e01d", TeacherName:"Mr. Benefield") {
    teacher {
      ClassID
      TeacherName
    }
    jwtString
  }
}

Returns

{
  "data": {
    "createTeacher": {
      "teacher": {
        "ClassID": "97ac3b82-38e0-419a-a595-ce5da097e01d",
        "TeacherName": "Mr. Benefield"
      },
      "jwtString": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJNci4gQmVuZWZpZWxkIiwiaWF0IjoxNTM2Nzc3NjQ3LjM1NTE1NCwiZXhwIjoxNTM2ODY0MDQ3LjM1NTE1NDh9.cj3hdB6q8KqeZBxSQoP58VIkFCV-_BuTG-nyR01YxFs"
    }
  }
}

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My code has been reviewed by at least one peer
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Nice Work!


Cannot create local projects using tower-cli

I'm using Tower CLI 3.0.3 to create a manual project with the following command:
$ tower-cli project create --scm-type manual --organization Default --name first-project --local-path 'first-project'

Error: The Tower server claims it was sent a bad request.

POST https://tower.cloudops.vm/api/v1/projects/
Params: None
Data: {"name": "first-project", "scm_type": "", "local_path": "first-project", "organization": 1}

Response: {"local_path":["Invalid path choice."]}

I also tried /var/lib/awx/projects/first-project as value for local_path ... same result (~ yes, the path exists and is readable)
When I create the project using the UI, it succeeds. After I created it manually, and use tower-cli to list the project, it show me this:
$ tower-cli project list

== ============ ======== ================================================ ================
id     name     scm_type                     scm_url                         local_path
== ============ ======== ================================================ ================
 4 Demo Project git      https://github.com/ansible/ansible-tower-samples _4__demo_project
 9 first-project                                                          first-project
== ============ ======== ================================================ ================

BTW: when I use the Tower API directly, I get the same result.
So, am I using incorrect values for local_path or is this a bug?

I retraced the paths you took, and I'm 95% sure I know what happened.
Check /api/v1/config/ in your system's current state, and then project_local_paths out of that. You will probably find that first-project is not in the list.
Tower excludes all paths that are already being used by another project. So the likely story that happened is that you first created the project in the UI and then tried to create it in tower-cli. The same would have happened in reverse, except that the UI wouldn't have shown the option in the dropdown.
I agree this error message is frustrating, given the circumstances. I'll forward that on for consideration as a Tower improvement. I'm fairly sure nothing about this is unique to tower-cli, so I'll close this issue.
Thank you for bringing this to our attention. The feedback is much appreciated!


87 read interval type

Fixes
Issue #87
Description
Supports the reading and writing of interval types. Not yet implemented in Spark so followed Parquet spec months (4 bytes LE) / days (4 bytes LE) / millis (4 bytes LE) with annotated INTERVAL on FIXED_LEN_BYTE_ARRAY
Todos

[ ] unit/integration tests
[ ] documentation

Done a few refactorings around SchemaElement to make checks with derived types easier - less spaghetti code now


add connect accept tcpv4

Accept

Connect

Discussion points:

[ ] Validate the log format
[ ] Confirm that the kprobe numbers (400 & 401) adheare to kubearmor convention).

Codecov Report

Merging #779 (63f7c0f) into main (d6fef36) will decrease coverage by 3.79%.
The diff coverage is 43.47%.

:exclamation: Current head 63f7c0f differs from pull request most recent head 3531a18. Consider uploading reports for the commit 3531a18 to get more accurate results

@@            Coverage Diff             @@
##             main     #779      +/-   ##
==========================================
- Coverage   40.33%   36.53%   -3.80%
==========================================
  Files          29       29
  Lines        9318     9363      +45
==========================================
- Hits         3758     3421     -337
- Misses       5073     5485     +412
+ Partials      487      457      -30

Impacted Files
Coverage Δ

KubeArmor/monitor/logUpdate.go
65.23% <42.85%> (-6.49%)
:arrow_down:

KubeArmor/monitor/systemMonitor.go
59.81% <44.44%> (+1.53%)
:arrow_up:

KubeArmor/core/crioHandler.go
0.00% <0.00%> (-63.87%)
:arrow_down:

KubeArmor/core/dockerHandler.go
0.00% <0.00%> (-53.34%)
:arrow_down:

KubeArmor/monitor/processTree.go
85.48% <0.00%> (-10.22%)
:arrow_down:

KubeArmor/common/common.go
38.61% <0.00%> (-4.07%)
:arrow_down:

KubeArmor/monitor/syscallParser.go
62.88% <0.00%> (-1.94%)
:arrow_down:

KubeArmor/core/kubeArmor.go
51.07% <0.00%> (-1.68%)
:arrow_down:

KubeArmor/enforcer/runtimeEnforcer.go
31.54% <0.00%> (-1.35%)
:arrow_down:

... and 6 more

Help us with your feedback. Take ten seconds to tell us how you rate us.

IPv6 Connect

IPv6 Accept


Re-pin sphinx to latest (6.1.3) and add nbsphinx to the environment (like in ESMValCore)

Description

Related to https://github.com/ESMValGroup/ESMValCore/issues/1974
Link to documentation:

Before you get started

[ ] ☝ Create an issue to discuss what you are going to do

Checklist
It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.

[x] 🛠 This pull request has a descriptive title
[x] 🛠 Tests run successfully
[x] 🛠 Any changed dependencies have been added or removed correctly
[x] 🛠 All checks below this pull request were successful

Cheers @remi-kazeroni - and also, we don't get the RTD pandoc-version-related warning no more

@bouweandela do you think we also need ipython as I see it in the Core/docs environment?

If I remember correctly, that was needed for rendering the cells in the notebooks. But maybe it's already getting installed as a dependency of nbsphinx?

In the environment I created with this branch, I have:
ipython                   8.11.0                   pypi_0    pypi

@remi-kazeroni you shouldn't have it (alas, any other package apart from vprof and a couple other tools) from PyPI in the Core-only environment. I have it from conda-forge:
(release280rc2) valeriu@valeriu-PORTEGE-Z30-C:~/ESMValCore$ conda list ipython
# packages in environment at /home/valeriu/miniconda3/envs/release280rc2:
#
# Name                    Version                   Build  Channel
ipython                   8.11.0             pyh41d4057_0    conda-forge

Now, that I looked at - sphinx gets installed from PyPI in my Core-only environment, which is not ideal; I think this should be solved after I merge PR 1976 in Core though - can one pls merge that, then I test again. This needs to be merged too since the Tool environment still picks up sphinx=5 (from conda forge, this time around).
Also, not this: ipython is missing from a Tool-only environment, which I don't think it's good since we are asking Core to install it

@bouweandela - you the Notebooks guru - is ipython an optional dependency for core? If not, we need to plop it in the conda package recipe

It is only needed for building the documentation pages from the Jupyter notebooks, so that should not be necessary.

Ok, I double-checked and ipython is not in the environment when I create a fresh installation of the Tool. It only comes in when installing the Core in dev mode later on.

Ok, thanks for clarifying! I'm merging this now 🍻


Download sessions zip saved indefinitely on API server

We never delete the zipped folder https://github.com/stanfordnmbl/opencap-api/blob/aeff88cc190fe137d151648cb27546755de31954/mcserver/views.py#L396 after responding to the download request. Therefore the zipped folders build up on the API server and it eventually runs out of disk space.
Since that function sends the 'session_zip' (a path name) as the response, I don't see how to delete it within that function. I guess we could have a deleteZip endpoint that the viewer would call once the download is finished? Other more clever ideas @antoinefalisse @AlbertoCasasOrtiz

Seems like it could be deleted in a similar way as what Plannek is implementing (see videos of the day) with celery and celery beat, ie add a time to when it was created, and trash after some time.

Agreed. I think that makes sense. So the celery worker would do something like:
`from zipsession import getDataDirectory
import os
dataDir = getDataDirectory(isDocker=True)
cleanDir = os.path.join(dataDir,'Data')
find and delete all folders in cleanDir created more than 1 day ago
`

yeps

leave it for another round of Plannek?

yes, that works.

An easy solution here:
Whenever we run the downloadAndZip function, we look for any zipped folders that are more than 15 mins old, and delete them. This way we don't have to add a timed garbage collector.
I will implement soon.

Done


Allow an arbitrary SQLAlchemy engine to be passed in for storage.

Allows an arbitrary SQLAlchemy backend to be used for job storage.
Does this by following @bjester's suggestion of following the redis-q API and accepting a connection object.

Codecov Report

Merging #44 into master will decrease coverage by 0.29%.
The diff coverage is 81.81%.

@@            Coverage Diff            @@
##           master      #44     +/-   ##
=========================================
- Coverage   91.86%   91.57%   -0.3%
=========================================
  Files           8        8
  Lines         369      368      -1
=========================================
- Hits          339      337      -2
- Misses         30       31      +1

Impacted Files
Coverage Δ

src/iceqube/storage.py
91.45% <100%> (-0.22%)
:arrow_down:

src/iceqube/queue.py
78.78% <75%> (ø)
:arrow_up:

src/iceqube/worker.py
94.39% <75%> (-0.85%)
:arrow_down:

Continue to review full report at Codecov.

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

This fails in Python 3.5... rerunning the job to see if its consistent.. here's the build output in case..
tests/test_classes.py .....F...                                          [ 56%]
tests/test_storage.py ....                                               [ 81%]
tests/test_utils.py .                                                    [ 87%]
tests/test_worker.py ..                                                  [100%]
=================================== FAILURES ===================================
________________ TestQueue.test_can_get_notified_of_job_failure ________________
self = <tests.test_classes.TestQueue object at 0x7fe83f2de7f0>
inmem_queue = <iceqube.queue.Queue object at 0x7fe83f2d7780>
    def test_can_get_notified_of_job_failure(self, inmem_queue):
        job_id = inmem_queue.enqueue(failing_func)

        # sleep for half a second to make us switch to another thread
        time.sleep(0.5)
        job = inmem_queue.fetch_job(job_id)
>       assert job.state in [State.QUEUED, State.FAILED]
E       AssertionError: assert 'RUNNING' in ['QUEUED', 'FAILED']
E        +  where 'RUNNING' = <Job id: 738fe9c0a3f24f3a92f15dfab1a96353 state: RUNNING progress: 0/0 func: tests.test_classes.failing_func>.state
tests/test_classes.py:212: AssertionError
------------------------------ Captured log call -------------------------------
WARNING  iceqube:utils.py:62 JOBCHECKER shut down event received; closing.
ERROR    iceqube.worker:worker.py:113 Job 738fe9c0a3f24f3a92f15dfab1a96353 raised an exception: Traceback (most recent call last):
  File "/home/travis/build/learningequality/iceqube/src/iceqube/worker.py", line 63, in handle_finished_future
    result = future.result()
  File "/opt/python/3.5.6/lib/python3.5/concurrent/futures/_base.py", line 398, in result
    return self.__get_result()
  File "/opt/python/3.5.6/lib/python3.5/concurrent/futures/_base.py", line 357, in __get_result
    raise self._exception
  File "/opt/python/3.5.6/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/travis/build/learningequality/iceqube/src/iceqube/worker.py", line 208, in wrap
    raise e
  File "/home/travis/build/learningequality/iceqube/src/iceqube/worker.py", line 204, in wrap
    return f(*args, **kwargs)
  File "/home/travis/build/learningequality/iceqube/src/iceqube/classes.py", line 120, in y
    return func(*args, **kwargs)
  File "/home/travis/build/learningequality/iceqube/tests/test_classes.py", line 157, in failing_func
    "Test function failing_func has failed as it's supposed to.")
Exception: Test function failing_func has failed as it's supposed to.
---------------------------- Captured log teardown -----------------------------
WARNING  iceqube:utils.py:62 JOBCHECKER shut down event received; closing.

Thanks for review, @benjaoming - have applied your suggestions!

Super - one thing though - the build worked after I pressed "rebuild" so the error copied in above is probably due to a race condition in test cases :/ Could be only in Python 3.5, could be in all of them.
But is it because of the way that tests work or something that's wrong in Iceqube?

@rtibbles Certainly more flexible! :+1:

@benjaoming I think it's a race condition in the test, can see if I can make it more robust.

I can't replicate the error locally on Python3.5, nor by arbitrarily reducing the sleep time, which is what I would assume is causing the race condition.

I can replicate it by adding a time.sleep in the failing func, to make sure it runs for a little while before erroring, so that may be the issue. Robustifying the test, but I don't think it's a problem with behaviour.

Robustifying the test, but I don't think it's a problem with behaviour.

@rtibbles sorry about the pedantics... but what does that mean?

Oh - basically I think the way that iceqube is working is correct, it is a flaky test, as it is not properly testing that the test does eventually get marked as failed (even though in the interim it gets marked as RUNNING).


Need a way to write custom attributes

Coming to my mind:

a=x-google-flag:conference: custom Chrome stuff required to use VP8 simulcast.
a=rid: https://tools.ietf.org/html/draft-ietf-mmusic-rid
a=simulcast: https://tools.ietf.org/html/draft-ietf-mmusic-sdp-simulcast

I understand that adding the ability to write custom attributes while not being able to read/parse them makes no much sense. However, which is the way to move on with missing fields? Is it sending a PR for each new field the way to go?

Hm, maybe there's a nice way of allowing custom ones for drafty stuff. I'll think about it a bit. For now, I guess PRs are fine.
It doesn't hurt to have draft attributes in the grammar even if they are not fully locked down, they can always be updated later, and it's better than having them in the invalids array if they are actually useful to parse.

OK, for now I'll send PRs for new fields. :)

Let me a question please. I'm trying to add the a=rid attribute:
    { //a=rid:1 send max-width=1280;max-height=720;max-fps=30;depend=0
      push: 'rids',
      reg: /^rid:([\d\w]+) (\w+)(?: ([\S| ]*))/,
      names: ['id', 'direction', 'config'],
      format: function (o) {
        return (o.config) ? "rid:%s %s %s" : "rid:%s %s";
      }
    }

However, I don't know how to make o.media[idx].rids be an array. In fact, by looking at the code, I don't understand why o.media[idx].ssrcs is an array. Where is that defined?
I mean, if an SDP "m" section has a single a=ssrc line, does it mean that media[idx].ssrcs wouldn't be an array with a single element but directly an object?

OK it was a bug in my example/test SDP.
But, I don't understand yet why an SDP with a single a=ssrc line generates an array in media[idx].ssrcs while other rules generate a single value.

Yet another question:
    { //a=rid:1 send max-width=1280;max-height=720;max-fps=30;depend=0
      push: 'rids',
      reg: /^rid:([\d\w]+) (\w+)(?: ([\S| ]*))/,
      names: ['id', 'direction', 'config'],
      format: function (o) {
        return (o.config) ? "rid:%s %s %s" : "rid:%s %s";
      }
    },

id is written as a string (%s) but, if a=rid:1 send then id becomes 1 (number rather than string), why? If it's a=rid:a1 send then id becomes a string "a1".
Does the lib automatically convert to number when possible?

It seems that toIntIfInt() does it...

But, I don't understand yet why an SDP with a single a=ssrc line generates an array in media[idx].ssrcs while other rules generate a single value.

Grammar that marks the attribute with push automatically assumes the values needs to be in an array.

Does the lib automatically convert to number when possible?

Yeah, I think there may be a way to force it not to be if necessary. Let me refresh my memory.

Grammar that marks the attribute with push automatically assumes the values needs to be in an array.

opps, I should have figured it out...


History mistakenly separates on \n\t

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[x] bash
[ ] zsh
[ ] fish

Problem / Steps to reproduce
history -s $'first_line\n\tsecond_line'

On ctrl-r, the history is displayed as two different command despite being a single entry:
>   1500    second_line
    1501    first_line

The code that does this separation is here.
I would expect the single history entry to be displayed on one line in the interface.

I've tried to reproduce the problem with
echo "foo
	bar"

and
echo "bar
	baz"

and it looks like bash itself is unable to handle these entries properly.
Excerpt from the output of HISTTIMEFORMAT= history:
159862  echo "foo
159863          bar"
159864  echo "bar
159865          baz"

Same from fc -l
159862   echo "foo
159863          bar"
159864   echo "bar
159865          baz"

And !159865 gives
$ !159865
        bar"
>

So I'm not sure if there's anything we can do about it.

Related solution regarding how to stop a multiline entry from splitting into multiple entries, if you're willing to enforce a HISTTIMEFORMAT. Although this is kicking the can down the road since it's just changing the separator to something less ubiquitous.
Also I'm confused by the output you listed since it should only do this after exiting the shell and entering back in, at that point it loads the histfile data, which is where it is stored ambiguously. But before then, it's ok.
$ history -s $'first_line\n\tsecond_line'
$ history | tail
  843  clear
  844  ls
  845  line1
  846   line2
  847  history
  848  exit
  849  history
  850  first_line
        second_line
  851  history | tail


Add missing .cpp to CMakeLists.txt

When signalr_client_config.cpp was created it was not added in the cmake files, resulting in a non-working library. This PR fixes that.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

Thanks!


[FEA] enable prune_columns for from_json

Is your feature request related to a problem? Please describe.
CUDF has a feature that was added for us to prune out columns that were not in the schema. We should enable this. It will give us some performance boost, but not nearly as much as it will in the future when it is done and the pruning happens on the device side.

Dependency: https://github.com/rapidsai/cudf/issues/16797

This was done as a part of 24.10


blogweet

Related Issue

Closes: #265
Description of Changes
<!--
-Added link href to the logo blogweet
-Changed css of logo to allow pointer-events

## Checklist:

- [ x] My code adheres to the established style guidelines of this project.
- [ x] I have conducted a self-review of my code.
- [x ] I have included comments in areas that may be difficult to understand.
- [x ] I have made corresponding updates to the project documentation.
- [ x] My changes have not introduced any new warnings.

Resolve Conflicts, tag on discord with pr link.

No response, closing it.


Teflon (a new part of Mesa on Linux) NPU delegate support

What are you trying to do?
Teflon is a new front end library for NPU acceleration part of the latest versions of Mesa on Linux. It's in early stages, but more NPU drivers may be added in the future.
I'd like to use ollama with an NPU via an open source stack when a device that I own is supported by Mesa.
How should we solve this?
It hope to see Teflon support in ollama. According to the Teflon documentation, it's already supported in TensorFlow Lite as a "delegate".
What is the impact of not solving this?
When an upcoming Arm based processor with strong NPU compute capabilities appears on the market, Teflon support for that device may eventually be added to Mesa. If ollama doesn't support Teflon, ollama may miss out on the opportunity to be an early adopter of this open source general purpose API.
Anything else?
Thanks! : )

Teflon author here. I would need some help to understand through which mechanism could ollama delegate the execution of some or all layers to Mesa drivers. Teflon only exposes the TFLite delegate API, which I don't know if ollama would want to use. But other frontends similar to Teflon could be added to Mesa, to give frameworks access to the HW-specific NPU drivers.


zoom

A mousewheel zoom would be terrific. Also the zoom would be better if it kept the image centralized (like cropper.js does) instead of growing/shrinking from the top-left corner.

Thanks for the suggestions! If I end up using this library again in the future I'll look into feature requests, but for now I'm just maintaining it and fixing bugs. Feel free to try your hand at a pull request though, if you like.
Thanks!


osv-scanner: 1.9.0 -> 1.9.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/google/osv-scanner/releases.
meta.description for osv-scanner is: Vulnerability scanner written in Go which uses the data provided by https://osv.dev
meta.homepage for osv-scanner is: https://github.com/google/osv-scanner
meta.changelog for osv-scanner is: https://github.com/google/osv-scanner/releases/tag/v1.9.1
Updates performed

Golang update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.9.1 with grep in /nix/store/pjcn8hf7m591j66jxcyd9nvdfh72iccl-osv-scanner-1.9.1
found 1.9.1 in filename of file in /nix/store/pjcn8hf7m591j66jxcyd9nvdfh72iccl-osv-scanner-1.9.1

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

osv-scanner

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/pjcn8hf7m591j66jxcyd9nvdfh72iccl-osv-scanner-1.9.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A osv-scanner https://github.com/r-ryantm/nixpkgs/archive/cd2e893843b485a112280ffa156329f17ea4a533.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/cd2e893843b485a112280ffa156329f17ea4a533#osv-scanner

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/pjcn8hf7m591j66jxcyd9nvdfh72iccl-osv-scanner-1.9.1
ls -la /nix/store/pjcn8hf7m591j66jxcyd9nvdfh72iccl-osv-scanner-1.9.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

osv-scanner

Maintainer pings
cc @stehessel @urandom2 for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 352967

aarch64-darwin

:white_check_mark: 1 package built:

osv-scanner


Quote implementing Serialize (and Deserialize)?

Hi,
Would you be open to add Serialize and Deserialize to the list of derived traits on Quote here:
https://github.com/xemwebe/yahoo_finance_api/blob/c967fc8b848f183858feff2cd4c2870724237e67/src/quotes.rs#L127
If so, I would be happy to submit a PR for that.
Thanks in advance for considering this.
EDIT: might as well add Deserialize ;-)
-Cédric

Adding Serialize and Deserialize is fine, please feel invited to prepare a PR.


Splits extremely rigid

title^^ why?

is original agar.io .-.

with multigar , nothing can do realtime splitrunning , but with cigar all can do realtime... why?

Cause the cells take like 10 years to separate lol

@Megabyte918 hoy to change the time of separation in multiOgar? please

Look for this line of code under the checkRigidCollision function in GameServer.js:
if (manifold.cell1.getAge(tick) < 15 || manifold.cell2.getAge(tick) < 15)

15 is how long it takes for cells to seperate, increasing it = slower seperation, decreasing it = faster seperation

would happen , if i change only the tick for cell1 ?

Are you that lazy? Just change both.


[deliver] unsupported languages check breaks for people also using supply at the same time because of android folder

In #9351 a check for unsupported languages in fastlane/metadata was added.
In #10122 an additional option to ignore this check was added because the feature broke custom file and folder structures.
Unfortunately it also breaks when using both supply and deliver in the same project (as e.g. multi platform projects built with Cordova or Ionic might want to do). Using deliver to download Android metadata creates an metadata/android folder that now causes this error:
[!] Unsupported directory name(s) for screenshots/metadata in './fastlane/metadata': android
Valid directory names are: ["da", "de-DE", "el", "en-AU", "en-CA", "en-GB", "en-US", "es-ES", "es-MX", "fi", "fr-CA", "fr-FR", "id", "it", "ja", "ko", "ms", "nl-NL", "no", "pt-BR", "pt-PT", "ru", "sv", "th", "tr", "vi", "zh-Hans", "zh-Hant", "appleTV", "iMessage", "default"]

Enable 'ignore_language_directory_validation' to prevent this validation from happening

So now one can only use the 'ignore_language_directory_validation' option and lose the check completely.
I suggest that the android folder is added to a list of exceptions that are allowed to exist next to the language folders as it is a default folder when using only fastlane tools.
(Of course this is only because of the historical folder structure where Android is smashed into the existing folder structure - but as this won't change any time soon, we somehow have to handle this now)

Looking through the code there are already two sets of folders that are handled differently: Some "special language" folders and some "exception" folders:
https://github.com/fastlane/fastlane/blob/e5e394918641ec735bcb933066549c5380f34647/deliver/lib/deliver/loader.rb#L11-L13
The SPECIAL_DIR_NAMES are added as pseudo languages, and EXCEPTION_DIRECTORIES are removed to not throw an error as they are expected to be there.
I will try to add the android folder to EXCEPTION_DIRECTORIES then.


Bump kafka-clients version to 2.0.0.

Description
Newer kafka clients support various improvements to the underlying protocol, most notably a better timeout handling in consumer.poll.
My changes affect the following components

[ ] API
[ ] Controller
[X] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[ ] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[X] I signed an Apache CLA.
[X] I reviewed the style guides and followed the recommendations (Travis CI will check :).

Codecov Report

Merging #3913 into master will decrease coverage by 4.7%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master    #3913      +/-   ##
==========================================
- Coverage   75.87%   71.16%   -4.71%
==========================================
  Files         147      148       +1
  Lines        7039     7041       +2
  Branches      431      431
==========================================
- Hits         5341     5011     -330
- Misses       1698     2030     +332

Impacted Files
Coverage Δ

...whisk/connector/kafka/KafkaConsumerConnector.scala
62.96% <100%> (ø)
:arrow_up:

...scala/src/main/scala/whisk/utils/TimeHelpers.scala
50% <50%> (ø)

...core/database/cosmosdb/RxObservableImplicits.scala
0% <0%> (-100%)
:arrow_down:

...core/database/cosmosdb/CosmosDBArtifactStore.scala
0% <0%> (-95.1%)
:arrow_down:

...sk/core/database/cosmosdb/CosmosDBViewMapper.scala
0% <0%> (-92.6%)
:arrow_down:

...whisk/core/database/cosmosdb/CosmosDBSupport.scala
0% <0%> (-81.82%)
:arrow_down:

...abase/cosmosdb/CosmosDBArtifactStoreProvider.scala
0% <0%> (-58.83%)
:arrow_down:

...la/whisk/core/database/cosmosdb/CosmosDBUtil.scala
92% <0%> (-4%)
:arrow_down:

Continue to review full report at Codecov.

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

See http://kafka.apache.org/20/javadoc/deprecated-list.html for information on the old deprecated poll method.


Feat/multiple function access keys

Preview URL:
https://psalomobos.near.page/devhub.near/widget/app
Or see a demonstration video here:
https://youtu.be/CuwWv1zAKf4?si=lBUi9kXxRrhVjv-s
resolves #148 and https://github.com/near/neardevhub-widgets/issues/137

@petersalomonsen I don't understand what is the intended flow here. I don't see "don't ask me again" checkbox, when I tried to "like" on DevHub, there was a popup prompt that redirected me to the wallet (MNW) with some unparsable transaction confirmation (it tried to display it as a function call confirmation but there was no function call). Please, record a screencast as otherwise I don't even understand how you see it can work.

You should see this:

Sorry @frol I must have missed something when I published the first version. Unfortunately what you experienced was that you were not redirected to the wallet for the add_key transaction, but instead just sent for the add_like. This is because of a missing await for the add_key transaction, and I've corrected this now.
Here's a demonstration video as requested: https://youtu.be/0oG9_-KEi0Q?si=BEeUYz5E7wQApWNm

Thanks @frol , good to hear that we can move forward on this. I agree to all of your 3 points, and I've started working on the UX experience ( not using a browser prompt ).
As you can see in the screenshot below, from my local dev environment, there's a checkbox to toggle if you want to create a function access key ( we can consider naming this "Don't ask me again", as you propose ):

When you check that toggle, I'm now trying to include the function access key transaction, so that you don't loose the like or post you are about to confirm. So as you can see in the screenshot below, when checked, another transaction, the "addKey" is also showing.

Not sure yet how to fix it so that the wallet says that "an application is requesting limited access to your account", but I'll try to figure that out.
Also totally agree that we should not reload the page, but right now I think this involves work on the DevHub code to handle transaction feedback. Everything we have right now is based on the fact that the page is reloading ( after a completed transaction ). I'll see what I can do there, but it might have to be a separate issue for DevHUB after this feature for creating function access keys is merged to the VM codebase.
Let me know what you think

@frol @evgenykuzyakov I've done some UX tweaks now so that the adding of a new access key is part of the regular VM confirmation popup. Just as in the screenshots from the previous comment. Note that you only should tick the checkbox once, for the next calls you already have an access key stored, so you don't need to create it again. This might be confusing, so I will figure out how to make this more clear in the UI. "Don't ask again" might also be confusing since it could be misunderstood as you would not get the VM confirmation popup either.

UX is improving bit by bit, so if you already have an access key stored, the popup will open with the checkbox checked, and also indicating which key that will be attempted for signing the transaction:

"Don't ask again" might also be confusing since it could be misunderstood as you would not get the VM confirmation popup either.

@petersalomonsen That is how SocialDB interactions are done - they allow “don’t ask again” for the specific component interacting with SocialDB. From UX perspective, I believe it makes sense. Obviously, you don’t want to allow any component to interact with a contract on behalf of the user just because there is already an access key, but it doesn’t make a lot of sense to confirm every like with the popup either. Take inspiration from Social.set implementation

"Don't ask again" might also be confusing since it could be misunderstood as you would not get the VM confirmation popup either.

@petersalomonsen That is how SocialDB interactions are done - they allow “don’t ask again” for the specific component interacting with SocialDB. From UX perspective, I believe it makes sense. Obviously, you don’t want to allow any component to interact with a contract on behalf of the user just because there is already an access key, but it doesn’t make a lot of sense to confirm every like with the popup either. Take inspiration from Social.set implementation

Thanks @frol , that's a good point. I'll look into how Social.set is solved, and try avoiding the VM confirmation popup as well.

Looks great! I would also suggest to have this checked by default:

And I have a question when it's run out of function call key allowance, what will happen?

@petersalomonsen On a general note, please, put yourself in the shoes of a regular user, they don't know about "access key" and why they would want to create one.

yes @frol . I'm moving forward in the direction you proposed with "Don't ask again", and not even showing the confirmation popup in the VM. @ailisp When the key runs out of allowance, we should detect that and pop up the confirmation dialogs again. It might be good to provide some optional detailed information for the user to explain what is happening behind the scenes.

@frol @ailisp See the updated progress. Now it's using the regular wallet login, it's executing the "pending" transaction after login. After that there is no need to confirm when posting or liking. Just for now I've added a small popup ( just for information ), that shows that there is a transaction going on ( not sure how we want to solve this yet ).
Also see the new demo video of the flow: https://youtu.be/CuwWv1zAKf4?si=lBUi9kXxRrhVjv-s
The preview URL also contains the latest version.

These are remaining, but could maybe be separate issues?

Some indication on what's going on during sending the "Pending" transaction ( after login )
Handling out of allowance
Handling deleted function access keys ( that are not deleted in localstorage, but deleted on chain )

Some indication on what's going on during sending the "Pending" transaction ( after login )

Well, given that Social.set also lacks any indication on Pending transaction, indeed, we can address it across the board in a separate issue.

Handling out of allowance
Handling deleted function access keys ( that are not deleted in localstorage, but deleted on chain )

Social.set also does not handle it gracefully either. Let's address these in separate issues, indeed. Please, create follow-up issues.

After that there is no need to confirm when posting or liking.

I hope it only whitelists interaction with the contract only for the given BOS component. We don't want random components on BOS to be able to interact with devhub contract without user's acknowledgement. Again, see Social.set behavior.

(Also, let's use the same UI layout and message in both dialogs if possible)

Just for now I've added a small popup ( just for information ), that shows that there is a transaction going on ( not sure how we want to solve this yet ).

Let's follow Social.set, it does not have any indication on BOS level, but exposes onCommit API (#105)

Now I've fixed so that only interaction for the given BOS component is whitelisted, and you also only whitelist calling a specific method on the smart contract:

Given all the changes, I do feel the need for setting up a testing framework for this now. Are there any automatic tests of the VM anywhere?

Yes, the only thing I would like to see resolved before moving to ready for review is to remove deposit and set a lower gas amount in the devhub widgets as described here: https://github.com/near/neardevhub-widgets/issues/549
Then I will be able to remove the overriding of deposit / gas that I had to do for demo purposes as you can see here:
https://github.com/NearSocial/VM/pull/156/files#diff-cc75698545c1506b569386ec69e64f50d829fc759a7fb175b256b88630782859R177
I will also go over the code a few more times and look for reusing of existing code.

The purpose of the TransactionResultContext is to be able to show the results of the transaction without reloading the page , so that if you e.g. press "like" or add a post in DevHub, the page will update without reloading. The TransactionResultContext ensures that widgets are updated from the top of the hierarchy, since an application like DevHub has several nested widgets.
The purpose of the pending transaction is to also execute the transaction you intended to when prompted with "Don't ask again". In the case where you need to be redirected to the wallet for sigining into another contract, we also want to execute the transaction you intended to execute after that.
Is there any other way you would like to solve these?

The purpose of the TransactionResultContext is to be able to show the results of the transaction without reloading the page
The purpose of the pending transaction is to also execute the transaction you intended to when prompted with "Don't ask again".

Social.set already solved both of these problems. Can you follow the pattern?

The purpose of the TransactionResultContext is to be able to show the results of the transaction without reloading the page
The purpose of the pending transaction is to also execute the transaction you intended to when prompted with "Don't ask again".

Social.set already solved both of these problems. Can you follow the pattern?

All right it seems that invalidating the cache is enough, and then the widgets are updated after some time. I guess this is because I invalidate the cache for the entire devhub contract, and it takes some time to re-run. I'm not sure how to select which parts of the viewcall caches for a contract to be invalidated, since it's not obvious which data the contract will change from a transaction call. So I don't see any alternative than invalidating the whole cache for a contract. Do you see it different?
When it comes to the "pending" transaction, which is needed if you press "Like" in the devhub contract without having local access keys, and you need to be redirected to the wallet. You still want that "Like" to be executed right? I can't see that social.near has a solution for this. If you sign out of near.social, you can't commit transactions at all as far as I can see. Or should I be able to?

So the challenge is to invalidate some cache, but it's unclear which once the transaction is confirmed. As for devhub calling set on social.near as a receipt. So the UI doesn't know what cache it has to invalidate.
In this case invalidating full social.near contract is also wrong, since many contract wouldn't touch social.near for their actions. So we should design a custom solution for devhub. One option is to introduce cache invalidation api, so the devhub UI can invalidate cache after a successful function call.
As for the pending transaction. Why not issue the transaction with the wallet redirect by requesting user to sign 2 transactions instead of one?

So the challenge is to invalidate some cache, but it's unclear which once the transaction is confirmed. As for devhub calling set on social.near as a receipt. So the UI doesn't know what cache it has to invalidate.
In this case invalidating full social.near contract is also wrong, since many contract wouldn't touch social.near for their actions. So we should design a custom solution for devhub. One option is to introduce cache invalidation api, so the devhub UI can invalidate cache after a successful function call.

I'm not invalidating the social.near contract at all, as you can see here I'm only invalidating the cache for the contract that was called ( for example the devhub contract ).
I think you suggestion about introducing a cache invalidation API is a good one. This will give more control to the UI on which cache to invalidate, but then I think a default behaviour of invalidating the cache for the entire contract is a good one too, in case the UI has not implemented anything. I suggest then maybe we merge what I have now, and we can introduce a cache invalidation API later?

As for the pending transaction. Why not issue the transaction with the wallet redirect by requesting user to sign 2 transactions instead of one?

Requesting the user to sign 2 transactions was my original implementation. As you can see if you go some commits back, and from the screenshots in this comment, the user was asked to confirm two transactions. Also when redirected to the wallet the user was asked to confirm these two transactions, but as @frol pointed out, the user did not get a clear message that "an application is requesting limited access to your account". He then suggested to use the regular wallet sign-in flow, and execute the original transaction as a "pending transaction" after signing in to the new contract account. I think his suggestion makes sense, since sign-in experience is now more obvious to the user, compared to confirming a transaction about adding a function access key, which is not so clear in the wallet. Please discuss with @frol if you think we should rather revert to the original solution I had here, but in my opinion it's better now.

@petersalomonsen Please, test this implementation with Sender wallet and Meteor wallet that operate differently than MNW.

I've tested with Meteor wallet now, and since the wallet selector interfaces does not support signing into multiple contracts, and since Meteor wallet does not have a walletUrl, the requestSigninmethod of near-api-js will not work either. If not to modify the wallet selector here, the only option is to add a key through a transaction, and then both transactions might as well be combined. So for Meteor wallet it looks like below now. One transaction for generating the access key, and one for "like". Unfortunately this does not give a good login experience for this wallet. It just indicates a transaction to your own account, and if you expand the details, you see that it's adding the key.

as you can see in my latest addition, I check if the wallet has a URL, and in that case, I just use walletConnection.requestSignin().. Otherwise adding a transaction for adding a key.
Not sure how to have the requestSignin experience also for MeteorWallet without modifying the wallet selector. I could do another PR for the wallet selector later to add support for this. What do you think @frol  @evgenykuzyakov ?

@petersalomonsen Thanks for the thorough testing.

Sender does not support adding access keys in a transaction, and does not have a wallet url for near-api-js to redirect too, resulting in that the "Don't ask again" feature is not supported, and an error message is displayed instead.

Well, Sender has a different operation model and it breaks UX even for SocialDB interactions requiring explicit confirmation of every single transaction, so we cannot do anything here.

I've tested with Meteor wallet now, and since the wallet selector interfaces does not support signing into multiple contracts, and since Meteor wallet does not have a walletUrl, the requestSigninmethod of near-api-js will not work either.

This is unexpected given that MeteorWallet is a browser wallet.

Not sure how to have the requestSignin experience also for MeteorWallet without modifying the wallet selector. I could do another PR for the wallet selector later to add support for this.

I expected all the wallets (except Sender) to support the most standard login flow :-(
This rabbit hole is too deep. Please, create an issue on the Wallet Selector repo first and share it in the "NEAR Wallet Builder Group"

@evgenykuzyakov I think this current state already brings reasonable improvements to UX even if with some UX glitches on some of the wallets, so I suggest finishing the review and merging it as it is now and improving iteratively.

@petersalomonsen Thanks for the thorough testing.

Sender does not support adding access keys in a transaction, and does not have a wallet url for near-api-js to redirect too, resulting in that the "Don't ask again" feature is not supported, and an error message is displayed instead.

Well, Sender has a different operation model and it breaks UX even for SocialDB interactions requiring explicit confirmation of every single transaction, so we cannot do anything here.

I've tested with Meteor wallet now, and since the wallet selector interfaces does not support signing into multiple contracts, and since Meteor wallet does not have a walletUrl, the requestSigninmethod of near-api-js will not work either.

This is unexpected given that MeteorWallet is a browser wallet.

Not sure how to have the requestSignin experience also for MeteorWallet without modifying the wallet selector. I could do another PR for the wallet selector later to add support for this.

I expected all the wallets (except Sender) to support the most standard login flow :-(
This rabbit hole is too deep. Please, create an issue on the Wallet Selector repo first and share it in the "NEAR Wallet Builder Group"

That is done now: https://github.com/near/wallet-selector/issues/1045

Just discussed with @Megha-Dev-19 that Near.call does not return anything today. This is already an issue with the wallets that does not redirect, but either open a separate window or extension for confirming the transaction. A widget does not have any way to know when a transaction is finished, or the result of it.
With this PR, the cache will be invalidated when the transaction is finished. This helps a lot, since it will trigger re-rendering. It would be even better though, if Near.call returned a promise with the result of the transaction.
Should I add a promise result to Near.call @evgenykuzyakov @frol ?

thanks @petersalomonsen for adding this, it helped me fixed other issues as well, now I can initiate an action after the user approves/reject the txn since the cache is invalidated.
@frol Would really appreciate if we can get this merged asap 🙏

It would be even better though, if Near.call returned a promise with the result of the transaction.
Should I add a promise result to Near.call @evgenykuzyakov @frol ?

I think we should mimic Social.set behavior with the onCommit and onCancel callbacks as you suggested in #105. I would make it a separate PR.

It would be even better though, if Near.call returned a promise with the result of the transaction.
Should I add a promise result to Near.call @evgenykuzyakov @frol ?

I think we should mimic Social.set behavior with the onCommit and onCancel callbacks as you suggested in #105. I would make it a separate PR.

Thanks for reminding me, I had completely forgotten that I wrote that. There is already a PR for that also.

In the latest commit, there's also a try/catch when sending the pending transaction, so that if the transaction fails, the page will still be loaded ( without this, the page would just be blank, and reloading would not help ).

Please rebase to dev branch

Please rebase to dev branch

Rebased to upstream/dev, and also a quick re-test. Also updated preview environment with the latest rebased: https://psalomobos.near.page/devhub.near/widget/app?page=post&id=2688

Let's remove don't ask again for social.near

Let's remove don't ask again for social.near

OK this is now implemented in the latest push, and can be tested here, where you see that calling social.near does not present the "Don't ask again" option, while calling another contract does.


Update lab-services-whats-new.md

Making 'Getting Started' more prevalent.
cc: @RoseHJM

@EMaher : Thanks for your contribution! The author(s) have been notified to review your proposed change.


[bug] [doc] fix  the data quality link error about the navigation of dolphinscheduler 3.0.0-alpha zh docs

https://github.com/apache/dolphinscheduler/issues/9886
Purpose of the pull request
This pull request fixs the data quality link about the navigation of dolphinscheduler 3.0.0-alpha zh docs  .
Brief change log
I remove a space on data quality link of the navigation file of dolphinscheduler 3.0.0-alpha zh docs  .
Verify this pull request

This pull request is code cleanup without any test coverage.

@chens616
Thank you very much for your contribution, this PR is very good. I think we can get deep communiction, you can contact me through mail or add wechat(KerwinZhuang), when mail or added, please tell me who you are, I think I can help to familiar with the DolphinScheduler if you meet with problems.


KAFKA-10205: Documentation and handling of non deterministic Topologies

Kafka Streams topologies must be defined in a deterministic order, otherwise users can run into confusing NPE.
This patch adds a more descriptive exception and documentation clarifying the deterministic requirement.
https://issues.apache.org/jira/browse/KAFKA-10205
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Btw: The PR should be against trunk.

Thanks for review @mjsax. I've changed the merge base to trunk and believe I have addressed all your feedback so far. Please take another look.

Thanks for the review @mjsax. I've addressed your feedback. Please take another look.

Ping @mjsax - a reminder to review this

Compile error:
/home/jenkins/jenkins-slave/workspace/kafka-pr-jdk11-scala2.13/streams/src/test/java/org/apache/kafka/streams/processor/internals/StreamTaskTest.java:1989: error: constructor StreamsMetricsImpl in class StreamsMetricsImpl cannot be applied to given types;
20:24:26         final StreamsMetricsImpl metrics = new StreamsMetricsImpl(this.metrics, "test", StreamsConfig.METRICS_LATEST);
20:24:26                                            ^
20:24:26   required: Metrics,String,String,Time
20:24:26   found: Metrics,String,String
20:24:26   reason: actual and formal argument lists differ in length
20:24:27 1 error

Seems you need to rebase?

@mjsax rebased and fix the error, now ./gradlew  :streams:unitTest seems to run without errors over here.

Thanks for the PR @soarez! Merged to trunk.


Split README up by platform

The main README file was getting unwieldy, this should make it easier to use.
I mostly just split up the existing markdown for each platform, but in some cases I added some information that was notably missing - so please do take a look at the new READMEs.

I accidently hit x yesterday, meant to approve 👍.


[Refinement] cleanup ota_client_service.py, implement test file

Description

This PR introduces some cleanup and replaces the old, duplicated codes in ota_client_service.py with 2 new functions, each create otaclient server instance and launch it.
Now otaclient grpc server's address and port configurations are obtained directly in ota_client_service, not via OtaClientStub.
This PR also adds missing test files for ota_client_service.
NOTE
This PR is split from #212 , as part of not directly related changes.
Motivation
About otaclient grpc server configuration, basically each module should only know what they need, ota_client_stub should only focus on API handling, so it doesn't need to know the server configuration, neither expose method to provide such information. Instead, the ota_client_service module should take the responsibility of loading such configuration.
For ECUInfo, in #212 , the new refactored ota_client_stub.OTAClientServiceStub(renamed from OtaClientStub) doesn't load ecu_info by itself and read global server_cfg, instead taking ECUInfo instance and server_cfg instance as init param, this aligns dependency injection principle and reduces coupling in some extend.
Newly added create_otaclient_grpc_server works like a factory function, to load required information, and construct otaclient grpc server instance.
Check list

[x] test file(s) that covers the change(s) is implemented.
[x] local test is passed.

Changes

In ota_client_service.py:

add create_otaclient_grpc_server function, which inits OtaClientStub and constructs otaclient grpc server instance,
add launch_otaclient_grpc_server, a one-call helper function to create and launch otaclient grpc server,
implement test files.

Behavior changes
Does this PR introduce behavior change(s)?

[x] Yes, internal behaivor (will not impact user experience).

Previous behavior

In launch_otaclient_grpc_server, otaclient grpc server's listen address config is queried from OtaClientStub(and OtaClientStub obtains this config by loading ecu_info and read server_cfg).
Behavior with this PR

In ota_client_service, in create_otaclient_grpc_server, now grpc server listen address/port configs are directly queried from loading ecu_info and server_cfg.
Breaking change
Does this PR introduce breaking change?

[x] No.

Previous behavior
In launch_otaclient_grpc_server, otaclient grpc server's listen address/listen port configs are queried from OtaClientStub(and OtaClientStub obtains these configs by loading ecu_info and read server_cfg).

The port is not queried from OtaClientStub, so modify the PR description.

About copyright message, I will prepare another chore PR to update all other files's copyright message.

Previous behavior
In launch_otaclient_grpc_server, otaclient grpc server's listen address/listen port configs are queried from OtaClientStub(and OtaClientStub obtains these configs by loading ecu_info and read server_cfg).

The port is not queried from OtaClientStub, so modify the PR description.

Updated.


fix: missing import in examples/http_proxy.rs

The HTTP Proxy example references hyper::http directly, but it is not
used directly. This change adds the missing use statement for it.

Thanks for the PR! I believe the example works before because it's using finding it as the http crate, as opposed to a re-export from hyper.

that's possible! I just copy/pasted in a separate project and had this compile time error :shrug:

I'm going to close, since I find it better to suggest using http crate directly, instead of import from hyper::http. But it is an option.


tests: Fix printed gradle reproduction line

Summary of the changes / Why this improves CrateDB
-Dtests.class/-Dtests.method don't work to test a specific
class/method with gradle. Instead, --tests="<class>.<method>"
must be used.
Checklist

[ ] Added an entry in CHANGES.txt for user facing changes
[ ] Updated documentation & sql_features table for user facing changes
[ ] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

Why doesn't it work? It works for me 🤔

Why doesn't it work? It works for me thinking

./gradlew :server:test -Dtests.class="io.crate.integrationtests.PostgresJobsLogsITest" for me executes 248 tests

@seut you can add -Dtests.verbose=true to see exactly which tests/methods are run.


[Fix][API] Condition task NullPointerException

Tips

Thanks very much for contributing to Apache DolphinScheduler.
Please review https://dolphinscheduler.apache.org/en-us/community/index.html before opening a pull request.

What is the purpose of the pull request
Fix NullPointerException when save condition task.
ProcessDefinitionServiceImpl.java#L242
Brief change log
changes:
Return empty List<ResourceInfo> at org.apache.dolphinscheduler.common.task.conditions.ConditionsParameters#getResourceFilesList
for example:
SubProcessParameters.java#L47

Codecov Report

Merging #4056 (7adc671) into dev (4b502e3) will decrease coverage by 0.01%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##                dev    #4056      +/-   ##
============================================
- Coverage     39.93%   39.91%   -0.02%
+ Complexity     2944     2942       -2
============================================
  Files           458      458
  Lines         21715    21715
  Branches       2647     2647
============================================
- Hits           8671     8667       -4
- Misses        12240    12242       +2
- Partials        804      806       +2

Impacted Files
Coverage Δ
Complexity Δ

...r/common/task/conditions/ConditionsParameters.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...e/dolphinscheduler/remote/NettyRemotingClient.java
50.00% <0.00%> (-2.78%)
9.00% <0.00%> (-2.00%)

Continue to review full report at Codecov.

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

@dailidong

you have a D-class code smell, which causes the sonar check to fail.please check.

sonar check to fail.please check.

hi,I saw it's pr only change one line,but the code smell shows it's duplication rate is 50%,So I think it can be merged.

sonar check to fail.please check.

hi,I saw it's pr only change one line,but the code smell shows it's duplication rate is 50%,
may be it is a problem of the code smell rule,So I think it can be merged.

Yes you are right


root dependency missing from manifest-out output

/cc @usergenic
Minimal example below
Contents of a.html
<link rel="import" href="c.html">

Hello a.html

Contents of b.html
<link rel="import" href="c.html">

hello b.html

Contents of c.html

Hello c.html

Execute the following command
node node_modules/polymer-bundler/lib/bin/polymer-bundler.js --manifest-out manifest.json --out-dir tmp_out_dir --shell a.html --in-html a.html --in-html b.html

Inspecting the contents of manifest.json reveals that a.html is missing as a dependency.
{"b.html":["b.html"],"a.html":["c.html"]}

Expected
{"b.html":["b.html"],"a.html":["a.html", "c.html"]}

https://github.com/Polymer/polymer-bundler/pull/593 should fix this.  Sending for review.

polymer-bundler 3.0.1 published 🎉 with this fix


Expose all settings in ydata-profiling ProfileReport

Why are the changes needed?
ydata-profiling ProfileReport has a rich set of settings that should be exposed in flyte decks.

What changes were proposed in this pull request?
Expose kwargs passed directly to the constructor of ProfileReport.
I set the minimal version of ydata-profiling to 2.4.0 to support minimal-mode.

How was this patch tested?

Setup process
Screenshots
Check all the applicable boxes

[ ] I updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] All commits are signed-off.

Related PRs
Related to https://github.com/flyteorg/flyte/issues/5993

Docs link

/review

AI Code Review is in progress (usually takes <3 minutes unless it's a very large PR).

Changelist by Bito
This pull request implements the following key changes.

Key Change
Files Impacted

Feature Improvement - Enhanced ydata-profiling Integration

- dev-requirements.in - Added lxml dependency for HTML parsing

- renderer.py - Modified FrameProfilingRenderer to support flexible configuration options

- setup.py - Updated ydata-profiling version requirement to >=2.4.0

- test_renderer.py - Added comprehensive tests for ProfileReport configuration options


Upstream/gh pages

merge errors on my end, but fixed a closing ul tag brace

I can't seem to resolve these merge errors on my end. Any chance you can re-fork and try again? I think I changed some repository settings since you first forked it that have messed things up irreparably :(


Fix the Delta.Method enums to inherit str, so the string comparison works

This fix directly affects the permissions check for role reporter, which were failing before, as delta.method == Delta.Method.Create was returning false.

Task linked: QF-1705 Role reporter does not work properly


GTk implementation gives us: Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

Passing this spam on is annoying, and we should look for a way to stop it.

The main effect of a dialog being transient for a parent window is that the dialog stays in top of the parent window. Is there a way to provide a native window handle to the nativefiledialog library? For GLFW for example this can be obtained with glfwGetX11Window(). Internally gtk_window_set_transient_for() can be called.


remove ubuntu 16.04 for hammer release

Ubuntu 16,04 comes with the Jewel release of Ceph so there is no point
of forcing hammer's installation.
Closes: #414
Signed-off-by: Sébastien Han<EMAIL_ADDRESS>

There is a problem with that.  You still can install hammer image for 16.04.  However it install jewel.   Didn't realize until it upgraded osd on my test cluster.

@alitvak69 what do you mean? Can you be more specific?

There is a hammer image for 16.0.4.  However when you run it,  it installs jewel.


@media queries should have 1px difference for min-width and max-width values

Story

I observed in quite a few places that @media (min-width) and @media (max-width) had the same values. It should be something like max-width: 767px and min-width: 768px (one pixel difference), etc. In validators.jsx the media min and max values are the same.

Acceptance Criteria

[ ] The affected widths should be manually tested and confirmed that those do not overlap and apply two sets of rules at the same time
[ ] Mobile ok

@frol you are right. According to doc we should do like so
@media (min-width: 768px) and (max-width: 1199.98px) { ... }
And .98 ending is needed to work fine on retina screens.


Task timed out after 10.01 seconds

Partial fixed in those commits:

5035007cb1856fea34d1e69604d3ef9ba0430283
999611800905ec820fe235ffa7ef3e45b3711ecb

but calling GitHub Notification API is usually takes 400ms.
We need to limit the number of notifications you can receive at one time.


Treat context as an object logger.child(null, context) when context is an object

logger.child( null, { context: { a: 5 } } ) should be the same as logger.child( { context: { a: 5 } } )
Context is currently wrapped inside a context property { context: { a: 5 } } instead of as { a: 5 }

Fixed in 9.0.3


allowedMethods is not working

I changed from '*' to "GET" only in the allowedMethods config. But when I try to send POST request, it is still responding properly. Is there something wrong with my configuration? I tested with postman and calling 'rest-api.test' from 'my-dev.test'.
    'supportsCredentials' => false,     'allowedOrigins' => ['my-dev.test'],     'allowedHeaders' => ['*'],     'allowedMethods' => ['GET'],     'exposedHeaders' => [],     'maxAge' => 0,     'hosts' => [],
Please note that I'm testing it on Laravel 5.3

I think allowedOrigins has to include the protocol (http://, https://, etc).

Again, the same problem. Again, an answer which bears no relevance to what's being asked here...
I have exactly the same problem; I am sending a legitimate cross-domain request with the correct Origin header. If I set the 'allowedOrigins' to something other than the domain I'm requesting from; it rejects the request. Perfect. Now, like the OP here says, if I change the 'allowedMethods' to something other than the method I'm requesting with, it STILL allows the request and returns a response. Why?
S.O. question here: https://stackoverflow.com/questions/51422009/barryvdh-laravel-cors-configs-not-working-in-laravel-5-6-ignores-allowedmethod

As far as I can tell, the 'allowedMethods' parameter is ignored altogether, in every case I've tested.
`'allowedMethods' => ['*'], // lets any and every request through
'allowedMethods' => ['GET'] // lets any and every request through
'allowedMethods' => ['POST'] // lets any and every request through
'allowedMethods' => ['PUT'] // lets any and every request through
'allowedMethods' => ['ABSOLUTELYANYTHINGYOULIKE'] // lets any and every request through
¯_(ツ)_/¯

If your frontend code contains a POST request which isn’t one that triggers browsers to do a CORS preflight, then browsers will just send the POST directly, even if the value you’ve set for allowedMethods doesn’t include POST.
In other words, the Access-Control-Allow-Methods response header is never sent nor received in the case where the POST request has no characteristics that trigger a CORS preflight, so the browser never consults the Access-Control-Allow-Methods header’s value in that case.
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Preflighted_requests explains what characteristics trigger a CORS preflight, but in the case of a POST or GET request, it basically amounts to whether your code adds any custom headers to the request.

'allowedMethods' => ['*'], // lets any and every request through
'allowedMethods' => ['GET'] // lets any and every request through
'allowedMethods' => ['POST'] // lets any and every request through
'allowedMethods' => ['PUT'] // lets any and every request through
'allowedMethods' => ['ABSOLUTELYANYTHINGYOULIKE'] // lets any and every request through

It’s unclear how you’re actually making the requests in those cases. To make it clear, please add a comment here showing:

the exact frontend JavaScript code you’re testing with for those cases — that is, showing the exact Ajax/XHR/Fetch requests you’re making in your frontend code
the exact value of the Access-Control-Allow-Methods response header the browser is receiving for the CORS preflight OPTIONS request in those cases.

You can use the Network pane in browser devtools to view all the response headers.
The thing is, if the actual request method you’re using in the Ajax/XHR/Fetch call in your frontend code is, for example, PUT — or anything other than GET or POST — then browsers will do a CORS preflight for that request, and if the value of the Access-Control-Allow-Methods response header the browser gets back is ABSOLUTELYANYTHINGYOULIKE or GET or POST or any other value that doesn’t contain PUT, then the preflight will fail and the browser will stop right there and never move on to even trying the actual PUT request from your frontend JavaScript code.
Now, if you’ve been testing by sending requests in some way other than actual frontend JavaScript code running in a browser, then it’s expected that the server will let any and every request through, because the server itself never does any blocking — instead the blocking is done by browsers, and only by browsers, and only for the case of frontend JavaScript code running in a browser (and not, for example, for the case where you’re using Postman or something to send the request).
Or as @barryvdh states in https://github.com/barryvdh/laravel-cors/issues/260#issuecomment-352888481:

only the browser blocks it when it's cross domain and the header are not there.

The only effect that setting allowedMethods has it to cause the server to send back the Access-Control-Allow-Methods response header with a certain value. And browsers are the only client tools that pay any attention to the Access-Control-Allow-Methods response header, and even browsers only pay attention to it for the case of frontend JavaScript code they’re running — and not, for example, for the case where you’re using Postman or something to send the request.

Thank you, @sideshowbarker. That's a very comprehensive answer. That was exactly the problem; I was just using jQuery's in-built post function and no preflight request was being sent. In my case, I don't really care, this was just something that bugged me about this package as it appeared to be something that wasn't working properly.
Please feel free to post this as an answer to my Stackoverflow question and I will mark it as accepted. Thanks again.

I'm closing this due to inactivity. If this issue is still relevant on the latest version (2.0.1 at the moment), please open a new issue with detailed information.


[VS Code] Not currently hosting a collaboration session.

Error:
Not currently hosting a collaboration session.
Steps to Reproduce:
1.
2.

Version Data

extensionName
VSLS

extensionVersion
1.0.828

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.38.1

platformName
Windows

platformVersion
10.0.17763

Hey @AjayPrajapat  , could you provide some more information? What were you doing when you received this error message? Do you continue to see this error message?
If you can get Live Share logs with Live Share: Export Logs command from VSCode command palette (ctrl+ship+p to get there), and attach them to this issue, this will help us troubleshoot.

Closing this due to inactivity. Please reopen it if you’re still encountering the issue. Thanks!


[Question] Consuming From another Operator

Describe the problem:
The problem is, I have two
@Operator(forKind = ServiceA.class, prefix = "salaboy.org")

and
@Operator(forKind = ServiceB.class, prefix = "salaboy.org")

From Service A onAdd(ServiceA serviceA) I want get check all the instances of ServiceB.
It feels to me that then I need to register manually a Fabric8 Kube APIs watch on a Custom Resource, which push me to do all the manual handling instead of reusing the ServiceB operator.
Steps to reproduce:

Observed Results:

What happened?  This could be a description, log output, etc.

Expected Results:
It will be great if the AbstractOperator provide a client for fetching those resources. By a Client I mean:
private NonNamespaceOperation<ServiceA, ServiceAList, DoneableServiceA, Resource<ServiceA, DoneableServiceA>> serviceACRDClient;

If this exists.. maybe some pointers to the docs would help

do I get it right that you want to be notified in onAdd(A a) when Bs are being "C~R~UDed"? Or you just need a way to read all the Bs from that onAdd(A a) method, because there is some 1:n relationship between A and B?
For the latter use-case the AbstractOperator.getDesiredSet() could work. However, I like your suggestion to expose that crd client to provide even more flexibility. Would that be something you would like to implement and send PR?

@Jiri-Kremser thanks for the response and yes... I was looking for that exact use case "you just need a way to read all the Bs from that onAdd(A a) method, because there is some 1:n relationship between A and B?"
It will be great to add Spring Boot support for auto configs.. so I can auto wire one Operator into another and then do List as = operatorA.getResources();
I can create a PR.. but the main problem that I see is the leaking of the Fabric8 types to the consume. I like the way that you guys abstracted all the Doneable things from the Fabric8 client.. I would like to keep it that way..

@jkremser is there any way to get in touch to have a chat besides GitHub? I want to contribute back but I need to have the answer to some questions before.

@salaboy we can use an ad hoc channel #spark-operator@freenode

@salaboy , is this something you've been working on already? It indeed sounds very useful.

@jkremser you mentioned:

do I get it right that you want to be notified in onAdd(A a) when Bs are being "CRUDed"

What if that is indeed what we want? Is there an implementation for that already?

we want to start with extending the sdk such that operators listening on CRD A kinds can also respond to changes in CRD B kinds. E.g., if a new version of B is deployed, we might also want to deploy a new version of A. would that also suit your use-cases?

We will! actually a colleague of mine shortly talked to you after the Spark summit in Amsterdam. Would you mind a quick call / skype session to get us up to speed, and see how we can best contribute?

@jkremser I've started investigating this. However, I'm wondering if it would make sense to split the handling of ConfigMaps vs. Custom Resources. Is there really a need to be able whether to use CMs or CRs at runtime (in particular via env variable)? I've started separating the code but I wanted to know if you thought it made sense. Separating the code would make it easier to add additional features for dependent resources (i.e. when there are dependencies between CRs and/or base k8s resources). See https://github.com/metacosm/abstract-operator/tree/split-cr-cm.

@frbl pls send me an email and we can talk the details<EMAIL_ADDRESS>@metacosm "CM-mode vs CR-mode in runtime" nope, there isn't CRs was the first shot and it was basically a workaround for the OpenShift restricted rights for normal users. These days the CRDs should be the default and any other k8s object should be also supported.
yea, it's probably cleaner that way you have it and it would allow for the extensibility for the base k8s resources (pod/deployment/job..). Contributions are welcome :100:


Chase JC to add as a Github user

...and collaborator for the NHIC project

Awaiting his response. Have poked on Slack.


RangeError: Maximum call stack size exceeded with large YAML file

Hi there, we are getting a RangeError with this file -> https://dl.dropboxusercontent.com/u/14439503/huge.yaml
The stack seems to show the error is from this method -> https://github.com/apigee-127/sway/blob/master/index.js#L209-L211
We have a client waiting for this, really hope you can help with this, thank you so much!

I can reproduce this and I will look into this.

@whitlockjc Thank you so much!

Initial digging I see that these are indeed circular:
#/definitions/OperationDefinitionParameter/allOf/1/properties/part/items
#/definitions/ParametersParameter/allOf/1/properties/part/items
#/definitions/ImplementationGuidePage/allOf/1/properties/page/items
#/definitions/QuestionnaireGroup/allOf/1/properties/group/items
#/definitions/QuestionnaireResponseGroup/allOf/1/properties/group/items
#/definitions/ContractTerm/allOf/1/properties/group/items
#/definitions/CompositionSection/allOf/1/properties/section/items
#/definitions/ValueSetConcept/allOf/1/properties/concept/items
#/definitions/ValueSetContains/allOf/1/properties/contains/items

I'm not sure why the circular handling isn't working but I will figure it out.

I have a fix but I'm trying to figure out why it works.  It should be working as-is so before I just commit this as the fix, I need to check to see if it's really fixing the issue or working around it somehow.

I think this might be related to https://github.com/whitlockjc/json-refs/issues/82.

I think if json-refs was capable of finding all circulars, sway could just use the json-refs metadata.  Let me attempt to fix it there, I've got an idea.

I'm still working on this and will continue to until I get it fixed.  Once it's fixed, I'll release json-refs and sway with the fix.

Thanks so much @whitlockjc!

I've got it fixed locally.  I will release a new version of json-refs and release a new version of sway with the new version of json-refs.

I've released a new version of json-refs.  I am now testing to see if this addresses your issue.  It seems to stop the RangeError but boy is it slow.  I'm trying to gather some metrics on it.

I think due to the large number of references you have, the approach in json-refs to fix https://github.com/whitlockjc/json-refs/issues/82 might not be performant enough.  I will likely need to spend more time with this.

Thanks @whitlockjc for helping to push a new version :bow:.  How long does it take yours to finish?
I cleaned up the yaml a bit (sorry for missing the circular before), here is the updated version.
Tried running Sway again seems to have stuck at this line.  I've let mine ran for a while now.

Which line?  The link you have is to your YAML.  I'm tracing now to see what is up also.

I created https://github.com/whitlockjc/json-refs/issues/87 to keep track of this.  Fixing https://github.com/whitlockjc/json-refs/issues/82 was kind of a brute force thing and it works fine with all of the test Swagger documents but for yours, it just crawls.  I'm tracing as well.

I added a cache so we do not pre-process potential circulars.  It seems to fix things but it makes identifying one of the circulars fail.  I'll get this sorted and come back when it's done.  Feel free to share anything you've got.

I've got it fixed.  I'm making some changes to the way in which json-refs resolves references.  Right now, finding references is fast.  Processing references to identify circulars is now fast.  Resolving references is fast enough but is missing a case and I think it's the way references are resolved.  I'll get it fixed, and this should address https://github.com/whitlockjc/json-refs/issues/87.

With the new code, there are still two circular references that do not get replaced properly.  I'm tracking this down.

@whitlockjc did you get a chance to fix the two circular references problem?  Thanks again for looking into it.

I've not fixed it yet but I've been working on it.  I'll let you know when it's done, sorry for the delay.

@whitlockjc Thanks again for helping, feel free to share the area you think there is a problem is too, I can help take a look.  We've a client waiting for this to work with them.
Thanks again for the help!

I've been working on it in all of my free time.  I've got a good solution, just finishing it up.  I needed to start fresh to avoid over-engineering it.

Hi @whitlockjc, sorry I note that you are only doing this at your free time, I just wanted to see how is the progress and if anything I can help?
Thanks so much!

I've been at a conference and finishing a sprint so my time has been limited.  I've been working on it actively and I'm almost done.  Fixing this is making json-refs much faster and more complete.  I'm glad you ran into this issue, although I'm sorry it's taken so long fixing it.

Hi @whitlockjc - np I understand and appreciate your effort, thank you for using your talents to create software that help the world!  Hopefully you can get the fix soon so this can unblock us and we can do more testings.  Thanks so much.

@whitlockjc wanted to see if you have an update on this one please?  Thanks again for helping and understanding!

I was on vacation and have just gotten back.  It's on my radar, sorry for the delay.

Hi @whitlockjc wanted to see if you have time on this one please?  Thanks!

Hi @whitlockjc, it's been a while, wanted to get back on this if you'll fix this issue please?
Thanks so much.

I apologize and I'm on it.  :)

Hi @whitlockjc are you still on this one?  Our test team found this and now our customer experience this one as well.

Please do share your thought on the problem and where you plan to put in the fix as well.  So we can start looking into other options to get a fix.

I can start working on a branch to make this easier to collaborate.  Basically, I've rewritten the core logic so many times I can't tell you.  I just haven't had any time recently like I thought I would.  Would that help?

Hey, the effect this problem us having on apigee-127/swagger-tools#39 is a bit of a blocker for us :( I can justify using some overtime to make a fix, if it's just a matter of throwing some dev time at some bullet points? Let me know :) (also, obligatory thanks for all the work you do with open api spec tooling!)

Sorry for the blocker, I'll be working on it tonight.

No worries, and awesome sauce :) let me know

Hey, so did you need any additional man power getting that fix out in the end?

Well, I just need to figure out how to manifest time.  ;)  All kidding aside, I'm 90% done with a rewrite of the resolver that has a huge performance benefit and fixes all known resolution bugs.  I should had been committing this to a branch so others could help but since I didn't, that's not possible so more people power wouldn't help.  I'll do better next time but know it's almost done.

I'll hit up my local occult library, see if they've got any time stuff :D, and awesome. Thanks for all the hard work!

Alright, I'm really banging my head against the wall on this one.  If anyone wants to do some pair programming on this, please join me in: https://gitter.im/whitlockjc/json-refs

@bosco-li Sorry for the long delay but I've got a new version of json-refs that will improve performance and accuracy.  I'm not sure if you're still using this but if you are, let me know.  I'll be updating sway shortly to use the new release within the next few days.

<EMAIL_ADDRESS>has released and sway will be updated to include it.  Based on the test document @bosco-li provided, processing time went from over 48 minutes to under 2.2 seconds.  And everything is resolved and recorded as expected.

Thank you!

I'm reopening until sway has been updated to use<EMAIL_ADDRESS>

Thanks - do you know when will that happen?

ASAP. ;)  I've been working on Kubernetes stuff this week, sway hopefully over the weekend.

@whitlockjc do you have an estimate when there will be an update for sway to use<EMAIL_ADDRESS>please?
Thanks.

No.  👎   But it's my top priority in my personal time at my keyboard.

sway was just updated to<EMAIL_ADDRESS> I'm going to merge PRs and fix bugs before cutting a release.

@whitlockjc thank you for this.  Are you going to publish the updates on npm please?

Yep, the work has already started.  All deps were updated, although I do think better json-refs support needs to be done.  I'm also fixing bug/feature requests and then cutting a release.

Thanks @whitlockjc - do you have a timeline for cutting a release just so we know when to expect please?

No concrete ETA but I'm working on it in the evenings so it should be within a week or so.


fix(components): add e2e timeout when trying to get component

Some of the earliest tests are failing in watch mode, so extend timeout from default 4s to 30s to avoid this issue (like we are doing it for e2e in storybook).

It's already an improvement, even if the tests are not green yet.


fix: update to lingua v1.2.3

fix: update to lingua v1.2.3

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

npm package (@latest dist-tag)
GitHub release
v16.19.5

Your semantic-release bot :package::rocket:


Getting list of tables through API

Hi there. Sorry for naive question, but how to get list of tables by Database instance?
I found kind of solution SELECT name FROM sqlite_master WHERE type='table'; and run it so db.prepare(...).all() but it returns an empty array.

my fault...