Design new ORM storage

Need to think through how the new underlying storage for the ORM needs to work to support one-sided relationships.

The problem
The key difference is that the new storage engine must support one-way relationships.
The current store, which supports one-to-many relationships, sets up the database using traditional foreign keys. So, if you define a post that belongs to a user:
// models/post.js
Model.extend({

  user: belongsTo()

})

what this will do is add a userId foreign key to the posts database collection, since this is traditionally how one-to-many relationships are modeled.
If we define a post that has many tags:
// models/post.js
Model.extend({

  tags: hasMany()

})

we do a similar thing: we add a foreign key to the tag model (the other side of the hasMany). But typically, blog posts and tags have a many-to-many relationship - so this assumption is wrong. However, what about comments?
// models/post.js
Model.extend({

  comments: hasMany()

})

In this case, each comment most likely does have a postId, so the assumption of one-to-many is correct. So, the initial thought was to make assumptions, and provide a way for users to override those assumptions if they turned out to be wrong.
However, APIs will often expose something like the above post model that has many tags, without tags ever pointing back to posts:
GET /posts/1
{
  post: {
    id: 1,
    title: 'Lorem ipsum',
    tags_ids: [1, 2, 4]
  },
  tags: [
    { id: 1, name: 'Economics' },
    { id: 2, name: 'Philosophy' },
    { id: 4, name: 'Politics' }
  ]
}

Mirage as a tool has a single purpose: to improve the UX of the developer. If the API a developer happens to be working with has no concept of a relationship from one resource to another (in this case, from a tag back to a post), why should they need to waste brain cycles deciding upon and creating one in Mirage? Answer: they shouldn't.
As a result, the notion of single-owner foreign keys must be dropped from Mirage.
Approach
As in Ember Data, when we set up the following post model
// models/post.js
Model.extend({

  tags: hasMany()

})

all we want is a tagIds property to live somewhere. The main question is: where?
Currently, all data is "persisted" in the database. The database is a collection of DbCollection objects (that was creative). Currently, hasMany and belongsTo define special methods on models to manage relationships.
So, if you had a post with a userId, doing something like
post.userId = 1;

would execute a magic method to make sure references were updated. Persisting this change would mean saving the userId of 1 back to the database.
The hasMany case is interesting because it also worked through the belongs-to side of the relationship, and its foreign key. Let's talk through what the has-may side should look like now, with one-sided relationships.
Using the post model above, I can think of a few places to store the tagIds property:

In the database, alongside each post "row"
In a new object, something like an AssociationsMap, which would serve to be a single global identity map for all association state.

In the database
If we store it in the db, it looks like this:
posts: [
  { id: 1, title: 'Lorem ipsum', tagIds: [1, 4, 5] }
];

The magic method post.tags would use this data to find and instantiate the associated tag models.
This seems ok. What happens when we define the inverse?
// models/tag.js
Model.extend({

  post: hasMany()

})

tags: [
  { id: 1, title: 'Economics', postIds: [1, 6, 7, 10, 11] }
]

We now have data in two places...which is a bummer. The methods tag.postIds = [ ... ] and post.tagIds = [ ... ] will have to sync with each other. Seems like we could get into trouble.
In an identity map
What if instead we keep plain attributes in the database, but create a new object to store associations?
// models/post.js
Model.extend({

  tags: hasMany()

});

// some-registry
_associations: {
  posts: [
    { id: 1, tagIds: [1, 4, 5] },
    { id: 2, tagIds: [1, 4, 5] }
  ]
}

Then when we come around and define the inverse
// models/tag.js
Model.extend({

  post: hasMany()

})

we would start by considering that this tag => post relationship could have an inverse; check the _associations registry for a post => tag relationship; and if it exists, use and manage it instead.
The problem here is, how to fetch tag.posts. Looking at the data structure above, this would mean finding all posts where tagIds.contains(id). Could do worse, I suppose, but it feels a bit smelly.
Alternatively we could store both sides of the relationship separately, which would simplify and speed up lookup, but we're back to having to keep the two in sync.
// some-registry
_associations: {
  posts: [
    { id: 1, tagIds: [1, 4, 5] },
    { id: 2, tagIds: [1, 4, 5] }
  ],
  tags: [
    { id: 1, postIds: [1, 2, 4] },
    { id: 1, postIds: [3, 5, 8] },
  ]
}

What if the data structure of the identity map were just an array of associations?
_associations: [
  { from: 'post', to: 'tag', postId: 1, tagId: 1 },
  { from: 'post', to: 'tag', postId: 1, tagId: 2 },
  { from: 'post', to: 'tag', postId: 1, tagId: 4 },
  { from: 'post', to: 'tag', postId: 1, tagId: 7 },
]

Basically, an array of join records. Additional properties could be used to support named, inverse, and polymorphic associations:
_associations: [
  { from: 'post', to: 'tag', name: 'blueTags', postId: 1, tagId: 1 },
  { from: 'post', to: 'tag', name: 'redTags', inverse: 'myPosts', postId: 1, tagId: 2 },
  { from: 'image', to: 'imageable', imageId: 1, imageableId: 4, type: 'post' }
]

but then every association query would need to traverse this array.
Other ideas/brainstorming:
_associations: {
  refs: {
    posts: [
      { id: 1, tags: postsTags }
    ],
    tags: [
      { id: 1, posts: postsTags }
    ],
  },
  data: [
    postsTags: [
      { postId: 1, tagId: 1 },
      { postId: 1, tagId: 2 },
      { postId: 3, tagId: 1 },
      { postId: 2, tagId: 4 },
      { postId: 2, tagId: 5 }
    ]
  ]
}

_associations: {
  post: {
    'blueComments': [1, 4, 5],
    'redComments': [2, 3]
  },
  comments: {

  }
}

Other considerations
Using a real database
If we go this route, and ever want to use an actual database to persist data (for purposes of development and testing), what are the implications? I believe an adapter would be sufficient to take the database + associations map and translate it to a data structure that's capable of being stored in a traditional database.
Using fixtures / the db to set up state
Regardless of how the internal storage works, it's still nice to be able to use fixtures in the traditional database format to set up data:
fixtures: {
  posts: [
    { id: 1, title: 'Lorem ipsum'] }
  ],
  comments: [
    { id: 1, text: 'Foo', postId: 1 }
  ]
}

and a lot of folks are doing this now. I think we can still have a layer that takes this format and puts it into the new storage format on init, but regardless it's something that needs to be considered.

Would love any feedback on this btw.

The storage format can be entirely internal implementation detail. There's no reason you can't keep using the foreign key implementation you already have, even for "one way" relationships.
All that's need is conventions for deciding what parts of the internal storage to surface in the public API. One way to do that is to require users to declare both halves of a relationship If they want the accessors to work from both sides. Otherwise they get one sided accessors. But in either case the storage structure remains the same.

One way to do that is to require users to declare both halves of a relationship If they want the accessors to work from both sides. Otherwise they get one sided accessors.

I want this, I think it's the most reasonable, it's how Active Record/Ember Data work, etc.
My problem is, if you start with one side:
// post
Model.extend({

  comments: hasMany()

});

where do I store the commentIds? If I store them with the "record" in the existing post DbCollection as a plain array, how do I sync them up if/when the inverse relationships is defined on the comment?

Right now the implementation is to stick a fk on post, but that is a flawed assumption. Are you saying I could still do that, but just not expose that fk as an attribute, or to the serializer layer etc.?

Yes, exactly. The FK can always go on post. It can just stay private unless the user declares a two sided relationship.

I've decided to go with one-way associations, and the storage format will mimic Ember Data:

belongsTo will get a modelId property
hasMany will get a modelIds property

These won't touch any other models, and this will require us to "sync" the two when inverse relationships change. Note that even if we kept fk storage to a single owner (i.e. if the implementation of hasMany was to store a fk on the child), models themselves still have the potential to "fall out of sync" since they are not bound/observable.
The main reason to not store the fk on the child is because it's simply an incorrect assumption in many cases, and it will lead to a more confusing codebase (and potentially confusion for end users, if the implementation ever leaks through). If a post hasMany tags, a post will get a tagIds property - and that's it. Easy to understand, both from the end-user API side and the internal implementation. There's no reason to create a tag.postId property, when one never exists. Further, there's no way to guess this is a many-to-many relationship, from just the one-sided hasMany declaration alone. Therefore, we will use a post.tagIds property, and manage/sync it behind the scenes. Users may have to call model.reload() to assert against "fresh" db state, just as they do today. I don't believe this has not caused many issues.


Android only - Returning a TokenDetails with 'issued' and 'expires' values in epoch milliseconds throws java error

Setup:

Device: Pixel 3XL
Android: 11
Flutter: 2.10.3
Ably package: 1.2.12

Configuration:
Ably with token authentication
authCallback property in ClientOptions pointing to a function that returns a TokenDetails object. As per documentation the object contains issued and expires properties set to an epoch timestamp in milliseconds (along the rest of the properties), for clarification, the following code works flawlessly on iOS, and its equivalent in the Javascript SDK also works correctly.
Code:
  import 'package:ably_flutter/ably_flutter.dart' as Ably;

  String _clientId = '';
  Future<Ably.TokenDetails> _getTokenDetails(Ably.TokenParams params) async {
    final result = await MyAPIController.getAblyAuthTokenFor(_clientId);

    return Ably.TokenDetails(
      result.data.token,
      issued: result.data.issued,  // result.data.issued is an int with epoch timestamp in milliseconds (e.g.:<PHONE_NUMBER>847)
      expires: result.data.expires,  // result.data.expires same as result.data.issued but in the future
      clientId: result.data.clientId,
      capability: result.data.capability,
    );
  }

  void initializeAbly(String clientId) {
    _clientId = clientId;

    final clientOptions = Ably.ClientOptions()
      ..clientId = _clientId
      ..tls = true
      ..useTokenAuth = true
      ..authCallback = _getTokenDetails;

    _realtime = Ably.Realtime(options: clientOptions);
    _realtime.connection
        .on(Ably.ConnectionEvent.connected)
        .listen((Ably.ConnectionStateChange stateChange) {
     // SUBSCRIBE TO CHANNELS
      }
    });
  }

