Automatic Log out just after Log in

Since the login isn't working currently, I went to https://privlyalpha.org/token_authentications/new and logged in to get my auth_token and I hard-coded it into the project. After logging into the android app, the privly main page is visible and at the top the status is shown as

"Pending Server Check, Application is checking its connection with the remote server"

This activity is visible for a second and then it goes back to the login activity. The call to log out is being made in the JsObject: https://github.com/privly/privly-android/blob/master/app/src/main/java/ly/priv/mobile/utils/JsObject.java#L115.
This is being called from the javascript code: https://github.com/privly/privly-applications/blob/30b06e77f57eedc451956e318b7ddc5e00877196/shared/javascripts/network_service.js#L447
I'm assuming some checks are being done in the JS code that are redirecting me to log out everytime. Could this be due to harcoding the auth_token?
If not, does anyone know why this is happening?

Yes, the JS apps check for a valid auth_token. However, I do not see that being a problem as long as you save the auth_token in Shared Preferences[0].
[0] https://github.com/privly/privly-android/blob/develop/app/src/main/java/ly/priv/mobile/gui/activities/LoginActivity.java#L228

The auth_token is saved properly after the login. I started taking a look again and the loginFailure callback in new.js in shared of the privly-applications is being called.
I'm having trouble understanding the control flow of the js code. In PrivlyApplicationFragment we are registering JsObject as the interface for javascript in the webview, and later loading a url and including some js for initialization purposes. But no code seems to be initializing/starting the js code of the privly-applications. I guess I am missing something. My main question is who/where is prompting the loginFailure callback in the js to be called.

The LoginActivity redirects the user to the MainActivity which loads the 'Message' privly application in the webview.
[0] https://github.com/privly/privly-android/blob/develop/app/src/main/java/ly/priv/mobile/gui/activities/MainActivity.java#L85

Yeah I understood that part. The part which is confusing me is the control flow in the javascript code. For example the following is being called in the js code:  androidJsBridge.showLoginActivity();
How did the control flow even reach to that point? And where exactly does the control flow begin in the js code?

It's the 'Message' Privly Application that gets loaded in the fragment, so you need to check the related js code. I'd suggest checking out the initializeApplication function in privly-applications/Message/js/new.js.

Ok sure, thanks!

I went through new.js in the 'Message' Privly application. I got a better idea of how all of these pieces fit together, thank you for the suggestion.
The auth_token is saved properly and the request made to the server https://github.com/privly/privly-applications/blob/30b06e77f57eedc451956e318b7ddc5e00877196/shared/javascripts/network_service.js#L155 sends the the auth_token as a parameter, but in the response JSON the "signedIn" key has a value of false.
{
"csrf": "___",
"burntAfter": "2016-03-20T17:58:17.127+00:00",
"canPost": false,
"signedIn": false
}

Sorry for sending you through these steps. I am hoping the change I just made to dev.privly.org will make these steps unnecessary.

I guess hard-coding the auth_token was the source of the problems. I am using dev.privly.org now and there are no issues.

Feel free to close this if there is no longer an issue.


RSpec/FilePath split is disabled by default

The changelog reads that RSpec/FilePath is "enabled by default" but it seems it isn't anymore.
Currently, users are forced to replace RSpec/FilePath with their alternatives when upgrading a minor release from 2.23.0 to 2.24.0. Is this expected or do we consider this a breaking change? :thinking:
Refs https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/merge_requests/195
/cc @ydah @bquorning
Originally posted by @splattael in https://github.com/rubocop/rubocop-rspec/pull/1698#discussion_r1322578845

From https://github.com/rubocop/rubocop-rspec/pull/1698#discussion_r1322601331:
@bquorning Sep 12, 2023

[...] I am not sure what is the preferred course of action – should we add the old cop back?

Good question! I was hoping we could turn the violation into a warning but unfortunately it's supported yet.
I see 2 options:

Fix the changelog and highlight that this is a breaking change
Enable FilePath by default and undo the split (in the config/obsoletion.yml) and highlight the tension of the cops in the changelog.

Later (or in the  meanwhile):

Allow split rules to emit warnings (via severity: warning in "cop rule", see above) in RuboCop repository
Re-add the split configuration with severity: warning
Make it a violation (instead of warning) in the next major release

Depending on what we consider a "breaking change" both options are possible :sweat_smile:
WDYT?

As mentioned in the following PR

https://github.com/rubocop/rubocop-rspec/pull/1710

How about proceeding as follows?

Remove the configuration from config/obsoletion.yml once, since split would result in an error. (Patch version release)
Release a version that warns if RSpec/FilePath is used (Next and subsequent releases)
Remove RSpec/FilePath in the next major version update

@ydah :wave:

How about proceeding as follows?

This sounds great!

I think it looks good. Perhaps it would be better to implement it before step2.

Yes, we could! However, we'd need to wait for the RuboCop version to be released and tweak the dependency here :shrug:
For now, I only see either sticking with rubocop-rspec 2.23.2 or accept the breaking change and remove RSpec/FilePath from .rubocop.yml per project.

Question for the maintainers: Since 2.24.0 has some potential for user confusion, I wonder if, after 2.24.1 was released with https://github.com/rubocop/rubocop-rspec/pull/1718 merged, we are considering yanking this release? :thinking:

yanking this release

Quite unlikely. I see this as a regular bug fix.
We have had a dependency issue situation recently and planned to yank 2.18.0, but I think we didn’t and nobody complained.

I'm having trouble with this. If I disable the RSpec/FilePath rule, it complains that the rule has been deprecated, but if I remove references to it, it reports a violation. This is with EnabledByDefault: true.

Hey @mockdeep ! Interesting 🤔. Does it work the same way for you with the fix from #1718?

@pirj yeah, that fixes the issue for me. I need to handle both the FilePath and SpecFilePathFormat cops, but it doesn't cause an error preventing me from moving forward.

v2.24.1 has been released, which I hope fixes the problem.

I'm confused, is the plan to still deprecate RSpec/FilePath?

