[FEATURE REQUEST] increase compression level

I'm not sure if python zlib and node zlib use the same defaults, but in python the compression level defaults to -1 which it says is a good balance between speed and size. It also says this is in practice level 6. When I've taken archives generated with elasticsearch-dump and recompressed at level 9, I found the output size decrease by over 50%!
This would be huge for some of my long term backups, and I would prefer to not have to manually compress myself!
A simple patch like this would be enough to increase the compression, but you may want to make this an option instead.
diff --git a/lib/splitters/csvStreamSplitter.js b/lib/splitters/csvStreamSplitter.js
index bbc24c7..2e8c1b0 100644
--- a/lib/splitters/csvStreamSplitter.js
+++ b/lib/splitters/csvStreamSplitter.js
@@ -23,7 +23,8 @@ class csvStreamSplitter extends StreamSplitter {

     let _throughStream = new PassThrough()
     if (this.compress) {
-      _throughStream = zlib.createGzip()
+      const options = { level: 9 };
+      _throughStream = zlib.createGzip(options)
     }
     _csvStream.pipe(_throughStream).pipe(fs.createWriteStream(StreamSplitter.generateFilePath(this.rootFilePath, partitionNum, this.compress)))
     return _csvStream
diff --git a/lib/splitters/s3StreamSplitter.js b/lib/splitters/s3StreamSplitter.js
index b1d816b..303a7a1 100644
--- a/lib/splitters/s3StreamSplitter.js
+++ b/lib/splitters/s3StreamSplitter.js
@@ -22,7 +22,8 @@ class s3StreamSplitter extends StreamSplitter {
   _outStreamCreate (partitionNum) {
     let _throughStream = new PassThrough()
     if (this.compress) {
-      _throughStream = zlib.createGzip()
+      const options = { level: 9 };
+      _throughStream = zlib.createGzip(options)
     }

     const params = s3urls.fromUrl(this.file)
diff --git a/lib/splitters/streamSplitter.js b/lib/splitters/streamSplitter.js
index e99b9c0..f49b665 100644
--- a/lib/splitters/streamSplitter.js
+++ b/lib/splitters/streamSplitter.js
@@ -37,7 +37,8 @@ class StreamSplitter extends EventEmitter {
   _outStreamCreate (partitionNum) {
     let _throughStream = new PassThrough()
     if (this.compress) {
-      _throughStream = zlib.createGzip()
+      const options = { level: 9 };
+      _throughStream = zlib.createGzip(options)
     }
     _throughStream.pipe(fs.createWriteStream(StreamSplitter.generateFilePath(this.rootFilePath, partitionNum, this.compress)))
     return _throughStream
diff --git a/lib/transports/csv.js b/lib/transports/csv.js
index a336c4f..cbd64cc 100644
--- a/lib/transports/csv.js
+++ b/lib/transports/csv.js
@@ -150,7 +150,8 @@ class csv extends base {

         let _throughStream = new PassThrough()
         if (this.parent.options.fsCompress) {
-          _throughStream = zlib.createGzip()
+          const options = { level: 9 };
+          _throughStream = zlib.createGzip(options)
         }

         _csvStream.pipe(_throughStream).pipe(fs.createWriteStream(this._fileObj.path))
diff --git a/lib/transports/file.js b/lib/transports/file.js
index c5204c1..bf22a4b 100644
--- a/lib/transports/file.js
+++ b/lib/transports/file.js
@@ -57,7 +57,8 @@ class file extends base {
         } else {
           let _throughStream = new PassThrough()
           if (this.parent.options.fsCompress) {
-            _throughStream = zlib.createGzip()
+            const options = { level: 9 };
+            _throughStream = zlib.createGzip(options)
           }
           _throughStream.pipe(fs.createWriteStream(this.file))
           this.stream = _throughStream
diff --git a/lib/transports/s3.js b/lib/transports/s3.js
index d1ae33c..d381809 100644
--- a/lib/transports/s3.js
+++ b/lib/transports/s3.js
@@ -65,7 +65,8 @@ class s3 extends base {

         let _throughStream = new PassThrough()
         if (this.parent.options.s3Compress) {
-          _throughStream = zlib.createGzip()
+          const options = { level: 9 };
+          _throughStream = zlib.createGzip(options)
         }

         const { Bucket, Key } = s3urls.fromUrl(this.file)
~
~

I would rather make this a flag instead of hard coding. There is the law of diminishing returns, this might work in your scenario based on your data. but might not in other scenarios.

added this feature. test and let me know if this works for you.

pushed a release


Update failed bad gateway

Hello
Its about few days that i see this erorr in the home assistant log and the entity become unavaible, but not in the govee app. This Is the log:
update failed for xx:xx:xx:xx:xx:xx:xx:xx: API-Error 400: {"message":"Device Not Found","status":400}
update failed for xx:xx:xx:xx:xx:xx:xx:xx: API-Error 502:  502 Bad Gateway  502 Bad Gateway
And
error getting state for device GoveeDevice(device='xx:xx:xx:xx:xx:xx:xx:xx', model='H6199', device_name='ambilight tv', controllable=True, retrievable=True, support_cmds=['turn', 'brightness', 'color', 'colorTem'], support_turn=True, support_brightness=True, support_color=True, support_color_tem=True, online=False, power_state=False, brightness=137, color=(217, 225, 255), color_temp=0, timestamp=1646314286.30328, source=<GoveeSource.API: 'api'>, error='API-Error 400: {"message":"Device Not Found","status":400}', lock_set_until=1646261818.676849, lock_get_until=1646261819.676884, learned_set_brightness_max=100, learned_get_brightness_max=100, before_set_brightness_turn_on=False, config_offline_is_off=False): API-Error 400: {"message":"Device Not Found","status":400}

Same - any updates?

So it seems it's not related to the implementation here, closing.


Solaris utilities: temporary onboarding

Data_to_tiles transition
In order to facilitate the transition from hdf5 samples to plain .tif (imagery) and .geojson (ground truth) samples (aka tiles), some utilities from the solaris library must be temporarily onboarded.
Once solaris v0.5 is out, some PRs will be made to the main solaris repo in order to merge GDL's needs with the state of solaris at that point.
Why temporarily onboard, then remove?
Note those of you wondering why we shouldn't just use solaris as it is now and adapt once it's updated:
Since solaris was previously considered as dead, the onborading and modification of solaris to meet GDL's needs had already advanced with many hours of bugfixing and adapting. Therefore, it will be easier to add the relevant solaris utilities to GDL directly, make PRs to ensure a seamless transition, then remove those utilities from GDL's repo.

The GDL team has decided to wait for solaris to release v0.5.0 and skip this temporary onboarding.
Meanwhile, a branch with the solaris material and tiling to .tifs and .geojson is on my fork: 215-solaris-tiling2


Add example usage of "License Maven Plugin" for proper attribution documentation

http://www.mojohaus.org/license-maven-plugin/usage.html

Currently the whole folder structure gets packaged into to the jar.


Icon Picker clean up

With the current implementation, remove the defaulted icon on dataTable
Any component that supports icon picker, upon selecting the component, the size used is smaller. Can we retain the same size we had before?
Position of the icon should be left aligned. Check the old implementation
When rendered, the component is not aligned with the other components. We have the option to increase the size of the component, which affects its position. Shouldn't it be positioned by default in the same way as the other components
When the edit mode is set to readOnly, 'none' text is displayed in the designer mode/renderingmode. It should be empty if there's no value
When the component is bound to a property and the default icon JS option is used, the component does not respond according to the custom script provided upon rendering. Example: If return statement is provided to return icon based on the data received such as gender, the component does not render
if (data.gender === 1) {   return 'ManOutlined'; } else if (data.gender === 2) {   return 'WomanOutlined'; } else {   return 'CloseOutlined'; }. https://function-adminportal-test.shesha.dev/dynamic/TestModule/iconPicker-table
Rearrange the border properties in this order: Border Width, Border Color then Border Radius

Old change

New implementation

There's a custom Color property which is the same thing when you use Color js option. Hide the custom color property

Related Item #1183

@James-Baloyi, please check this requirement: If Custom JS defined for Icon property - Is Editable and Default value config properties should be disabled. Since with the latest changes, it does not work accordinlgy when a custom JS is defined for Icon property
Here's a URL you can use to test your latest changes: https://function-adminportal-test.shesha.dev/dynamic/TestModule/iconPicker-details?id=31bac1bb-a1cd-4bcd-92f9-184c1d3feed0

@James-Baloyi Please also ensure that there is enough space to accommodate all icons by default. The current implementation cut off the edges of some icons, especially icons outlined with a circle, see the screenshot below.

Hey @James-Baloyi  please fix issues below

The icon becomes left-aligned only when you adjust its size.
There isn't enough space to fit all icons by default, causing some icons to have their edges cut off in the current implementation.
The icon displayed in the details view does not show data after it is created.
When an icon is selected from the properties panel, it gets removed upon saving and refreshing. The selected icon still appears when rendered, but it disappears from the properties panel.
The padding margin does not function correctly when the default icon is not configured.


nvc: 1.10.0 -> 1.10.1

Description of changes
https://github.com/nickg/nvc/compare/r1.10.0...r1.10.1
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 246352 run on aarch64-darwin 1

1 package built:

nvc


Add amdvlk and opencl options to amdgpu & Fix proton crash when Dual-Direct GFX enabled for lenovo legion 16ach6h

Description of changes
When I play the game through proton, I found that in the case of Dual-Direct GFX enabled (dGPU disabled), proton will crash directly
But in the case of hybrid, the game runs fine with or without nvidia-offload
After investigation, this is because when writing the specialization of Dual-Direct GFX, I did not completely remove all packages for amd igpu. I only removed amdgpu from services.xserver.videoDrivers by overriding. This is because the specialization of nix cannot implement such an operation as canceling an import. In the end, if it is enabled in Dual-Direct GFX In the absence of amd igpu, the amdvlk package caused the proton to crash.
In order to solve this problem, I add the option of whether to enable amdvlk to the configuration file of amd gpu, and open it by default, and turn it off in specialization, so as to delete amdvlk package and other packages for amd igpu in specialization.
At the same time, I also added an option to amdgpu's opencl runtime.
Things done

[x] Tested the changes in your own NixOS Configuration
[x] Tested the changes end-to-end by using your fork of nixos-hardware and
importing it via <nixos-hardware> or Flake input

bors merge


roundcubePlugins.carddav: v4.3.0 -> v4.4.3

Description of changes

Update roundcube plugin to v4.4.3 according to latest release available at this time: https://github.com/mstilkerich/rcmcarddav/releases/tag/v4.4.3
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Successfully tested it on an nginx virtualhost using:
root = pkgs.roundcube.withPlugins (plugins: with plugins; [ carddav ]);

Result of nixpkgs-review pr 188089 run on x86_64-linux 1

Yes, nixpkgs-review gives me also an empty output. This PR is to update a plugin of an existing package (roundcube)


Fix message send with custom topic

Automated message from Dropbox CLA bot
@borisyankov, it looks like you've already signed the Dropbox CLA. Thanks!


GraphQL: Ensure field merging is valid

Continue from: https://github.com/graphprotocol/graph-node/pull/3005

@lutter : "The refactored code also makes a few weaknesses of the current query execution visible, in particular, field merges (from users specifying the same field multiple times, or from fragment expansion) continue to use a yolo strategy that is not entirely standard conformant. This needs to be addressed in a separate PR."

I guess we can do that by adding unit tests? :)

Continue from: #3005

@lutter : "The refactored code also makes a few weaknesses of the current query execution visible, in particular, field merges (from users specifying the same field multiple times, or from fragment expansion) continue to use a yolo strategy that is not entirely standard conformant. This needs to be addressed in a separate PR."

I guess we can do that by adding unit tests? :)

Yes, that should be possible. The big question is what these tests check for, but this should be testable by adding to graphql/tests/query.rs. On what to test: that's why I am wondering if there are some sort of GraphQL conformance tests; for example, I beleive the query query { musicians(where: {name: "Tom" }) { id } musicians(where: {name: "Tom" }) { id } } is legal and should respond with one musicians field, but if you change Tom to Roy in the second copy of musicians, the query should result in an error. I suspect there's lots of these cases to handle.

On what to test: that's why I am wondering if there are some sort of GraphQL conformance tests; for example, I beleive the query query { musicians(where: {name: "Tom" }) { id } musicians(where: {name: "Tom" }) { id } } is legal and should respond with one musicians field, but if you change Tom to Roy in the second copy of musicians, the query should result in an error. I suspect there's lots of these cases to handle.

I checked in graphql-js and it seems like execution doesn't really care about having multiple fields, and this is done in the validate phase.
In the JS ecosystem, there is a clear distinction between the request flow phases (parse, validate, execute) and what is the role of each one, and based on the spec, there are some checks that are happening only during validate and not checked during execute.

@n1ru4l wrote a great article about the request flow: https://github.com/saihaj/graphql-ts-node-advanced-tutorial/blob/main/docs/2-customizing-the-graphql-request-flow.md

I tested the following GraphQL schema:
type Query {
  a(b: String): String
}

And the following GraphQL query:
query test {
  a(b: "1")
  a(b: "2")
  a(b: "3")
}

parse phase passes because the AST is valid
validate phase failed on a validation rule  OverlappingFieldsCanBeMergedRule (code)
execute never called because of failure.

The error I got is:
GraphQLError: Fields "a" conflict because they have differing arguments. Use different aliases on the fields to fetch both if this was intentional.

When I used the same value for b argument, the validation phase passes, so it builds an "identity" for each selection set field and then checks if it's duplicated, so arguments and aliases affect the result of this validation phase.

When I'm skipping the validate phase and go directly to execute phase, I see that the query is being executed correctly, but it does not run the additional fields (with the query above, I get {data: { a: "1" }} and the resolvers of Query.a is being called only once - so the rest of the fields are just ignored.
@lutter I noticed that query.rs does only parse and then execute (ref) and it doesn't implement any validation phase as specified by the GraphQL spec.
I guess we can take the query after it's being parsed and implement the validation rules that GraphQL spec defines, and run it before getting into the whole execution phase - this way we can find these specific issues before running any GraphQL-related code/resolver.
The GraphQL spec / graphql-js implementation has ~30 validation rules that should cover most edge cases and prevent ambiguity during execution phase.
@lutter what do you think?


fix: untar file error

Thank you for contributing to golib!
Please add a summary of your change
fix: untar error
Does your change fix a particular issue?
Fixes #(issue)
Check list:

[ ] Mark if documentation changes are required.
[x] Mark if tests were added or updated to cover the changes.

Codecov Report

Merging #37 (24f1076) into main (71dc75a) will decrease coverage by 0.20%.
The diff coverage is 40.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main      #37      +/-   ##
==========================================
- Coverage   71.82%   71.63%   -0.20%
==========================================
  Files          22       22
  Lines         962      966       +4
==========================================
+ Hits          691      692       +1
- Misses        197      199       +2
- Partials       74       75       +1

Flag
Coverage Δ

unittests
71.63% <40.00%> (-0.20%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

fsutil/tar.go
52.08% <40.00%> (-1.18%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


checkLinks (--check-links -l)

     --check-links
             (c and r modes only) Issue a warning message unless all links to
             each file are archived.
     -l      This is a synonym for the --check-links option.

Closing unless someone shows up with a need for this.


Can I use this oidc client for Azure AD?

I use this client for Azure AD auth.
Get from Azure user with access_token after success login.

Then I try to get this token on my backed and validate with 'validate-azure-ad-token' npm package.
Have this error on backend:
Validate token! Payload: Error: The access token could not be decoded

I try to check this access_token from Azure and it's not valid JWT.
What I am doing wrong? I need use msal for frontend app instead of oidc? But why if both of them support OAuth 2.0.

@pamapa  and you have valid JWT token?
My way is to store the user in userStore.
Pinia store:
import { User } from 'oidc-client-ts'
import UserManagerAD from '~/auth/auth'

interface IState {
  userManager: UserManagerAD | null
  user: User | null
}

export const useUserManagerStore = defineStore('userManagerStore', {
  state: () =>
    ({
      userManager: null,
      user: null
    } as IState),
  actions: {
    async getUser() {
      const user = await this.userManager.getUser()
      this.user = user
    }
  }
})

And then I'm use access_token it in my fetch hook in Nuxt 3 fe app:
import { useLazyFetch } from 'nuxt/app'
import { useUserManagerStore } from '~/stores/userManagerStore'

type useFetchType = typeof useLazyFetch

export const useAPILazyFetch: useFetchType = (path, options = {}) => {
  const config = useRuntimeConfig()
  const userManagerStore = useUserManagerStore()
  options.baseURL = config.public.baseURL
  options.headers = [
    ['Authorization', 'Bearer ' + (userManagerStore.user?.access_token || '')]
  ]
  return useLazyFetch(path, options)
}

So in my store after auth I have object of user (hide info, show structure):
{
    "id_token": "...",
    "session_state": "....",
    "access_token": "PAQABAAIAAAD....9l72s8gAA",
    "refresh_token": "...",
    "token_type": "Bearer",
    "scope": "openid",
    "profile": {
       // my profile info
    },
    "expires_at":<PHONE_NUMBER>
}

This access_token not valid

So I don't understand what's wrong with my access_token.
Maybe it's ok for Azure AD token? If yes - what library on backend you use for token validation?

The issue you are facing has nothing to do with this library.
As per the specs access token do not have a defined format (unlike id token which should be JWTs).
It is up to the identity provider to choose the format of the access tokens (they could be JWT but also opaque tokens that could not be decrypted).
You should read this Azure documentation that talk about this:
https://learn.microsoft.com/en-us/azure/active-directory/develop/access-tokens
Also I'm not familiar with AzureAD but sometimes identity providers offers you some options to choose the access token format.

@pamapa @Badisi  I found solution! I change my authority adress by adding /v2.0.
const manager = new UserManager({
  authority:
    'https://login.microsoftonline.com/tenant_id/v2.0',    // <--- here we NEED /v2.0
  client_id: '....',
  redirect_uri: hostUrl + '/ad/callback',
  scope: 'User.Read'
})

And now I have valid JWT access_token. But for now I have trouble with my callback page. It don't redirect user to main page after auth.
Code:
onMounted(() => {
  userManagerStore.userManager
    .signInRedirectCallback()     // <-- this method throw error
    .then(() => {
      const redirectUrl = window.localStorage.getItem('contactsADRedirectUrl')
      window.location.href = redirectUrl || '/'
    })
    .catch((err) => console.error(err))
})

Error:

You must trace the exact location inside this library where the error is thrown and post it here...

Okey, for now I change Azure settings and add correct scope. This is valid variant:

const manager = new UserManager({
  authority:
    'https://login.microsoftonline.com/tenant_id/v2.0',
  client_id: 'my_client id',
  redirect_uri: hostUrl + '/ad/callback',
  scope: 'api://my_client_id/Custom.Read openid' <-- VERY IMPORTANT FOR AZURE.  You need to setup your own.
Good guide - https://www.youtube.com/watch?v=59YwW8FrLm8.
Also good note - https://stackoverflow.com/questions/75535497/azure-oauth2-cant-validate-access-token
And for now auth process work correctly. And my token is VALID JWT!

Very important after each test clean your localStorage and sessionStorage.
@pamapa Show me plz which lib for access_token validation you use on the backend.

I am using .Net 6 with only build-in frameworks within the official core libraries. For Azure AD i use AddMicrosoftIdentityWebApi. For PingID i use extended version of AddJwtBearer

So, thanks guys. I think we can close this issue.
Result:

Azure AD + oidc working nice.
For that you need correct scope and another credentials.


fixes RHOARDOC-1309

Added procedure to change property names to ensure Agroal works.

@rhoads-zach @rdruss @spisiakm Please let me know what you think

Given that there was a note in the previous section about setting the provider_class when using c3p0, it might make sense to also include this in the example for c3p0

@rdruss thank you.
@inoxx03 merging this for now. Please provide a follow up PR to address the above feedback.


Invalid version string "@package_version@" with  consolidation/self-update 2.2.0

With the update from the dependency consolidation/self-update to version 2.2.0 the following error will be occured
bin/cachetool

In VersionParser.php line 186:

  Invalid version string "@package_version@"

With version 2.1.0 everything works fine.
Release: https://github.com/consolidation/self-update/releases/tag/2.2.0
Diff: https://github.com/consolidation/self-update/compare/2.1.0...2.2.0

Thank you for reporting this issue, we should lockdown the self-update dependency to 2.1.0

Released in 9.0.3

Can you release it for version 8 too?
We can not update to version 9, because of a symfony dependency

Released 8.6.1

Filed a ticket to upstream project.
https://github.com/consolidation/self-update/issues/26


Improve ColorFlow (2) support

This fixes an issue with ColorFlow 2 support where LockGlyph isn't colored when initially waking the screen after a lock.

Thanks for this!


Wrong link

Link to bug 56111 show message "You are not authorized to access bug #56111."

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

ID: 617189a6-7bbf-4ed9-946a-e512e4f274ad
Version Independent ID: 18a0babb-ae99-210e-81b7-85a3504f26c2
Content: Troubleshooting Tips - Xamarin
Content Source: docs/android/troubleshooting/troubleshooting.md
Product: xamarin
GitHub Login: @conceptdev
Microsoft Alias: crdun

Thanks for the advice, that bug system has been shut down so I've removed the link.


Update

Hi
googleads-php-lib pack update to v24 but your package is old and v14
please update your code!
Ali

@bakhtari Moving from v14 to v24 is a huge update due to the implementation of namespaces etc. I'll update it in the nearest future. You are welcome to open a PR.
Closing - duplicate of https://github.com/nikolajlovenhardt/laravel-google-ads/issues/8


Allow endpoints to return sequences, Fix build.

Fixes codegen to correctly generate code when the endpoints return sequences.
Closes: #76 and #74

Fixes codegen to correctly generate code when the endpoints return sequences.
Closes: #76 and #74

Can you put this information in the commit message please:
git commit --amend

Allow endpoints to return sequences
Fixes codegen to correctly generate code when the endpoints
return sequences.
Closes: #76 and #74

Can you put this information in the commit message please:
git commit --amend

Done. The comments on the PR are automatically recorded on the master though when you do squash and merge.


Doesn't work with valid unicode characters in variables

I don't want to discuss, whether unicode characters in varnames are good or bad. They work. And they should be respected by autocomplete.
Currently this doesn't work:
var gründe = 'foo';
alert(g// if I press ctrl+space here, if suggests only "gr", not "gründe"

This package is deprecated and no longer shipped with Atom. If this is still an issue using the autocomplete-plus package, please open up a new issue on that repository, thanks.


The installation option for telemetry is too complex

Right now for IstioOperator spec, we have these following options and default value for 1.5 related to telemetry functionality enablement

components.telemetry.enabled: controls mixer related resources installation
default: false
values.telemetryv1.enabled: controls mixerReportServer setting in istio configMap
default: false
values.telemetryv2.enabled: controls v2 related envoyfilters
default: true
values.telemetry.enabled: gating for 2 and 3 together
default: true

specifically, the 1. and 4. field is quite confusing for user because the values look contradictory. Also if user want to change from default v2 to back to mixer, then override like this have to be supplied: components.telemetry.enabled=true, values.telemetryv1.enabled=true

we should move the filters to a different component (base?) this is needed for multiple control plane as well
or maybe it's time to implement this in pilot

@richardwxn agree too complex.
For the 1.5 release would you consider filing an issue in istio.io's issue tracker documenting the transition from mixerv1 to mixerv2 and how to revert the defaults to the 1.4 mixer defaults? This will provide the documentation team an opportunity to prepare a transition page for the 1.5 release 1.5.

@sdake we have a guide for how to use the telemetry v2: https://istio.io/docs/ops/configuration/telemetry/in-proxy-service-telemetry/, but not a fully migration guide. And I think there are many other places that are still referencing the old mixer v1 stuff. @douglas-reid Are you doing some doc work related to that?

I am working on improving the v2 docs.

Is there an issue for logic to look at IstioOperator and produce warnings when there are incompatible settings?
For example, if should be a warning to set values.galley.enableAnalysis=true without also setting
components.galley.enabled=true?
If such logic existed it could be connected to istioctl validate and perhaps analyze, and the operator could log warnings.

there is such validation function exists: https://github.com/istio/istio/blob/master/operator/pkg/apis/istio/v1alpha1/validation/validation.go#L48

Related: https://github.com/istio/istio/pull/21644 and https://github.com/istio/istio/issues/20730

Since this issue has no owner for a while I'm going to throw the original reporter under the bus and tentatively assign to @richardwxn - feel free to deal with this as you see fit. My 2c - it seems reasonable to resolve this through some combination of validation / documentation.

Another user did not realize there was a problem because the enabling options are not checked: https://github.com/istio/istio/issues/21988
I am happy to implement validation for IstioOperator setting incompatibility.  However, I don't know what the flag dependency is.  Do we have a table somewhere that I can use?  Or should I get started on gathering a table myself based on Issues being filed?

@esnible I don't think we have a table documenting the dependency between flags in documentation or in codebase. We can create config file and the validation logic can use that.


perf: High CPU Usage for Double-L3/L4 Proxy

(See thread at: https://groups.google.com/d/msg/envoy-users/cOoLLnI0GS0/PReYVVETCQAJ)
I was doing some performance profiling of Envoy. One test case stood out: Envoy-to-Envoy L3/L4 proxy.
The setup of the tests:

Using iperf3 to test two hosts (iperf3 client & server) in the same AZ in AWS.
Single-Envoy: iperf-client -> Local Envoy -----> iperf-server yields ~line speed w/ 10% CPU usage on the Local Envoy instance (good).
Double-Envoys: iperf-client -> Local Envoy -----> Remote Envoy -> iperf-server yields ~line speed w/ 10% CPU Usage on the Egress Envoy instance (good), but 40-50% CPU usage on the Ingress Envoy.

I'm able to reproduce with a configuration for the Remote Envoy as simple as this:
{
    "listeners": [{
        "name": "iperf-listener",
        "address": "tcp://<IP_ADDRESS>:15201",
        "filters": [{
            "type": "read",
            "name": "tcp_proxy",
            "config": {
                "stat_prefix": "iperf3-listener",
                "route_config": {"routes": [{"cluster": "iperf"}]}
            }
        }]
    }],
    "admin": "...",
    "cluster_manager": {
        "clusters": [{
            "name": "iperf",
            "type": "static",
            "connect_timeout_ms": 250,
            "lb_type": "round_robin",
            "hosts": [{"url": "tcp://<IP_ADDRESS>:5201"}]
        }]
    },
    "statsd_udp_ip_address": "<IP_ADDRESS>:8126"
}

My intention in that configuration is to route traffic from the public :15201 to the local :5201, which the iperf-server process is listening on.
Per suggestion in the thread, I did see CPU% drop to merely 30% on the ingress Envoy, after commenting out the following line: https://github.com/lyft/envoy/blob/cc53479c2ee01af03d549ee9c5f60bb1660f1672/source/common/filter/tcp_proxy.cc#L227

Related to https://github.com/lyft/envoy/issues/232

Going to close this given how old it is and how many changes have been made. We can revisit if there is new interest and new data.


busybox: apply patches for CVE-2022-48174, CVE-2023-42366, CVE-2023-42363, CVE-2023-42364 and CVE-2023-42365

Description of changes
Fixes CVE-2022-48174, CVE-2023-42366, CVE-2023-42363, CVE-2023-42364 and CVE-2023-42365
I used some patches from Ubuntu and Alpine instead of upstream directly to avoid some conflicts.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

Built pkgsMusl, pkgsStatic, pkgsCross.aarch64-multiplatform, pkgsLLVM, pkgsi686Linux variants on nixos x86_64 without problems.
Cherry-picked tests from #151035 which pass for me. Should perhaps tidy up that branch, musl has something odd going on with the date timezone test though.

I'm afraid that this makes a test hang on x86_64-linux and consequently is blocking the nixos-unstable channel.  (I retried multiple times.)
You can run it e.g. by
nix build -f. nixosTests.networking.scripted.dhcpSimple

Log: https://hydra.nixos.org/build/269972172/nixlog/3/tail
Curiously, it succeeded on aarch64-linux on Hydra.

@vcunat how did you identify that the test hang is due to this commit?  I think I'm still seeing it locally with this commit reverted.

And also on the parent commit…

Ah, wait.  I did some mistakes, apparently.

This test on recent commits is more flaky than I anticipated.  This PR now seems probably unrelated.  I'm sorry.

For reference, I believe it's this PR:
https://github.com/NixOS/nixpkgs/pull/314299#issuecomment-2296275679


Added Tetris Game

PR Description 📜
Added Tetris Game
Fixes #4312

Mark the task you have completed ✅

[ x ] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[ x ] I have performed a self-review of my own code or work.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] My changes generates no new warnings.
[ ] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[ x ] I have added screenshot for website preview in assets/images
[ x ] I have added entries for my game in main README.md
[ ] I have added README.md in my folder
[ ] I have added working video of the game in README.md (optional)
[ x ] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

@kunjgit I tried several times but the images of my game ain't working when put under the assets folder of the GameZone project but is correctly working on other projects. I have even cross-checked the paths multiple times yet it created an issue so I added the folder inside my game folder.
I request you to please allow the folder there. It won't create an issue with other parts of the project.

Hello @muskan42, You need to make the following changes:

Please add a README.md file inside the newly created folder.
Please modify the main README.md file.
Please add an image to the assets/images directory.

It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Add pblog args

and other fixes
required by https://github.com/osrf/mbari_wec_gz/pull/140

This looks good, I will open the discussion about where the best default spot for the files is.  Perhaps a directory called ~/logs would be sensible, it matches the buoy, and also keeps things from not being dependent upon where one starts things from.  Pros and cons here, perhaps fine as is, especially as the batch-file processing (#140) is over-riding this location...

best default spot for the files

Other options would be in the colcon workspace logs directory that already exists. Or, in ~/.ros/logs

I think the workspace logs should be kept for their build process, I often delete that if I need a fresh start.  Maybe similar for .ros/logs, and these logs aren't ros.  maybe ~/.pblogs/... ?

@hamilton8415 ready for another check

Hmm,  After pulling mbari_wec_gz and mbari_wec_util when I run it I am now seeing now files in the pblog directory (running with the batch proccessor).  Also, previous to that I noticed that the log files are only outputing new data every second, this was with a RTF of 11, so perhaps it's using wall clock to update the output instead of sim time.  That may be an issue in #40 rather than here...

@hamilton8415 @rhenthorn I think if we are happy with the changes in this specific branch, we could merge to #44 and fix the rest there.

Yes, I think your suggested merge into #44 won't hurt us, consolidation...

Done. We can continue updates/fixes in #44


Mouse enter an mouse leave events not working when opening a project on 4.2.1 from 4.1.2

Tested versions
Reproducible in:
Godot_v4.2.1-stable_win64
Godot_v4.1.2-stable_win64
System information
Windows 10 , 4.2.1-stable
Issue description
I have made a testing project for some grid puzzles, i am using the mouse_entered and mouse_exited signal to see if the mouse is under a piece. When working on Godot 4.1.2, everything works as intended but if i open the project with Godot 4.2.1 the mouse signals are not fired anymore.
Steps to reproduce
This is the link to the project if you want to try it out. https://github.com/irafunesta/grid-puzzle.git
Minimal reproduction project (MRP)
https://github.com/irafunesta/grid-puzzle.git

In "SimpleCell.tscn" the mouse input events are stopped by the ColorRect nodes.
Please try to set mouse_filter of these two nodes to Ignore.

what do you mean exactly by input events are stopped ? I thought about something similar but there is a mouse_entered on both the SimpleCell and the Grid, if the cell "overrides" the grid one, i am expecting the print on the cell shown instead fo the grid one. Am i missing something ?
And why the behaviour is different between the 2 version of Godot ?

Input events are stopped by Control-derived nodes, when their mouse_filter is set accordingly.
You can find more details aboud this in the docs here: https://docs.godotengine.org/en/stable/classes/class_control.html#class-control-property-mouse-filter
In your project, you are mixing Control nodes and Node2D nodes.
The mouse_entered/mouse_exited calls of Control nodes are handled during the GUI-step of input processing.
The mouse_entered/mous_exited calls of Node2D nodes are handled during the physics processing step of input handling.
This order is not influenced by the files, that the nodes are in.
More details regarding the input event handling order are available here: https://docs.godotengine.org/en/stable/tutorials/inputs/inputevent.html#how-does-it-work
So Control-nodes are prioritized in this regard. That is the reason why mixing Control-nodes with Node2D-nodes is in most cases not a good idea. If I remember correctly, I have seen in your MRP only rectangular-shaped Node2D nodes. So maybe a better approach would be to use Control-nodes only.
Between 4.1 and 4.2 there were several bugs fixed regarding mouse_entered/exited handling. In your MRP you seem to be relying on the behavior of one of these bugs.


NFIE Filtering

For NFIE, Filtering will be moved from 1.6 to 1.5.1 NFIE Release

It is notexpected to be a problem to get a form of filtering done by NFIE summer camp June 1
However, completing this by NFIE is only possible if no changes to underlying access control
are made (i.e. must keep single-user iRODS proxy-user approach in order to have filtering done by June 1)

Note: NFIE principals were quite specific that the ability to filter resources by file name (or part thereof) is important. For us, this becomes the resource title.
Alva L. Couch, Ph.D.
Senior Architect, CUAHSI Water Data Center
http://wdc.cuahsi.org
+1<PHONE_NUMBER> x 203
From: Michael J<EMAIL_ADDRESS>Sent: ?Tuesday?, ?May? ?5?, ?2015 ?12?:?36? ?PM
To<EMAIL_ADDRESS>For NFIE, Filtering will be moved from 1.6 to 1.5.1 NFIE Release

It is n?ot?expected to be a problem to get a form of filtering done by NFIE summer camp June 1
However, completing this by NFIE is only possible if no changes to underlying access control are made (i.e. must keep single-user iRODS proxy-user approach in order to have filtering done by June 1)

Reply to this email directly or view it on GitHubhttps://github.com/hydroshare/hydroshare/issues/350.

@ironfroggy : @alvacouch , @hyi , @mjstealey , @rayi113  met on this Monday May 11 morning and decided do a simple hack to get this working by June 1, then afterwards we'll address refactoring.

The simple hack is to filter each resource subtype separately, and make a list of all matching resources of each type on the filtering page, rather than trying for a master list of resources of all types. This'll get us through NFIE and then we can refactor for making polymorphic lists of resources possible.
Alva L. Couch, Ph.D.
Senior Architect, CUAHSI Water Data Center
http://wdc.cuahsi.org
+1<PHONE_NUMBER> x 203
From<EMAIL_ADDRESS>Sent: ?Monday?, ?May? ?11?, ?2015 ?10?:?00? ?AM
To<EMAIL_ADDRESS>Cc: Alva<EMAIL_ADDRESS>@ironfroggyhttps://github.com/ironfroggy : @alvacouchhttps://github.com/alvacouch , @hyihttps://github.com/hyi , @mjstealeyhttps://github.com/mjstealey , @rayi113https://github.com/rayi113 met on this Monday May 11 morning and decided do a simple hack to get this working by June 1, then afterwards we'll address refactoring.

Reply to this email directly or view it on GitHubhttps://github.com/hydroshare/hydroshare/issues/350#issuecomment-100917337.

Combined search, while inefficient, is already implemented. How is breaking them up, which represents additional work to be completed before the deadline on top of the new UI, a solution to any timeline problem posed by NFIE?

@ironfroggy; @alvacouch, @dtarb and @rayi113 discussed and agree you should proceed with combined search as you suggest.

I am not worried about exactly how we do this, but I am of the opinion that:
a) we need simple filtering before NFIE, and
b) we need to delay the migration that would make filtering more elegant (e.g., resource base class)
until after NFIE. Too much else to handle. So that
c) a temporary fix is indicated.
Alva L. Couch, Ph.D.
Senior Architect, CUAHSI Water Data Center
http://wdc.cuahsi.org
+1<PHONE_NUMBER> x 203
From<EMAIL_ADDRESS>Sent: ?Monday?, ?May? ?11?, ?2015 ?3?:?05? ?PM
To<EMAIL_ADDRESS>Cc: Alva<EMAIL_ADDRESS>@ironfroggyhttps://github.com/ironfroggy; @alvacouchhttps://github.com/alvacouch, @dtarbhttps://github.com/dtarb and @rayi113https://github.com/rayi113 discussed and agree you should proceed with combined search as you suggest.

Reply to this email directly or view it on GitHubhttps://github.com/hydroshare/hydroshare/issues/350#issuecomment-101018533.

See #357 and #376.  I regard #376 as definitive for what Filtering should be.  I think that adding file name to filtering is a "nice to have" feature but a bit of a red herring and I do not understand @alvacouch indicating that the ability to filter by file name is important.  File name can certainly be used as title, but that does not require any change in the system, it is just user choice as to what to enter.

I mean filter by title, and it is an explicit NFIE request.
Alva L. Couch, Ph.D.
Senior Architect, CUAHSI Water Data Center
http://wdc.cuahsi.org
+1<PHONE_NUMBER> x 203
From: David<EMAIL_ADDRESS>Sent: ?Sunday?, ?May? ?17?, ?2015 ?2?:?23? ?PM
To<EMAIL_ADDRESS>Cc: Alva<EMAIL_ADDRESS>See #357https://github.com/hydroshare/hydroshare/issues/357 and #376https://github.com/hydroshare/hydroshare/issues/376. I regard #376https://github.com/hydroshare/hydroshare/issues/376 as definitive for what Filtering should be. I think that adding file name to filtering is a "nice to have" feature but a bit of a red herring and I do not understand @alvacouchhttps://github.com/alvacouch indicating that the ability to filter by file name is important. File name can certainly be used as title, but that does not require any change in the system, it is just user choice as to what to enter.

Reply to this email directly or view it on GitHubhttps://github.com/hydroshare/hydroshare/issues/350#issuecomment-102833117.

Basic filtering has been deployed with 1.5.1.


Fix systemd unit install on clean system

If the .config/systemd/user directory did not exist, it would not get created, as the mkdir command was inside the function systemd_unit_file() which is piped into the target file.
The shell determined that file could not be created first (as the directory did not exist), so never called the function at all.

Thanks


New (simpler) commands

Is your feature request related to a problem?
I find the current structure of the commands confusing and they somehow make an incomplete impression.
Describe the solution you'd like.
First I write down the new commands for already existing commands, then new ones.
Change:

[ ] /f home set -> /f sethome
[ ] /f disband -> /f leave
[ ] /f kickMember -> /f kick

New:

[ ] /f name {new name} renames your faction.

Explained in https://github.com/ickerio/factions/issues/44

[ ] /f desc {description} sets your faction description.

Self-explanatory.

[ ] /f motd {message} sets the message of the day your faction members see when they log on.

A simple motd.

[ ] /f unsethome unsets your faction home.

Deleting the home without adding a new one.

[ ] /f help shows all comands of the mod.

Self-explanatory.

[ ] /f show {faction name} shows faction information.

A detailed /f list, where for example the motd could be displayed, or all members.

[ ] /f player {player name} shows player information.

Which faction he belongs to, how much power he has, when he was last logged in.

[ ] /f join {faction name} to join a faction you have been invited to.

Self-explanatory.

[ ] /f title {player name} {title} set player’s title. Use formatting codes for color.

For example [King] TheButterbrotMan

Describe alternatives you've considered.
There are no alternatives.
Agreements

[X] I have searched for and ensured there isn't already an open issue regarding this.
[X] I have ensured the feature I'm requesting isn't already in the latest supported mod version.

Other
No response

/f home set -> /f sethome
/f unsethome

We won't be making these change as subcommands are much more memorable and organized

/f disband -> /f leave

These are already two separate commands that serve a separate purpose

/f desc {description} sets your faction description

This is possible sure, but we need to be careful with how many alias' we make as they can quickly become confusing

/f help

Iirc the default /help command shows our faction commands

/f show {faction name}

/f info should just be changed instead to have more information

/f player {player name}

I like the idea of this though it should just show the players faction, no log in timestamps imo.

/f join {faction name}

This is already in the mod

/f title {player name} {title} set player’s title. Use formatting codes for color.

I think other mods should be used for this instead, soon-ish we should have better chat compatibility with other mods
However I definitely agree with the following additions and changes

/f kickMember -> /f kick
/f rename {new name}
/f motd {message}

Both rename and have been written and are coming in the next version. I'll do MOTD next

Closing, added MOTD too in 68037cfdc56ef5fe87b074062eaf30012721beba


using source_path in params always triggers unneeded rerun

Snakemake version

Both 7.12.0 and 7.6.1
Describe the bug

The returned path from workflow.source_path changes cross different executions of snakemake, even though the file does not change.
It causes param changes and triggers rerun of rules.
Logs

Using the source_path test as an example.
The first run:
$ snakemake --version
7.12.0

$ snakemake -j -p
...
rule a:
    output: test.out
    jobid: 0
    reason: Missing output files: test.out
    resources: tmpdir=/tmp

cat /home/user/.cache/snakemake/snakemake/source-cache/runtime-cache/tmp_kcizqm8/6d573129aa3a1579b69b535c1b44b8db4c81ffdc5b20340dccb22d0576dcd362 > test.out

The second run:
$ snakemake -j -p
...
rule a:
    output: test.out
    jobid: 0
    reason: Params have changed since last execution
    resources: tmpdir=/tmp

cat /home/user/.cache/snakemake/snakemake/source-cache/runtime-cache/tmp6tmmr3c9/6d573129aa3a1579b69b535c1b44b8db4c81ffdc5b20340dccb22d0576dcd362 > test.out

Note that the temp dir runtime-cache/tmpXXXXXXXX has changed.
Minimal example

See the link above.
Additional context

I also stumbled over this bug which is causing massive reruns in my pipeline using snakemake 7.19.1
IMO this renders workflow.source_path unusable in practice, as it should affect its use in basically all directives.
The bug seems to be an interaction of https://github.com/snakemake/snakemake/pull/997 and https://github.com/snakemake/snakemake/issues/1694 : params changes as the caching path is always random and this triggers a re-evaluation of everything downstream.
Possible routes to fix it:

Have workflow.source_path return the path to the original source_file and not to the cached copy
Remove source caching completely
Defer the source path translation from original to cached to after the evaluation of which rules need to be rerun due to params changes (and probably all other reasons).

The least feature breaking option would be 3., but it is only implementable with deep insight into the package...
@johanneskoester What do you think?
BTW: Another issue related to source_path https://github.com/snakemake/snakemake/issues/1277 seems to be resolved by https://github.com/snakemake/snakemake/pull/1936 - just in case you want to clean it out of the issues.

I have also run into this and it is very annoying.

I’ve encountered this as well. My workaround is to use workflow.basedir instead of workflow.source_path(). Example:
rule:
  output: "out.txt"
  params: script=Path(workflow.basedir) / "myscript.py"
  shell: "python3 {params.script} > {output}"

I’ve encountered this as well. My workaround is to use workflow.basedir instead of workflow.source_path(). Example:
rule:
  output: "out.txt"
  params: script=Path(workflow.basedir) / "myscript.py"
  shell: "python3 {params.script} > {output}"

Thanks SO much for this.
There is no good documentation on how to reference a local script in a shell directive, which is pretty much necessary if you are setting a separate directory via the CLI. Unfortunately not all scripts can be easily modified to work via the script directive instead of the shell directive.
There needs to be official documentation for the Workflow class and how to use it. The methodology described in https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#accessing-auxiliary-source-files does not work for me.

I found a very funny workaround: Using the target workflow as a module with version control.
For example, a workaround for the above mini example is:
module source_path_test:
    snakefile: github("snakemake/snakemake", path="tests/test_source_path/workflow/Snakefile", commit="bfa0ada")
    config: config

use rule * from source_path_test

A commit or a tag is required ( rather than branch) here; otherwise similar error.
snakemake a -j 1 -p logs (on the first time executing):
cat /root/.cache/snakemake/snakemake/source-cache/https/raw.githubusercontent.com/snakemake/snakemake/bfa0ada/tests/test_source_path/workflow/resources/test.txt > test.out

This workaround works very well for me since I (always) package my rules into remote modules. But for those always local, maybe @marcelm 's is better. For those in between: maybe a PR?
Other possible routes to fix it:

Do not use random temp dir name:

Use tag or commit id, when given; otherwise
Use hash sum of sourced file(s), or the hash sum of hash sum of meta info of files

Use random temp dir name, but reuse them when sourced file(s) are not updated (meta info like mtime should be tracked)

I personally prefer the former since it is very reproducible. But @simonwm 's third also seems very natural.

I also encounter this.
The workaround with workflow.basedir does unfortunately not work when the workflow is imported as module from a remote or local repo (using gitlab, github, or local gitfile)

@johanez Try using workflow.current_basedir, which reflects the basedir of the currently-being-evaluated Snakemake file (e.g. the module's Snakefile or some *.smk file) instead of the entrypoint Snakemake file like workflow.basedir does.

Oh, nevermind. :facepalm: While it's possible to build correct module-relative URLs with workflow.current_basedir, most places you'd want to use it don't accept a URL, only a file path. I had misremembered and thought Snakemake accepted URLs and local file paths interchangeably in most places. The URL→local file resolution is the second half of what workflow.source_path() does:

This can be achieved by accessing their path via the workflow.source_path, which (a) computes the correct path relative to the current Snakefile such that the file can be accessed from any working directory, and (b) downloads remote files to a local cache:

So I guess source_path just needs fixing.

Ah, also just realizing this is about an input file path in params instead of inputs. In my (limited) experience with workflow.source_path() so far, Snakemake seems to handle its source-cache paths ok when used in inputs. I've noticed previously in other cases that it doesn't handle file paths (of any kind) very well when in params, which seems to hold true here too.


Review for initial import

This is a proposal of the initial implementation of Jubakit (Jubatus Toolkit), discussed in https://github.com/jubatus/jubatus/issues/1044, that provides simple yet powerful APIs to access techniques often used by analysts when constructing a machine learning model.
Key features:

Loads dataset from various data sources (like CSV files, RDBs, streams, etc.) to Jubatus with only a few lines of code.
Integrates with scikit-learn to provide high-level features.  For example:

Dataset generators and toy datasets (like iris) provided in sklearn can be used as a input.
K-fold cross validation can easily be done.
Result from Jubatus can be passed to metrics calculation functions like classification_report.

Jubatus processes can easily be started/stopped from within Python code; users no longer need to manage JSON config files.

Currently Classifier is the only supported service, but more to come!
You can browse through the code in https://github.com/kmaehashi/jubakit/tree/add-code.

@shiodat, @rimms assigned for review.

Jubakit is excellent toolkit!
In importing jubakit officially, I have four comment to improve the usability.

Unusual writing style in training dataset
In example/classifier_parameter.py L59-L61, the writing style of training looks unusual to me.# Train with the dataset.
for _ in classifier.train(dataset):
	pass

The following writing style looks common to me.
python 	# Train with the dataset. 	classifier.train(dataset)

Bulk train-test support
Providing bulk train-test method makes it easy to check the performance of jubatus.
For example, following code looks good to me.
def fit(method, parameter, train_dataset, test_dataset, metric):
    """
    : param method: estimator name
    : param parameter: parameter for the estimator
    : param train_dataset: dataset to train
    : param test_dataset: dataset to test
    : param metric: scoring metric (e.g. f1_score, accuracy_score, ... etc.)
    : return: estimation score using test_data
    """
    jubatus_config = Config(method=method, parameter=parameter)
    classifier = Classifier.run(jubatus_config)
    for _ in classifier.train(train_dataset):
        pass
    y_true, y_pred = [], []
    for (idx, label, result) in classifier.classify(test_dataset):
        y_true.append(label)
        y_pred.append(result[0][0])
    return metric(y_true, y_pred)

What users have to do is only prepare the train-test dataset and call fit(...) method!

Python3 support
The implementation only support Python2.
For example, Python3 does not support itertools.izip method, but zip in jubakit/loader/array.py.
For continuous use of jubakit, we should support Python3 in the future.

Modify README that jubakit only support Linux
The jubakit examples does not work on my OS X 10.11 El Capitan using Python 2.7.9 (installed by pyenv)
~/jubakit/example ᐅ python classifier_csv.py
Traceback (most recent call last):
  File "classifier_csv.py", line 39, in <module>
    classifier = Classifier.run(cfg)
  File "build/bdist.macosx-10.11-x86_64/egg/jubakit/base.py", line 306, in run
  File "build/bdist.macosx-10.11-x86_64/egg/jubakit/base.py", line 363, in __init__
  File "build/bdist.macosx-10.11-x86_64/egg/jubakit/base.py", line 404, in get_next_free_port
  File "/Users/shioda/.pyenv/versions/2.7.9/lib/python2.7/site-packages/psutil-4.1.0-py2.7-macosx-10.11-x86_64.egg/psutil/__init__.py", line 1891, in net_connections
    return _psplatform.net_connections(kind)
  File "/Users/shioda/.pyenv/versions/2.7.9/lib/python2.7/site-packages/psutil-4.1.0-py2.7-macosx-10.11-x86_64.egg/psutil/_psosx.py", line 170, in net_connections
    cons = Process(pid).connections(kind)
  File "/Users/shioda/.pyenv/versions/2.7.9/lib/python2.7/site-packages/psutil-4.1.0-py2.7-macosx-10.11-x86_64.egg/psutil/_psosx.py", line 216, in wrapper
    raise AccessDenied(self.pid, self._name)
psutil.AccessDenied: psutil.AccessDenied (pid=48904)

@shiodat Thank you for review!

Unusual writing style in training dataset

This syntax provides a way to feedback progress of training process to users.
I've added the example code to how to do this: https://github.com/kmaehashi/jubakit/blob/add-code/example/classifier_libsvm.py#L36-L38
cf. Is using 'yield' a sensible way to report progress of data processing?

Bulk train-test support

Good!  I've added that method.
https://github.com/kmaehashi/jubakit/blob/add-code/jubakit/classifier.py#L147-L166
As the method name fit sounds like doing training only, I changed the method name to train_and_classify.
Also, as users may want to customize converter section of the config, so the method receives config object instead of method and parameter.

Python3 support

Right.  I fixed codes to work with Python 2.7, 3.3, 3.4 and 3.5, and added the requiements to README.
I also added tox.ini so that we can tested against multiple Python versions using tox command.

Modify README that jubakit only support Linux

I fixed codes to work with OS X.
jubakit uses psutil package to detect free TCP port number (to assign a LISTEN port for Jubatus server process), however this requires root privilege on OS X.  Now TCP port is statically selected from [10000,30000] on OS X.

I added 4 more examples:

classifier_shogun.py: the most well-known jubatus example code
classifier_digits.py: using digits dataset from sklearn
classifier_libsvm.py: using LIBSVM dataset
classifier_bulk.py: using bulk train_and_classify Classifier API

@kmaehashi Thank you for fixing!

Unusual writing style in training dataset

The libsvm example is good to understand how to use the classify.train(...) method.

Bulk train-test support

Thanks for adding the method!
The method and argument names is easy to understand.

Modify README that jubakit only support Linux

New version of jubakit works correctly on OS X 10.11 El Capitan using Python 2.7.9.
Thank you for OS X support!

Python3 support

Some methods do not work on my Python 3.5 (using anaconda3-2.4.1).

Integer division problem
In Python3, n_samples / 2  returns float value. I recommend to revise int(n_samples/2).

(anaconda3-2.4.1) ➜  example git:(add-code) python classifier_bulk.py
Traceback (most recent call last):
  File "classifier_bulk.py", line 33, in <module>
    dataset[:n_samples/2],
  File "/home/shioda/.pyenv/versions/anaconda3-2.4.1/lib/python3.5/site-packages/jubakit-0.1.0-py3.5.egg/jubakit/base.py", line 247, in __getitem__
TypeError: slice indices must be integers or None or have an __index__ method

*. json.dump problem ?
(anaconda3-2.4.1) ➜  example git:(add-code) python classifier_csv.py
Traceback (most recent call last):
  File "classifier_csv.py", line 39, in <module>
    classifier = Classifier.run(cfg)
  File "/home/shioda/.pyenv/versions/anaconda3-2.4.1/lib/python3.5/site-packages/jubakit-0.1.0-py3.5.egg/jubakit/base.py", line 320, in run
  File "/home/shioda/.pyenv/versions/anaconda3-2.4.1/lib/python3.5/site-packages/jubakit-0.1.0-py3.5.egg/jubakit/base.py", line 382, in __init__
  File "/home/shioda/.pyenv/versions/anaconda3-2.4.1/lib/python3.5/json/__init__.py", line 179, in dump
    fp.write(chunk)
  File "/home/shioda/.pyenv/versions/anaconda3-2.4.1/lib/python3.5/tempfile.py", line 483, in func_wrapper
    return func(*args, **kwargs)
TypeError: a bytes-like object is required, not 'str'

Python3 support

I believe that the problem is now fixed.
To avoid these issues to occur again, I added integration tests with Python version matrix to .travis.yml and tox.ini.
https://travis-ci.org/kmaehashi/jubakit

Nice👍 LGTM!
Thanks for Python3 support.


Online feature store

Checklist for merge

[ ] Add online feature store for materialise stream
[ ] Handle cases in partial failure for ingestion
[ ] Handle cases for happy and unhappy scenarios in integration tests
[ ] Add performance benchmarking for a particular size with a certain QPS
[ ] Add documentation for networking necessary for notebook and model deploy
[ ] Add examples in the sample notebooks

maybe a thought to ponder on:
is it feasible to move the python client of feature store API here? the idea is to make it easy for users to test out locally. users should be able to install feature store using pip install "ads[feature-store]" and should be able to do docker run of the container in dev mode and can run the unit tests locally first before trying it out for production use cases.
this will make the experience similar to https://github.com/feathr-ai/feathr?tab=readme-ov-file#-getting-started-with-feathr---feathr-sandbox


React component with JSX-only body wrapped in fragment (<></>) gets reformatted into  @JSX list

@react.component
let make = () => {
  <> <div /> <div /> </>
}

Becomes:
@react.component
let make = () => {
  @JSX list{<div />, <div />}
}

It doesn't happen when body has bindings or it isn't wrapped by curly braces.

@alexfedoseev Thanks for the bug report! This is fixed in master: https://github.com/rescript-lang/syntax/commit/db0c6b903eea21a4b18aab06f2469b0349bd5daa


Little problem in the guides/images file

📚 Subject area/topic
guides
📋 Page(s) affected (or suggested, for new content)
https://docs.astro.build/en/guides/images/#images-in-public
📋 Description of content that is out-of-date or incorrect
Small problem with the  tag, which is not closed.

🖥 Reproduction in StackBlitz (if reporting incorrect content or code samples)
No response

img is a void tag, it does not require to be closed in HTML. Up to docs if they want to show one style or the other, but either way works!

We tend to not be too strict with the styles in our snippets, but also "self-closing tags (<tag />) do not exist in HTML" and the trailing slash is ignored by browsers. There's no real difference between the two, so it's fine if there's some inconsistency here.


Add OneNote support

Fixes #47
Add support for OneNote file conversion.

README.md: Add OneNote to the list of supported file formats. Add a note about using one-extract for OneNote support. Provide an example of converting OneNote files.
pyproject.toml: Add onenote to the list of dependencies. Add a note about OneNote support.
src/markitdown/_markitdown.py: Import one_extract as onenote. Add a new class OneNoteConverter to handle OneNote files. Register the OneNoteConverter in the MarkItDown class.
tests/test_markitdown.py: Add test strings for OneNote. Add a test case for OneNote file conversion.

@microsoft-github-policy-service agree [company="{your company}"]

@microsoft-github-policy-service agree

@HendricksJudy  there are now some small merge conflicts (should be easy to address).
Let's fix those conflicts. add the test.one file, and address @gagb's comment, and we can likely include this in the next alpha release.


Add oc-sync-kernel-modules script

This image does not contain the oc-sync-kernel-modules script that is required to get the kernel modules downloaded. cc @aimxhaisse

Fixed


Missing in depth documentation on matching strategies

I was looking for a more in-depth documentation on the matching strategies.
One of most urgent questions is "How does the matching treat multiple potential matches?"
Please elaborate more on how the matching logic is executed.

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

ID: e6c71a73-08b2-be40-5dbc-7811384dc10c
Version Independent ID: faef0288-c2b6-efe6-440a-3e728e0c5809
Content: Configure matching strategies (Dynamics 365 Marketing)
Content Source: ce/marketing/mkt-settings-matching.md
Service: dynamics-365-marketing
GitHub Login: @alfergus
Microsoft Alias: alfergus

Thanks for the suggestion. I'll work with the team to get this updated.


Find a better global name

Edit: A11yDialog has been chosen. Please check https://github.com/edenspiekermann/accessible-modal-dialog/issues/22#issuecomment-187626418 to give your opinion!
Modal seems a bit too generic for a global variable. It would be a good idea to find a better name. However it will be a breaking change (v2).
Ideas:

AccessibleModalDialog (a bit long?)
AMD (probably not a good idea)
ESPIDialog (not a fan of branding everything)
AMDialog
A11yDialog
Any other suggestion?

I like A11yDialog . AMD can be confused with other things, the first option is long and ESPIDialog is not very descriptive.

DialogA11y ?

+1 for A11yDialog

+1 for A11yDialog

:+1: A11yDialog

Also, DiagonA11y would have been awesome. :)

Shall we rename the package as well or only the global?

+1 DiagonA11y

A11y-dialog would be a better name for the package.

A11yDialog sounds good!

Rename the npm package: please do, because inconsistency can be so confusing
2.0.0 vs 1.0.0: I’d go for 2.0.0, keep the repo, and be very clear that you changed the project’s name

I second @timseverien

PR pending: https://github.com/edenspiekermann/accessible-modal-dialog/pull/28. If anybody wants to review it… :)

One thing I don’t really like with a11y-dialog is that we lose the idea of modal. Also, the DOM API is data-modal-*. Isn’t there an inconsistency here?

Dialog is better than modal anyway - To the best of my understanding, a modal blocks the whole ui, a dialog does not have to. So a modal is one kind of a dialog, and this module covers more than just modals.

@txhawks: shall the DOM API be data-dialog-* or data-a11y-dialog-*?

data-dialog is very general, and I can imagine a scenario where it is already used. data-a11y-dialog-* is a bit longer, but probably safer.
I'd go with the latter.

Thanks! Then PR #30 should cover everything except repository renaming which will happen in a second time.

All done.

+1 for asking this in the open. Discussing API design often results in much nicer solutions, I found.


Can't See Text.

Is there a way to change the font color so I can see the text?

I have the same problem.
Obsidian 0.10.2

The CSS for the node text color is using the variable --text-normal so it should appear as the same colour as the headings you have in the examples.
Would you be able to use the inspector to select one of the text nodes (<g> > <foreignObject> > <div>) and provide a screenshot of the styles?
Here's an example:

This?


Not sure where to begin

Trying to read the readme it's talking about a lua config file. Where do I put this? I would like to try this plugin but just not sure where to begin
Neovim version: 0.2.0

Hi, thanks for the issue.
Lua is built into neovim starting from the version you're using, meaning that there are ways to use lua code instead of viml.
To use nvimux, you can use any plug in manager you like (I use vim-plug, https://github.com/junegunn/vim-plug).
It can be configured in either Lua our VimL. The snippet present on Readme is an example of how to configure nvimux using Lua.
The Lua configuration is enclosed between lua << EOF and EOF.
There are other ways to do that, but personally I think this is the easiest.
Please, don't refrain from writing if you still have any questions.
Cheers,
Henry

I am using vimplug. So in my init file I just put that lua section?

Nvimux comes with reasonable defaults.
If you just install it with vim-plug, you'll already have <C-b>.. mappings for handling panes and navigation.
The Lua configuration is needed if you want to change any configuration option.

Where can I get list of key mapping’s?

I'm planning to make a command that shows all the maps, but for now, you can :map <C-b> (with one argument only) and it'll show everything that's mapped by Nvimux

hey! i use tmux every day, and vim every day, but would like to consider using this as a replacement, if I was sure how it worked ;-)
I use neovim, but only in the sense that I replaced my vim binary with it. All has seemed well in that regard, but I'm just not 100% sure how to use this... I've managed to get neovim to start, using the lua code you suggest in the readme, but when i press 'ctrl+a+n', I don't get, a new "window".
I think you need to assume that people coming to this may know nothing about vim itself - they only want a tmux replacment. Write the docs for that, as if they've never heard of neovim, and you'll get more adoption.


"Data Comparison" requires column mapping but leaves none for keys-only linking tables

Description
"Data Comparison" requires that there be non-PK columns available for column mapping in order to proceed, but some of my large linking tables consist only of FK columns that comprise the PK, so a comparison cannot be performed.
DBeaver Version
Pro 22.1
Operating System
macOS 13.4.1
Database and driver
No response
Steps to reproduce
No response
Additional context
No response

Hello @WValenti,
Thanks for the feature request.
This use case was never considered, therefore, was not implemented before.

Awesome! Thank you very much for a well-maintained tool that truly is critical for our work!


esp.emac: no mem for receive buffer (IDFGH-11395)

Is your feature request related to a problem?
[WiFiGeneric.cpp:1438] hostByName(): DNS Failed for
When esp.emac: no mem for receive buffer is displayed, subsequent devices cannot be recovered, even if I release the stack
Describe the solution you'd like.
As long as I start using Bluetooth communication, the network cable can not connect to the Internet, but the LAN can communicate, or connect to the Internet line communication, I go to use Bluetooth again, after a while the same, and then I try to release the Bluetooth FreeHeap Size:179336 after 120 seconds, but the network cable keeps appearing hostByName(): DNS Failed for and cannot be recovered until the device is restarted
Describe alternatives you've considered.
No response
Additional context.
No response

FreeHeap BLE1 :191456
initBLEJH-P130-A0009
FreeHeap BLE2 :105288
void initBLE(const char *name)
{
DebugPrint("initBLE");
DebugPrintln(name);
BLEDevice::init(name);
#if isESP32
BLEDevice::setPower(ESP_PWR_LVL_P7,ESP_BLE_PWR_TYPE_DEFAULT);
#else
// #if isESP32_C3
BLEDevice::setPower(ESP_PWR_LVL_P18,ESP_BLE_PWR_TYPE_DEFAULT);
#endif
BLEServer *pServer = BLEDevice::createServer();
_pServer =  pServer;
pServer->setCallbacks(new MyServerCallbacks());
BLEService *pService = pServer->createService(SERVICE_UUID);
pTXCharacteristic = pService->createCharacteristic(CHARACTERISTIC_UUID_TX, BLECharacteristic::PROPERTY_NOTIFY);
pTXCharacteristic->addDescriptor(new BLE2902());
BLECharacteristic *pRXCharacteristic = pService->createCharacteristic(CHARACTERISTIC_UUID_RX, BLECharacteristic::PROPERTY_WRITE);
pRXCharacteristic->setCallbacks(new MyCallbacks());
pService->start();
pServer->getAdvertising()->start();
}

I wonder if it is possible that I set ETH.config(), then removed it, and then the router recorded it, causing the problem? And how do I get dns1 and dns2 in config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1, IPAddress dns2)? Why am I getting Intranet ones and not something like <IP_ADDRESS> or <IP_ADDRESS>?

E (9267) esp.emac: no mem for receive buffer
E (9271) esp.emac: no mem for receive buffer
[WiFiGeneric.cpp:1438] hostByName(): DNS Failed
If [WiFiGeneric.cpp:1438] hostByName(): DNS Failed appears, it cannot be restored
You can take a router, and then the router is connected to the Internet at the beginning, after the router's Internet connection network cable is removed, you will find that you can not reconnect, has been DNS Failed

Why am I getting Intranet ones and not something like <IP_ADDRESS> or <IP_ADDRESS>

It depends on DHCP Server configuration and on your internet provider.
Could you please try to use IP address instead of domain name?

E (9267) esp.emac: no mem for receive buffer

Unfortunately, it seems that no mem for receive buffer may result in Ethernet to hang under specific conditions - it needs to occur multiple times in a row and so fill Ethernet DMA Rx buffer. The issue was fixed in ESP-IDF v5.x. I'll try to backport the fix to v4.4 but it will take some time till it gets to the ESP Arduino 2.x. In the meantime, you can try the following:

Try to use ESP32 Arduino 3.0 Alpha version https://github.com/espressif/arduino-esp32/releases/tag/3.0.0-alpha2
Fix the EMAC driver locally based on this commit
Increase number of Ethernet DMA Rx buffers (ETH_DMA_RX_BUFFER_NUM) and better manage memory of your application (to have more free memory during a runtime)


Send a 400 error instead of 500 when request is rejected

When a request is rejected by spring firewall, we get a 500 Http error. It would be better to get a 406 error.
I think we could add a method in sugoi-api-rest-commons-services\src\main\java\fr\insee\sugoi\commons\services\controller\technics\SugoiAdviceController.java to send this status.
This is reproducible with :
curl -X BLAH localhost:8080/realms

When using the zip distribution.

This is a spring-security bug https://github.com/spring-projects/spring-security/issues/7568


xmlPaths in .opml feed definition files are unescaped

Issue
When specifying an RSS feed path with special characters such as &, baleen fails to find posts.
I have confirmed that this can be corrected by manually escaping xmlPaths.
Resolution
For example, when specifying a url like http://foobar.com/RSS.ashx?max=100&ContentType=1Site=727 in an .opml file, it needs to be modified to http://foobar.com/RSS.ashx?max=100&ContentType=1&Site=727 in order to work correctly. baleen should auto-escape URLs to make such a manual correction unnecessary.

@agodbehere thanks for the bug report -- I'll take a look at this when I get the chance; we're using BeautifulSoup for the XML parsing, and that's my current theory of where the escaping is happening. Pull requests to the develop branch are welcome!


Design: Dynamic stats for summary

Accommodate variable number of stats for each category in the summary tab.

@ashwathgovind close this?

Lets keep this open till we touch base on design.


Regarding the addition of other video datasets

Hello author, thank you very much for providing evaluations related to videos. Are there any plans to add datasets like ActivityNetQA and MSVDQA for video evaluations in the future?
Thanks for your reply.

Hi, @mary-0830 ,
We do not have plans for supporting MSVDQA  / ActivityNetQA, since the quality of those benchmarks are unsatisfactory (we have mentioned some reasons in the MMBench-Video tech report: https://arxiv.org/pdf/2406.14515). Meanwhlie, we do have plans to support more video benchmarks in VLMEvalKit, which may includes MVBench,  TempCompass, and others

Hi, @mary-0830 , We do not have plans for supporting MSVDQA / ActivityNetQA, since the quality of those benchmarks are unsatisfactory (we have mentioned some reasons in the MMBench-Video tech report: https://arxiv.org/pdf/2406.14515). Meanwhlie, we do have plans to support more video benchmarks in VLMEvalKit, which may includes MVBench, TempCompass, and others

okay, i see!


Update Posts “walknc”

Automatically generated by Netlify CMS

👷 Deploy Preview for eloquent-chandrasekhar-302983 processing.
🔨 Explore the source changes: 08dab58143e132aee45c9609c92783e0d63c3092
🔍 Inspect the deploy log: https://app.netlify.com/sites/eloquent-chandrasekhar-302983/deploys/61ae0c963c13bf000776bff7


⚠ Bofrost.at has degraded performance

In 041be10, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1451 ms

Resolved: Bofrost.at performance has improved in e582322 after 9 minutes.


Add UMD build

Redux can be used without npm so it would be good if redux-mock-store supports UMD too

I know nothing about UMD builds. Can't you do that externally from the lib?

@arnaudbenard UMD build allows a module to be consumed by different module loaders. Yes this can be done without modifying current lib but it is nice to have an official UMD build :)

@pswai If we don't get any benefit from bundling it internally, we should just write instructions in the readme instead.
Thank you for the input


Following todos tutorial update does not work

Hello,
I'm trying this new framework using the tutorial that shows how to create the first application Todos.
http://docs.voltframework.com/en/tutorial/todo_functionality.html
When I update a record (for example, clicking on the checkbox to complete a Todo) appears in the log:
[ERROR] task StoreTasks#save in 3.0ms
with args: "todos", ["todos", "[]"], {"name"=>"First", "completed"=>true, "id"=> "61dcdaba1249e010892ec1ce"}

{:error=>"E11000 duplicate key error collection: Todo_development.todos index: _id_ dup key: { : \"61dcdaba1249e010892ec1ce\" } (11000)"}
<IP_ADDRESS> - - [14/Jan/2016 15:25:53] "GET /todos?index=0 HTTP/1.1" 200 - 0.6171

In the db there are:
> db.todos.find()
{ "_id" : "61dcdaba1249e010892ec1ce", "name" : "First" }
{ "_id" : "092ad7f1f6bc44980069a401", "name" : "Second" }

Is this a bug? The tutorial is obsolete? Or is it my mistake?

Hello @marcomd
Sorry to hear that your having trouble with the todo example.  I personally had not followed the tutorial however in an effort to try and help with your issue I found the github repo and cloned the project locally..
-> % git clone git@github.com:voltrb/todomvc.git
Cloning into 'todomvc'...
remote: Counting objects: 84, done.
remote: Total 84 (delta 0), reused 0 (delta 0), pack-reused 84
Receiving objects: 100% (84/84), 16.57 KiB | 0 bytes/s, done.
Resolving deltas: 100% (14/14), done.
Checking connectivity... done.

-> % rvm list

rvm rubies

   ruby-1.9.3-p551 [ x86_64 ]
=* ruby-2.1.5 [ x86_64 ]
   ruby-2.2.1 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

-> % bundle install
Fetching gem metadata from https://rubygems.org/.........
Fetching additional metadata from https://rubygems.org/..
Installing bcrypt 3.1.10
Installing bson 1.9.2
Installing bson_ext 1.9.2
Installing mime-types 2.6.1
Using mini_portile 0.6.2
Using nokogiri <IP_ADDRESS>
Installing rack 1.5.3
Using rack-test 0.6.3
Installing xpath 2.0.0
Installing capybara 2.4.4
Installing hitimes 1.2.2
Installing timers 4.0.1
Installing celluloid 0.16.0
Installing ffi 1.9.8
Installing childprocess 0.5.6
Installing chromedriver2-helper 0.0.8
Installing cliver 0.3.2
Using coderay 1.1.0
Installing ref 1.0.5
Installing concurrent-ruby 0.8.0
Installing concurrent-ruby-ext 0.8.0
Installing configurations 2.0.0
Installing execjs 2.5.2
Installing csso-rails 0.3.4
Installing daemons 1.2.2
Using diff-lcs 1.2.5
Installing eventmachine 1.0.7
Installing websocket-extensions 0.1.2
Installing websocket-driver 0.5.4
Installing faye-websocket 0.9.2
Using hike 1.2.3
Using json 1.8.3
Installing rb-fsevent 0.9.5
Using rb-inotify 0.9.5
Installing listen 2.8.6
Using method_source 0.8.2
Installing mongo 1.9.2
Using multi_json 1.11.0
Installing sourcemap 0.1.1
Using tilt 1.4.1
Using sprockets 2.12.3
Installing opal 0.7.2
Installing opal-rspec 0.4.2
Installing poltergeist 1.5.1
Using slop 3.6.0
Using pry 0.10.1
Installing rbnacl 3.2.0
Installing rbnacl-libsodium 1.0.3
Using rspec-support 3.2.2
Using rspec-core 3.2.3
Using rspec-expectations 3.2.1
Using rspec-mocks 3.2.1
Using rspec 3.2.0
Installing rubyzip 1.1.7
Installing sass 3.2.19
Installing websocket 1.2.2
Installing selenium-webdriver 2.43.0
Installing sprockets-sass 1.0.3
Installing thin 1.6.3
Using thor 0.19.1
Installing uglifier 2.7.1
Using bundler 1.7.6
Installing volt 0.9.3
Installing volt-mongo 0.1.0
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.

-> % ls
Gemfile      Gemfile.lock README.md    app          config       config.ru    spec

-> % cat README.md
# Demo Todos App

This app is an example using the [TodoMVC project](http://todomvc.com/)

NOTE: I threw this together in 5 minutes just to say we had a TODOMVC example.

To Run, start mongodb in one terminal:

    mongod

Then run the project:

    bundle install
    bundle exec volt server

-> % bundle exec volt server
Volt 0.9.3
                             ,--,           ,----,
                ,----..   ,---.'|         ,/   .`|
               /   /   \  |   | :       ,`   .'  :
       ,---.  /   .     : :   : |     ;    ;     /
      /__./| .   /   ;.  \|   ' :   .'___,/    ,'
 ,---.;  ; |.   ;   /  ` ;;   ; '   |    :     |
/___/ \  | |;   |  ; \ ; |'   | |__ ;    |.';  ;
\   ;  \ ' ||   :  | ; | '|   | :.'|`----'  |  |
 \   \  \: |.   |  ' ' ' :'   :    ;    '   :  ;
  ;   \  ' .'   ;  \; /  ||   |  ./     |   |  '
   \   \   ' \   \  ',  / ;   : ;       '   :  |
    \   `  ;  ;   :    /  |   ,/        ;   |.'
     :   \ |   \   \ .'   '---'         '---'
      '---"     `---`

Thin web server (v1.6.3 codename Protein Powder)
Maximum connections set to 500
Listening on <IP_ADDRESS>:3000, CTRL+C to stop
<IP_ADDRESS> - - [16/Jan/2016 16:02:41] "GET / HTTP/1.1" 200 - 0.0034

[INFO] task QueryTasks#add_listener in 8.082ms
with args: "todos", [["find"]]

[INFO] task StoreTasks#save in 23.393ms
with args: "todos", ["todos", "[]"], {"label"=>"test", "id"=>"7dc12c4cce80ebb3f99ab528"}

[INFO] task StoreTasks#save in 4.661ms
with args: "todos", ["todos", "[]"], {"label"=>"test2", "id"=>"735c3dc8acd9ba407eff7f44"}

[INFO] task StoreTasks#save in 6.678ms
with args: "todos", ["todos", "[]"], {"label"=>"test", "id"=>"7dc12c4cce80ebb3f99ab528", "completed"=>true}

Looking closer at the code inside of the main_controller.rb file I noticed that the logic for marking something completed does not look exactly the same as the logic contained in the tutorial making me think that the tutorial is probably just out of date..
-> % cat app/main/controllers/main_controller.rb
# The MainController is responsible for showing the individual Todos and listing
# things like how many are checked.
module Main
  class MainController < Volt::ModelController
    model :store

    # Use the route to filter which todos we're showing
    def filtered_todos
      query = store.todos
      case params._filter
      when 'completed'
        query = query.where(completed: true)
      when 'active'
        query = query.where({'$or' => [{completed: false}, {completed: nil}]})
      end

      query
    end

    def complete
      todos.count(&:completed)
    end

    def incomplete
      Promise.when(todos.size, complete).then do |size, complete|
        size - complete
      end
    end

    # Remove all completed
    def clear_completed
      todos.all.reverse.select(&:completed).each(&:destroy)
    end

    # Binding for if the all complete checkbox should be checked.
    def all_complete
      # incomplete returns a promise, so we check if its zero inside of a .then
      # block.
      incomplete.then { |val| val == 0 }
    end

    # Called when the complete all checkbox is checked, change the state of all
    # todos to val (true or false)
    def all_complete=(val)
      todos.all.each {|todo| todo._completed = val }
    end

    # Return true if there are any todos
    def any_todos?
      todos.size.then {|s| s > 0 }
    end

    # return true if any todos are complete
    def any_complete?
      complete.then {|c| c > 0 }
    end

    private

    # The main template contains a #template binding that shows another
    # template.  This is the path to that template.  It may change based
    # on the params._component, params._controller, and params._action values.
    def main_path
      "#{params._component || 'main'}/#{params._controller || 'main'}/#{params._action || 'index'}"
    end

    # Determine if the current nav component is the active one by looking
    # at the first part of the url against the href attribute.
    def active_tab?
      url.path.split('/')[1] == attrs.href.split('/')[1]
    end
  end
end

I would probably suggest you clone the repo located at git@github.com:voltrb/todomvc.git and see if you could get it to work by following the readme.
If you have any suggestions for fixing the tutorial please add a new issue to help the maintainers locate the issue that might have made it become out of sync.

@afaur
Hello Adam and thx for the answer.
I started a new todo project using that example but i have the same problem.
It could also be that this happens only on windows, I'll take a look on a *nix system as soon as i can.

Hi,
I've encounter the same issue as well. I'm using Volt 0.9.6, whereas from @afaur  answer, where he took a github was on volt 0.9.3. I've tried the github's example, it worked but for my simple code
<:Title>
  Todo

<:Body>

{{ _todos.size }} Todo

  <button e-click="complete_all" class="btn btn-success" >Complete {{ incomplete }} Tasks</button>
  <button e-click="clear_completed" class="btn btn-default" >Clear Completed</button>

      {{ _todos.each do |todo| }}

            <input type="checkbox" checked="{{ todo._completed }}" />

                {{ todo._label }}

            <button e-click="todo.destroy">X</button>

      {{end}}

  <form e-submit="add_todo" role="form">
    <input value="{{ page._new_todo }}"></input>
  </form>

The following line, does not work
<input type="checkbox" checked="{{ todo._completed }}" />

I created a fix for this: https://github.com/koffeinfrei/volt-mongo/commit/1fa06cb32c6063164385e823188552cba5ec3652. This probably broke in newer mongo versions.
You can try to use gem 'volt-mongo', github: 'koffeinfrei/volt-mongo'


Add support for passing single comma as parameter to local

EDIT: I reverted commits from PR https://github.com/mmckegg/json-query/pull/3 because I noticed my IDE and JSCS settings made unintended whitespace/code style changes to the files. Opening a new PR instead.
I ran into an issue, where the json-query tokenizer was not able to parse passing a single , character as a local/global helper argument.
Neither could I find a way to escape the delimiter character.
In practice I wanted to import methods from Array.prototype String.prototype to queries, and these simple cases would fail:
".list:split(,)"  // "a,b" t=> ["a","b"]
".items.join(,)" // ["a","b"] => "a,b"

Unit test included. I am not very familiar with the tap framework, so please let me know if the test does not cover the case accurately enough, or if there is something wrong with the change in code, and I'll happily modify this.

okay, this looks fair enough :+1:
But it has reminded me just how hacky multiple arguments in json-query are.

released in 1.5.0
@jevakallio thanks for the PR!

Thanks @mmckegg for your excellent open source project stewardship to patch and release so quickly :+1:


neofetch: set meta.mainProgram

Motivation for this change
I'm adding these whenever i see a package that doesn't work with nix run.
nix run is the fastest way to run neofetch, and it got broke with https://github.com/NixOS/nixpkgs/pull/120434
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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] 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/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Hmm, unstable- is actually part of the version, but still taken into account for the executable name. While this is fine to merge, this actually seems like a bug in Nix to me.

If you search for neofetch on nixpkgs search it's name is neofetch-unstable

The version isn't taken into account :thinking:

Well, the pname is neofetch, the version is unstable-2020-11-26. Even though both are concatenated with a - to name, this behavior seems wrong to me.

Yeah, unfortunately this is what happens, because that's generated by taking the name (aka ${pname}-${version}), then running it through builtins.parseDrvName and getting the name and version back out again...
which puts -unstable on the end of the name part.


buck2 --version logic in OSS build is strange and non-standard

Consider a user who uses the brand-spankin'-new buck2 package from Nixpkgs, based on tag 2023-07-11:
austin@GANON:~/src/nixpkgs$ nix-build -A buck2
/nix/store/r4g72h2h8p6isxym6qg4fgdwynn3dq65-buck2-unstable-2023-07-11
austin@GANON:~/src/nixpkgs$ ./result/bin/buck2 --version
buck2 228d33252457c4f2697eb4c8376e6dde58de2dec <local>

This is confusing, and less than ideal.
Typically, the expectation of a --version flag is that it will output, at minimum, some information that can be cross-correlated to an exact build identifier (AKA git commit hash), and, in the case of a build that has a repository tag associated with it, the name of the tag itself.
In this case, I'd expect buck2 --version to have 2023-07-11 in it somewhere, even if the other stuff remained, as that is the name of the tag from which we download the buck2 binaries.
More broadly, aside from just UX, some automatic and turnkey tools that distribution/packaging engineers use behind the scenes to make sausage tend to rely on behavior like that for automatic updates. For example, there are opt-in package testing harnesses in Nixpkgs that will automatically ensure a build produces working binaries, with --version output that is expected to match the package version. That kind of feature is really useful to help keep mistakes down and UX consistent for users.
I tend to like the way systems like GNU coreutils or GHC do it: the full --version string includes the version/build info, application name, and copyright text. There can be a separate supported flag for only displaying the exact version string and nothing else; GHC called this --numeric-version, for instance.
Hypothetical example of what would be good:
austin@GANON:~$ buck2 --version
buck2 version 2023-07-11 (prerelease)
Copyright (C) 2022-2023 The Buck2 Developers
License: MIT-or-Apache 2.0

austin@GANON:~$ buck2 --version-tag
2023-07-11

As a side note, the version logic is really confusing when I last remember looking at it; it does stuff like hash /proc/self/exe, use a Git hash, and also has another fallback I think? I could look over the code but the details aren't so important; I suspect it's mainly that way so that the Meta team can hunt down whatever random version of a buck2 binary someone is using when they complain, and trace it back to a build. But for OSS builds, we don't really need any of that, so maybe it should be under fbcode_build if that can be done.

Honestly, I don't think internally we have ever used the version number. We do build stamping so have the date a version was compiled available by other means, and tend to use that. So the version number is mostly used to confirm that the buck2 server you are talking to is the one you expect, meaning a hash of the binary is fine.
Agreed, we could do a lot better here! Maybe our buck2_release.yml script should pass in a date that gets printed out? CC @themarwhal

Printing a predictable version would help us out a lot. Since the buck2 version seems to be tied to the prelude version (we've had compatibility problems if they're not updated together), we need to make sure that our users have the correct version installed, and we try to install that version for them. But doing so requires that we manage our own map of version hashes: https://github.com/pytorch/executorch/blob/cde514ca0898ba93d95158b3dbe9ecd2a2b9f32c/build/resolve_buck.py#L65
It'd be so much easier for us if we could ask the buck2 tool what version it is without needing to manually update these hashes when moving to a new version. Or even if all of the different platforms agreed on a hash, then we'd only need to manage a single hash.
cc: @GregoryComer


Angular widgets apis refactor

Context
Following our discussion regarding the angular widgets apis, we have decided that angular widgets should obey the following rules:

the selector should not be 'au-$name' but '$htmlElement au$Name'
every input and output should prefixed with au

Example of change
For the rating default, this would mean going from:
<au-rating [(rating)]="rating" (hover)="hovered = $event" (leave)="left = $event" ariaLabel="rating" />

to

As discussed today with @quentinderoubaix, maybe we should rather finally use camelCase:

That's what people are used to for attributes in Angular, and also otherwise, it is strange to have a mix of kebab-case and camelCase for bindings (i.e. au-ratingChange).


Filecoin Poseidon/Neptune

Summary
Filecoin has an optimized implementation of Poseidon that has gone through an audit by the ADBK Consulting (by Mikhail Vladimirov and Dmitry Khovratovich)
https://github.com/filecoin-project/neptune/blob/master/spec/poseidon_spec.pdf
It seems to include two changes: (1) treatment of the round constants and (2) the use of sparse MDS matrices.
Neptune is fortunately MIT/Apache2.
Problem Definition
It may be interesting to look at their implementations and see if it is compatible with the current implementation, and whether or not it can bring performance improvement.
Proposal
Analysis the compatibility and decide whether or not to implement it.

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

Filecoin has reference implementation here: https://github.com/filecoin-project/neptune/blob/master/src/poseidon.rs, though it does not have sponge construction. They also support arbitrary rate & capacity. We can probably adapt some code from them

We're okay with "sponges" that do not support converting from sponge back into absorb to give runtime errors?  I'd think runtime errors would be the only option for something like say a sponge that permits converting back to absorb only if two field elements remain unsqueezed.


Kubescape Scan doesn't work in Lens

Dear all，
I tested kubescape and it perform good! So I want to use the Lens to view several K8s cluster security report. But after I install lens-extension of kubescape，I click the Scan button and it doesn't work. It seemed that I met the similari problem as the https://github.com/kubescape/lens-extension/issues/3. Because I installed Lens in Windows enviroments , so I decided to open a new issue for it.

The relevant information is described as follows:
I installed the Lens in windows 10 and the Lens is downloaded from it's website(https://k8slens.dev/). Lens version is the as below. But I think its version is v6.x because when lauch it the icon show that(Lens 6).

I installed the K8s cluster in a centos (Centos 7)virtual machine and also installed the kubescape. The kubescape works correctly in CLI, just as below.

I followed the instruction to instll kubescape extension in Lens .But it doesn't automatically scan the k8s cluster and click the scan button doesn't work also.
I read the "black screen black screen  kubescape/kubescape#3" and also tried to uninstall the kubescape extension and deleted the files in the dir(C:\Users\RKHD\AppData\Roaming\Lens\extension_data and C:\Users\RKHD\AppData\Roaming\Lens\extension-store@kubescape). Then I installed it again but the problem remains. After I click the Scan button I checked the dir(C:\Users\RKHD\AppData\Roaming\Lens\extension_data\756ffa6a545a062276ff3de6d165494b811044faef8558f25d1f71baab813d8f) and find it's blank. Just as blow.

Pls help me to find out the problem and thanks a lot!

@yf-odyssey  we released a new version of the extension (0.2.4) which should fix the mentioned issue, could you please check and report?
Thanks

@yf-odyssey we released a new version of the extension (0.2.4) which should fix the mentioned issue, could you please check and report? Thanks

@amirmalka Thanks Amir. I'll try the new version and feedback later.