Error::
E/MethodChannel#io.ably.flutter.plugin( 3539): Failed to handle method call result
E/MethodChannel#io.ably.flutter.plugin( 3539): java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.ably.flutter.plugin.AblyMessageCodec.lambda$decodeTokenDetails$32(AblyMessageCodec.java:354)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.ably.flutter.plugin.-$$Lambda$AblyMessageCodec$EZVHcAHH13F6P7lENmPZqTXnZg8.accept(Unknown Source:2)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.ably.flutter.plugin.AblyMessageCodec.readValueFromJson(AblyMessageCodec.java:160)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.ably.flutter.plugin.AblyMessageCodec.decodeTokenDetails(AblyMessageCodec.java:354)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.ably.flutter.plugin.AblyMessageCodec.access$2300(AblyMessageCodec.java:47)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.ably.flutter.plugin.AblyMessageCodec$1.lambda$new$5(AblyMessageCodec.java:102)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.ably.flutter.plugin.-$$Lambda$AblyMessageCodec$1$DqnBUFL6jWi43rRYX8P4My0ezrE.decode(Unknown Source:2)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.ably.flutter.plugin.AblyMessageCodec$CodecPair.decode(AblyMessageCodec.java:80)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.ably.flutter.plugin.AblyMessageCodec.readValueOfType(AblyMessageCodec.java:152)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.flutter.plugin.common.StandardMessageCodec.readValue(StandardMessageCodec.java:333)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.flutter.plugin.common.StandardMethodCodec.decodeEnvelope(StandardMethodCodec.java:107)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.flutter.plugin.common.MethodChannel$IncomingResultHandler.reply(MethodChannel.java:239)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.flutter.embedding.engine.dart.DartMessenger.handlePlatformMessageResponse(DartMessenger.java:376)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessageResponse(FlutterJNI.java:993)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at android.os.MessageQueue.next(MessageQueue.java:335)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at android.os.Looper.loopOnce(Looper.java:161)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at android.os.Looper.loop(Looper.java:288)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at android.app.ActivityThread.main(ActivityThread.java:7842)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/MethodChannel#io.ably.flutter.plugin( 3539): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

It seems Java is trying to cast assign a long value as in int in the following function (lines 354 and 355):
https://github.com/ably/ably-flutter/blob/4da3baa587165e32f21566144a42361f435aeaf3/android/src/main/java/io/ably/flutter/plugin/AblyMessageCodec.java#L350-L357
In my dart code, when I truncate the the values in issued and expires to be epoch in seconds instead of milliseconds the error goes away and ably connects successfully to the server. The token is renewed at the correct time as well.
Thanks

Thank you for the report, it seems that you already located the issue, I'll create a fix for it ASAP 🙂

@gabrielginter I have suggested a fix for this in https://github.com/ably/ably-flutter/pull/358. I think it should resolve the problem entirely, but if it's possible, I would appreciate a confirmation from your side 🙂

@ikurek  I'll try to test it by pointing my pubspec to your code as soon I get the chance.
By purely looking at the commit I think the fix will work just fine, as you mentioned, internally io.ably.lib.rest.Auth.TokenDetails is already using long so there should be no issues.
Thanks for the quick fix, hopefully there is a new release soon.


test(extension): fix tests with switching pools

Checklist

[ ] JIRA - <link>
[ ] Proper tests implemented
[ ] Screenshots added.

Proposed solution
Explain how does this PR solves the problem stated in JIRA ticket.
You can also enumerate different alternatives considered while approaching this task.
Testing
Describe here, how the new implementation can be tested.
Provide link or briefly describe User Acceptance Criteria/Tests that need to be met
Screenshots
Attach screenshots here if implementation involves some UI changes

coverage: 52.036% (-0.008%) from 52.044%
when pulling e943fadfae07919a5884c79f1f89ac259df39577 on test/fix-staking-tests
into 932138e85c703f6a66d75d58e9561dbc0f364537 on main.

covered by different pr


crash of lacking App.vue

because of not adding the . before the root of src in vite config file, it's causing a crash of:
Internal server error: Failed to resolve import<EMAIL_ADDRESS>from "src/main.ts". Does the file exist?
  Plugin: vite:import-analysis
  File: E:/coding_and_programming/eslint9-vite-vue3/src/main.ts:3:16
  1  |  import { createPinia } from "pinia";
  2  |  import { createApp } from "vue";
  3  |  import App from<EMAIL_ADDRESS>     |                   ^
  4  |  import Default from<EMAIL_ADDRESS>  5  |  import { router } from "@/router";

I added the . and it got started well!

Hey @Bader-Idris, I cannot replicate the issue, here's a Stackblitz with the template working
https://stackblitz.com/~/github.com/kouts/vue3-ts-vite-starter-template


Added more blog posts in the resources page

Motivation
The articles list in the resources page was not updated in while. Added blog posts centered on Pulsar.

@merlimat
How about also including these ones:
https://flink.apache.org/2019/05/03/pulsar-flink.html
https://debezium.io/blog/2019/05/23/tutorial-using-debezium-connectors-with-apache-pulsar/

How about also including these ones:

Yes, forgot about these.


write formal spec YAML config for simple hierarchical taxonomy sheets

First quick attempt (as pseudo JSON schema in YAML).  It strikes me that configuration via TSV would be easier.
column_name:
    type: string
    description:  >
            Name of a column in the original spreadsheet/tsv.
            Only name columns here that you can specify a type for in the column_type config,
             all other columns will be preserved.
column_type:
  enum:
     cluster_id
     cluster_name
     cell_set
rank:
   description: "Use this to number hierarchical cell sets, starting at 0 for cluster (leaf nodes)"
   type: number

Questions:

Do we also want the ability to preserve type in other fields (float vs string) ?
Should we bundle this with requests for more general information about the taxonomy?  It would be good to at least have some link to the data.  Some other fields from the CCN2 taxonomy metadata table  might be useful -although most should be superceded by fields coming from automated pipelines.  Alternatively, we could just have users fill these out in the tool.

Config spec v1 ready: https://github.com/hkir-dev/cell-type-annotation-tools/blob/main/src/schema/ctat_schema.yaml


chore(build): extend crates package metadata table

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (282bca6) 76.19% compared to head (6eda547) 76.19%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #16   +/-   ##
=======================================
  Coverage   76.19%   76.19%
=======================================
  Files           3        3
  Lines          63       63
=======================================
  Hits           48       48
  Misses         15       15

Flag
Coverage Δ

integration
26.47% <ø> (ø)

unit
94.11% <ø> (ø)

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


lsp server not attached on BufNewFile, nor after saving it

nvim --version: NVIM v0.5.0-dev+1455-gf83c25942
nvim-lspconfig version(commit hash): latest
What language server (If the problem is related to a specific language server): gopls, pyright
Can you reproduce this behavior on other language server clients (vscode, languageclient-neovim, coc.nvim, etc.): not tested, not relevant
Can you reproduce this behavior on other language servers offered in the nvim-lspconfig repo? (pyls -> pyright): see above
Is the problem isolated to a particular language server: nope
Operating system/version: macos 11.14