Yes, the RSpec/FilePath cop will be removed in v3.x (issue #1723). Since that would be a breaking change, the cop is still enabled for now. We did disable it in v2.24.0 and then re-enable it in v2.24.1, which I imagine may cause some confusion. (At least it did for me 😅)
If you upgraded to v2.24.0 and started have the new cops RSpec/SpecFilePathFormat and RSpec/SpecFilePathSuffix explicitly enabled, you probably want to explicit disable RSpec/FilePath after upgrading to v2.24.1.


Byline Normalization

As I was looking through the docs, I noticed inconsistent bylines. This PR seeks to normalize them.
Formats

By {author}
By {author1} and {author2}
By {author1}, {author2}, ... and {authorX}

Hi @GuardRex, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

aspnetcore/client-side/using-grunt.md
:white_check_mark:Succeeded

aspnetcore/client-side/using-gulp.md
:white_check_mark:Succeeded

aspnetcore/fundamentals/configuration.md
:white_check_mark:Succeeded

aspnetcore/fundamentals/dependency-injection.md
:white_check_mark:Succeeded

aspnetcore/fundamentals/localization.md
:white_check_mark:Succeeded

aspnetcore/fundamentals/servers/weblistener.md
:white_check_mark:Succeeded

aspnetcore/hosting/servicing.md
:white_check_mark:Succeeded

aspnetcore/index.md
:white_check_mark:Succeeded

aspnetcore/migration/mvc.md
:white_check_mark:Succeeded

aspnetcore/migration/rc1-to-rtm.md
:white_check_mark:Succeeded

aspnetcore/mvc/views/razor.md
:white_check_mark:Succeeded

aspnetcore/mvc/views/working-with-forms.md
:white_check_mark:Succeeded

aspnetcore/performance/caching/response.md
:white_check_mark:Succeeded

aspnetcore/security/app-secrets.md
:white_check_mark:Succeeded

aspnetcore/security/authentication/facebook-logins.md
:white_check_mark:Succeeded

aspnetcore/security/authentication/google-logins.md
:white_check_mark:Succeeded

aspnetcore/security/authentication/identity.md
:white_check_mark:Succeeded

aspnetcore/security/authentication/microsoft-logins.md
:white_check_mark:Succeeded

aspnetcore/security/authentication/other-logins.md
:white_check_mark:Succeeded

aspnetcore/security/authentication/sociallogins.md
:white_check_mark:Succeeded

aspnetcore/security/authentication/twitter-logins.md
:white_check_mark:Succeeded

aspnetcore/tutorials/publish-to-azure-webapp-using-vs.md
:white_check_mark:Succeeded

aspnetcore/tutorials/your-first-mac-aspnet.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Missing map name

Search before asking

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

What happened
call the rest api
url   /hazelcast/rest/maps/stop-job
return
{
"status": "fail",
"message": "Missing map name"
}
SeaTunnel Version
2.3.3
SeaTunnel Config
seatunnel:
  engine:
    history-job-expire-minutes: 1440
    backup-count: 1
    queue-type: blockingqueue
    print-execution-info-interval: 60
    print-job-metrics-info-interval: 60
    slot-service:
      dynamic-slot: true
    checkpoint:
      interval: 10000
      timeout: 60000
      storage:
        type: hdfs
        max-retained: 3
        plugin-config:
          namespace: /tmp/seatunnel/checkpoint_snapshot
          storage.type: hdfs
          fs.defaultFS: file:///tmp/

Running Command
call the rest api
url   /hazelcast/rest/maps/stop-job

Error Exception
{
    "status": "fail",
    "message": "Missing map name"
}

Zeta or Flink or Spark Version
No response
Java or Scala Version
No response
Screenshots
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

2.3.3 version unsupport stop-job api.try dev branch.

2.3.3 version unsupport stop-job api.try dev branch.

thanks


Proposal: create live Deep Learning service for analyzing test output

Thanks to @LongyuZhang , we have the initial Deep Learning (DL) prototype that takes test outputs (from TRSS) as the training data to predict possible issues. The prototype uses Tensorflow for test output classification. It is improved with TF-IDF method and weighted model. We have achieved a lot so far. However, there are lots of work that need to be done. For example, we need to further refine the model, collect more types of test outputs data, utilize more detailed information for DL model training and testing. Our goal is to refine the DL model and use it to suggest possible issues/solutions related to the test failure.
Currently, the work has mostly done locally. It is very time consuming, limited data set, and unreliable. It will be great if we can create a live DL service using a machine that can run machine learning so that we can

have API to get the result from DL model at runtime
constantly using new TRSS data for model training and refinement
get feedback and adjustment quickly to shorten the development cycle

This can be separated into two parts:

create the API that uses the trained model to predict possible issues
automate data gathering and DL training process to generate trained model

For part 2, we would like to get a server with GPU that can run machine learning
https://www.tensorflow.org/install/gpu
We should also investigate the existing machine learning pipelines. For example https://cloud.google.com/blog/products/ai-machine-learning/cloud-ai-helps-you-train-and-serve-tensorflow-tfx-pipelines-seamlessly-and-at-scale

Thanks @LongyuZhang and @llxia !
For other people's reference, Longyu does a good summary of this prototype in this presentation: https://www.crowdcast.io/e/learning-about-deep
This will be a wonderful starting point under which we will engage other community members and some upcoming student programs!

For fun, and to help track all of the cool initiatives we have at the project, I've codenamed this work... "deep AQAtik" (where tik stands for 'triage in kind').

Plans for ML + TRSS project:

Develop initial prototype for Possible Issue ML project to obtain the ML model;
Deploy the ML model with Python Flask server, the server needs to process data with the same procedur and parameters from the training process
In TRSS possible issue, get possible issue with the testname keyword first, and then rank them with ML scores from ML deployment server
Update repo links due to the migration to Eclipse
setup ML training and deployment server on machines different from TRSS (e.g. new Fyre machine and external machine ), with url to receive and send web request.
collect contents of github related issues automatically, and then monitor these repos to collect new issues and re-train the model.
Optimize the training algorithm to improve performance of the ML model.
Optimize the ML pipeline through referring to TensorFlow Extended, the book “The ultimate guide to MLOps”, and other ML pipeline related resources.

Other ideas:

Change icon color of “possible issues” so user can know if there are related issues without clicking it.
add button for users to give feedback, and use the feedback to further improve ML model performance.
use ML to predict machine failure, and then take the machine offline if needed.


Catch UTXO set read errors and shutdown

Should resolve few crashes
original commit https://github.com/bitcoin/bitcoin/commit/13cdce4336818d0f6cefe6b3e61c45762d97d7c6

Looks great, thanks


fixed writeln()

small fix but incredibly useful for debugging

Please fix based on my comments, rebase, and reword the commit message.
e.g.
FIX BUG: writeln()

Temporary fix to the SDC runtime to allow printing strings.  Eventually
We would like to support phobos directly.

@deadalnix This seems helpful.  Can we merge it?

@schancel @deadalnix
I think it good to go now.

Update commit message and this gets in. This is not fixing writeln, simply allowing it to print ints.

and strings.

done


Async refactor

Refactor the renderer to user fibers in a manner similar to how we refactored the engine core. OpenGL still can handle running in parallel, but at the least we can make the renderer thread-safe to a degree and make it better integrate with the rest of the engine.

The biggest thing that could be improved here would be to move the resource handle management into the renderer. Currently the engine does a lot of work to turn the IDs generated by polygon into unique handles that can be used safely in a multi-threaded context. This work could be done by polygon directly, which would likely simplify the engine's code and bring some clarity as to other ways for polygon to be parallelized.


Editor service mediapackage locking

To prevent multiple users from editing the same recording simultaneously some form of locking is required in the editor. This PR added the functionality to the editor service to maintain in memory a temporal cache of locks for any valid mediapackage. The lock will expire after a set amount of time and need to be re-obtained.
This PR doesn't add the locking feature to the built-in editor as it is intended to be used with the standalone editor.
This PR is a heavily reworked version of the original submitted by Tobias for UoM.

@JamesUoM if you want this in 12.N, this needs an update soonish :)

@JamesUoM when I look at the output of /editor/{mediaPackageId}/edit.json, I see a number of lock related fields, including lock_uuid.  Except every time I refetch that endpoint, I see a different uuid and none of them match the uuid I sent when locking the mp.
Further behaviour question:

I seem to be able to create locks as both the global admin user, and test user at the same time as long as the UUID is the same.  Is this expected?
The UUID I mention above is present (and constantly changing) regardless of whether there are any current locks.  Should this be there?

@JamesUoM when I look at the output of /editor/{mediaPackageId}/edit.json, I see a number of lock related fields, including lock_uuid. Except every time I refetch that endpoint, I see a different uuid and none of them match the uuid I sent when locking the mp.

This is correct, we'd expect /edit.json to be called once per editing session. The UUID is not stored and the mediapackage is not locked with it when editor.js is called. It is up to the editor to use this UUID or to create its own when it requests the lock.
If the user reloads the editor application, the editor should release either release the lock on page unload (this is what the PR to opencast-editor does) or maintain the UUID between reloads.
In the case the editor is restarted without releasing the lock or retaining the UUID, then the user will have to wait until the timeout has elapsed (which is why it's short) as this just looks like a new session.

Further behaviour question:

I seem to be able to create locks as both the global admin user, and test user at the same time as long as the UUID is the same.  Is this expected?

Yes, the "user" is just metadata. Though there would be no harm in testing it.

The UUID I mention above is present (and constantly changing) regardless of whether there are any current locks.  Should this be there?

Essentially this asking whether /edit.js should check if the mediapackage is currently locked. I'd not considered that, but checking the lock status is what the new REST call is for and makes for a cleaner API

Ok, sounds good!


iosfw 0.9.6 ProcessLookupError

Testing iosfw 0.9.6, I having errors. Nothing is logged to file on disk, only throwing:
$ python3
Python 3.6.8 (default, Apr  2 2020, 13:34:55)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from iosfw import iosfw
>>> device = iosfw('dhcp-buildroom-7')
Exception ignored in: <bound method iosfw.__del__ of <iosfw.iosfw.iosfw object at 0x7f7eabaf17b8>>
Traceback (most recent call last):
  File "/opt/scripts/iosfw/iosfw/iosfw.py", line 227, in __del__
    except OSError.ProcessLookupError:
AttributeError: type object 'OSError' has no attribute 'ProcessLookupError'
>>>
>>>
KeyboardInterrupt

That error is in a function that's attempting to work around an ssh proxy, which we are not using. If it matters, I have these versions of related things installed:
napalm (3.0.1)
netmiko (3.1.1)
PyYAML (5.3.1)
If I switch back to the dev branch, which I was testing before a few recent bugfixes, it works fine.

Ah, re-reading diffs, device.open() is a new step
testing this and expecting to work.

I saw no problems on same python version.

Was finally able to test. This does work now that I am using device.open().
Note per issue 9, I did notice an unrelated regression in extra debug output in 0.9.6 in general, put a note there.


Confused on Division Implementation

Hello!
More of an implementation question than anything else, buy why does the '/' operation truncate by default?
And if possible, can there instead be two '/' functions? One that keeps the original functionality but returns it as the relevant int type instead, and another that just returns the '.divide' function as a decimal. Or perhaps replace the current function with '÷' and use '/' for '.divide'?
This would just make it much easier to use the package as a drop in replacement for a double. If you agree with the change, I can even create the pull request.

Sure go ahead.

Done, I believe.

To answer your question about the truncation in the '/' division, have a look at the README.md file. It explains the design decisions made. Basically some divisions could result in infinite decimal calculations so this is a practical way of avoiding this situation. A 'divide' function provides additional arguments to allow as much precision as desired during extended calculations.

Hey! Thank you for the follow ups. Yup makes sense. I ended up needing a lot more
relatively niche modifications for my particular use case, so it was just easier to create a fork. But honestly thanks for making and supporting the library, it’s been a big help!


Fix unhandled exception on existing but unpublished spreadsheets.

When I try to access a spreadsheet that has a valid key but is not yet published to the web the module runs on exception which can't be handled by the application using the module. With this PR the exception is caught and passed back to the application through the provided callback.

Nice, thanks ;)

Published 0.4.2


FBX import takes forever (more than 2 minutes for single object)

Godot version
v4.2.rc.custom_build [80de898d7]
System information
Godot v4.2.rc (80de898d7) - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3070 (NVIDIA; <IP_ADDRESS>42) - AMD Ryzen 5 3600 6-Core Processor (12 Threads)
Issue description
When importing an FBX asset (56MB) it takes way too long (2 minutes and 17 seconds, yes I measured it).
On the other hand, blender takes 1-2 seconds.
Steps to reproduce