How to reproduce the problem from neovim startup
nvim existing.go
:lua print(vim.inspect(vim.lsp.buf_get_clients())) # => is attached
:e nonexsting.go
:lua print(vim.inspect(vim.lsp.buf_get_clients())) # => {}
:w # write the file
:lua print(vim.inspect(vim.lsp.buf_get_clients())) # => {}
:wq
nvim nonexisting.go
:lua print(vim.inspect(vim.lsp.buf_get_clients())) # => is attached
Actual behaviour
see above
Expected behaviour
LS is also attached for new buffers
minimal_init.lua (just replaced "pyright" with "gopls"
Health check

Checkhealth result
health#lspconfig#check
========================================================================
## Checking language server protocol configuration
  - INFO: gopls: configuration checked.

LSP log

Log file
no logs for the new buffer

running :LspStart after having written the new file works, though, but this is not what I am after

You can also just do :e to trigger attaching to a newly created file.

Same problem here!

Technically closed in https://github.com/neovim/nvim-lspconfig/pull/955, it's not more lenient (will try to resolve root for files not written to disk). This may cause issues with certain language servers that expect the file to be on disk.


Fix exposure logging progress circle inconsistencies. (EXPOSUREAPP-1835)

This PR makes the circle progress in line with the iOS one. Adding the x/14 days inside the circle and changing the progress color depending on the state of the exposure logging.
How to test:

Go to exposure logging and look at the number of days inside the progress circle. It should look like x/14 days now.
Try playing with the exposure logging states. Stop it, turn it back on again. Make sure that the circle is blue while logging is on and grey while it's off.
I've removed two layers of includes in the fragment as they were only being used in this screen. Make sure the layout hasn't changed. Try disabling bluetooth and make sure the right cards appear on the screen.

LGTM, tested on S8

The progress indicator on the risk details is not shown - the blue bar is missing.

The progress indicator on the risk details is not shown - the blue bar is missing.

Forgot about that. I'll add them as well.

@SamuraiKek  after your changes:
Low risk details screen does not show progress in case bluetooth is disabled, while it shows 2/14

@SamuraiKek after your changes:
Low risk details screen does not show progress in case bluetooth is disabled, while it shows 2/14

Yes, I've intentionally done this because when bluetooth is turned off, the risk calculation becomes restricted. There isn't really a design guidline for this case, maybe we should ask somebody about it?
iOS doesn't even have the progress circle in the low risk details screen ¯_(ツ)_/¯

@SamuraiKek after your changes:
Low risk details screen does not show progress in case bluetooth is disabled, while it shows 2/14

Yes, I've intentionally done this because when bluetooth is turned off, the risk calculation becomes restricted. There isn't really a design guidline for this case, maybe we should ask somebody about it? I can quickly change it to the blue tint.
iOS doesn't even have the progress circle in the low risk details screen ¯_(ツ)_/¯
@ralfgehrer, @harambasicluka, what do you think?

IMHO, the progress should be shown. Otherwise, the circle does not make much sense, does it?

IMHO, the progress should be shown. Otherwise, the circle does not make much sense, does it?

Alright, the same behaviour was happening when the location is disabled so I'll take care of that too.

When exposure logging is turned off, the progress indicator shall be dark grey - according to the ticket. In the current implementation, it is gone.


[Rust] Corrections for Installation and #[derive()] possibilities

Is your feature request related to a problem? Please describe.
In the Rust example, right on the Installation procedures, it is marked that a crate called fury_derive should be installed. However, the correct name is "fury-derive", otherwise the installation will fail. Also, it points to the same repo as the 'fury' crate. I don't think that is intended? Also, the issue for fury-derive, since it points to the same repo, is that it that does not allow access to the elements specified in the user guide, namely: "FuryMeta, Deserialize, Serialize". However, it seems that simply having:
use fury::{from_buffer, to_buffer, Fury}
is enough to do the job.
Describe the solution you'd like
Remove the "fury-derive" crate unless it serves a specific purpose. Add the correct usage of the "fury" crate in the user guide.

After further experimentation and playing around, I have that the "Serialize", "Deserialize" and "FuryMeta" traits can indeed be found, but only with :
use fury::__derive::{Serialize, Deserialize, FuryMeta};
This should be reflected in the user guide.

Is your feature request related to a problem? Please describe.
In the Rust example, right on the Installation procedures, it is marked that a crate called fury_derive should be installed. However, the correct name is "fury-derive", otherwise the installation will fail. Also, it points to the same repo as the 'fury' crate. I don't think that is intended? Also, the issue for fury-derive, since it points to the same repo, is that it that does not allow access to the elements specified in the user guide, namely: "FuryMeta, Deserialize, Serialize". However, it seems that simply having: use fury::{from_buffer, to_buffer, Fury} is enough to do the job.
Describe the solution you'd like
Remove the "fury-derive" crate unless it serves a specific purpose. Add the correct usage of the "fury" crate in the user guide.

Thank you for submitting the issue!  The usage in guide is outdated, using use fury::{from_buffer, to_buffer, Fury} is enough to do the job. I will update the guide in a another PR.

It should also be noted in the use guide that, for Rust, you must use the following command: crate add fury since fury is a library crate. Attempting to cargo install will fail as it has no binaries.

The Xlang protocol is not stable yet, and there is still much work to be done before the first release version is ready. Once fury-rust becomes stable, it will be integrated with Cargo


Theme Submission: Roxo Hugo

Theme submission
Please make sure that you have read the theme submission guidelines before submitting a theme. The guidelines provide all relevant information and requirements that have to be fulfilled before the submission. Please tick the relevant boxes for your theme in the checklist below:
Link to my theme repository: https://github.com/StaticMania/roxo-hugo
I made sure that...

[x] the repository contains a good README.md describing my theme
[x] an open source license has been added to LICENSE.md
[x] all metadata have been added to theme.toml
[x] screenshots have been added in the images/ folder with the required dimensions
[x] in case I'm using a customized demo via the exampleSite folder that

[x] https://example.com is set as base url in exampleSite/config.{toml, yaml, json} to avoid the abuse of unused domains
[x] I tested that my theme's demo works with the content directory of gohugoio/HugoBasicExample

[x] I tested my theme against the gohugoio/HugoBasicExample

[x] I've checked the developer tools' console in my browser for error messages

[x] in case my theme is using Hugo Pipes features like toCSS and PostCSS that I have committed the /resources directory with all generated assets, for my theme to work in the basic version of Hugo

N.B. By submitting a theme to the Hugo Themes Showcase you understand that you need to maintain your theme. You will need to keep an eye on whether your theme's demo generates on the Hugo website, whenever there is a new release. We are a very small team and we just cannot keep up opening issues in the various theme repositories to notify authors. Whenever a theme demo breaks and remains broken then at some point it will be removed from the list without prior warning. If you no longer wish to maintain a theme please let us know.
New themes will usually be promoted on Hugo's official Twitter account. If you would like to be mentioned in the tweet please add your Twitter username to this submission.
Twitter Username: static_mania
Feel free to ask questions. We're glad to help.

@digitalcraftsman
Can you just review the theme?

Hello @kausarpial.
thank you for sharing this theme with the Hugo community :+1: Excuse the delay for the review of open theme submissions.
Your theme uses Hugo's asset pipeline (features like toCSS and PostCSS) that's integrated in the extended version of Hugo. The final stylesheets will be saved in folder called /ressources. To make this theme available to as many Hugo users as possible please commit this folder so that users of the regular Hugo version (that excludes the asset pipeline) can use the roxo theme too.
The exampleSite content for projects, blog entries etc. uses stock images. Are those images free to use?
All theme demos will be hosted in a subdirectory such as www.example.com/demo/xxx. For this reason the Submit Query and Not convinced buttons in the "LET’S WORK TOGETHER" on the homepage are not working as expected. Submit Query for example will link to www.example.com/contact instead of wwwe.example.com/demo/xxx/contact. The url for the buttons are handled by absURL. By design, absURL makes urls relative to the root directory (e.g. www.example.com) if the url starts with a /. To fix the urls please remove the leading slashes.
Due to the same circumstances the Home-button in the main menu will link to www.example.com instead of www.example.com/demo/xxx. To fix this please link the homepage with an empty string.

Hi @digitalcraftsman
Should I add the resources folder in exampleSite folder?

Yes. This way the regular version of Hugo is able to work with the generated assets just fine.

Hey @digitalcraftsman.
Sorry for the late.
Should I also change the footer link params  and menu params too?

Updated the given requirement.
Can you please check that now? @digitalcraftsman

Hello Kausar,
thank you for fixing the above issues. I've checked again the latest version of your theme and found two minor issues:

please remove all .DS_Store files spread across the repository. To avoid their addition in the future you might want to add them to .gitignore
the "Get in touch"-button menu in the menu isn't working when the website is hosted in  a subdirectory. As done with the other menu items apply the absURL here as well

Hey @digitalcraftsman ,
Updated the latest changes.

Your theme should appear soon on Hugo's theme site and will be promoted soon on our official Twitter account.

Thanks, @digitalcraftsman
My eye will be on the twitter account. :)

We've featured multiple new themes on Twitter today. By scheduling each tweet a couple of hours apart we want to avoid spamming the timeline of our followers. Your theme will appear in approx. two hours. No need to F5 repeatedly 😉

haha 😆
Ok @digitalcraftsman


net: ipv6: Add APIs to check ipv6 address is link local and global

@sandip-dalvi please review https://docs.zephyrproject.org/latest/contribute/guidelines.html#commit-message-guidelines for guidance on your commit message.

The commit message needs some body.

Updated

@sandip-dalvi could you rebase the PR against latest upstream and force push, there is some weird CI issue that hopefully solves it

@sandip-dalvi could you rebase the PR against latest upstream and force push, there is some weird CI issue that hopefully solves it

It is done


updated function "RescaleDataRange" to be compatible with the new ColorA...

...rrayName instead of old ColorAttributeType

why does no one care?

A fix is being testing here: https://gitlab.kitware.com/paraview/paraview/merge_requests/443

This fix has been merged.


fixup! drivers: sdhc: add support of Renesas MMC driver

Changed preprocesor if to ifdef for CONFIG_RCAR_MMC_SCC_SUPPORT option, because the first one approach breaks Zephyr MISRA rules:
"Rule 20.9 All identifiers used in the controlling expression of
#if or #elif preprocessing directives shall be #defined before
evaluation"

the commit has been already moved to pull https://github.com/xen-troops/zephyr/pull/43
so, I am closing this one


Update hidapi to 0.1.7

Hi 👋
Thanks for this amazing project, it really fun and can't wait to play with it more! :)
I fixed the MacOs build of haskell-hidapi yesterday in https://github.com/chpatrick/haskell-hidapi/pull/12 and they released 0.1.7 containing the fix.
This PR updates the library here so other macos users get to enjoy it :)

Thank you very much! :)


tea: 0.7.0 -> 0.7.1

Motivation for this change
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 via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.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.

You might want to add the email you have used to commit to GitHub. seems like GitHub wasn't able to associate the commit with your GitHub account.

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

1 package built:

tea


fatbin: get fatbin tests to pass outside of grail

Get the fatbin tests to run outside of GRAIL. I presume that bazel is configured to build fatbin binaries for these tests. Of course, outside of bazel/GRAIL, that external environment is not met. This PR changes things. It also seems that, despite words to the contrary, it's not possible to use go build directly on linux systems. This appears to be because fatbin.Self() always assumes that it's a fatbin binary, again, I suspect that's a bazel assumption inside of GRAIL. I will address that in a followup PR, but for now, this lays the foundation for that.

The fatbin tests are not meant to assume this; I can get it to work locally with both linux/amd64 and darwin/amd64 on both go1.12.x and go.1.13.x (just using go test).
Also fatbin.Self() is not meant to assume that the binary is built with fatbin: it would simply return an offset that's at the end of the file, and thus no additional binaries.
What is the error you're seeing?

Also fatbin.Self() is not meant to assume that the binary is built with fatbin: it would simply return an offset that's at the end of the file, and thus no additional binaries.

This is a roundabout way of saying that perhaps there is a bug elsewhere; that fatbin does not always correctly find the end of the binary. We could make this more robust by changing the fatbin format to store some magic and an offset at the very end of the binary, so that we are not so dependent on the specifics of the host binary format.
What's the go version and GOOS/GOARCH you're running into issues?

ubuntu 18, amd64.
$ go version
go version go1.13.1 linux/amd64
I first saw the error when running bigslice, which confused me for a while since I was reading a gzip file in my app, but it turns out that the error was coming from bigmachine itself.
I don't think there's any guarantee that the file size + offset are the same, and yes, this all does hint at some externality changing. If you're not using bazel to build fat binaries for these tests, then I agree that the offset is the problem. My fix is just a hack really. Probably the best approach is to write a custom elf section for the fat binary if that's possible.
$ go test -v
=== RUN   TestFatbin
--- FAIL: TestFatbin (0.00s)
fatbin_test.go:28: zip: not a valid zip file
=== RUN   TestFatbinNonExist
--- FAIL: TestFatbinNonExist (0.00s)
fatbin_test.go:47: zip: not a valid zip file
=== RUN   TestSniff
--- FAIL: TestSniff (0.00s)
fatbin_test.go:86: got 2666560, want 2670592
=== RUN   TestLinuxElf

I have an idea for a much more robust layout. I’ll send out a change on Monday.

Thinking something like #9: @cosnicolaou let me know what you think.

This was pushed as 71f2ad7


Needs Selenium WebDriver and Appium tests

NoCode needs a test suite. I would like to volunteer to write both Selenium WebDriver + Java tests for the web app, and Appium + Java for the mobile app.
We also need a suite of cross browser tests for Chrome, Firefox, Safari for the Mac, Mobile Chrome, Mobile Firefox, Mobile Safari, MS Edge, IE 11, IE 10, IE 9, IE 8, IE 7, Netscape Navigator, and AOL's version of Internet Explorer.
-T.J. Maher
tjmaher.com

Please write and submit a pull request for this change so I can document and learn from it thank you

Seconded — without a full test suite, we can't really be sure this app does nothing, it may do something in some scenarios, which would be worse than nothing.


Fungal Pathogen Genomics Course news item

Registration for the Fungal Pathogen Genomics Course 2019 (see pombelist post for detail)

drat, forgot to use automagic close. done, anyway.

The news item is now on the main site.


urls feature not working