Download any FBS asset (I used: https://free3d.com/3d-model/nathan-animated-003-walking-644277.html)
Unzip it
Drag & Drop rp_nathan_animated_003_walking.fbx to the scene / FileSystem to import it

Minimal reproduction project
I can't upload it. For some reason, a single node3d and FBX import, the size of the ZIP is 250MB.
I'm not joking, the .godot folder size is 211MB (again this is brand new project that I only imported FBX)

So I can't upload demo project

Here is breakdown of timings of imports:
Importing:  res:///rp_nathan_animated_003_walking-3646db1cded66d4d1c459753f4ec3434_rp_nathan_animated_003_dif.jpg
Importing: res:///rp_nathan_animated_003_walking-3646db1cded66d4d1c459753f4ec3434_rp_nathan_animated_003_dif.jpg took 56432488 microseconds
Importing: res://rp_nathan_animated_003_walking.fbx took 68747184 microseconds
Importing:  res://rp_nathan_animated_003_walking.fbm/rp_nathan_animated_003_dif.jpg
Importing:  res://rp_nathan_animated_003_walking-3646db1cded66d4d1c459753f4ec3434_rp_nathan_animated_003_dif.jpg
Importing: res://rp_nathan_animated_003_walking.fbm/rp_nathan_animated_003_dif.jpg took 41480208 microseconds
Importing: res://rp_nathan_animated_003_walking-3646db1cded66d4d1c459753f4ec3434_rp_nathan_animated_003_dif.jpg took 58914194 microseconds
res://rp_nathan_animated_003_walking-3646db1cded66d4d1c459753f4ec3434_rp_nathan_animated_003_dif.jpg: Texture detected as used in 3D. Enabling mipmap generation and setting the texture compression mode to VRAM Compressed (S3TC/ETC/BPTC).
Importing:  res://rp_nathan_animated_003_walking-3646db1cded66d4d1c459753f4ec3434_rp_nathan_animated_003_dif.jpg
Importing: res://rp_nathan_animated_003_walking-3646db1cded66d4d1c459753f4ec3434_rp_nathan_animated_003_dif.jpg took 6797221 microseconds

By adding this code to the engine:

Like I said the main problem is the mipmaps.
The first mipmap size is 36MB which is significantly more than the original texture (5MB).
In addition to size inflation, the mipmap output is worse than the original texture:

(Left - original texture , Right - mipmap 0)
I extracted all mipmaps into files so I can view them, and we can see the 5MB texture inflated to 52MB mipmaps:

@Calinou I also noticed the texture is inflated in size:

Left: original FBX files, totaling 60MB
Right: inflated import of FBX (totaling 208MB)
And the memory of the texture on the right says 192MB.

@Calinou I also noticed the texture is inflated in size:

Lossless compression generally results in smaller files than VRAM compression, which has a fixed 1:4 compression ratio (1:6 for S3TC DXT1). This is especially the case with textures that have lots of flat color areas, which compress very well with lossless compression but won't compress any better than an highly detailed texture when using VRAM compression.

Can you still reproduce this on 4.3.dev6? FBX import is now handled by ufbx, which should be faster than fbx2glTF.
On my system, it takes about 30 seconds to import the 3D scene from scratch, with most time spent in the VRAM compression process:
EditorFileSystem: Importing file: res://55-rp_nathan_animated_003_walking_fbx/tex/rp_nathan_animated_003_dif.jpg
EditorFileSystem: Importing file: res://55-rp_nathan_animated_003_walking_fbx/tex/rp_nathan_animated_003_gloss.jpg
EditorFileSystem: Importing file: res://55-rp_nathan_animated_003_walking_fbx/tex/rp_nathan_animated_003_mask01.jpg
EditorFileSystem: Importing file: res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking_A.jpg
EditorFileSystem: Importing file: res://55-rp_nathan_animated_003_walking_fbx/tex/rp_nathan_animated_003_mask02.jpg
EditorFileSystem: Importing file: res://55-rp_nathan_animated_003_walking_fbx/tex/rp_nathan_animated_003_norm.jpg
EditorFileSystem: Importing file: res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking_0.png
EditorFileSystem: "res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking_A.jpg" import took 63 ms.
EditorFileSystem: "res://55-rp_nathan_animated_003_walking_fbx/tex/rp_nathan_animated_003_mask02.jpg" import took 84 ms.
EditorFileSystem: "res://55-rp_nathan_animated_003_walking_fbx/tex/rp_nathan_animated_003_mask01.jpg" import took 903 ms.
etcpak: Encoding image size 8192x8192 to format DXT1 RGB8, with mipmaps.
etcpak: Encoding took 375 ms.
EditorFileSystem: "res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking_0.png" import took 1453 ms.
EditorFileSystem: "res://55-rp_nathan_animated_003_walking_fbx/tex/rp_nathan_animated_003_gloss.jpg" import took 5208 ms.
EditorFileSystem: "res://55-rp_nathan_animated_003_walking_fbx/tex/rp_nathan_animated_003_norm.jpg" import took 8780 ms.
EditorFileSystem: "res://55-rp_nathan_animated_003_walking_fbx/tex/rp_nathan_animated_003_dif.jpg" import took 9236 ms.
EditorFileSystem: Importing file: res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking.fbx
Using present mode: Enabled
FBX path: res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking.fbx
FBX: Total images: 1
Total materials: 1
FBX: Total skins: 1
FBX: Parsing mesh: 0
FBX: Total meshes: 1
FBX: Total lights: 0
FBX: Total cameras: 0
FBX: Total animations '1'.
FBX: Converting spatial: rp_nathan_animated_003_walking
FBX: Converting spatial: rp_nathan_animated_003_walking_CTRL
FBX: Converting spatial: rp_nathan_animated_003_walking_geoGRP
FBX: Creating mesh for: rp_nathan_animated_003_walking_geo
WARNING: Adding 'rp_nathan_animated_003_walking_geo' as child to 'Skeleton3D' will make owner '' inconsistent. Consider unsetting the owner beforehand.
     at: add_child (scene/main/node.cpp:1573)
Saving scene to: res://.godot/imported/rp_nathan_animated_003_walking.fbx-70ede9ed2be310c66cd60a4b5c5f9274.scn
EditorFileSystem: "res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking.fbx" import took 1272 ms.
EditorFileSystem: Importing file: res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking_u3d.fbx
FBX path: res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking_u3d.fbx
FBX: Total images: 0
Total materials: 0
FBX: Total skins: 1
FBX: Total meshes: 0
FBX: Total lights: 0
FBX: Total cameras: 0
FBX: Total animations '1'.
FBX: Converting spatial: rp_nathan_animated_003_walking
Saving scene to: res://.godot/imported/rp_nathan_animated_003_walking_u3d.fbx-7a3205819f580c588109854c6e77dc56.scn
EditorFileSystem: "res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking_u3d.fbx" import took 33 ms.
EditorFileSystem: Importing file: res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking_ue4.fbx
FBX path: res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking_ue4.fbx
FBX: Total images: 0
Total materials: 0
FBX: Total skins: 1
FBX: Total meshes: 0
FBX: Total lights: 0
FBX: Total cameras: 0
FBX: Total animations '1'.
Saving scene to: res://.godot/imported/rp_nathan_animated_003_walking_ue4.fbx-58af6c6dd031502eb3949053efefc224.scn
EditorFileSystem: "res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking_ue4.fbx" import took 31 ms.
Generated 'res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking.fbx' preview in 32 usec
Generated 'res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking_u3d.fbx' preview in 21 usec
Generated 'res://55-rp_nathan_animated_003_walking_fbx/rp_nathan_animated_003_walking_ue4.fbx' preview in 20 usec

Make sure to test this on a fully optimized editor build (production=yes SCons option).

PC specifications

CPU: Intel Core i9-13900K
GPU: NVIDIA GeForce RTX 4090
RAM: 64 GB (2×32 GB DDR5-5800 C30)
SSD: Solidigm P44 Pro 2 TB
OS: Linux (Fedora 39)


select_choices feature

New Feature
Changes proposed in this pull request:
select_choices(     *prompt: Token,     choices: List[Any],     func_desc: Optional[FuncDesc] = None,     sort: Optional[bool] = True, )
Adding the select_choices method for multiple selections by index delimited by space, comma or semi-colon.

Thanks :)


credentials for turn server

Hello,
thanks for your work.
i got a problem.
when using TURN server its require  credential/password.
can you help me, how i can use  credential/password  for turn server with current code.
something like this:
https://stackoverflow.com/questions/25446266/turn-and-stun-server-credentials
many thanks

config.iceServers = [RTCIceServer(urlStrings: ["turn:turn.yourdomain.com:3478","turn:turn.yourdomain.com:5349"], username: "user", credential: "pass")]

thanks!!!!!

Thats for the quick response @SimonTheCat
I’m closing this issue. Feel free to reopen the issue if you are still having problems.

@SimonTheCat from a security point of view, what can go wrong if these credentials fall into wrong hands?


Integration tests

Fixes #3
This uses minikube's --vm-driver=none which can run in virtualized environments https://github.com/kubernetes/minikube#linux-ci-installation-which-supports-running-in-a-vm-example-w-kubectl-installation.
Tests for production template currently do not work. This https://github.com/fabric8io/kubernetes-client/pull/814 has to go in and we will have to wait for the new release. I will create a separate issue in this repo.

I had a couple of comments/questions, but looks good to me!

@objectiser @jpkrohling thanks for reviews!


Question: Why not a type alias?

Hello! I was reading your post and I was wondering: why not use a type alias instead? It will still communicate your intention better than the Result<(), E> and you will not be creating a new incompatible type for your errors.
I mean, something like this:
type Fallible<E> = std::result::Result<(), E>;
fn fail<E>(e: E) -> Fallible<E> {
    Err(e)
}
fn success<E>() -> Fallible<E> {
    Ok(())
}

Link to playground with tests.

It's a very good point, and it's a great way to get most of the way there.
One reason is that since type aliases are completely transparent, compiler errors which include these will show the aliased type, meaning if you fail to write correct code which calls or is itself a function that returns (a type-aliased) Fallible<E>, the signature of the function in question will say Result<(), E> in all the places you put Fallible<E>.
Some of the methods on Result also don't really make sense for the type alias. For instance, map acts on the successful case for Result, but it doesn't make sense at all to map a Fallible<E> except in the case where you want to map the error, which is what map does.
tl;dr: Type alias gets you 80% there, if you are well aware that it is a type alias.

For instance, map acts on the successful case for Result, but it doesn't make sense at all to map a Fallible<E> except in the case where you want to map the error, which is what map does.

On the contrary one might still want to replace the "no value" with "some value" only for the case when the operation did not fail.. But yeah calling that map is perhaps a bit misleading..


test neovim configuration generation

Motivation for this change
There are 4/5 ways to configure neovim and it's hard to improve the wrapping without breaking anything so here is an attempt at testing the most crucial point: customRc is passed on and plugins too.
TODO:

test wrapRc arguments
test plugins are correctly installed

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Added a release notes entry if the change is major or breaking
[x] Fits CONTRIBUTING.md.

cc @vcunat should be good enough for now.Ready for review.

@GrahamcOfBorg build tests.vim


Pick node version support

Lets pick a good version of Node to support for 1.0.
Considerations:

What people will be using when starting a DoneJS application.
How much "extra" we have to install based on different node versions.
Complexity of other node versions.
Node operating system support.

A big consideration would be what version their servers are using, since done-ssr has to run in production.
Would be interesting to hear what our users are using. I know of one company that uses Node 0.10 still I believe.

Uses only that version without allowing new apps to run different versions?
Sent from my iPhone

On Oct 18, 2016, at 7:29 AM, Matthew Phillips<EMAIL_ADDRESS>wrote:
A big consideration would be what version their servers are using, since done-ssr has to run in production.
Would be interesting to hear what our users are using. I know of one company that uses Node 0.10 still I believe.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I think the main consideration should be the official Node LTS schedule:
Maintenance
v0.12
-
2016-04-01
2016-12-31

Active
v4
2015-10-01
2017-04-01
2018-04-01

N/A
v5
N/A

Pending
v6
2016-10-18
2018-04-18
2019-04-18

That means official support for 0.10 and 0.12 can be removed by 2016-12-31
I'd also go as far as only supporting latest for DoneJS and LTS + latest for done-ssr.

we can easy support 4+ i am into the ES7/8 Roadmap and know the Mozilla Roadmaps.
every one who uses node 0.10 0.12 should do npm install -g n and then n stable to upgrade to node 4 thats it. or n latest so node upgrades arn't a problem on any operating system the npm package n does that realy well. I am DevOps Special.

but when you whant to do that you should add my proposed package updates for documentjs and testee as both contain dependencys that are realy outdated. So outdated that it don't installs on all systems :) simply compare the package.json of https://github.com/dssrv/testee and https://github.com/dssrv/documentjs

There is a poll here to help us make the decision: http://forums.donejs.com/t/node-version-support-for-donejs-1-0/517. Please fill it out if you're interested.

extra info to communicate for people that have problems installing a newer node version
npm install -g n
n stable

you can also use n lts, stable, latest, v7.1.0, 6.0.0 and so on thats it
https://github.com/tj/n

We decided we would use Node 4, 6, and 7. If we run into issue with Node 4 we will re-evaluate.
This was discussed at the Contributor's Meeting on 1/6: http://forums.donejs.com/t/donejs-contributors-meeting-2017-01-06/526/12.


Wrong Helm logo in 'Infrastructure Automation'

Use this version:
https://datamountaineer.com/wp-content/uploads/2016/09/helm.png

Hi @lennypruss thanks and this will be corrected in the upcoming version

Thanks @lennypruss, closing as this update was included in the most recent version https://github.com/cncf/landscape#current-version


Galley v1: Productionization/telemetry.