generator = Craiyon() # Instantiates the api wrapper
result = generator.generate("Photorealistic image of shrek eating earth")
print(result.images) # Prints a list of the Direct Image URLs hosted on https://img.craiyon.com
for url in result.images:
print(url)
when i run the code i get this error ;
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\models.py", line 971, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\json_init_.py", line 346, in loads
return _default_decoder.decode(s)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "e:\FILES\Documents\Python projects\ELLIOT-BOT\gen 2\advanced_AI.py", line 153, in
result = generator.generate("Photorealistic image of shrek eating earth")
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\craiyon\craiyon.py", line 48, in generate
resp = resp.json()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\models.py", line 975, in json
raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
i dont know here is the prob here

Hey There!
This is due to Craiyon enabling Cloudflare's "I am under attack" mode that verifies if the request is a genuine browser one. We did try to fix it in the latest update using cloudscraper (atleast for the synchronous calls)
Try running pip install -U craiyon.py to update the wrapper to the latest version and try again.
Do let me know if it doesn't work. If it continues to behave this way, I might probably end up either using headless-selenium browser or PySide2's rich html browser widget to get a workaround this.
CC: #17

pip install -U craiyon.py

Unfortunately nothing has changed

Same

Also having problems under 1.1.0 for both sync and async calls.

Yup, I'm still having this issue as of 2023/09/18. Not sure how to deal with it at the moment, tried just about everything I could think of. "requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)"

not working on Colab too
JSONDecodeError                           Traceback (most recent call last)
/usr/local/lib/python3.10/dist-packages/requests/models.py in json(self, **kwargs)
973             # Catch JSON-related errors and raise as requests.JSONDecodeError
974             # This aliases json.JSONDecodeError and simplejson.JSONDecodeError
--> 975             raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
976
977     @property
JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Thanks for the reminder. I'll try to find a workaround this and push the changes.

Refer to this comment regarding more details: https://github.com/FireHead90544/craiyon.py/issues/19#issuecomment-1906038250
TL;DR: Removed the cloudscraper dependency and switched to using headers. v3 works normally, v1 sometimes fails. If you're using the v3 model, it should it work now.
Make sure to update the wrapper by running: pip install -U craiyon.py
Reopen the issue if this issue still persists.

Just recently got the time to test it out again for myself. I ran 'pip install -U craiyon.py', so it's updated. Unfortunately, this still seems to be a problem. The error of 'json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)' still persists. I'm unable to get something as simple as the following to work:
from craiyon import Craiyon
generator = Craiyon()
result = generator.generate("Photorealistic image of shrek eating earth", negative_prompt="spoon", model_type="art")
print(result.description)
result.save_images()
This, of course, is just one of the examples given in the Craiyon API documentation on how to use it. Any fix would be appreciated!

Any updates?


:seedling: remove dhellmann from owners

I can't commit to being an approver in this repo, so I am removing myself.

/test-integration


Fix SSO to work without cookies

Accessing public APIs/tables fails (on Cordova/Android) if the following is performed: Login -> Logout -> Access public APIs/tables.
This is because of cookies returned by EA, which can be fixed by requesting only token while performing a login
However, without cookies, SSO stops working. Need to figure out the root cause and fix it appropriately.
Need other miscellaneous fixes in the SSO code path.

Commit f8469065199e6314e4c85c8f1699ee87ea32cd2b closes #52


jQuery method chaining broken

I'm using jQuery and I find frustrating that $('selector').flatpickr(flatpickr_config) does break the jQuery method chaining pattern.
Do you plan to align to this pattern?

Hello,
$('selector').flatpickr(flatpickr_config) returns an array of flatpickr instances, which would be impossible if flatpickr adhered to the chaining pattern.


Version 1.0.5 is not available

I've tried adding 1.0.5 as a dependency but my gradle was unable to resolve it so used 1.0.4

Using 1.0.6


Proposal

Describe the proposal
If you're using Kubernetes, you may add Dapr to your cluster to get the most out of it: https://docs.dapr.io/operations/hosting/kubernetes/kubernetes-overview/
The helm chart is what I use.
If you wish to use dapr in your Docker image for any reason, you must first download and install it in your runtime environment (e.g.: run wget or curl, and extract it)

spam.


Evaluate with the trained model block a long time and don't print any result

I use sh scripts/eval_with_trained_model_dist.sh  evaluate with the trained model.
but it block here for a long time（about 14hours now）, as show below and don't print any result even nothing in /models/kitti/pob/inference/kitti_val_pob/predictions

I use 2 GPUs and there is one gpu run as 100% and GPU memory use 7541MB. While another gpu is both 0.

Is the process do iterations now and I should wait? or there is any problems?
Thank you!

Try to use a single GPU and set num_workers to 0.


DiaperDriveParticipant needs CRUD for management

The DiaperDriveParticipant model was created in #89 but does not have any management features (other than via rails c-fu)
Basic CRUD features should be added (maybe not "destroy"?) similar to the other community partner models. A menu item under "Community" would be a good place to put a link for it.
Model has validations already -- pretty much just the UI and Controllers needs to be created.

Fixed by #100


Revealed trigger giving errors on Craft CMS V4

We just recently upgraded our Craft version to 4 but before that, the s-trigger="revealed" was working perfectly and smoothly.
After the update, every time the element is triggered, it won't load anymore and there is a recurring error message:

The first revealed trigger works fine, most of our elements are triggered with revealed but when we use it as a load more function when an element is revealed, that is when it gives us errors.
We tried to change the reveal element to a "load more" button instead and it worked properly.
We are just wondering if this is caused by the CMS upgrade?

Updating Craft would have required updating Sprig, which would require a more recent version of htmx. Can you ensure that you're running the latest version 2.5.0 of Sprig and that it is including version 1.8.5 of htmx (you'll find this in the HTML source code).
Also, the docs on hx-trigger may be helpful: https://htmx.org/attributes/hx-trigger/


Custom validation failed for node: image - Invalid image file

Hello,
I am working on image generation task using Replicate's elixir code for API call. Since I cannot send locally stored image as a request to Replicate API. I have updated the comfyUI workflow json and replaced local image path with hosted image's path url and below is the error I am getting:
I am new with the comfyUI and may be I have used an incorrect node.
Checking inputs
Downloading https://replicate.delivery/pbxt/KFkSv1oX0v3e7GnOrmzULGqCA8222pC6FI2EKcfuCZWxvHN3/newton_0.jpg to /tmp/inputs/newton_0.jpg
✅ /tmp/inputs/newton_0.jpg
Checking weights
Including weights for IPAdapter preset: STANDARD (medium strength)
⏳ Downloading CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors to ComfyUI/models/clip_vision
✅ CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors downloaded to ComfyUI/models/clip_vision in 1.82s, size: 2411.24MB
⏳ Downloading ProteusV0.4.safetensors to ComfyUI/models/checkpoints
✅ ProteusV0.4.safetensors downloaded to ComfyUI/models/checkpoints in 4.87s, size: 6617.77MB
⏳ Downloading ip-adapter_sd15.safetensors to ComfyUI/models/ipadapter
✅ ip-adapter_sd15.safetensors downloaded to ComfyUI/models/ipadapter in 0.22s, size: 42.57MB
⏳ Downloading ip-adapter_sdxl_vit-h.safetensors to ComfyUI/models/ipadapter
✅ ip-adapter_sdxl_vit-h.safetensors downloaded to ComfyUI/models/ipadapter in 0.69s, size: 666.04MB
Randomising seed to 34061991
Running workflow
got prompt
Failed to validate prompt for output 9:

LoadImage 16:

Custom validation failed for node: image - Invalid image file: https://replicate.delivery/pbxt/KFkSv1oX0v3e7GnOrmzULGqCA8222pC6FI2EKcfuCZWxvHN3/newton_0.jpg
Output will be ignored
invalid prompt: {'type': 'prompt_outputs_failed_validation', 'message': 'Prompt outputs failed validation', 'details': '', 'extra_info': {}}
ComfyUI error: 400 Bad Request
Traceback (most recent call last):
File "/root/.pyenv/versions/3.10.6/lib/python3.10/site-packages/cog/server/worker.py", line 221, in _predict
result = predict(**payload)
File "/src/predict.py", line 115, in predict
self.comfyUI.run_workflow(wf)
File "/src/comfyui.py", line 240, in run_workflow
prompt_id = self.queue_prompt(workflow)
File "/src/comfyui.py", line 178, in queue_prompt
raise Exception(
Exception: ComfyUI Error – Your workflow could not be run. This usually happens if you’re trying to use an unsupported node. Check the logs for 'KeyError: ' details, and go to https://github.com/fofr/cog-comfyui to see the list of supported custom nodes.

Please can you share a link to your prediction so I can debug

I ran this into replicate playground https://replicate.com/fofr/any-comfyui-workflow?prediction=09kzy7ndqhrgp0cgm5gvresysg

Thank you, I've found the bug.
Partial fix here, but I'm going to do a more airtight one shortly:
https://github.com/fofr/cog-comfyui/commit/b1547d48724a5f127799981496839530d07b840b

@fofr , Thank you for the efforts. I now understood the issue, earlier code didn't supported workflow with duplicate urls. When I tried executing with different urls, it worked and moving forward it can also support duplicate urls.


Using "var" as the second argument inside "some" will result incorrect outcome

Environment

Nuget Package: JsonLogic.Net, 1.1.11
Nuget Version: 6.1.0
OS: WSL
.Net Target: net6.0

Describe the bug
Looks like if you using "var" for a second argument inside of "some" it's returning wrong result. For instance from the attached screenshots from the nice Jsonlogic playground:

To Reproduce
(please refer to the screenshots, I've been using the latest library and the playground should be doing the same)
Expected behavior
The first "in" operator case should return "True", as 1 shall be found in [1] during the iteration; then the "greater than" case shall return "False".
Additional context
Is it anything like I am using it wrong?

Thanks for reporting, @wangh-trimble.  For ease of access (and copy/paste) can you list those JSON values in code blocks in the issue, please?
I think (but I'm not sure) this may be related to a similar var issue discussed in #183, specifically this comment.

Thank you @gregsdennis for the quick reply! Sure, here is the one piece JSON test code, the same if you just use ">" operator:
Rule:
{
    "some" : [
        { "var":"x"},
        {
            "in": [ {"var":""}, {"var":"y"} ]
        }
    ]
}

Data:
{
    "x": [-1, 0, 1],
    "y": [2, 3, 1]
}

I will also take a look at the comment you pointed out.

Also here is a local debug screenshot with the given test JSON data mentioned upstairs :)

Is {"var":""} correct? This would definitely return null, which may be your problem.

Is {"var":""} correct? This would definitely return null, which may be your problem.

That doesn't seem right to me.  An empty string and a null are two different things.

@gregsdennis Any updates? Or anything unclear about this question?
We are evaluating whether this library can be used in our production, so, sorry for making it sound a bit pushing.

Digged a bit deeper, if you write a test case in https://github.com/gregsdennis/json-everything/blob/master/JsonLogic.Tests/SomeTests.cs
[Test]
    public void SomeInTest()
    {
        var rule = new SomeRule(new VariableRule("x"),
            new InRule(new VariableRule(""), new VariableRule("y")));

        var data = JsonDocument.Parse("{ \"x\": [-1, 0, 1], \"y\": [2, 3, 1] }").RootElement;
        JsonAssert.IsTrue(rule.Apply(data));
    }

and run, then you will get error:
Json.Logic.Tests.SomeTests.SomeInRule:
    Outcome: Failed
    Error Message:
    Json.Logic.JsonLogicException : Cannot apply in to Number and Null.

which is caused from this line: https://github.com/gregsdennis/json-everything/blob/1c9e3f903e09fc65968f151879fe7eb0d2e0566c/JsonLogic/Rules/SomeRule.cs#L27
As you can see, it is replacing the original data with iteration item, which is causing the _source (VariableRule) work incorrectly in InRule. For a quick fix we tried, if you change it into:
return inputData.Select(value =>
            {
                if (_rule is InRule)
                {
                    return _rule.Apply(value, data);
                }

                return _rule.Apply(value);
            })

And add an overload method like this to https://github.com/gregsdennis/json-everything/blob/master/JsonLogic/Rule.cs
    public virtual JsonElement Apply(JsonElement item, JsonElement data)
    {
        throw new NotImplementedException();
    }

Then the implementation in https://github.com/gregsdennis/json-everything/blob/master/JsonLogic/Rules/InRule.cs
public override JsonElement Apply(JsonElement item, JsonElement data)
    {
        var test = _test.Apply(item);
        var source = _source.Apply(data);

        if (source.ValueKind == JsonValueKind.String)
        {
            var stringTest = test.Stringify();
            var stringSource = source.GetString();

            if (stringTest == null || stringSource == null)
                throw new JsonLogicException($"Cannot check string for {test.ValueKind}.");

            return (!string.IsNullOrEmpty(stringTest) && stringSource.Contains(stringTest)).AsJsonElement();
        }

        if (source.ValueKind == JsonValueKind.Array)
        {
            var items = source.EnumerateArray();
            return items.Any(i => i.IsEquivalentTo(test)).AsJsonElement();
        }

        throw new JsonLogicException($"Cannot apply `in` to {test.ValueKind} and {source.ValueKind}.");
    }

Nope, that's not it.  Pointers are handled right.
If I added this
public virtual JsonElement Apply(JsonElement item, JsonElement data)

I'd have to implement it in everything.  I'm not sure that's necessary.
I'm trying to wrap my head around what this logic is doing.
{"some":[
  {"var":"x"},
  {"in":[
    {"var":""},
    {"var":"y"}
  ]}
]}

{"x":[-1, 0, 1],"y":[2, 3, 1]}

The some looks like it's taking [-1, 0, 1] and running each element through the in.
What is the {"var": ""} doing?  Seems to me like it would get the entire data (which is actually what the docs say).  Is the JS implementation using the value passed from some as the data for the first argument?  Is that documented anywhere?
OH!  It is!

It can be useful to use {"var":""} to get the entire array element within the test.

Ew!  How is it supposed to distinguish between that and
{"in":[
  {"var":"x"},
  {"var":"y"}
]}

{"x":-1,"y":[2, 3, 1]}

Their playground manages this.  What?!  I'm so confused.  I need some time to play with this.

It looks like all, none, and some are the only ones that support passing that special context data, but literally any operator can be nested inside of it.
My question is how does the nested rule know which data (passed data or external data) to use?  Does this only work for an empty string in the var?  What if I actually want the full external data instead of the passed data?

Re-reading the "spec" requirements on https://jsonlogic.com/operations.html#all-none-and-some, it looks like the interpretation in the opening comment isn't quite right.  This library needs to mimic the original library, and for these cases, it doesn't.  I'll need to revert this.


Add more detailed data structure information

Off the top of my head:

Are Empty subtrees trees allowed everywhere? Nowhere? Some places but not others?
Exactly how is the bitmap represented? That seems relatively tricky, and particularly important for improving the test suite.
What is the endianness of hash consumption?

Are Empty subtrees trees allowed everywhere? Nowhere? Some places but not others?

They are allowed everywhere but as an optimization they should only appear in an empty map. The point of BitmapIndexed is to avoid having to store pointers to Empty in the tree. It would be possible to refactor the data structure to
data HashMap k v = Empty | Tree k v
data Tree k v = ...  -- the rest

I don't know if that's a win or not. One related thing I've considered is to have
data HashMap k v = Empty | Root k v
data Root k v = Root !Size !(Tree k v)
data Tree k v = ...

if we ever wanted to stored the size (for O(1) lookup). Function like insert would have to return the diff in size and update the root.

Exactly how is the bitmap represented? That seems relatively tricky, and particularly important for improving the test suite.

Just like the HAMT data structure presented in the original paper: the N bits of the bitmap represent the N-subtrees that are present. The array only contains the present subtrees with no empty trees in-between. We use popcount to go between the logical and compact indices.

What is the endianness of hash consumption?

Are you asking which end of the hash we use first when indexing or are you asking how hashable hashes various machine word-sized types?

On Jun 26, 2017 11:56 PM, "Johan Tibell"<EMAIL_ADDRESS>wrote:
Are Empty subtrees trees allowed everywhere? Nowhere? Some places but not
others?
They are allowed everywhere but as an optimization they should only appear
in an empty map. The point of BitmapIndexed is to avoid having to store
pointers to Empty in the tree.
Well, if they're not supposed to be in non-empty maps, that can be part of
a validity check.
It would be possible to refactor the data structure to
data HashMap k v = Empty | Tree k vdata Tree k v = ...  -- the rest
I don't know if that's a win or not.
Well, it adds an indirection, which would matter if you have a container of
maps. I really wish the newtype optimization were available for GADTs under
special circumstances; such circumstances apply here and would make this
free.
One related thing I've considered is to have
data HashMap k v = Empty | Root k vdata Root k v = Root !Size !(Tree k
v)data Tree k v = ...
if we ever wanted to stored the size (for O(1) lookup). Function like insert
would have to return the diff in size and update the root.
I don't see how that will work for unions or intersections.
Exactly how is the bitmap represented? That seems relatively tricky, and
particularly important for improving the test suite.
Just like the HAMT data structure presented in the original paper: the N
bits of the bitmap represent the N-subtrees that are present. The array
only contains the present subtrees with no empty trees in-between. We use
popcount to go between the logical and compact indices.
So the popcount of the bitmap must equal the size of the array? That sounds
like another good fact for generating test cases and checking validity.
Given a logical index, we mask off all but that many bits of the bitmap and
popcount to get the compact index? Given a compact index, I don't see a
particularly nice way to get the logical index; does that use a binary
search, or is it just never necessary?
What is the endianness of hash consumption?
Are you asking which end of the hash we use first when indexing or are you
asking how hashable hashes various machine word-sized types?
I meant which end of the hash is used first, but I guess the Hashable
question must interact with that for performance.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tibbe/unordered-containers/issues/161#issuecomment-311246147,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABzi_ZBJH_HQHyFzZpq44P1Y6D-lRj7eks5sIH14gaJpZM4OFmPM
.

Well, if they're not supposed to be in non-empty maps, that can be part of
a validity check.

Sure. Perhaps add a macro-like check like we have for other things. You might have to add it to every function that mutates the map however. Or perhaps use smart constructors that validate the invariants.

I don't see how that will work for unions or intersections.

I haven't thought it through. Perhaps we'd just recompute the size from scratch while doing the union. Each recursive call to union could return the subtree size.

I meant which end of the hash is used first, but I guess the Hashable
question must interact with that for performance.

It uses the low order bits first. See D.HM.Base.index. Either could work, it depends on which side you expect to be better behaved. For example, if you were storing pointer and the Hashable instance for those was identity then you'd expect the lowest three bits to be zero on 64-bit platforms due to alignment.

On Tue, Jun 27, 2017 at 8:49 PM, Johan Tibell<EMAIL_ADDRESS>wrote:

Well, if they're not supposed to be in non-empty maps, that can be part of
a validity check.
Sure. Perhaps add a macro-like check like we have for other things. You
might have to add it to every function that mutates the map however. Or
perhaps use smart constructors that validate the invariants.

I just meant that the test suite can say valid result .&&. .... in each
test.

I don't see how that will work for unions or intersections.
I haven't thought it through. Perhaps we'd just recompute the size from
scratch while doing the union. Each recursive call to union could return
the subtree size.

Can't unions skip all the processing of subtrees that are only found in one
of the maps? Descending them all just to count could be pricy.

I meant which end of the hash is used first, but I guess the Hashable
question must interact with that for performance.
It uses the low order bits first. See D.HM.Base.index. Either could work,
it depends on which side you expect to be better behaved. For example, if
you were storing pointer and the Hashable instance for those was identity
then you'd expect the lowest three bits to be zero on 64-bit platforms due
to alignment.

I'd expect the pointer hash to rotate three bits to the right.

Can't unions skip all the processing of subtrees that are only found in one
of the maps? Descending them all just to count could be pricy.

Possibly. As I said I haven't thought this through fully.

I'd expect the pointer hash to rotate three bits to the right.

Yes that's a common approach (or xor high and low bits).

Are Empty subtrees trees allowed everywhere? Nowhere? Some places but not others?

They are allowed everywhere but as an optimization they should only appear in an empty map. The point of BitmapIndexed is to avoid having to store pointers to Empty in the tree.

Based on https://github.com/haskell-unordered-containers/unordered-containers/issues/154#issuecomment-657648901, it seems that the Eq instance relies on Empty only existing at the top-level, not as a subtree.

Correct. Empty only for the whole tree.

For reference, there was some discussion of invariants in https://github.com/haskell-unordered-containers/unordered-containers/pull/282#discussion_r453606996.
IMHO it's very important that these invariants are documented (ideally in the code), and also tested.

#444 has made some progress on documenting and checking the invariants.
Better documentation in proper prose and with examples is still needed though.


AMP-46796 Added a GitHub workflow to run Android tests

@justin-fiedler  I've added output (https://stackoverflow.com/questions/3963708/gradle-how-to-display-test-results-in-the-console-in-real-time). There are duplicate outputs for debug/release configurations - I think, it's not a significant issue in our case (a few tests)


[DOCS] Addition of Pull Request Template

Description
Addition of Pull Request Template to improve clarity and to make it easier for new contributors.
Please assign this issue to me under GSSoC'23 @J0SAL
Screenshots
No response
Additional information
No response

go ahead! 🚀


Add connection via Bot-Account

This is just great, but one thing I'm missing.
I'm using a custom Bot-Account for my other bots and it would be nice, if I could connect this Plugin to it, too, instead of connecting it with my Stream-Account.

Thanks for the idea @Develeon64! I would benefit from this as well. Currently, we're opening a browser to authenticate for joining chat and use those same credentials for sending messages.
@parithon perhaps we should have the authentication process be used only for listening/sending/whispering and have a separate channel settings. So people can enter a channel name in the settings and we'll join that channel as the authenticated account.
@all-contributors please add @Develeon64 for ideas.

@MichaelJolley I'm not following your suggestion, sorry.
As for allowing people to login with another account other than their broadcast account, there is an optional URL parameter that forces a user to reverify their login: force_verify. The big downside? VSCode opens the URL in the default browser and if you're already logged into your broadcaster account and choose to 'switch' accounts, then you'll be logged out of Twitch first before logging back in requiring you to re-log once more to use your primary account.

We're now using an auth provider extension to control logging in to Twitch. Unfortunately, this means the account you authenticate as must be the streamers account.
We can still implement this, but we'll need to add a setting of "what channel to join?" Then we could default joining the logged in user unless that setting is provided.
I'm in a similar situation. I currently authenticate as BaldBeardedBuilder, but it would be nice to authenticate as B3_Bot, but then specify it should join the BaldBeardedBuilder channel.

Thanks for this feature request @Develeon64. Now that I'm back at it, it was a pretty small lift. By default, the extension will join the channel you are authenticated with (in this case your bot.) However, there is a new setting that allows you to enter the name of the channel the extension should be listening to. Enjoy!


Add toggle to snap without erasing regions

Toolbar button that when checked prevents phrases from being cleared on new snap.
Also will require a MarkItems() to be added after the OCR step.

Big question: How would we handle this for different size snaps?
First thought is that any PRect that falls off the screen (all points entirely outside the Image) we delete. This is lossy however and could be upsetting to a user who's made a minor error, which leads to point two
We should have a system for storing PRect sets, like with a little dropdown on the toolbar where you can type a name and hit enter to save a PRect set, and then it'll always be reloaded when you do a snap until you clear it. These sets get saved in a xml file or something in the folder (I don't think this is appropriate for the data format of Settings but maybe?)


Add attribute to control spacing/gap between dashes.

Hi. Thank you for the package. Could you possibly add an attribute to control the spacing/gap between dashes? For example, something like dashGapLength or dashSpacing? Here is what example code would look like:
Container(
  decoration: BoxDecoration(
    border: DashedBorder.all(dashLength: 16.0, dashGapLength: 8.0), // Or "dashSpacing".
    borderRadius: BorderRadius.circular(8.0),
  )
);

Hi, we’ve reviewed your request and included it in the next release. You can track the progress here. However, you should keep in mind that if the spacing and length values you provided aren't exactly divisible by the shape's perimeter, the values will be rounded to the nearest appropriate number. This package does this to ensure that all corners appear with equal length and maintain a consistent, orderly appearance.

@adifyr  You can use v0.0.7 on pub.dev


Use a colormap instead of a red-to-blue ramp

Maybe something like the brg cmap here?
http://matplotlib.org/examples/color/colormaps_reference.html

Or allow the user to select the colormap in the control panel

Is this issue still relevant after #176?

I think this is still relevant: this is about the colors of the lines of tract profiles, when we sort on some property. Currently done with a linear ramp from blue to red, but that might not always be the best way to do it.

But no hurry to address this one either.

Got it. Now I remember. I'll leave it open then.


Specify the file output type

Hello
I want the output of the file I record to be mp3
But the output file is streamed

I need to set the type of output file as mp3. same here

Is there an update on this? I'm looking for a way to specify the output file for both android and ios to be .mp3?


Popover / twipsy on disabled button doesn't show

Hi, I wish to use popover on a disabled button (to inform the user why it is disabled) but popover doesn't show .
Is there a way to show the popover on a button with attribute disabled=disabled ?
Thank you

Can you provide an example on jsfiddle.com?

http://jsfiddle.net/xYtCR/2/
simply remove disabled=disabled and you'll show popover

as a quickfix i've move the submit into a div and applied the popover to the div ...

Disabled doesn't fire events, so yes, it won't show. if you want just the disabled "look" - just add the disabled class without the element.


Fix typo, and fix MEV-Boost issues

fixed MEV-Boost issues and typos in the warning messages

this needs a quick review desperately, if its good then we need to publish ASAP we have 3 big issues with teku mainnet right now and fixes are all merged except this one currently and it's a BIG issue causing lots of issues for MEV-Boost users, its simply configured wrong.  Copying this PR to all Teku Clients

The --validators-proposer-blinded-blocks-enabled flag is unnecessary as stated in https://docs.teku.consensys.net/Reference/CLI/CLI-Syntax

Closed by https://github.com/dappnode/DAppNodePackage-teku/pull/49


Provide a new release

release candidate
The last release is from august 2020, is it time for a new release? Check the list of commits to get an impression about what has been changed. https://github.com/ffaker/ffaker/compare/v2.17.0...main
tasks

[ ] update CHANGELOG.md
[ ] build gem
[ ] install gem locally and check functionality at least in 2 ruby versions
[ ] provide it to rubygems
[ ] have a beer 🍻

any opinion @marocchino @Volosh1n thumbs up?

Sure. We had even small releases, but now there are plenty of changes since august. Let's do it


⚠ Processors has degraded performance

In 8fb6a48, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 82 ms

Resolved: Processors performance has improved in c380fcf.


[BUG] rich.print not prettifying types.MappingProxy

Read the docs
No search results related to MappingProxy.
Describe the bug
Despite types.MappingProxy being a view-only dictionary, it is not prettified like normal dict does.
To Reproduce
May have to adjust range to cause overflow in terminal depending how wide it is.
>>> from types import MappingProxyType
>>> from rich import print

>>> data = {f"{n}": n for n in range(11)}

>>> print(data)
{
    '0': 0,
    '1': 1,
    '2': 2,
    '3': 3,
    '4': 4,
    '5': 5,
    '6': 6,
    '7': 7,
    '8': 8,
    '9': 9,
    '10': 10
}

>>> print(MappingProxyType(data))
{'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9,
'10': 10}

Best visible in __dict__ of bulit-in like str, shown in this stackoverflow answer.
Platform
Likely platform-independent. Tested on xfce4 Terminal running in ubuntu inside WSL2 and Windows Terminal.
Diagnose
output from xfce4 terminal

Fixed in v10.2.0


GMIC

Reference Issues/PRs

What does this implement/fix? Explain your changes.
Any other comments?

Hello Adam,
We believe all comments here have been addressed here. Please see a breakdown of the key points:

"significantly richer init capabilities than the underlying GaussianMixture class in scikit-learn": currently, it only selects models based on covariance constraints and the number of components, the same as the GM model selection example in the library.
"orders of magnitude slower than GaussianMixture": using current GaussianMixtureIC to run the same task as in the example does not take more time. On my computer, both fitting procedures took around 1.3s.
"to configure continuous integration to run the tests, including a test to run the check_estimator function to make sure that the code stays compatible with future scikit-learn versions": all checks, including the tests related to check_estimator, have passed.
"joblib-based multi-threading": it is no longer in the code.
"regularization": also not included in the code anymore.

Hello Adam,
Thank you for your patience while we worked on addressing the feedback. We’ve been focused on adding the tied-diagonal covariance type to the GaussianMixture class. This option is supported in mclust but not in sklearn.GaussianMixture, which highlights some broader discrepancies between the two packages in their GMM implementations.
Here’s a brief summary of the key differences:
Covariance Types

sklearn.GaussianMixture:
Supports full, tied, diag, and spherical.
mclust:
Supports all four above (referred to as VVV, EEE, VVI, VII) and ten additional covariance types. A complete list is in Table 3 of this paper.

Initialization Schemes

sklearn.GaussianMixture:
Options include kmeans, k-means++, random, and random_from_data.
mclust:
Uses model-based hierarchical agglomerative clustering for initialization.

Model Selection

sklearn.GaussianMixture:
Lacks built-in automation. Users must implement their own model selection logic, as shown in this example.
mclust:
Automates model selection across n_components and covariance_type based on BIC values.

Our Proposal to Bridge the Gap

Enable automatic model selection across n_components and covariance_type.
Add support for additional covariance_type options, such as tied-diagonal (referred to as "EEI" in mclust).

We believe these enhancements will significantly improve the utility and feature parity of sklearn.GaussianMixture.
Thank you for your consideration, and we look forward to hearing your feedback!
Best regards,
Tingshan


Used Self for uniform style

just as you see!

😄, if you want your uniform style, update the new function for all types first?


Is it possible to implement Capitalize, Uppercase, and Lowercase words?

I am wondering would it be possible to transform words to capital, uppercase and lowercase?

You can use something like Keyboard Maestro for this and write a macro for it. Then call that macro from Karabiner.


Crash with latest 0.9 update

With this code:
fn daylight_cycle(mut atmosphere: AtmosphereMut<Nishita>) {
    atmosphere.sun_position = Vec3::new(1., 0.5, 0.);
}

This results in a crash with the following error:
thread 'main' panicked at /home/virx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_atmosphere-0.9.0/src/pipeline.rs:370:53:
prepare_changed_settings should have took care of making AtmosphereImage.array_value Some(TextureView)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Encountered a panic in system `bevy_atmosphere::pipeline::queue_atmosphere_bind_group`!

If I don't modify any settings then it doesn't crash.

@RobWalt could you take a look into it?

Sure, I'm back on monday 👍

I can't reproduce this. I added the following code to the nishita example to test the issue:
// ...

    App::new()
        .init_resource::<AtmosphereModel>() // <- new
        .add_plugins((DefaultPlugins, AtmospherePlugin, SpectatorPlugin))
        .add_systems(Startup, setup)
        .add_systems(Update, change_nishita)
        .add_systems(Update, daylight_cycle) // <- new
        .run();

// ...

fn daylight_cycle(mut atmosphere: AtmosphereMut<Nishita>, time: Res<Time>) {
    let (sin, cos) = (time.elapsed_seconds() * 0.1).sin_cos();
    let sun_position = Vec3::new(sin, cos, 0.0);
    atmosphere.sun_position = sun_position;
}

// ...

For me it works as expected, i.e. there's a day-night cycle.

I am closing this issue now. I still have no idea what caused this error but the issue appears to have resolved itself. I don't know why, I don't know how, but it's working now... gotta love software :)
Sorry for wasting your time haha

Glad for you it fixed itself. I guess that's the optimal scenario for us all: No need to fix something on either your or the code's side of things 😄  And don't worry about me wasting my time. I wouldn't do it if it wasn't a bit fun for me!

I had this crash too (in bevy_water ocean example), but then the problem went away.
Could it be caused by some caching/race condition?  If the shaders are cached by the graphic driver (not sure if this happens), then the second run might load faster?
2024-02-27T17:42:48.663008Z  INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "Linux 20.04 Ubuntu", kernel: "5.13.0-30-generic", cpu: "AMD Ryzen 9 5900HX with Radeon Graphics", core_count: "8", memory: "31.2 GiB" }
thread 'main' panicked at /home/robert/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_atmosphere-0.9.0/src/pipeline.rs:370:53:
prepare_changed_settings should have took care of making AtmosphereImage.array_value Some(TextureView)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Encountered a panic in system `bevy_atmosphere::pipeline::queue_atmosphere_bind_group`!

Probably has to do with the with what sets prepare_atmosphere_assets and queue_atmosphere_bind_group are in. In that case, this bug existed in previous version, it was just never encountered because of coincidences in scheduling.
My guess: PR authors saw prepare_..._assets and thought it was part of the PrepareAssets set, when it looks like it should be in PrepareResources and also saw queue_... and thought it should go in Queue, when it looks like it should be in PrepareBindGroups.
It used to be explicitly ExtractCommands > Prepare > Queue > PhaseSort > Render > Cleanup, but it has changed since then.
It is now:

ExtractCommands > ManageViews > Queue > PhaseSort > Prepare > Render > Cleanup
With ExtractCommands > PrepareAssets > Prepare
In Queue: prepare_assets::<Mesh> > QueueMeshes
In Prepare: PrepareResources > PrepareResourcesFlush > PrepareBindGroups

Essentially, Queue and PrepareAssets are now in parallel and so the systems are subject to a race condition like @Neopallium pondered.
Moving the systems to PrepareResources and PrepareBindGroups should fix this issue.

I discovered that when I build in release mode, this error happens much more often. I agree that it's probably a race condition. This happens on both my laptop and my desktop.

Ran into this as well in both release and debug mode

Wasn't able to repro on any bevy_water examples. Definitely seems like a race condition of some sort