As a v1 component, we need to ensure that Galley will have the appropriate logging, monitoring and diagnosability features implemented.
(See https://github.com/istio/istio/issues/2082 for more general info).

[x] Ensure that we have the appropriate logging scopes and the code is using this diligently.
[x] Implement appropriate metrics and make sure they show up in the dashboard.
[ ] Implement span tracing for gRPC.
[x] Ensure that liveness and readiness probes are implemented and works fine.

(The last one can get a bit tricky, when we combine two subsystems (the main config server & validation webhook) as they are on different liveness/readiness plans.

In-flight:
Metrics for Galley itself.
Pending:
Log scopes
Span tracing (not critical for 1.1)

Log scopes is done.
Span tracing is not critical for 1.1
Moving to 1.2


I-BERT: Integer-only BERT Quantization

집현전 최신반 스터디

2022년 4월 10일 일요일 10시
김보성님 김수연님 김진환님 발표
논문 링크: https://arxiv.org/abs/2101.01321

Abstract
Transformer based models, like BERT and RoBERTa, have achieved state-of-the-art results in many Natural Language Processing tasks. However, their memory footprint, inference latency, and power consumption are prohibitive efficient inference at the edge, and even at the data center. While quantization can be a viable solution for this, previous work on quantizing Transformer based models use floating-point arithmetic during inference, which cannot efficiently utilize integer-only logical units such as the recent Turing Tensor Cores, or traditional integer-only ARM processors. In this work, we propose I-BERT, a novel quantization scheme for Transformer based models that quantizes the entire inference with integer-only arithmetic. Based on lightweight integer-only approximation methods for nonlinear operations, e.g., GELU, Softmax, and Layer Normalization, I-BERT performs an end-to-end integer-only BERT inference without any floating point calculation. We evaluate our approach on GLUE downstream tasks using RoBERTa-Base/Large. We show that for both cases, I-BERT achieves similar (and slightly higher) accuracy as compared to the full-precision baseline. Furthermore, our preliminary implementation of I-BERT shows a speedup of 2.4-4.0x for INT8 inference on a T4 GPU system as compared to FP32 inference. The framework has been developed in PyTorch and has been open-sourced.

발표 링크: https://www.youtube.com/watch?v=h46MREayQt8&list=PL2tRglRS_GqivYoDuzLNo_HezOvh4Z1XN&index=4

최신반 4조 I-BERT 발표 자료 링크

https://drive.google.com/file/d/1geiwXPYculLzgeaLc9iG9Hz1bMgC0WgS/view?usp=sharing


Correct way to create mutating decorator for a class constructor

According to readme.md:

A poorly written mutating decorator for a class constructor could cause metadata to become lost if the prototype chain is not maintained. Though, not maintaining the prototype chain in a mutating decorator for a class constructor would have other negative side effects as well. @rbuckton

Could you please provide an example? I've encountered this while creating decorator for Angular 2.
Is metadata stored in external map using class/function as key?

Metadata is stored in a WeakMap (or a polyfill if the host does not provide an implementation) using the class as the key.
The Reflect.getMetadata method looks for metadata on the target as well as its prototype chain. If a class decorator were to return a new class without maintaining the prototype chain it would result in Reflect.getMetadata not being able to look up metadata on the prototype chain. It can also result in cases where the class prototype no longer matches the class definition itself.
There are two approaches to mutating the class constructor:
// option 1: extend class
declare class ClassLike { constructor(...args: any[]); }

function classMutator1<TClass extends Function>(target: TClass): TClass;
function classMutator1(target: typeof ClassLike): typeof ClassLike {
    return class extends target {
        constructor(...args: any[]) { super(...args); }
    }
}

// option 2: use function
function classMutator2<TClass extends Function>(target: TClass): TClass {
    const replacement = function (...args: any[]) {
            // ES6 (new.target not yet supported in TypeScript)
            // return Reflect.construct(target, args, this.constructor.prototype);

            // ES5
            return target.apply(this, args);
    };

    // ES6
    // Object.setPrototypeOf(replacement, target);
    // Object.setPrototypeOf(replacement.prototype, target.prototype);

    // ES5
    replacement.prototype = Object.create(target.prototype);
    replacement.prototype.constructor = replacement;

    return <TClass><Function>replacement;
}

As this is not strictly relevant to this project, I'm closing this issue.


Registering NPS with AAD Domain Services

Registering NPS with AAD Domain Services fails. Presumably, AADDS does not allow to register NPS with it due to the lack of Domain Administrator permissions in AADDS. As other docs explain, this is a design choice.
That leads to NPS trying to authenticate the incoming request versus the local store, which obviously fails for AD users.
How is NPS then supposed to work in a cloud-only setup?

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

ID: 61df48bb-a963-b1f0-8f64-b55d0bd6904c
Version Independent ID: 677de59f-a222-8905-11c0-a3ac619d8b56
Content: Remote Desktop Gateway integration with Azure MFA NPS extension
Content Source: articles/active-directory/authentication/howto-mfa-nps-extension-rdg.md
Service: active-directory
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@antsok Thank you for your feedback . We will have it checked and update the threads accordingly.

@antsok

@antsok It seems you are trying to deploy RD gateway in AAD domain services environment for which NPS is a requirement . Could you please check this article if it suffice your requirements for born-in-the-cloud organisations ? Please let us know in case you have any further queries.

@antsok I have checked internally and at this point we do not give required permissions to register your NPS server in Azure ADDS . At this point this requested feature is currently under review by the Product Group . Please vote for the feature here on azure Feedback site.   Please vote for the same. At this point we will close this issue and in case you have any further query feel free to engage us again .
Thank you.


Feature/multiloader

uhm yeah, multiloader stuff I guess

Also, this PR theoretically fixes #23

But I have no Idea how to link this to the issue so it gets closed automatically :/


Unable to deploy, task marked as completed but the artifact is not uploaded

I'm having some problems to successfully execute this action.
My configuration is here:
https://github.com/stefanobartoletti/nuxt-social-share/blob/main/.github/workflows/gh-pages.yml
While the logs of the latest run are here:
https://github.com/stefanobartoletti/nuxt-social-share/actions/runs/6950250226
The deploy task is marked as completed, but the page at https://stefanobartoletti.github.io/nuxt-social-share/ is only blank HTML.
As you can see the artifact is built and contains the generated static website.

The "artifact exchange URL" inside the task gives the following value
https://pipelinesghubeus15.actions.githubusercontent.com/uNFUc1trwFENsFwkzlcZRcupmsMp7zFHyNPynsejKcILFyT7eQ/_apis/pipelines/workflows/6950250226/artifacts?api-version=6.0-preview
which has the following content:
{"$id":"1","innerException":null,"message":"The user 'System:PublicAccess;aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa' is not authorized to access this resource.","typeName":"Microsoft.TeamFoundation.Framework.Server.UnauthorizedRequestException, Microsoft.TeamFoundation.Framework.Server","typeKey":"UnauthorizedRequestException","errorCode":0,"eventId":3000}
This seems to be related somehow to #236, in that case the problem seemed to be some non-ASCII character in the branch name, a condition that doesn't apply in my case (the branch is main)

Despite the page appearing blank, I definitely see Nuxt content when I view the source of the page:
<!DOCTYPE html>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="/_nuxt/entry.b58322c9.css">
<link rel="modulepreload" as="script" crossorigin href="/_nuxt/entry.fd52b42d.js">
<link rel="prefetch" as="style" href="/_nuxt/error-404.1b80d82b.css">
<link rel="prefetch" as="script" crossorigin href="/_nuxt/error-404.cc5a933f.js">
<link rel="prefetch" as="script" crossorigin href="/_nuxt/_plugin-vue_export-helper.e03c7cdd.js">
<link rel="prefetch" as="style" href="/_nuxt/error-500.331c2e95.css">
<link rel="prefetch" as="script" crossorigin href="/_nuxt/error-500.eddd9705.js">

Looks like your URL pathing is incorrect. Because your URLs begin with /, they are seeking out files at https://stefanobartoletti.github.io/... rather than https://stefanobartoletti.github.io/nuxt-social-share/....
You likely need to revise your build process to incorporate the destination domain in as your Nuxt base URL.
You can utilize the actions/configure-pages action in your deployment workflow to get the relevant values. The action has preset for Nuxt, but I believe it only works with Nuxt v2.
The basic idea is you'll want to build your Nuxt app for static hosting and then ensure your base URL correctly includes your project repo's path.
In Nuxt v2, that meant adding a router base path to the configuration file. I'm not familiar enough to Nuxt v3 to be sure, but it looks like you may need to set app.baseURL in your configuration.
A minimal workaround for this would probably be to add something like the following 2 steps between your checkout and build steps:
      - uses: actions/configure-pages@v3
        id: pages
      - uses: jacobtomlinson/gha-find-replace@v3
        with:
          find: "ssr: false,"
          replace: "ssr: false, app: { baseURL: '${{ steps.pages.outputs.base_path}}/' }},"
          regex: false
          include: "playground/nuxt.config.ts"

Thanks!


Allow initContainer configs to set imagePullPolicy

Is your feature request related to a problem?
Yes, I assumed initContainers worked exactly the same as containers and attempted to set imagePullPolicy: Always in a config to pull the latest prebuilt deployment image for a database initialization task. However, after setting the value, it didn't propagate to the deployment config or complain that the setting was invalid and instead used an old image that was missing an update for the seeding process. This only became clear after inspecting the deployment and comparing the image SHAs.
Once I realized the imagePullPolicy seemed off, I was able to kubect edit the deployment, update the setting on the initContainer, delete the pod, and see it update with the correct image SHA on the next deploy.
Which solution do you suggest?
Allow initContainers configs in deployments section to set imagePullPolicy: Always and propagate it to the rendered deployment config. (Don't think I'm phrasing this right, but I'm still a helm/kubernetes noob 🤷)
Which alternative solutions exist?
Not sure.
Additional context
@LukasGentele asked me to post this issue after bringing it up in a support chat session.
It's a bit of an edge case as we don't often need to re-seed an environment or make changes to the seeding process, but when we do, it's important that it use the latest image.

/kind feature

@keithwoody thanks for reporting! Seems like an issue in the component chart to me

@keithwoody implemented in v5.2.1


TST: Test Python 3.9 and 3.10 on CI

Per #31, we need to start testing 3.9 and 3.10 via Github Actions.

Do we need to rely on those GDAL containers? Would standard conda env as we have elsewhere be enough? It could make the maintenance a bit easier.

I think we could certainly add in conda env for testing.  Probably also a good idea to keep around at least one test using the GDAL containers.  I can work on adding in Conda based tests.


CI: Verify cloud cache is working

For the last month:

I have updated the CI and local token to a fresh read/write token. We'll see if that helps.


Add namespace as target for @access decorator

Fixes #1299

:x: There is undocummented changes. Run chronus add to add a changeset or click here.
The following packages have changes but are not documented.

:x:@azure-tools/typespec-client-generator-core

Show changes

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs


change the Rake plugin to wrap Rake::Task#invoke

in the Rake plugin, we monkey patch the Rake application and not the Rake tasks. That means that only when running the Rake task using the regular command line do we wrap the errors. However, if you execute the Rake tasks programatically by running Task#invoke, the errors aren't wrapped. can we change the Rake plugin to wrap Rake::Task#invoke so it works everywhere, also programatically?

Hi there, I’m closing out all issues opened before 2018 that haven’t had any activity on them since the start of this year. If this is still an issue for you, please comment here and we can reopen this. Thanks!


Keyboard switches back to default(English) on its own

Hello 👋 .I have made a custom keyboard with help of keyboardKit. Everything was working fine.But the issue came up when i continuously open and close the keyboard, after 2 or 3 times the keyboard switches back to the default (English) keyboard.
This is not happening with the Demo Keyboard but only with my custom keyboard.Any help is appreciated 😇

Hi @FrankYChills
Do you persist and restore the new locale? The context is not persistent, so the changes will be reset when the keyboard relaunches, unless you persist them.

@danielsaidi Thanks for the information .No i haven’t done that.Can you please tell me how can i do that 😃

Do you have other keyboard layouts set up for the other locales?

No i do not have any other layouts or locales

Oh, do you mean that it switches back to the native, English system keyboard?

Yes.
It works fine for 2-3 times then switches to English on its own.This is not the issue with the Demo English Keyboard of KeyboardKit.

iOS is pretty random with these things, such as sometimes not linking to the app in System Settings although it works sometimes.
Can you try adding an empty settings bundle to your main app target?

I already had settings bundle on the main app. Even after removing that the issue persisted.
Are there any specific settings that i have to do on the main app?

I guess i have found the issue but do not know what to do to fix this.
This is happening cause of my custom view inside of  setup { controller in  function.
When i have this code
       setup { controller in

            VStack(spacing: 0) {

                                SystemKeyboard(
                                    state: controller.state,
                                    services: controller.services,
                                    buttonContent: { $0.view },
                                    buttonView: { $0.view },
                                    emojiKeyboard: { $0.view },
                                    toolbar: { _ in  }
                                )
                   }

        }

The keyboard works fine(view loads immediately) for 2-3 times but on the 4th time the view isn’t  loaded immediately(blank view is visible) and after some time(in ms) the keyboard shows up.
And when i have this code
        setup { controller in

            VStack(spacing: 0) {

                                SystemKeyboard(
                                    state: controller.state,
                                    services: controller.services,
                                    buttonContent: { $0.view },
                                    buttonView: { $0.view },
                                    emojiKeyboard: { $0.view },
                                    toolbar: { _ in  }
                                )

            }
            .overlay {
                let sharedDefaults = UserDefaults(suiteName: <name>)
                if let sharedDefaults = sharedDefaults {
                    <some code>
                    if(some case){
                        ABCView(controller: controller)
                    }
                    if(some case){
                       DEFView(controller: controller)
                    }
                }
            }

        }

The keyboard again works fine for 2-3 time and on the 4th time the Keyboard switches back to default(English)
I have no idea why this is happening. If you have any suggestions to fix this please let me know 🥹

Do you have an unowned reference to the controller in your custom views? If not, I think you may have a memory leak that causes your keyboard to be deallocated due to memory pressure.

No i do not have unowned reference of controller to my custom views.
How can i pass an unowned reference to my custom views?

Since you pass in the controller into ABCView and DEFView, it's very important that they mark their controller property as unowned, otherwise the controller will be retained.
You can have a look at the demo app, or see the documentation. All you have to do is to mark the property as unowned.

in my custom views i have changed the property from var controller : KeyboardInputViewController to unowned var controller : KeyboardInputViewController.But still it doesn't works :(

Finally i fixed it by using a "hack". I called exit(0) in viewWillDisappear function which clears all of the allocations.

Thank you for letting me know! I'll re-open this and do some testing to see if adding this would have any side-effects.

Hi @FrankYChills - I just wanted to check if you've noticed any side-effects after calling exit(0)?

Not so often but very rarely ,sometimes the keyboard takes some time to load.

Also facing the same issue. Each time the keyboard is dismissed and reopened, the memory usage increases by 4-5 MB. After repeating this process 3-4 times, the memory usage reaches the system's limit, causing the extension to crash. Using exit(0) in the viewWillDisappear method effectively resets the memory usage but results in a longer load time when the keyboard is reopened.

@mishal-udeshi Are you by any chance creating a strong reference to the controller? I tested the memory usage now and there are no (apparent) memory leaks. But if you pass the controller into e.g. a view without marking it as weak or unowned, you will get a memory leak.

I will close this since there is no apparent action to be taken to make sure that a keyboard extension is consistently restored by iOS. Feel free to reopen it if you have any other information or found a way to make it always restore.


Why does glz::format_error not take a const ref to buffer ?

[[nodiscard]] inline std::string format_error(const parse_error& pe, auto& buffer)
the auto& here prevents me from passing a const std::string& as the buffer (which works for read_json)
this variable is only used inside the body of this function as a const auto& argument, so i think it should be const auto& in this function's signature as well.

Thanks! Fixed in #278


Unable to install the package

When I execute pip install jupyterhub_labextension, I receive the following error:
Could not find a version that satisfies the requirement jupyterhub_labextension (from versions: )
No matching distribution found for jupyterhub_labextension

@danielballan
Thanks for your efforts with this.
Is this extension in a usable state against jupyterhub 0.72 and jupyterlab 0.12.1?
Does it need to be installed on both jupyterhub and jupyterlab or just the hub?

@sofianeh This package is not pip-installable yet because it is still a work in progress, not quite functional. I expect it will be released as soon as it is minimally functional.
@Analect It's not quite in a usable state yet (see comments in my PR).

Thanks @danielballan
I see this was fixed around the time of your last pull request, which I think is related.  Is the plan for the jupyterlab extension system to bed-down some more before revisiting this extension?

@Analect I'd like to get this working with the latest stable notebook server + current JupyterLab to start playing with it. Maybe we'll wait to tag a release until we have an approach that we plan to sustain.

@danielballan That would be great.  I have a set-up with 0.14 jupyterlab and ver 5.0-dev (master branch) of notebook.  If you have some guidance as to how to install this extension and whether it needs installing on both jupyterhub and jupyterlab, that would be really helpful.

@danielballan ... any guidance on whether this can work in the context of jupyterlab 0.16.2? I don't know enough about how these lab extensions work, but was this pull request a step towards getting this functional?

I think that PR is unrelated. But I'm (finally) revisiting this right now, armed with better debugging tools. Will report back shortly.

@Analect Ah, you were right that it is related. Going back a littler further in time, this commit cleaning up the config, superceding this commit that first made it possible for hub to inject its URLs. I'm refactoring the extension to fit....

Update: https://github.com/jupyterlab/jupyterlab/pull/1804

@danielballan
Thanks for your work on this. With that pull request above (1804) already merged, is jupyterlab now set-up to be able to work with this extension, or do some things still need modifying.  I'd love to see a worked example of what's possible.

@Analect See #4.

@danielballan
Thanks .. I hadn't seen that pull request. I look forward to testing when I see jupyterlab 0.17 arriving.
Could I ask a few follow-on questions.
The image I currently use to spin up a jupyterlab server uses this command:
CMD jupyterhub-singleuser \
  --port=8888 \
  --ip=<IP_ADDRESS> \
  --user="$JPY_USER" \
  --cookie-name=$JPY_COOKIE_NAME \
  --base-url=$JPY_BASE_URL \
  --hub-prefix=$JPY_HUB_PREFIX \
  --hub-api-url=$JPY_HUB_API_URL \
  --HubAuth.api_token=$JPY_API_TOKEN \
  --notebook-dir="/home/jovyan/work" \
  --SingleUserNotebookApp.default_url=/lab

... and I am using kubespawner to spawn servers, so my jupyterhub_config.py includes the following elements ... as an illustration of how parameters are passed into that spawner.
from kubespawner.spawner import KubeSpawner
class MySpawner(KubeSpawner):
...

c.JupyterHub.spawner_class = MySpawner
c.MySpawner.namespace = os.environ.get('POD_NAMESPACE', 'default')

I can see from the docs in your pull request that you suggest adding c.Spawner.cmd = ['jupyterhub-singlelabuser'] into jupyterhub_config.py.  I'm just wondering how that will work in conjunction with the kubespawner I am using ... can a c.Spawner.* parameter work in conjunction with a custom c.MySpawner.* (my spawner, which is leveraging the kubespawner, as above).
Or perhaps it is enough to install this extension on any image that is being used to spawn a server .. and the command will contain something like:
CMD jupyterhub-singlelabuser \
--parameterX
--parameterY
...

Thanks for your insights.

Yes, I think CMD jupyterhub-singlelabuser \ should do it. I will also be running a custom spawner and I expect this to interact with that just fine... if not I'll report back with more instructions in the README.
If you are eager to try this out, you can install the 0.17.0-0 pre-release.

@danielballan
I was trying to install the development version of the labextension (since I don't think pip install jupyterhub_labextension is wired up yet).
Below is an extract from part of a Dockerfile that I use to do these various installs, preceeded by installs of jupyterhub and jupyterlab (although I'm not sure if your labextension install .. which also has jupyterlab as a dependency ... negates the need for the explicit jupyterlab install first)?
I forked your repo, just to correct the reference to jupyterlab 0.17.0-0 (extra -0) which was preventing the npm install from running, hence the git clone -b revisited https://github.com/Analect/jupyterhub-labextension below.
WORKDIR /home/$NB_USER
RUN pip install --no-cache-dir --pre jupyterhub
RUN conda install -c conda-forge jupyterlab --yes
RUN jupyter serverextension enable --py jupyterlab --sys-prefix
# add labextension
RUN git clone -b revisited https://github.com/Analect/jupyterhub-labextension
WORKDIR /home/$NB_USER/jupyterhub-labextension
RUN npm install
RUN pip install -e .
RUN jupyter labextension install --symlink --py --sys-prefix jupyterhub_labextension
RUN jupyter labextension enable --py --sys-prefix jupyterhub_labextension

I hit these glitches though (link below).  Is it best just to wait for the next jupyterlab release, or can you suggest an easy fix?
https://gist.github.com/Analect/0ea300a9bab5f4ca45c50d70f0bf9041
Thanks.

It looks like you are getting the 0.16.2 verison of the nodejs packages. Given the complexity of debugging through Docker, I would try to get this running directly first. Or wait for 0.17.0 -- any day now.

@danielballan
Ran this again this morning against jupyterlab 0.17.0, which has been released.  Still showing problems with Cannot find module '@jupyterlab/services/lib'.  Any thoughts on how I might resolve this?
Step 26/38 : RUN jupyter serverextension enable --py jupyterlab --sys-prefix
 ---> Running in ab2e7a5c87f3
Enabling: jupyterlab
- Writing config: /opt/conda/etc/jupyter
    - Validating...
      jupyterlab  OK
 ---> 6a5aa3795083
Removing intermediate container ab2e7a5c87f3
Step 27/38 : RUN git clone -b revisited https://github.com/danielballan/jupyterhub-labextension
 ---> Running in 7882fb0f7f00
Cloning into 'jupyterhub-labextension'...
 ---> bddf0390f1dd
Removing intermediate container 7882fb0f7f00
Step 28/38 : WORKDIR /home/$NB_USER/jupyterhub-labextension
 ---> b64cc4347b1d
Removing intermediate container a1c1dec9469d
Step 29/38 : RUN npm install
 ---> Running in 40731a4c78fc
npm WARN optional dep failed, continuing<EMAIL_ADDRESS>
><EMAIL_ADDRESS>postinstall /home/jovyan/jupyterhub-labextension/node_modules/jupyterlab
> node scripts/dedupe.js

npm WARN unavoidable conflict domelementtype { '/home/jovyan/jupyterhub-labextension/node_modules/jupyterlab/node_modules/sanitize-html/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/node_modules/domelementtype': '1.1.3',
npm WARN unavoidable conflict   '/home/jovyan/jupyterhub-labextension/node_modules/jupyterlab/node_modules/sanitize-html/node_modules/htmlparser2/node_modules/domelementtype': '1.3.0' }
npm WARN unavoidable conflict Not de-duplicating

><EMAIL_ADDRESS>prepublish /home/jovyan/jupyterhub-labextension
> npm run build

><EMAIL_ADDRESS>build /home/jovyan/jupyterhub-labextension
> npm run build:src && npm run build:extension

><EMAIL_ADDRESS>build:src /home/jovyan/jupyterhub-labextension
> tsc --project src && node scripts/copyfiles.js

src/plugin.ts(10,8): error TS2307: Cannot find module '@jupyterlab/services/lib'.
src/plugin.ts(71,23): error TS2345: Argument of type '{ commands: CommandRegistry; }' is not assignable to parameter of type 'IOptions'.
  Types of property 'commands' are incompatible.
    Type 'CommandRegistry' is not assignable to type 'CommandRegistry'. Two different types with this name exist, but they are unrelated.
      Types of property 'commandChanged' are incompatible.
        Type 'ISignal<CommandRegistry, ICommandChangedArgs>' is not assignable to type 'ISignal<CommandRegistry, ICommandChangedArgs>'. Two different types with this name exist, but they are unrelated.
          Types of property 'connect' are incompatible.
            Type '(slot: Slot<CommandRegistry, ICommandChangedArgs>, thisArg?: any) => boolean' is not assignable to type '(slot: Slot<CommandRegistry, ICommandChangedArgs>, thisArg?: any) => boolean'. Two different types with this name exist, but they are unrelated.
              Types of parameters 'slot' and 'slot' are incompatible.
                Type 'Slot<CommandRegistry, ICommandChangedArgs>' is not assignable to type 'Slot<CommandRegistry, ICommandChangedArgs>'. Two different types with this name exist, but they are unrelated.
                  Types of parameters 'sender' and 'sender' are incompatible.
                    Type 'CommandRegistry' is not assignable to type 'CommandRegistry'. Two different types with this name exist, but they are unrelated.

I just made a fresh environment and confirmed that this works for me:
$ conda create -n test-jhl
$ source activate test-jhl
$ cd Documents/Repos/jupyterhub-labextension
$ pip install .
$ conda list | grep jupyter
jupyter-client            5.0.0                     <pip>
jupyter-core              4.3.0                     <pip>
jupyterhub                0.7.2                     <pip>
jupyterhub-labextension   0.1.0                     <pip>
jupyterlab                0.17.0                    <pip>
$ cd
$ jupyter labextension install --symlink --py --sys-prefix jupyterhub_labextension
$ jupyter labextension enable --py --sys-prefix jupyterhub_labextension
$ jupyter labextension list
Known labextensions:
config dir: /Users/dallan/miniconda/envs/test-jhl/etc/jupyter/labconfig
    jupyterhub_labextension enabled : /Users/dallan/miniconda/envs/test-jhl/share/jupyter/labextensions/jupyterhub_labextension
jupyterhub --config=jupyterhub_config.py

The error you are seeing comes from having conflicting versions of the JS. I recommend trying to debug this outside of Docker.

@danielballan
I managed to get this installed via Docker ... I had been using a nodejs version installed from conda and that was what was causing the problem.
As per further up this thread here, I've installed jupyterhub, jupyterlab and this lab extension (development install) into a docker image that is then used to spawn a notebook server ...  that's the approach that has worked fine for me up to now ... previously with the CMD jupyterhub-singleuser followed by several parameters ... that image was able to spawned by the hub.
I was hoping to have just replaced CMD jupyterhub-singleuser with CMD jupyterhub-singlelabuser, but with those various installs above, this doesn't work.  I then tried with CMD python /home/jovyan/jupyterhub-labextension/cli_scripts/jupyter-singlelabuser ... hoping that by being more explicit where that command tool was would work, but it doesn't.
Am I missing something else?  Does this lab extension also need to be installed on the hub itself?

As far as I can tell you're not missing anything. Refer back to my last comment showing the complete list of steps. Nothing has to be done with the hub other than ensure that jupyter-singlelabuser replaces jupyter-singleuser. More detail about exactly how it's failing would help.

Yep, it's the same thing. You have the right idea. It should get added to your PATH by this line in the setup.py when the Python package jupyterhub_labextension is installed.

OK ... that somehow isn't working.  What is the best way for me to do this 'manually' or more explicitly?

I would start by trying to reproduce the steps above exactly, sans Docker, just to be sure they work as expected on your system.

I think I see the problem ... the command jupyter-singlelabuser works ... but not jupyterhub-singlelabuser as per your README.  ie. .. you are specifying that extra hub part in the command, which is incorrect ... is that right?

Bah. You're correct. Sorry about that. I'll add a PR to fix now....

No problem.  Glad we got to the bottom of it. Let me try to spin things up now.

@danielballan
Got things working, with the 'Hub' menu item now appearing (1 below).
I was wondering if there was a way to leverage this approach with the lab extension to be able to add various tool buttons in a band along the top of the jupyterlab (red rectangle) ... as is the case with the classic tree view (2 below)?

Below is something that the azure team have been able to do (also in the context of the classic view), but I'm trying to establish if the same thing is possible in jupyterlab now, with this extension?

I don't think that the plugin architecture supports that. I imagine that multiple plugins might interact badly if they are all trying to add HTML to the top area. The menus, by contrast, are nicely composable. However, you can do custom branding by customizing lab.html directly. This is just my guess -- you can post on the JupyterLab issues directly to confirm that with a core dev.

Great. Thanks for clarifying.

@danielballan
Have you been keeping an eye on the new extension mechanism in jupyterlab.  I'm finding it hard to follow things, but was wondering if your approach still works with jupyterlab 0.20.0 and above?  I noticed there was some discussion around updating it on the jupyterlab gitter channel around here ... but I'm not sure that ever materialised.

0.21.0 was tagged yesterday. The core devs are in the process of pushing up all the related packages. I will open a PR shortly targeting 0.21.0.

Thanks @danielballan  ... will look out for it.

Have updated the repo to work with 0.21. However, the python CLI stuff has been moved to JupyterLab (see the README of this repo for details). We should be releasing JupyterLab 0.22 soon, and then we will need to update a few APIs in this repo. I will open a new issue for that. Closing this one for now...


Remove internal helper for defining property accessors

Use duk_def_prop() instead which reduces footprint.

Another 170 bytes bites the dust with no loss of functionality ;)


Enhancement: Allow page_size_options = [15,30,60] to override 20,50,100 hard coded into page_size_form layout

I don't know know if others run into this like I do, but it would be an enhancement I think would be useful.
Currently, you can set page_size, like say to 15 rows, and you can set can_set_page_size to true, but if you do, the dropdown list of page size choices still only has 20, 50, and 100. Currently the only way to override it is to copy and paste page_size_form from its layout and override it, by copy paste and tweak, to add different options. I think it would be really nice if the hard coded entries like this:
20 {{ _gettext('items') }}
could be driven by a configuration variable that provides a list of integers as the desired entries, and prints out one of these for each entry n in the list:
n {{ _gettext('items') }}

Yeah, this feels like a sensible enhancement 👍


Proper yarn support

yarn needs .tgz at the end of urls.
It was supported before, but now apparently it does not work in pkg.pr.new!
I guess this is completely wrong:
const packageKey = `${params.owner}:${params.repo}:${refOrSha}:${packageName.split(".tgz")[0]}`;

Trying to use a preview release via yarn and it was not working. Found this and adding .tgz to the url does work - although this should be mentioned somewhere in the docs. However we have another problem, which is that if you are releasing a set of packages from a monorepo, the additional package dependencies pulled in by the main package do not have ".tgz" in their urls, so that breaks.


Enter data: Name vs. folder name

The enter data helper asks for a "name" of a scheme. However, this is not really the name, but just the folder name (and should hence be short (and A-z0-9), while inside the yaml file there is another name field which is the "real" human readable name.
We should use different wordings for both to avoid confusion.
some ideas:

short_name / name
identifier / name

Yeah, I agree. I think identifier is a good choice.


added rough relative performance lines for readability

Numbers only are not comparable with a human's eye.
Added lines to represent a relation current/worst

It's not perfect, but adjustable. If you give it a container to not be in 2 columns but one column instead it will look even better.

P.S. sorry for indentation, it's standart nvim format. Seems to be correct tho

thanks a lot for your contribution! I really appreciate the time you've taken to build this PR.
However I would prefer to keep 2 columns (as most of the visits are coming from phones), I feel having two columns is better.
I really like your suggestion but having three lines instead of 1 prevent more runtimes to be displayed on a phone, so I'd rather keep it in one line, or maybe something more compact

Ok how about 2 lines?

icon
line

16ms


Support ubisys J1 as shutter

See https://github.com/dresden-elektronik/deconz-rest-plugin/pull/727.

@ma-ca, I've added support for window covering devices in v0.10.3.  Not yet tested for the J1 - would love to hear your experiences.  I haven't yet implemented tilting using state.sat.

I will try next weekend.

Very nice. The ubisys J1 devices are now shown with a symbol for blinds in the Home app. They have the states Open, Closed or, if partially open,  Open xx%. The state 100% corresponds to fully open.
Also Siri now reacts to commands Open or Close. The command Open 80% does move the shade either up or down until the position is 80% open. Very nice.
A little confusion in the first place is that the command Close 80% does exactly the same what Open 80% does.
I have venetian blinds which only know the command move to lift, so I don't know which Siri command would send a move to tilt.
The support for window covering is working great. Thanks for that. And at the same time it now is possible again to tell Siri to turn off all lights without also moving the shades.


kde-frameworks: 5.38 -> 5.39

Motivation for this change
Regular scheduled update. Haven't built everything yet as I need to try that out on a desktop instead of the anemic laptop.
Cc: @adisbladis @ttuegel
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Just off the top of my head, we also need to cherry-pick this commit:
https://cgit.kde.org/ktexteditor.git/commit/?id=aeebeadb5f5955995c17de56cf83ba7166a132dd

@peterhoeg I actually started on this before you made the PR :) Have been running on frameworks 5.39 without any hiccups for the last few days.

@peterhoeg I saw that you added digikam-5.7.0, this was already merged in master (https://github.com/NixOS/nixpkgs/commit/27b7192726e565b463fd5af74842a6d0287fec48).

Running nox-review wip so I should know more in a few hours. Thanks for your feedback @adisbladis and @ttuegel .

Have been running on frameworks 5.39 without any hiccups for the last few days.

digikam keeps failing when I run nox-review wip complaining about a missing gitversion.h. Did you experience that @adisbladis ?

@peterhoeg do you still have these problems? I tried nix-build -A digikam with your commits and that worked for me.

It's ok now, so I'm merging this. Thanks @bkchr


Simplify http driver

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
HttpDriver is implemented in a faulty and complicated way, not suitable for an example driver
Issue Number: N/A
What is the new behavior?
HttpDriver is implemented in a simple more readable way
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

We should consider adding driver options that are passed on to the retryWithDelay operator.

A lot of good stuff in those comments!


Multiple start/stop times

It would be useful to be able to create custom start/stop tags, and then assign a time to the tag name.  I work for a large organization that requires different running hours for VMs.
For example: sequencedstart-0800, sequencedstop-1800.
This would allow me to deploy a single start/start solution for all my subscriptions (vs having to target specific RGs).
Thanks

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

ID: 95ba76f8-580a-a119-f4c0-19c47bdd8fed
Version Independent ID: d2c1d2a3-b468-02d7-4698-973fa7642ccc
Content: Start/Stop VMs v2 overview
Content Source: articles/azure-functions/start-stop-vms/overview.md
Service: azure-functions
Sub-service: start-stop-vms
GitHub Login: @ggailey777
Microsoft Alias: glenga

@dave1k Thanks for reaching out. I believe you are referring to Start/Stop VMs document here. Please confirm if my understanding is correct.

@dave1k Assuming that you are referring to the Start/Stop solution. Unfortunately, as of now if is not possible to assign the time to the tag name. Feel free to create the feature request here if this is something you to want to see if Start/Stop solution.
I will go ahead and close this issue. Feel free to tag me in if you have any queries or concerns.


broken netip.Addr scan support v0.25.1-0.20240516073824-99941dbd5078

Hi. trying to migrate from v0.22.1 to v0.25.1-0.20240516073824-99941dbd5078 and:

fetching from db into netip_Addr fails -  unsupported Scan, storing driver.Value type string into type *netip.Addr

how to reproduce:

take postgres 16.2
create table create table n (addr inet  );
and just go run<EMAIL_ADDRESS>
and there will be error unsupported Scan
Scan error on column index 0, name "addr": unsupported Scan, storing driver.Value type string into type *netip.Addr

rows, err := models.N.InsertMany(ctx, t.DB, n...)

This should already be fixed in the current main branch and will be in the next release.
Try and confirm if it is now fixed, if it is not, please reopen the issue.

factory test issues is fixed, but scan issue still actual


Create a CI/CD pipeline that publishes a binary version of the library

Acceptance criteria:

[ ] GitHub actions workflow that publishes the built artifact to GitHub releases
[ ] A document exists describing how to build and release a new version

Done through #37


Potential vulnerability - Private reporting

Hi, I may have identified a security vulnerability in your codebase. I would like to report it in private please.
Could you please consider enabling private vulnerability reporting for this repository.
Thank you in advance
@Sim4n6

@Sim4n6
Sorry for our late acknowledgement.
We enabled "Private vulnerability reporting".
So, would you mind reporting a security vulnerability.

Thank you, it is nothing fancy , I will write the report today...

Hi @sunny4381
The report of a low-severity vulnerability is submitted here.
Please keep me posted.
Regards
@Sim4n6

Hi @sunny4381, any update about the private security report, please?

Perfect, it is done. Thank you


E2E: Align object names with README

Following PR #23, the repo's name was changed from kubevirt-rt-checkup to kubevirt-realtime-checkup.
In PR #27, a README file was added with object names conforming to the new name of the repo.
Align the object names with the README file.

Tested against an OpenShift Virtualization 4.15 cluster.

Can you fix the lint issue?

Change: Rebase + fix linter issue.

E2E test passed after the change.


Update instructions to fix issue with local couchdb installation.

Reorganizes the instructions to address phase ordering required for local CouchDB installation.

Committed as 518bf71538d8f3815fdf90f4e01d90e2f3ad58b2.


Fix criteria spelling from critieria to criteria

SpongeAPI | SpongeCommon
Find more information in API PR

Will handle this with a direct commit later on.


Fixed mistaken reschedule of second weekly message

Great bug find by Manjot (or  was is Rahul?)

What was the bug that was found?  It's hard to tell if this change fixes it without knowing what it is.

@larubbio no bug was posted that I think. But while talking to Manjot about CDR processing past midnight (which works fine) I got a hunch something was a bit wonky with the second message for the week retries and looked at the code and indeed there was a bit of an issue.

lgtm


WIP More taps

Adding support for onDoubleTap, onLongPress, onTapCancel, onTapDown to DataCell.
An identical implementation to https://github.com/flutter/flutter/pull/75393/files, which added the same set of functionalities to the Flutter's DataTable.

@maxim-saplin, any pointers of where I can introduce the taps functionalities into the examples? None of the examples have tap demo yet.

I'd suggest adding 4th example to DataTable2 - "Row Taps". For clarity hide check box column and show toast at the bottom saying what kind of tap on which row happened

Do be clear, do you add only cell level tap events?
There're also row level tap events.

There're also row level tap events.

Yes, I noticed them (row tap). Should I add the new functionalities, tests and example for row level tap in this same PR then?

If you have the capacity to do the same with rows - that would be great. Though it can certainly be a different PR.

Besides, I've noticed that you have used main branch instead of async-table( https://github.com/maxim-saplin/data_table_2/tree/async-table). The new branch has a different structure. Could you please changer the base branch for this PR and alighn the changes with new file structure?

I've noticed that you have used main branch instead of async-table

Oh no! You've mentioned that in the Issue but I forgot! Will fix that too.

I think it is cleaner for me to start another PR. Create it here: https://github.com/maxim-saplin/data_table_2/pull/53


Compilation of project that uses rust-embed fails due to assets folder not being found

I use rust-embed in a project. cargo2nix fails to build the project since it does not find the assets folder. I am not sure how to provide the log since the log of rustc is in JSON format.
The extracted error message is this: message: #[derive(RustEmbed)] folder '/build/cli/../../assets. I suppose I somehow need to let cargo2nix know where my assets folder is. I am not sure how to do that though.

In release-0.11.0 the regular Rustc output can be found with nix log <failed derivation>.  It looks just like running regular cargo builds.
The path of workspaceSrc will be included up to anything under control of git when building with flakes (highly recommended).  If assets is under workspaceSrc and in version control (which defaults to ./.) then it will be available at build time.  You will need to use relative paths since the pure nix sandbox build will not have access to /build/cli/...
Symlinking assets into workspaceSrc will IIRC not work due to basic Nix behavior at this time.  It's usual to include assets for a repository and the repository itself in the same tree.  For sharing, perhaps look at git submodules.

Where is /build/cli/../../assets located at in an normal cargo build?  Which crate contains the path and how is it normally included as a dependency?

I have to look it up again. The earliest I can do is start of October. I can get in touch again with more information!

I have a similar problem, but the assets are siblings with the other folders in the workspace IE

Ever since the crate discovery was added to the mkcrate, the infrastructure is in place to use the entire source tree for every crate / workspace in the flake tree, ie it should support mono-repo style.
You can of course always include this source as a separate dependency and inform build of the location, probably via shell variables so that nix path interpolation makes this painless.
https://github.com/cargo2nix/cargo2nix/blob/release-0.11.0/overlay/mkcrate.nix#L161-L174
https://github.com/cargo2nix/cargo2nix/blob/release-0.11.0/overlay/mkcrate-utils.sh#L300-L306
I'll provide knowledge support until I'm back to actually working on code.

Changes will probably apply equally well to release and unstable branches.


usage of wildcard

For example, digging against a DNS record with " * " is OK.
$ dig site-0.*.slave.mysql.dev-0.prj.local

; <<>> DiG 9.9.2-P2 <<>> site-0.*.slave.mysql.dev-0.prj.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56333
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;site-0.*.slave.mysql.dev-0.prj.local.	IN	A

;; ANSWER SECTION:
site-0.*.slave.mysql.dev-0.prj.local. 288	IN	A	<IP_ADDRESS>
site-0.*.slave.mysql.dev-0.prj.local. 288	IN	A	<IP_ADDRESS>
site-0.*.slave.mysql.dev-0.prj.local. 288	IN	A	<IP_ADDRESS>

;; Query time: 2 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Wed Feb 11 17:18:19 2015
;; MSG SIZE  rcvd: 89

But, ping, ping6, curl and almost all client/server programs reject a hostname which includes "*".
$ ping site-0.*.slave.mysql.dev-0.prj.local
ping: unknown host site-0.*.slave.mysql.dev-0.prj.local

$ curl http://site-0.*.slave.mysql.dev-0.prj.local
curl: (6) Could not resolve host: site-0.*.slave.mysql.dev-0.prj.local

Is there any way to work around this issue ?
If there is no workaround, I think it would be nice to have a special(reserved) label which is treated as " * " by skydns.
For example,
"site-0.x-skydns-wc.slave.mysql.dev-0.prj.local"
is treated as if
"site-0.*.slave.mysql.dev-0.prj.local"

Ah yes the brain dead standard library (when it comes to DNS). These are perfectly legal names, except libc thinks differently. In skydns we had the special label any for this case, would could bring that back.

This is trivial to fix, but what to use to signal a wildcard. Anything we pick will clash with possible existing names. Skydns1 has any as said. I think I'll bring that back as well and add a cmdline flag where you can specify a wildcard label.
Playing a bit with named but that does not allow you to specify any special chars like % or ^ in a domain name at all.

Sorry for the late reply.
Adding a command-line flag can allow user to specify own special wildcard label and can prevent name conflict. I feel that is nice !
But in a large cluster, we might have to avoid querying such as "aaa.bbb.ccc.ddd.any.local." which may cause loading too many records from etcd.

I think this should not be configurable and we should just use any. So * == any.