I haven't gotten this issue since I recently updated to Bevy 0.13.1 - can anyone else confirm this?


packaging request: Memento Video Player

Memento
Memento is a FOSS, mpv-based video player for studying Japanese.
Metadata

homepage URL: https://github.com/ripose-jp/Memento
source URL: https://github.com/ripose-jp/Memento/find/master
license: gpl2
platforms: linux

wip at https://github.com/NixOS/nixpkgs/pull/230786


Logging fix and enhancement

Corrected issue where loglevel in mbusd.conf wasn't parsed correctly. Added support for logfile in mbusd.conf.  Enhanced validation for loglevel and logfile [added missing validation in cfg.c, fixed error message for loglevel > 2 in non-DEBUG mode, added checks for missing logfile name which was previously treated as STDOUT only).
Updated README and mbusd..conf.example to true-up with "-h" output and new logging options.

@3cky -- I noticed you made some recent changes.  And picked up some of my suggested edits but not all of them.  I merged in your upstream changes and then rebased my changes and added a couple more minor cleanups to sync the README and -h details.  Note that my code changes were mainly to shore up command line parsing -- I think one or two of the logging-related options didn't actually take effect previously, and invalid parameter values would sometimes crash the app or at least result in unexpected logging options occurring; with the fixes I'm proposing, the logging code is a good bit more robust.
Please consider pulling in this PR now that it should merge cleanly again.

Merged. Thanks @kpr0th !


Move execution_optimistic into the event data

The addition of execution_optimistic as an additional field isn't allowed by the event stream spec. It needs to be added into the data: content.

Correction: it's not entirely invalid to add a field like that, but it is specifically ignored which still means it needs to be moved into the actual content so it can be used.

👍🏻 totally agree


fixed a link to Docker Labs

@ManoMarks @johndmulhausen @mstanleyjones
Fixing link one more time.
Related issues
#1214 PR was messed up because of earlier rebases and docs release
Signed-off-by: Victoria Bialas<EMAIL_ADDRESS>

LGTM, merging


Fix variable usage

This commit fixes incorrect usage of variables being passed from the ci
script through to the docker build process. This addresses a concern
found on our internal CI system.
Signed-off-by: Kyle Mestery<EMAIL_ADDRESS>

@huikang Need this to fix the CI.

Merging this to unblock the CI system.


[SPARK-27216][CORE][BACKPORT-2.3] Upgrade RoaringBitmap to 0.7.45 to fix Kryo unsafe ser/dser issue

What changes were proposed in this pull request?
Back-port of #24264 to branch-2.3.
HighlyCompressedMapStatus uses RoaringBitmap to record the empty blocks. But RoaringBitmap couldn't be ser/deser with unsafe KryoSerializer.
It's a bug of RoaringBitmap-0.5.11 and fixed in latest version.
How was this patch tested?
Add a UT

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Test build #4686 has started for PR 24291 at commit 3efa0d6.

Test build #4686 has finished for PR 24291 at commit 3efa0d6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged to 2.3


Remove Record list parent field dropdown when no fields are matching the criteria

Description of the bug
When configuring a record list, should the parent field dropdown be disabled/removed where there are no fields matching the criteria
Reproduction steps

Enable inline editing for a record list where the module doesn’t have any record fields.
Notice the empty parent field dropdown

Expected behavior
TBD; IMO the dropdown can be disabled with a message explaining the state.
Screenshot/Video

Version
Branch: 2023.3.0-dev.5.1
Reporer: Tomaz (Test Fest)
Browser: Firexox

@kelanik8 , Before starting with this, make sure to discuss it again with Tomaz and Joze


Fix for operator FOR without body

Fix for operator FOR without body.
Example of C code:
for(p=1, lcv=2; lcv <= n; p=p*lcv, lcv++);

This change is

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

transpiler/branch.go, line 179 at r1 (raw file):

			// if body is exist
			if children[4] != nil {
				compound = *children[4].(*ast.CompoundStmt)

Are you dereferencing it for a reason?

transpiler/branch.go, line 230 at r1 (raw file):

			// if body is exist
			if children[4] != nil {
				compound = *children[4].(*ast.CompoundStmt)

Same thing here. Are you dereferencing because you need to take a shallow copy of it?

Comments from Reviewable

Review status: all files reviewed at latest revision, 2 unresolved discussions.

transpiler/branch.go, line 179 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Are you dereferencing it for a reason?

In case if operator FOR haven`t body and we have many increments elements.
We have to have any body for append increments elements.
The case operator FOR without body used in example: https://github.com/Konstantin8105/c2go-rating/blob/master/SingleCcode/factorial.c
Or you mean - Why we dont use  pointer : var compound &ast.CompoundStmt`?
Please clarify.

transpiler/branch.go, line 230 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Same thing here. Are you dereferencing because you need to take a shallow copy of it?

Same point.

Comments from Reviewable

Review status: all files reviewed at latest revision, 2 unresolved discussions.

transpiler/branch.go, line 179 at r1 (raw file):
Previously, Konstantin8105 (Konstantin) wrote…
In case if operator FOR haven`t body and we have many increments elements.
We have to have any body for append increments elements.
The case operator FOR without body used in example: https://github.com/Konstantin8105/c2go-rating/blob/master/SingleCcode/factorial.c
Or you mean - Why we dont use  pointer : var compound &ast.CompoundStmt`?
Please clarify.

Yes, I mean't "Why we dont use pointer :var compound &ast.CompoundStmt`?"

transpiler/branch.go, line 230 at r1 (raw file):
Previously, Konstantin8105 (Konstantin) wrote…
Same point.

Same question

Comments from Reviewable

Review status: all files reviewed at latest revision, 2 unresolved discussions.

transpiler/branch.go, line 179 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Yes, I mean't "Why we dont use pointer :var compound &ast.CompoundStmt`?"

Done.

transpiler/branch.go, line 230 at r1 (raw file):
Previously, elliotchance (Elliot Chance) wrote…
Same question

Done.

Comments from Reviewable

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Support for ruleset rules

Current Terraform and Cloudflare provider version
3.x
Description
Add support for ruleset rules
Use cases
With Cloudflare moving from Firewall rules to rulesets, the terraform code appears to only support the rulesets as a whole.  There is no support for managing rules within rulesets.  This would allow for a template of rules to be managed, deployed and maintained by terraform while still allowing for one off changes or additions to a ruleset.  With only having the ability to modify a ruleset through terraform and not individual ruleset rules as is available through the Cloudflare API (https://developers.cloudflare.com/api/operations/createZoneRulesetRule) this limits use in Terraform.
Potential Terraform configuration
...

References
No response

duplicate of #2423


Group statement when adding a floating IP not usable.

According to the documentation I should be able to use the following:
pacemaker::resource::ip { "<IP_ADDRESS>":
ip_address => "<IP_ADDRESS>",
group => "my_group",
}
Unfortunately, this does not work and returns the error below:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter group on Pacemaker::Resource::Ip[<IP_ADDRESS>]
When searching for a solution, I noticed the group_params variable.I tried using this variable as shown below:
pacemaker::resource::ip { "<IP_ADDRESS>":
ip_address => "<IP_ADDRESS>",
group_params => "my_group",
}
unfortunately using this variable, there is no error but the created floating IP's are not being grouped in the group my_group.
Please let me know what/if I am doing something wrong or this is a genuine issue.
Kind regards,
Christiaan Post.

You are correct that the first example no longer works, I think we missed updating the readme when we made that param change recently.  I think you may just not be looking at the right place for the group, I know when I just went to try this, I looked in the wrong place.  We used to be able to see the group in 'pcs resource show ', but now this only returns something like:
pcs resource show ip-test-<IP_ADDRESS>
 Resource: ip-test-<IP_ADDRESS> (class=ocf provider=heartbeat type=IPaddr2)
  Attributes: ip=<IP_ADDRESS> cidr_netmask=32
  Operations: start interval=0s timeout=20s (ip-test-<IP_ADDRESS>-start-timeout-20s)
              stop interval=0s timeout=20s (ip-test-<IP_ADDRESS>-stop-timeout-20s)
              monitor interval=10s timeout=20s (ip-test-<IP_ADDRESS>-monitor-interval-10s)

However, if I use the --groups option, I see:
[root@c1a2 ~(openstack_admin)]# pcs resource show ip-test-<IP_ADDRESS> --groups
my_group: ip-test2-<IP_ADDRESS> ip-test-<IP_ADDRESS>

Note also you may want to change the name of your resource above from being the IP.  When I tried this, I got an error saying the name could not start with a '1'.  Let me know if that helps your situation at all.

Hi,
I changed my configuration now to:
pacemaker::resource::ip { "<IP_ADDRESS>":
ip_address => "<IP_ADDRESS>",
group_params => "my_group",
}
When I run the following command, no group is displayed
[root@lb02]# pcs resource show ip-<IP_ADDRESS> --groups
[root@lb02]#
Also, if I create a group manually, I can see the the group and all resources with the pcs status command.
What I am afraid of, is that the group_params variable is not passed correctly to(i think) the pcmk_resource. If I edit the ip.pp file
define pacemaker::resource::ip(
$ensure             = 'present',
$ip_address         = undef,
$cidr_netmask       = '32',
$nic                = '',
$group_params       = 'my_group',
$post_success_sleep = 0,
$tries              = 1,
$try_sleep          = 0,
) {
I placed my group name in here _ $group_params       = 'my_group',_ and run puppet on the agent, still no group is created/shown when I use the pcs resource show ip-<IP_ADDRESS> --groups command.

Managed to get the group definition working, i was not working with a fresh agent install and thus group was not created.
Thank you jguiditta for your help.

You are welcome, I am glad the newer agent solved this for you (I was puzzled why you were getting different results than I was)


services: Add dropbox basic support

Hi @Xuanwo!
Since I needed to integrate with Dropbox, I've implemented a (basic) storager for this purpose.
It may be of interest for your project (a very promising one!).
Sadly it comes with no unit-tests, but the tests I have been able to perform so far have succeeded.
Any comments/suggestions are welcome.

Let's move id to Object struct instead of metadata. https://github.com/Xuanwo/storage/pull/55

@ccamel I'm trying to propose a new draft to address this issue, maybe we can ignore this meta or add a FIXME so that we can merge this PR?

Maybe we can store this value in ETag:

Entity tag uniquely representing the requested resource. They are a string of ASCII characters placed between double quotes, like "675af34563dc-tr34". The method by which ETag values are generated is not specified. Often, a hash of the content, a hash of the last modification timestamp, or just a revision number is used. For example, MDN uses a hexadecimal hash of the wiki article content.

ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag
So the different between content-md5 and etag is:

content-md5 can be used to compare between different services.
etag allow every service has their own implement and only comparable within the same service.

It's the implementer's duty to decide which one (or both) to store.
Any idea to that?


Add Tiron to this repo

As discussed in https://github.com/ironcalc/TironCalc/pull/3, I moved the contents to this repo and got it building in the Cargo Workspace. Once this lands, we can remove that repo.

Hi @ephraimkunz , closing this for now


Fix --eapreq sending null type in first request

set EAP type in first request
fixed eapreq example MSCHAPV2 request

Good fix. Thanks.

We are on the way to 6.1.4


escape names in formatter names

We used to allow . and / in formatter names but no longer.

This might be a regression in treefmt itself. What do you think @brianmcgee ?

I've created https://github.com/numtide/treefmt/issues/492 to follow up


ffmpeg

C:\Users\Komputor\Videos\autocutter\1>jumpcutter.py --input_file boi.mp4 --output_file boi2.mp4 --sounded_speed 1 --silent_speed 999999 --frame_margin 1
'ffmpeg' is not recognized as an internal or external command,
operable program or batch file.
'ffmpeg' is not recognized as an internal or external command,
operable program or batch file.
Traceback (most recent call last):
File "C:\Users\Komputor\Videos\autocutter\1\jumpcutter.py", line 108, in
sampleRate, audioData = wavfile.read(TEMP_FOLDER+"/audio.wav")
File "C:\Users\Komputor\AppData\Local\Programs\Python\Python37-32\lib\site-packages\scipy\io\wavfile.py", line 233, in read
fid = open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'TEMP/audio.wav'

I fixed it by re installing ffmpeg

If It's fixed you can close the issue 🤔

put a folder where ffmpeg is installed in the PATH variable
OR
just put ffmpg.exe and the other in the same folder ur in


Unable to use PackageValidator for non-packemon packages

Version: 3.x
The requirement for a Package to have a packemon configuration object inhibits the ability to use the validation utilities for non-packemon projects.
Previously, we would run all of the package.json files in a repository through the PackageValidate#validate method. Given that we only have some packages that are packemon enabled, this fails with the error:
Error: Invalid `packemon` configuration for <some-non-packemon-package>, must be an object or array of objects.

Appreciate any workarounds here for constructing the required Package object so that we can continue to leverage the validation utilities would be helpful.

@j3tan 👋
This should fix it: https://github.com/milesj/packemon/pull/178

@milesj thanks!


update license test by removing duplicate test file

What type of PR is this?
/kind cleanup
What this PR does / why we need it:

update license test by removing duplicate test file

windows and mac do see files with the same name but different caps all the same like LICENSE and license are the same file then the tests will fail for those platforms, skipping the tests if that run on mac/windows
/assign @puerco @xmudrii @Verolop
Which issue(s) this PR fixes:
None
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/lgtm

/test pull-bom-test

Yay, thanks !!
/lgtm

/hold cancel


setting clims forces colorbar with hat

When an image is plotted, with values that are not within the clims, the colorbar show a little hat on top/bottom.
However, when setting the clims to (None,None), the clims should be determined automatically and no hat should be shown:
Works
%%opts Image [colorbar=True]
tmp = np.random.rand(10,10)
tmp /= tmp.max()
hv.Image(tmp)

Works not
%%opts Image [colorbar=True] (clims=(None,None))
hv.Image(tmp)

Fixed in #1211.


Django and Postgres aren't communicating properly

Related issue: #361, #360
On production, Django seems to think that the state of the database is different from what it actually is. This causes Postgres not to update its tables when makemigrations or migrate are run. The result of this is usually a ton of Server Error: 500 on pages that involve tables that have been modified. This error happens locally (sometimes) too.
For now, it would probably be best to hold back from adding/removing fields in models.py since this is where changes to the database are made. If we do need to add/remove a field, we'll also need to update the schema (on UW servers) manually since Django isn't doing it automatically.
Since it looks like this might be a problem with Django, it might be worthwhile to try using a newer version, in case this bug has been addressed in a more recent update.

Hrmph. This is unfortunate. We likely need either a Django expert or a Docker expert (or both) to help us resolve this.
@aileenzeng, did you Google around at all for leads on this? Seems really weird tbh. We can, of course, try updating to a newer version of Django (locally first and then on makeabilitylab-test) to see if its fixed. I have a hunch, however, that it's not a Django problem (because creating new fields in models.py is a basic operation in Django--and any bug like this would have been super obvious and fixed immediately).

@jonfroehlich I did Google around -- it seems like other people that had similar issues were able to fix it using makemigrations or migrate (bummer). Jason and I also tried to reset the migration history (hopefully forcing Django to recreate the database), but that didn't quite work either. It might be worth giving another shot.
I found this link that might be helpful: https://simpleisbetterthancomplex.com/tutorial/2016/07/26/how-to-reset-migrations.html
I'll take a look at how the 0001_initial.py file (website > migrations) is getting updated, since I think this is the file that makemigrations is modifying.

From @mechanicjay (07/16/18):

From last weeks issues it seems that database migrations are still not
happening correctly when code is pushed to test and production sites.

I think changing the approach here could be beneficial.

It seems that there is a split among Django devs on how to handle
migrations when it comes to  dev/test/prod environments.   Some
recommend excluding the entire migrations directory from git (via
.gitignore) and letting Django do it's thing with the makemigrations and
migrate commands.  This is how we currently have things setup and its
apparent that this is NOT working.

The other camp says to generate the migration files with makemigrations
on dev and version control them, then on production you only ever run
the migrate command.

This IN THEORY might work better for the multi-stage environment we're
in.  The only caveat is that the dev's need to careful of merge
conflicts and that they don't step on on the different migration
files.    I think it's worth and shot, and probably can't make things
worse....

In #379, I added the /website/migrations folder to the .dockerignore file. I was thinking that if I didn't include the migrations folder that it would force Docker to do all the migrations again from scratch. (This seems to work fine locally for me -- I haven't ran into issues, but I'm not sure if this change could be causing issues on production)

According to @aileenzeng, this issue is still a problem. Whoever investigates this may want to setup their local dev environment to act exactly like the test/production servers (i.e., use PostgreSQL rather than sqlite) to debug, determine the problem, and then test a solution.

@johnsonkuang has been working on this and believes he may have a fix https://github.com/jonfroehlich/makeabilitylabwebsite/pull/807

Note: this is almost fully addressed. Need to push to production. Works on test.

This now appears to be fixed. Huge thanks to @johnsonkuang and to @mechanicjay and @aileenzeng. Yay!


ol.View#calculateExtent doesn't take rotation into account

Currently the ol.View#calculateExtent function does not take the view rotation into account. That function calculates the minimal geographic extent that covers the passed pixel box, so it sounds to me that it should take the view rotation into account.

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

Fixed with e7cd691362c3727df3eb0570e7120cc91edb56e3


Feature: Add menu flyout to widget header

Resolved / Related Issues
Items resolved / related issues by this PR.

Closes #7287...

Validation
How did you test these changes?

[x] Built and ran the app
[x] Tested the changes for accessibility

Screenshots (optional)
Add screenshots here.

This can be extended to support multiple items in the future but this meets the requirements for now.


Implement simple local caching of anions and cations (no update checking)

Storing anions and cations in a local cache for them to be used for auto-completion later on.
See 2 iii: https://github.com/vladislavivanistsev/SuperCap/wiki/_Functional requirements
Estimated 5 man-hours.
Related use case: [Drawing graph from input] (https://github.com/vladislavivanistsev/SuperCap/wiki/_Detailed-Functional-requirements#use-case-drawing-graph-from-input)

Estimated 5 man-hours.

Moved to third iteration due to time constraints.


[WFCORE-5434] Update ide-config to Eclipse 2021-03

Fixes https://issues.redhat.com/browse/WFCORE-5434

Do these make any changes to the configuration or is this just re-exporting the prior configuration?

@darranl Good Morning Darran, I have not made any manual change. It's a re-export of the prior config, out of a fresh workspace. I have seen that both order and indentation have changed due to the exporter. Hopefully future exports don't break the diff so much.

@boris-unckel thanks


Try to use Merge in SQL command and connect Create and Update methods together

Try to connect "UpdateCorrelationsIfExistAsync" and "CreateCorrelationsIfNotExistAsync" using raw SQL with Merge (postgres 16) clause
Check using benchmark which approach is faster

done in the other way