How update height of cells which have had their text changed in cellForItemAtIndexPath?

I'm removing a suffix on certain messages in cellForItemAtIndexPath as it should only be viewable by one of the users in the chat. Once it's removed the cell has already been drawn leading to the following:

Is there a way to force the cell to recalculate its height to remove that gap at the bottom?
cheers

Give this a try:
    JSQMessagesCollectionViewFlowLayoutInvalidationContext *context = [JSQMessagesCollectionViewFlowLayoutInvalidationContext context];
    context.invalidateFlowLayoutMessagesCache = YES;
    [self.collectionView.collectionViewLayout invalidateLayoutWithContext:context];

@eliburke no luck unfortunately, this is all I'm doing in cellForItem:
//remove suffix
cell.textView.text = [[msg text]stringByReplacingOccurrencesOfString:@"Tap to buy now" withString:@""];

JSQMessagesCollectionViewFlowLayoutInvalidationContext *context = [JSQMessagesCollectionViewFlowLayoutInvalidationContext context];
context.invalidateFlowLayoutMessagesCache = YES;
[self.collectionView.collectionViewLayout invalidateLayoutWithContext:context];

@ryderjack Ah I see. Your text height is calculated based on the underlying data, and you are "secretly" (to the framework) modifying it as it is displayed to the screen.
So-- can you change the underlying data? If not, can you change the COPY of the data you have in memory? If neither of those work, you may need to create a custom cell type.

Ah i see.. I'm now trying to change the message text as they're loaded however still seeing the same behaviour:
NSString *messageText = [messageOb objectForKey:@"message"];

if ([[messageOb objectForKey:@"senderId"] isEqualToString:[PFUser currentUser].objectId]) {
      messageText = [[messageOb objectForKey:@"message"]stringByReplacingOccurrencesOfString:@"Tap to buy now" withString:@""];
 }

message = [[JSQMessage alloc] initWithSenderId:[messageOb objectForKey:@"senderId"]  senderDisplayName:[messageOb objectForKey:@"senderName"] date:messageOb.createdAt text:messageText];

Where can I alter the message at an even earlier point? Is it the COPY of the data as you mention which is to blame?

@ryderjack if you are modifying the message text before you ever create a JSQMessage object, the layout and spacing is determined by UITextView. If you see a strange gap in the bubble (like the one you showed at the start of this issue) maybe it is caused by a newline in your text string?
If this isn't your issue, we need to start fresh. Re-explain what you are doing (currently, not originally). Post the actual string that causes the problem, before and after your string editing. Post a current screen shot.

So, I'm using the messageController to facilitate the sending of offers to buy products. The buyer can send an offer message to the seller and when the seller sees that message they should be able to tap the offer to then confirm the offer based on the text contained within the offer message.
So far I have everything working except that I want the message to display a prompt only to the seller to "Tap to confirm the offer now". The buyer shouldn't see this message, only the seller.
I'm creating the message object then appending the text "Tap to confirm the offer now" to all offer messages in the didPressSendButton method before creating the message object and saving it to the backend:
messageString = [NSString stringWithFormat:@"%@\nTap to confirm the offer now", text];
JSQMessage *message = [[JSQMessage alloc] initWithSenderId:senderId
                                             senderDisplayName:senderDisplayName
                                                          date:date
                                                          text:messageString];

Then when I load the messages I'm doing a check whether the user seeing the message is the see or the seller. If the user is the buyer then they shouldn't see that part of the message so I remove all occurrences of the above string:
NSString *messageText = [messageOb objectForKey:@"message"];
 if (![[messageOb objectForKey:@"senderId"] isEqualToString:[PFUser currentUser].objectId]) {
                        messageText = [[messageOb objectForKey:@"message"]stringByReplacingOccurrencesOfString:@"Tap to confirm the offer now" withString:@""];
}
message = [[JSQMessage alloc] initWithSenderId:[messageOb objectForKey:@"senderId"]  senderDisplayName:[messageOb objectForKey:@"senderName"] date:messageOb.createdAt text:messageText];

If I don't remove the string that should only be seen by the seller, as expected, the entire message is viewable as per this image:

However, when I do implement the above code to remove the string I see this gap:

Does this clarify your understanding of the problem @eliburke ? Thanks in advance!

@ryderjack it does. And my answer is the same as before. Newlines. Check out your code:
messageString = [NSString stringWithFormat:@"%@\nTap to confirm the offer now", text];
messageText = [[messageOb objectForKey:@"message"] stringByReplacingOccurrencesOfString:@"Tap to confirm the offer now" withString:@""];
You add a newline and your "confirm" text. Then you remove your text, but not the newline.
As a side note, have you considered an actual button instead of selecting the bubble?  #1537 lets you embed HTML. #1519 shows a way to add an accessory button outside the bubble.

Brilliant spot!! Apologies, completely missed that after checking!
Yes, I'll definitely check out using buttons on the cell, thanks again!

You're welcome.

hey @ryderjack  How did you gave those time stamps and sent status. I also want to give the same, but when I try with cell.celltoplabel.text = "something" and cell.cellbuttomlabel = "Nothing displays"..
Literally nothing displays..Am I missing something. isn't it the default customizaation for JSQMessage?
I have been wondering around and ended up getting nothing..Please if you could help...

hey @ryderjack  How did you gave those time stamps and sent status. I also want to give the same, but when I try with cell.celltoplabel.text = "something" and cell.cellbuttomlabel = "Nothing displays"..
Literally nothing displays..Am I missing something. isn't it the default customizaation for JSQMessage?
I have been wondering around and ended up getting nothing..Please if you could help...

@AashishSapkota hey, here's some sample code which should help you:
NSInteger lastSectionIndex = [self.collectionView numberOfSections] - 1;
NSInteger lastItemIndex = [self.collectionView numberOfItemsInSection:lastSectionIndex] - 1;
NSIndexPath *pathToLastItem = [NSIndexPath indexPathForItem:lastItemIndex inSection:lastSectionIndex];

[self collectionView:self.collectionView attributedTextForCellBottomLabelAtIndexPath:pathToLastItem];
[self collectionView:self.collectionView layout:self.collectionView.collectionViewLayout heightForCellBottomLabelAtIndexPath:pathToLastItem];

Basically, after loading the messages I call this at the end of the loadMessages method to calculate where the labels should appear. Then in the relevant methods such as attributedTextForCellBottomLabel... I do a check on the message's individual sent status which is then displayed.
Hope this helps!

Thank you so much for your help @ryderjack .


Guide : edit factorial function

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

I'm closing this PR in favour of #34430 since it adds better content!


Example integrating with Zephyr RTOS

Hello! Love the idea behind StateSmith. I was wondering if you had any examples showing how to integrate StateSmith into an RTOS like Zephyr. Either by integrating with its State Machines Framework or show an alternative.
Cheers.

Hi :)
I currently use StateSmith with FreeRTOS. It should work with Zephyr as well because it has no dependencies on any OS or anything (it can run baremetal). Are you running into issues?
I do plan to properly support multiple different code generation strategies in the future. This would make it easy for you to write a bit of code so that StateSmith would output code to work with Zephyr's state machine framework.
I don't currently have a stable API for that yet, but if you want to explore it anyway, take a look at https://github.com/StateSmith/StateSmith/blob/main/src/StateSmith/compiler/SpecificVertexValidator.cs
You would likely need to create your own vertex visitor to visit the different vertices in the state machine graph.

hi ,
zephyr os which have include fsm function,
https://docs.zephyrproject.org/3.1.0/services/smf/index.html

Hello! Love the idea behind StateSmith. I was wondering if you had any examples showing how to integrate StateSmith into an RTOS like Zephyr. Either by integrating with its State Machines Framework or show an alternative.
Cheers.

Hi @beriberikix, are you still interested in having StateSmith output Zephyr SMF code? If so, I can create a template project to help get you started. We now have initial support for custom code generation.

Doesn't look like there is any interest in this. Closing for now. We can reopen if someone would like to work on it.


security: cloudsql-docker/gce-proxy:alpine is vulnerable to CVE-2023-5363

Bug Description
We recently started started getting OpenSSL vulnerability on the latest gce-proxy:alpine image.
I tried scanning it with snyk and got this

Steps to reproduce?
snyk container test --json-file-output==output.json gcr.io/cloudsql-docker/gce-proxy:alpine
Environment

OS type and version: alpine:3.18.4
Cloud SQL Proxy version (./cloud-sql-proxy --version): latest alpine

Additional details
I tried updating OpenSSL and it fixed the issue as per docker scan

@aamirshahx thanks for raising this! 😄
We will likely try and bump our base alpine image, I don't think our container uses the openssl/libcrypto3 package so workloads using the affected container should not be vulnerable.
I'll monitor our artifact registry scans for this, currently it does not show the vulnerability (might just be slower to pick it up).
@enocom should we cut a new release once the base image is bumped?

Yes, we're unaffected. Go uses its own TLS implementation and not openssl. But we'll be cutting a release with the latest alpine base image when it's available.

@aamirshahx Are you sure you're scanning the latest image?

Organization:      enocom
Package manager:   apk
Project name:      docker-image|gcr.io/cloudsql-docker/gce-proxy
Docker image:      gcr.io/cloudsql-docker/gce-proxy:alpine
Platform:          linux/amd64
Base image:        alpine:3.19.1
Licenses:          enabled

✔ Tested 21 dependencies for known issues, no vulnerable paths found.

According to our scan, you are currently using the most secure version of the selected base image

-------------------------------------------------------

Testing gcr.io/cloudsql-docker/gce-proxy:alpine...

Organization:      enocom
Package manager:   gomodules
Target file:       /cloud_sql_proxy
Project name:      github.com/GoogleCloudPlatform/cloudsql-proxy
Docker image:      gcr.io/cloudsql-docker/gce-proxy:alpine
Licenses:          enabled

✔ Tested 172 dependencies for known issues, no vulnerable paths found.

Tested 2 projects, no vulnerable paths were found.

@aamirshahx I am going to close this, we believe you were scanning against an old image. Our scans show no vulnerabilities in the latest image.
The CVE you reference was released in October 2023. If you pull the new image and continue to see this issue let us know and we can re-open this.


Update CONTRIBUTING guide to describe project setup

This is a documentation related issue. I think it would be great to have the steps for setting up the project before contributing:
Ex: Should dependencies be installed through pip install . or python3 setup.py develop. Tox must be installed manually after this? Etc...

you mean moving this to CONTRIBUTING

Kind of, but for example after running pip install . I still don't have tox installed. If the user is expected to install some dependencies manually maybe the doc should address this, or we could add all the dependencies on the setup.py (and also move that to contributing, yes).


Resurrectable Units

Having an ability to resurrect story important units, somehow is really useful. Notices the absence in Age of Empire 2, where you might have important named character, but once they die, they have to be recreated and all the threads be restitched together, which is unnecessary, so having this in could be useful. Especially since its supposed to be similar to a demo per my understanding.
There are different ways of doing it, like Age of Mythology, where there is a body on the ground, until the player has units near it again and the hp regeneration kicks in, or like Warcraft 3, where you pay a fee and click a button like any other unit producing / train, to get it back. I just remembered the limitation in comparison to Age of Empire 2 vs Warcraft 3.
It is not important in standard RTS gameplay if it is not character based, but in campaigns and story, character management, and management of special units, are more important.

Originally I've been thinking about introducing such a "hero" units but eventually I've decided it's beyond the scope of this project. In this project I'm aiming to introduce a fairly minimal baseline - and I'm still not there yet, so I'll be focusing rather on that.


[v5] Option in select with floating label is not high enough

In chrome (and opera) option is not high enough and letters are cut like "p" in docs:
https://getbootstrap.com/docs/5.0/forms/floating-labels/#selects

I'm working on Issue #33033, which seems to be causing the same bug.

Duplicate of #33075


File load error

Just download the latest release, and the game is not staring now.

https://github.com/pixeltris/YgoMaster/blob/master/Docs/FileLoadError.md


invalid ELF header

I am probably doing something wrong, but I keep getting  /var/task/node_modules/duckdb/lib/binding/duckdb.node: invalid ELF header in my AWS logs.
I am on mac M1, and I have this in my serverless.yml:
service: REDACTED

frameworkVersion: '3'

provider:
  name: aws
  runtime: nodejs18.x
  region: us-west-2
  environment:
    AWS_NODEJS_CONNECTION_REUSE_ENABLED: '1' # Enable HTTP keep-alive connections for the AWS SDK
    LOG_LEVEL: 'debug'

functions:
  search:
    handler: src/handlers/search.search
    memorySize: 10240
    timeout: 30
    events:
      - http:
          path: '/'
          method: post
          cors: true
          # private: true
    layers:
      - 'arn:aws:lambda:us-west-2:041475135427:layer:duckdb-nodejs-x86:3'
    iamRoleStatements:
      - Effect: Allow
        Action:
          - s3:GetObject
        Resource: 'arn:aws:s3:::REDACTED/*'
      - Effect: Allow
        Action:
          - s3:ListBucket
        Resource: 'arn:aws:s3:::REDACTED'

package:
  individually: true

plugins:
  - serverless-iam-roles-per-function
  - serverless-offline
  - serverless-esbuild

custom:
  esbuild:
    external:
      - duckdb

It runs ok locally (with serverless-offline.) Does this not work with serverless-esbuild? I am just guessing, but it seems like it might not be using the layer correctly, like it's maybe trying to use my local M1 native duckdb.node?

Maybe I am using this wrong? I am trying to just use node duckdb normally, in my code:
import { Database } from 'duckdb'
import { promisify } from 'util'

const db = new Database(':memory:')
const query = promisify(db.all.bind(db))

export const search = async (event, context) => {
  // do query here
}

Did you have a look at https://github.com/tobilg/serverless-duckdb?
i assume that your esbuild config doesn‘t exclude the locally installed DuckDB version, which will be ARM. Your Lambda function is x86_64 thought.
See https://www.serverless.com/plugins/serverless-esbuild and look for „external“.

Ah, I just saw that you have your plugins in the incorrect order, esbuild apparently needs to be before serverless-offline:

Add the plugins to your serverless.yml file and make sure that serverless-esbuild precedes serverless-offline as the order is important:

Ah, I just saw that you have your plugins in the incorrect order, esbuild apparently needs to be before serverless-offline:

All the other functions (I define a few others) work fine in that order, but I switched them, and it has same issue. It also works fine locally (offline) just not remotely.

i assume that your esbuild config doesn‘t exclude the locally installed DuckDB version, which will be ARM. Your Lambda function is x86_64 thought.

I also assume this, but external does not seem to work.

See https://www.serverless.com/plugins/serverless-esbuild and look for „external“.

Yep, I  have this:
custom:
  esbuild:
    external:
      - duckdb

I deployed your demo, and it works like a charm. I was also thinking I could use that invoked from another lambda, but I could not seem to get he permissions on calling lambda working using serverless-iam-roles-per-function:
    iamRoleStatements:
      - Effect: Allow
        Action:
          - lambda:InvokeFunction
          - lambda:InvokeAsync
        Resource: 'arn:aws:lambda:::function:duckdb-prd-query'

Another idea is to just switch to webpack, like you use, in demo. I like esbuild's simpler config & faster build better, but I can't seem to get it to work.

Regarding the IAM permissions, you‘ll need to add this to the calling function, not the DuckDB Lambda itself (if you didn‘t already)… Your ARN looks incomplete, it’s missing the Region for example

Regarding the IAM permissions, you‘ll need to add this to the calling function, not the DuckDB Lambda itself
Yep, that is what I did.

Your ARN looks incomplete, it’s missing the Region for example
Hmm, I may have misunderstood AWS docs, but the ::: are placeholders. This works for S3, at least. I tried with the full ARN, and got same AccessDenied in logs.

The ARN structure isn‘t the same for every service, here‘s the docs:
https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html
A function needs to have a region in its ARN

Regarding esbuild settings, I have a sample project that uses the following:
# esbuild settings
esbuild:
  bundle: true
  minify: false
  exclude:
    - duckdb

This works for me at least. Please also try to temporarily disable serverless-offline, the redeploy. Does this change something?

The ARN structure isn‘t the same for every service, here‘s the docs:

As I said, I also used the full ARN (copied from AWS panel) but it's ok, I'd prefer to not call it from another lambda, if possible.

Regarding esbuild settings, I have a sample project that uses the following

I think putting it in custom is better, than at the top of the config, otherwise I get this error:
Warning: Invalid configuration encountered
  at root: unrecognized property 'esbuild'

I tried exclude (as you did, instead of external, as in docs) like this:
custom:
  esbuild:
  bundle: true
  minify: false
  exclude:
    - duckdb

results in this:
undefined	ERROR	Uncaught Exception 	{"errorType":"Error","errorMessage":"/var/task/src/package.jsondoes not exist","stack":["Error: /var/task/src/package.jsondoes not exist","    at exports2.find (/var/task/src/handlers/search.js:71990:15)","    at node_modules/duckdb/lib/duckdb-binding.js (/var/task/src/handlers/search.js:72269:31)","    at __require (/var/task/src/handlers/search.js:11:50)","    at node_modules/duckdb/lib/duckdb.js (/var/task/src/handlers/search.js:72278:18)","    at __require (/var/task/src/handlers/search.js:11:50)","    at Object.<anonymous> (/var/task/src/handlers/search.js:72560:29)","    at Module._compile (node:internal/modules/cjs/loader:1256:14)","    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)","    at Module.load (node:internal/modules/cjs/loader:1119:32)","    at Module._load (node:internal/modules/cjs/loader:960:12)"]

I am going to give up on esbuild here, install webpack + the 20 extra dev modules, and be ok with the slower build & more complex config. It seems to work.

The below snippet has a wrong indentation, everything below esbuild needs to be 2 spaces to the right:

custom:
  esbuild:
  bundle: true
  minify: false
  exclude:
    - duckdb

like this:
custom:
  esbuild:
    bundle: true
    minify: false
    exclude:
      - duckdb

The below snippet has a wrong indentation

yeh, I just pasted it wrong. You can see my config in the original issue. Seems like exclude and external are different, and work differently, which is maybe part of the problem.
I am willing to make a simplified esbuild example to look at, if it will help you to make duckdb-nodejs-layer work for more people, but I am just using webpack, now, and it works fine.

Like I said, I have a working example with serverless-esbuild, which uses the above settings. Works for me, but I don't use serverless-offline.

Yeh, this is working too (including serverless-offline.) Not too sure what is up with my original project. Maybe I will revisit esbuilld.

It was working ok, like that, but I switched the order, too.


High Refresh Rate support

For some reason,the app is locked at 60Hz.althpugh it supports 120Hz.BTW the phone model is Nothing Phone 1 and has an unlocked BL

It's strange, everything works for me.

Can you see if it works for you now?

Yeah,working fine nkw


Unergonomic classifier selector on /search/

The classifier filter selector panel on /search could probably be improved.

Especially the "Topic" section has very long vertical size.
You need to scroll vertically quite a lot to locate what you are looking for.
Word-wrapping for this looks suspect (see screenshot below).
Sub-categories vs top-level categories are indicated with small intendation level differences. It's hard to keep track of what is a subcategory and at what level.

I'm not sure exactly how to improve this, but perhaps a nearly full-width "pop-up" selector screen would be better --- the selector lists seem too long to fit well in any way to the left-hand panel.
The display indicators warehouse currently has for the "currently active" filters are good, so perhaps it's possible to make the "Add filter" selection more dialog-like. The mobile/narrow-screen interface goes a bit to that direction, but it doesn't make full use of the horizontal space available for pop-up dialogs.
For comparison, the old pypi screen makes more efficient use of horizontal space, and indicates sub-categories with large headings. However, the categories don't work together with search in the old pypi like they do in warehouse.
Screenshot:

Old pypi screen for comparison:

When fixing this, remember to also make it easier to filter for supported python versions, see also #3008.

I don't have any great ideas about this one. Deferring to @nlhkabu but happy to implement whatever she decides.

Thanks @pv for raising this :)
I agree that this is something that we'll need to address, however, I don't think it needs to be on this milestone cc @brainwane
My plan is to do some user testing on this page to establish how people are using the filters (if at all) - and then propose some alternative designs.  I don't think this is going to be an easy problem to fix, so it might take some time to come up with the best solution.


Import file quickfix and es6 modules

In our latest project we are using the es6 syntax for importing modules: import {Bob} from './bob'
When using the add module quick fix, it will only use the "require" notation. I saw that it's hard-coded in the code.
I've build a naive plugin that does it for me but I would like to suggest and possibly implement this feature in this plugin.
If this sounds like a good idea I'll be happy to implement :)

When using the add module quick fix, it will only use the "require" notation. I saw that it's hard-coded in the code

Sure ... add a PR with a quickfix to use es6 notation if you want import * as foo from "foo";


Prepare for new release of Confluence

Workflow links: https://github.com/atlassian-labs/atlassian-slack-integration-server/actions/runs/2924160358, https://github.com/atlassian-labs/atlassian-slack-integration-server/actions/runs/2924161638.

Integration tests pass, so current version of Confluence Server for Slack is marked compatible with Confluence 7.19.1.


Align Active profile(s) field with surrounding

Description
In Spring test generation dialog right border of Active profile(s) field is not aligned.
To Reproduce

Install UnitTestBot plugin built from main in IntelliJ IDEA
Open some Spring project
Invoke test generation dialog

Expected behavior
Active profile(s) is aligned with surrounding fields and have the same width as Test types and Mocking Strategy
Actual behavior

@tyuldashev @EgorkaKulikov
Here are IntelliJ Platform Layout Guidelines.
There is the requirement to Align the right borders of input boxes that have a similar length
However Tests type and Active profile(s) depend on Spring configuration.
So this part of guidelines would be appropriate to apply.
Mocking strategy also depends on Spring configuration - if an existing configuration is chosen.
Parameterized tests cannot be selected in Spring test generation at all and is always disabled.
I suggest to make the following changes to the action dialog:

Remove Parameterized tests from UI if Spring-based flow is applied.
Align Tests type, Active profile(s), Mocking strategy  with the left border of Spring configuration combo box.
Right-align them.

Related to:

#2409


Move operations only relevant for test out of main CMakeLists.txt

Just a comment based on my person preference and experience:
I'd recommend moving all the compiler-flags and other machinery that are not necessary for using the library itself into the respective CMakeLists.txt files where they are actually needed.
This is more relevant, when you provide a cmake target (see https://github.com/boostorg/gil/issues/167) and/or have to compile your library, but even if not, I generally prefer to put compiler options next to the targets they are actually relevant for. E.g. Boost::unit_test_framework is afaik only needed when you want to run the unit-tests. So it imho should only be looked up when gil/test/CMakeLists.txt gets actually included (e.g. not if GIL_BUILD_TESTS == OFF). Same with things like /Wall or CMAKE_CXX_STANDARD 11.
Even if you are not defining a cmake library target (for which you should definetifely not set public warning level flags) it makes it easier for me to discover, which flags I have to set in my project when I want to use this library, vs what flags you are using in order to find bugs in the implementation.

Just to clarify: I opened these issues exactly because I was hacking on gil (more precisely because I want to compile some boost libraries with a custom toolchain for a semi-embedded target) and which is why I didn't say anything about installation. Having a target you can link against is not only helpful for external consumers, but also when creating your test or example applications. The Idea for Boost::gil actually came from the video you linked, but I'd already be happy with a plain boost_gil or somesuch.
But I completely understand if - in light of robert's initiative - you don't want to spend time refactoring the cmake files just to change them again, once a boost-wide solution comes up.

More specifically, there will be INTERFACE targets with specific compilation flags for building in various development modes (eg. tests, UBSAN, warnings off, etc.).

That is something I'd advise against. Let the toolchain file decide if a targets should be compiled with ubsan, against which standard library to link, what optimization flags to use, what compiler and c++ version to use a.s.o.. For a header only library, the only thing your targets needs to specify are dependencies and flags that are purely specific to your library (can't think of a good example right now).

OK, thanks for the clarification

Having a target you can link against is not only helpful for external consumers

For the time being, I do not want to breed or encourage any external customers of Boost.GIL's CMake.
If one wants to use Boost.GIL with a project based on CMake, one needs to stick to FindBoost.cmake or own solution.

More specifically, there will be INTERFACE targets with specific compilation flags for building in various development modes (eg. tests, UBSAN, warnings off, etc.).

That is something I'd advise against.

I disagree. Use of flags-only targets to manage variety of developer mode builds is not a breach of any (modern) CMake best practices. On the contrary, Kitware uses this technique itself (e.g. VTK-m).

For a header only library, the only thing your targets needs to specify are dependencies and flags that are purely specific to your library

That is exactly what I'm going to do. Those targets will provide "flags that are purely specific to your library. You seem to be missing my point. The CMake configuration is  exclusively for those who want to develop and test Boost.GIL, and submit pull request, and they prefer CMake over Boost.Build.
Please, stop applying rules of public consumer-oriented CMake configuration for a library.
This may change ones Robert's initiative if completed.

@Mike-Devel I appreciate your comments. It's always good to be provoked to question and re-think own bits. I never say never. Meanwhile, let's keep this open.
(TBH, at this stage of my love and hate relation to CMake, the toolchain files I hate ;-))


Change BitBucket Server URL

Is it currently possible to change what url the file will be opened to? Looks like it defaults to stash.

+1
Description seems to suggest we can point it to our own hosted stash / bitbucket server for on-premise installs

Yep, we'd like to change the own/local bitbucket server instead of default. Is it possible to change the target server?

It seems to try to detect the host from git remote, from the lib and below.
...notwithstanding #9 (which is a problem).


Error connecting to blockchain node

When I run "embark run" after "embark simulator", error comes as cannot connect to blockchain and it says no blockchain in the available services. I have installed ethereum blockchain.

@vansh1sh do you have the deployment config specified in config/contracts.json ? something like:
 "default": {
   "deployment": {
        "host": "localhost",
        "port": 8545,
        "type": "rpc"
      }

@Ambika-Bhat see above


Use of Peak-Can Module

Hi!
My OBD-to-USB converter is a Peak-Can (https://www.peak-system.com/PCAN-USB.199.0.html?&L=1).
The problem that i encountered, is that my device appears as a "CAN-Hardware" at the device manager, and not as a COM device... which is why im guesing the test.py is not working...
Do you have any experience with this?
I am also trying to do my own implementation. Would be great if you contact me !! :)

Hey!
Would you be able to show the test.py response? But I'm pretty sure it's because the PCAN adapter is not an ELM-327 micro-controller adapter. It seems like it is an NXP one. Python-OBD, is only built for ELM-327 based adapters according to their documentation and ElectronOBD runs off of Python-OBD library


ldflags parameters not work in package out of GOPATH

b.pathBuild is empty when package not in GOPATH
ldflags seems not work, AppName and BuiltAt value not set.
I set b.pathBuild = "." to fix this
I'm using macOS and go1.10.3

@Grayon could you paste the logs when you execute the bundler with the -v flag? I want to see what's executed exactly.

DEBU[0000] Creating /Users/gonner/Documents/workspace/Project-PC/output
DEBU[0000] Bundling for environment darwin/amd64
DEBU[0000] Binding data
DEBU[0000] Removing /var/folders/98/3d_qcs593c3c0zxdm0t6b5xm0000gn/T/astibundler/bind
DEBU[0000] Creating /var/folders/98/3d_qcs593c3c0zxdm0t6b5xm0000gn/T/astibundler/bind
DEBU[0000] Creating /var/folders/98/3d_qcs593c3c0zxdm0t6b5xm0000gn/T/astibundler/bind/vendor_astilectron_bundler
DEBU[0000] Creating /var/folders/98/3d_qcs593c3c0zxdm0t6b5xm0000gn/T/astibundler/cache
DEBU[0000] /var/folders/98/3d_qcs593c3c0zxdm0t6b5xm0000gn/T/astibundler/cache/astilectron-0.24.0.zip already exists, skipping download of https://github.com/asticode/astilectron/archive/v0.24.0.zip
DEBU[0000] Copying /var/folders/98/3d_qcs593c3c0zxdm0t6b5xm0000gn/T/astibundler/cache/astilectron-0.24.0.zip to /var/folders/98/3d_qcs593c3c0zxdm0t6b5xm0000gn/T/astibundler/bind/vendor_astilectron_bundler/astilectron.zip
DEBU[0000] /var/folders/98/3d_qcs593c3c0zxdm0t6b5xm0000gn/T/astibundler/cache/electron-darwin-amd64-1.8.1.zip already exists, skipping download of https://github.com/electron/electron/releases/download/v1.8.1/electron-v1.8.1-darwin-x64.zip
DEBU[0000] Copying /var/folders/98/3d_qcs593c3c0zxdm0t6b5xm0000gn/T/astibundler/cache/electron-darwin-amd64-1.8.1.zip to /var/folders/98/3d_qcs593c3c0zxdm0t6b5xm0000gn/T/astibundler/bind/vendor_astilectron_bundler/electron.zip
DEBU[0000] Creating /var/folders/98/3d_qcs593c3c0zxdm0t6b5xm0000gn/T/astibundler/bind/resources
DEBU[0000] Copying /Users/gonner/Documents/workspace/Project-PC/resources to /var/folders/98/3d_qcs593c3c0zxdm0t6b5xm0000gn/T/astibundler/bind/resources
DEBU[0000] Generating /Users/gonner/Documents/workspace/Project-PC/bind_darwin_amd64.go
DEBU[0002] Removing /Users/gonner/Documents/workspace/Project-PC/output/darwin-amd64
DEBU[0002] Creating /Users/gonner/Documents/workspace/Project-PC/output/darwin-amd64
DEBU[0002] Building for os darwin and arch amd64
DEBU[0002] Executing go build -ldflags -s -X "main.AppName=Project" -X "main.BuiltAt=2018-07-27 17:41:08.789166528 +0800 CST m=+2.012625758" -o /Users/gonner/Documents/workspace/Project-PC/output/darwin-amd64/binary
DEBU[0008] Creating /Users/gonner/Documents/workspace/Project-PC/output/darwin-amd64/Project.app/Contents/MacOS
DEBU[0008] Moving /Users/gonner/Documents/workspace/Project-PC/output/darwin-amd64/binary to /Users/gonner/Documents/workspace/Project-PC/output/darwin-amd64/Project.app/Contents/MacOS/Project
DEBU[0008] Chmoding /Users/gonner/Documents/workspace/Project-PC/output/darwin-amd64/Project.app/Contents/MacOS/Project
DEBU[0008] Creating /Users/gonner/Documents/workspace/Project-PC/output/darwin-amd64/Project.app/Contents/Resources
DEBU[0008] Copying /Users/gonner/Documents/workspace/Project-PC/resources/icon.icns to /Users/gonner/Documents/workspace/Project-PC/output/darwin-amd64/Project.app/Contents/Resources/Project.icns
DEBU[0008] Adding Info.plist to /Users/gonner/Documents/workspace/Project-PC/output/darwin-amd64/Project.app/Contents/Info.plist

go build -ldflags '-s -X "main.AppName=Project" -X "main.BuiltAt=2018-07-27 17:41:08.789166528 +0800 CST m=+2.012625758"' -o /Users/gonner/Documents/workspace/Project-PC/output/darwin-amd64/binary
this line works fine on command line

@Grayon I don't see any problem in the logs. What's your problem again ?

var (
	AppName string
	BuiltAt string
)

This two variables are empty.

@Grayon I have pushed a fix in master. You can pull the changes and run make again.
Does that fix your issue?
One additional question though : how do you manage to build in GO without a GOPATH?

my GOPATH is /Users/gonner/go
and my project is in /Users/gonner/Documents/workspace/Project-PC
I just use go build to build it.

Cheers


chore(catppuccin): Update highlights

Due to changes in the upstream (nvim-treesitter) highlight groups, I have also modified several highlights for catppuccin to prevent duplication in adjacent highlight groups (in some cases, they cannot be distinguished at a glance), for example:
                 static constexpr                          foo                     <int> bar;
                       ↑                                    ↑                        ↑
storage_class_specifier/type_qualifier(yellow)    type_identifier(yellow)   primitive_type(yellow, italic)

has been adjusted to:
           static constexpr                          foo                     <int> bar;
                 ↑                                    ↑                        ↑
storage_class/type_qualifier(red, italic)    type_identifier(yellow)   primitive_type(yellow, italic)

This modification is non-trivial. It will affect the syntax highlighting of the following languages:

blueprint
C
C#
C++
CSS
cuda
D
dart
fortran
gdscript
gleam
glsl
hack
hlsl
java
julia
kotlin
lalrpop
llvm
mermaid
ocaml
pascal
php
pioasm
ql
qmljs
rasi
ruby
rust
scala
solidity
swift
typescript
vala
verilog
wgsl
zig

@Jint-lzxy Hey would you be up to be a collaborator of https://github.com/catppuccin/nvim/
A lot of good color tweaks goes to waste because it was not PRed to upstream (For example C++ highlights are much better here)
Thanks :), Null Chilly

Sorry for the late reply, it's getting closer to the end of the year and I'm all wound up recently.

@Jint-lzxy Hey would you be up to be a collaborator of https://github.com/catppuccin/nvim/
A lot of good color tweaks goes to waste because it was not PRed to upstream (For example C++ highlights are much better here)
Thanks :), Null Chilly

@nullchilly Great :) Recent commits to nvim-treesitter have brought way more refined hl groups, and IMO simple linking may result in similar highlight groups with different functionalities. I will look into this next year 👍

Invitation sent, thanks you :)
I will make the best out of 2022 too!


Velocity absorbtion effect for scrollable views

done

I'm getting NullPointerException for topGlow on absorption and no EdgeEffect when there is no background. You forgot to Initialize EdgeEffect's...

That's what happens after releasing asap :) Will fix.

Hehe..

Fixed?

Almost. Absorb should check for overscroll mode. Glows are initialized when overscroll mode is always || ifContentScrolls. That should fix NPE.
I don't know where's that background issue came from.

May be its not initialized when background is not there. U can check it with my previously uploaded sample nd remember to comment itemDecoration while testing it! :)

That was fixed before. Null background was causing draw(Canvas) to be skipped

Ohh.. wait I forgot to setOverScrollMode to always which was default in support Library that's why it was null in my case.

So there's no background Issue.. My bad, checked it!

Another push. Now it works correctly with headers and shouldn't crash.

Yep! Working!

Found another little bug, Pull EdgeEffect fully down, scroll Up the RecyclerView, EdgeEffect decelerates slower than it should be... No one would notice it but still it's a bug

Edge effects are copied from the official Android sources, so there shouldn't be any difference. I didn't notice any issues with these effects, so I'm closing this issue.


getting error after intalling it through pip3

@imlokisenpai You installed the package, not the program.
-how to use hiphp as a package: https://github.com/yasserbdj96/hiphp#Use-As-Script
-How to use hiphp as a program: https://github.com/yasserbdj96/hiphp#Installation


🐛 Table column descriptions are fully displayed irrespective of their length

Describe the bug.
We are not applying any limitations to the default number of characters shown for column descriptions. Unlike other trimmed descriptions there is not another page where these descriptions cans be displayed more fully in isolation
Nevertheless when column descriptions are lengthy they can overwhelm the schema table.
To Reproduce
have a look at the xhibit_derived.all_offence table in find-moj-data
Expected Behaviour
Descriptions should be cut-off at some limit as default, with the option for a user to expand to see the full description
Additional context
No response

I don't think there is a good design system component for this, but another team implemented something similar here: https://github.com/alphagov/govuk-design-system-backlog/issues/44#issuecomment-1674995951

If we implement this ourselves we just need to be careful that the hidden content is not still visible to assistive technology or focusable by keyboard.

Show more/show less component in JSFiddle https://jsfiddle.net/2qdkc7nv/

I think the above proof of concept is not viable in the end, because if we retain markdown rendering (or we pass arbitrary html to the component), then the content cannot easily be broken into two spans - at least not without careful consideration that would make the code very complex.
The approach assumes that either side of the ellipses we will have inline content, but this is not the case if we cut in half block level content, such as paragraph elements.
Here is the implementation for reference
https://github.com/ministryofjustice/find-moj-data/compare/show-more-less-component

Next steps: edit the metadata we scraped from data discovery tool

remove any table markdown syntax (this will not be rendered)
consider removing or rewording anything that will be incomprehensible outside of data engineering

Got 3 PRs to address this:

https://github.com/ministryofjustice/data-catalogue-metadata/pull/16
https://github.com/ministryofjustice/find-moj-data/pull/267
https://github.com/ministryofjustice/find-moj-data/pull/261


utilities for mixed-precision tests/benchmarks

This allows us to compile a single executable that can serve as test/benchmark for f32, f16, and bf16 versions of the kernels. So far, I've updated only those test files which already defined a BF16 macro.
Caveat:
This will try to compile float, half, and  bfloat16 versions into a single exe, so the compilation fails if any of these isn't available at the moment. This is something we need to improve at some  point, once we have a general strategy in place how to handle older hardware.

This complicates dev/cuda quite a bit, with templates and macros, both a bit scary. What is the problem that it is trying to solve? Isn't it the case that our CI could just compile all the kernels separately for all precisions we care about and test them one by one?

it's less about automatic testing, and more about human testing and profiling; where I find it quite convenient not having to recompile the tests for each precision. And about reducing duplication between the different kernel test files; not letting get things out of sync.
Personally, I find the template solution much cleaner than moving the ifdefs into common.h and having floatX magically appear from there, but that would also be a solution to the problem.
If you don't like the PR in its entirety, there are still some individual things that should be merged; e.g., all the napkin math needs to be updated to actually reflect the floatX type's size.


UnicodeDecodeError while importing non ASCII album

Looks like the permission plugin isn't handling UTF-8? Paths like .../菅野祐悟/ALBUM/...
Traceback (most recent call last):
  File "/usr/bin/beet", line 9, in <module>
    load_entry_point('beets==1.3.13', 'console_scripts', 'beet')()
  File "/usr/lib/python2.7/site-packages/beets/ui/__init__.py", line 1104, in main
    _raw_main(args)
  File "/usr/lib/python2.7/site-packages/beets/ui/__init__.py", line 1094, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "/usr/lib/python2.7/site-packages/beets/ui/commands.py", line 893, in import_func
    import_files(lib, paths, query)
  File "/usr/lib/python2.7/site-packages/beets/ui/commands.py", line 870, in import_files
    session.run()
  File "/usr/lib/python2.7/site-packages/beets/importer.py", line 316, in run
    pl.run_parallel(QUEUE_SIZE)
  File "/usr/lib/python2.7/site-packages/beets/util/pipeline.py", line 347, in run
    self.coro.send(msg)
  File "/usr/lib/python2.7/site-packages/beets/util/pipeline.py", line 160, in coro
    task = func(*(args + (task,)))
  File "/usr/lib/python2.7/site-packages/beets/importer.py", line 1370, in manipulate_files
    task.finalize(session)
  File "/usr/lib/python2.7/site-packages/beets/importer.py", line 517, in finalize
    self._emit_imported(session.lib)
  File "/usr/lib/python2.7/site-packages/beets/importer.py", line 547, in _emit_imported
    plugins.send('album_imported', lib=lib, album=self.album)
  File "/usr/lib/python2.7/site-packages/beets/plugins.py", line 455, in send
    result = handler(**arguments)
  File "/usr/lib/python2.7/site-packages/beets/plugins.py", line 123, in wrapper
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/beetsplug/permissions.py", line 90, in permissions
    path))
  File "/usr/lib/python2.7/site-packages/beetsplug/permissions.py", line 38, in dirs_in_library
    if ancestor.startswith(library)][1:]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 36: ordinal not in range(128)

Fixed in v1.3.14, duplicate of #1449


test: incorporate newer azure-devtools

Some appservice tests involving binary payload can playback; also use simple decorator to enable large payload
This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines

[na] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

Command Guidelines

[na] Each command and parameter has a meaningful description.
[na] Each new command has a test.

(see Authoring Command Modules)

View a preview at https://prompt.ws/r/Azure/azure-cli/5693
This is an experimental preview for @microsoft users.


RN 0.54 / React 16.3 deprecation warnings for componentWillReceiveProps, componentWillUpdate

Warning: componentWillReceiveProps is deprecated and will be removed in the next major version. Use static getDerivedStateFromProps instead.

Please update the following components: ModalSelector
Learn more about this warning here:
https://fb.me/react-async-component-lifecycle-hooks

The fix is actually simple and maintains backward compatibility.
Replace componentWillReceiveProps with componentDidUpdate and tweak logic appropriately.
In the rare case that getDerivedStateFromProps is necessary, a polyfill can be used to maintain backwards compatibility.
See https://github.com/reactjs/react-lifecycles-compat

Fixed in commit 1c87ac1c964e5bc32d683f739065618a6e861ceb


fix: 1586 - stale model data during model switch

Introduce new state element to configure gui to zero vitals while models switch across all required async thunks

:tada: This PR is included in version 0.323.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


chore(deps): update dependency bullmq to v3.15.4

This PR contains the following updates:

Package
Type
Update
Change

bullmq (source)
dependencies
minor
3.13.4 -> 3.15.4

Release Notes

taskforcesh/bullmq
v3.15.4
Compare Source
Bug Fixes

job: import right reference of QueueEvents (#1964) (689c845)

v3.15.3
Compare Source
Bug Fixes

job: use QueueEvents type for waitUntilFinished (#1958) (881848c)

v3.15.2
Compare Source
Bug Fixes

worker: better worker client naming (c5f63af)

v3.15.1
Compare Source
Bug Fixes

rate-limit: consider paused queue (#1931) (d97864a)

Features

python: add changePriority method (#1943) (945bcd3)

v3.15.0
Compare Source
Features

job: add changePriority method (#1901) ref #1899 (9485ad5)

v3.14.2
Compare Source
Bug Fixes

python: fix 'install_requires' to include semver (#1927) (ce86ece)
rate-limit: take in count priority (#1919) fixes #1915 (b8157a3)

v3.14.1
Compare Source
Features

python: add getState method (#1906) (f0867a6)

Performance Improvements

retry-job: get target queue list once (#1921) (8a7a9dd)

v3.14.0
Compare Source
Features

worker: make extendLocks overridable (7b1386b)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.1.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[oneDNN] QuantizeV2 with bfloat16 Input

Reopened the closed PR: https://github.com/tensorflow/tensorflow/pull/56613
This PR depends on https://github.com/tensorflow/tensorflow/pull/66082
It extends QuantizeV2 op for converting bfloat16 tensor to quantized tensor. It helps quantizing a model with bfloat16 and 8-bit integer mixed precisions, for example using Intel Neural Compressor (INC) tool (https://github.com/intel/neural-compressor).

@cantonios Thanks for reviewing this PR. I have addressed the comments. Please check.

//tensorflow/core/kernels/mkl:mkl_quantize_op_test is failing on Windows (Python 3.9) with the following message:
[ RUN      ] All/MklQuantizeV2OpTest.small_minfirst_int/1
unknown file: error: C++ exception with description "could not create a primitive descriptor for a binary operation primitive" thrown in the test body.
[  FAILED  ] All/MklQuantizeV2OpTest.small_minfirst_int/1, where GetParam() = 14 (0 ms)

@penpornk Thanks for reporting the test failures. I think have fixed it now. Please check.

@cantonios Is there any other issues with this PR?

Hi @penpornk Can you please review this PR ? Thank you!

Hi @penpornk Can you please review this PR ? Thank you!

Hi @penpornk Can you please review this PR ? Thank you!

Hi @penpornk Can you please review this PR ? Thank you!

Hi @penpornk Can you please review this PR ? Thank you!


Any reason for not using sequence labeling model?

According to (here)[https://arxiv.org/abs/1709.00103], the Seq2Seq is not performing well on the task.

有没可能在 sequence-to-set 的基础上用 sequence labeling？


MB-11608 Update ppm shipment to have more required fields

Jira ticket for this change
Summary
We want to make a few of the PPMShipment (table name: ppm_shipments) fields required, and so we're changing them to not be nullable in the db, and making the model fields not be pointers.
I also added a testdatagen function to create a move with a PPMShipment that has just been started to make it easier for myself to look at the data and test the migration.
I got the idea to use COALESCE from this article on conditional updates.
Setup to Run Your Code

💻 Setup
Start the Dev DB
make db_dev_run

Test Changes
Now you can do this a few ways, I'll list two.
Query
I personally connect to the DB using Goland's (and jetbrains' in general) DB tools, but I found this in the handbook on how you can connect other tools to the DB.
I was using this to check the data before and after running the migration:
select sm.first_name, sm.last_name, ppm.expected_departure_date, ppm.pickup_postal_code, res_addr.postal_code, ppm.destination_postal_code, dl_addr.postal_code, ppm.sit_expected
from ppm_shipments ppm
    inner join mto_shipments ship on ppm.shipment_id = ship.id
    inner join moves on ship.move_id = moves.id
    inner join orders on moves.orders_id = orders.id
    inner join duty_locations dl on orders.new_duty_station_id = dl.id
    inner join addresses dl_addr on dl.address_id = dl_addr.id
    inner join service_members sm on orders.service_member_id = sm.id
    inner join addresses res_addr on sm.residential_address_id = res_addr.id

Run migration on existing data
If you've already generated PPM data in the past, you should be able to run this migration on top of your past data without issues. It should set sensible values for previously nullable fields.
make db_dev_migrate

Run migrations from scratch
make db_dev_fresh

Checking Data
You can use the query above, or look through the tables directly if you prefer.

Verification Steps for Author
These are to be checked by the author.

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

Backend

[ ] Code follows the guidelines for Logging
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Database
Any new migrations/schema changes:

[ ] Follows our guidelines for Zero-Downtime Deploys
[ ] Have been communicated to #g-database

Messages

:book:
:link: MB-11608

  Generated by :no_entry_sign: dangerJS against 6724c9e3b47c57422e8468dce2656c1068f22c86


It is better to support weak key for sign/encry for backward compatibility

New nimbus implementation is checking for weak keys as the default behavior.
WSO2IS uses same behavior which may create errors, if weak key is used.
Therefore it is better to have a configuration to decide whether weak keys are used or not.
[1] https://bitbucket.org/connect2id/nimbus-jose-jwt/src/210685bd7f95fc293a010c6dfb4bb6c30ed0ea12/src/main/java/com/nimbusds/jose/crypto/RSASSASigner.java#lines-111

By adding the 'allow_weak_rsa_signer_key' system flag, the weak keys (key length less than 2048) can be used for the signing.


Implement Updater as a GenServer

This branch is a child of #72. Please look at that first.
Features

Cadet.Public.Updater is a GenServer that runs as a worker in the Cadet.Application supervision tree
Cadet.Public.Updater will periodically do work defined in handle_info/2(:work, ...).
Cadet.Public.Updater schedules itself recursively by a private function schedule_work/0, which calls handle_info/2(:work, ...), which calls schedule_work/0, and so on
The interval at which this happens is defined in the config file (config/config.exs)

Pull Request Test Coverage Report for Build 550

50 of 51 (98.04%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 96.978%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/cadet/public/updater.ex
35
36
97.22%

Totals

Change from base Build 519:
0.1%

Covered Lines:
353

Relevant Lines:
364

💛  - Coveralls

Pull Request Test Coverage Report for Build 549

50 of 51 (98.04%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 96.978%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/cadet/public/updater.ex
35
36
97.22%

Totals

Change from base Build 519:
0.1%

Covered Lines:
353

Relevant Lines:
364

💛  - Coveralls

I think you should rebase this on master first to reduce the number of changes @ningyuansg

@indocomsoft Rebased, but you'd probably want to look at #76 first, since this PR uses one commit from that branch (90497ee).

Adding tests for new get_api_params/0. Please wait on merge.

Test coverage fell, seems updater/handle_info#2 (Send :work to GenServer, Invalid token) is not working as expected. Please wait on merge.

@indocomsoft We need to hold off on this merge until I implement some sort of flag that decides if the GenServer should be run. The issue is there are at least two ec2 instances running this application simultaneously because of the AWS auto-scaling group. As a result, there would be at least twice the expected number of calls to IVLE due to this GenServer.
This is also a problem when we have to implement automated grading later on. Only one 'main' instance of this application should be the one checking the deadline and sending out requests to the AWS lambda auto grader. Otherwise, we end up duplication calls.

@indocomsoft Rebased and adding command line options to start the updater.

Might wanna add notice on README to warn people that changing .env requires a re-compilation with  mix clean because module attribute is only evaluated during compile time

@indocomsoft There's already instructions about recompilation in the current README.

If you've compiled the application before setting a valid value, you must force a recompilation with mix clean && mix.


Support RWKV models (100% RNN)

RWKV Raven 7B Gradio DEMO: https://huggingface.co/spaces/BlinkDL/Raven-RWKV-7B
CPU INT4: https://github.com/saharNooby/rwkv.cpp
100% CUDA version: https://github.com/harrisonvanderbyl/rwkv-cpp-cuda
ONNX convertor: https://github.com/harrisonvanderbyl/rwkv-onnx
Github project: https://github.com/BlinkDL/ChatRWKV
Please let me know if you have any questions :)

CC @Hzfengsy

The WIP PR: https://github.com/mlc-ai/mlc-llm/pull/142

finished at #142


fix: Move doesn't work

Description
#minor
follows #4740  #4792

Task Item

Screenshots

open another work item to avoid having this kind of bugs again #4800

Coverage increased (+0.01%) to 54.745% when pulling 724f80ee6296d1fa6035aaefd96699fa638c57d7 on yeze322:fix/async-move into 2a4ef292178093e4faa074b393231f5c27c91db1 on microsoft:main.


Conflicting peer dependency

I'm trying to integrate this package into an existing SvelteKit project, but am running into several roadblocks along the way. When I update the dependencies with npx ncu -u && npm i, I get the following errors:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@lexical/clipboard
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/@lexical/plain-text
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!   1 more (@lexical/rich-text)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/lexical
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/@lexical/clipboard
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See /<redacted>/.npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /<redacted>/.npm/_logs/2022-05-31T09_49_08_184Z-debug-0.log

Hi @DePasqualeOrg ,
I have committed a working version of svelte-lexical in svelte-kit project. Check it out under demos/sveltekit folder.
Mainly the errors are due to different build systems I guess (rollup vs vite). Two issues that I had to resolve were:

Vite wants to explicitly include lexical dependencies. It is not picking them up from svelte-lexical dependencies. Therefore, you can see the change in package.json with lexical dependencies included in svelte-kit project.
Faced some issues with the imports. Had to change some import-related code in svelte-lexical package.

Let me know how you go with it. Thanks.

Fantastic, thank you!


Add Follow on "GitHub Button" in Home Section

Description
A "Follow on GitHub" button should be added to the home section to make it easier for users to follow the project’s repository and stay updated with the latest developments.

Suggested Solution
Place a "Follow on GitHub" button prominently in the home section. The button should include a GitHub logo and link to the project’s GitHub profile.
Example button text: "Follow GitFinder on GitHub."

Benefits

Increase follower engagement with the repository.
Make it easier for users to connect with the project and receive updates.
Enhance the accessibility and visibility of the GitHub profile directly from the homepage.

Can I work on This issue

Hi @SCR01, I would like to work on this. Can you please assign me this issue?

@MrinmayiVerma I can't assign you this only the project admin can do it, and you need to raise your own issue.

Hi @SCR01, I would like to work on this. Can you please assign me this issue?

This issue is already working. Feel free to raise another issue.


Setup and controllers

Setup project and controllers
Database:

Set up Postgresql database.

Controllers:

Generate Users controller.
Generate Posts controller.

For each URL:

Create a route.
Create an action in the correct controller.
Create a view file.

View files:

View files include only placeholders written in plain HTML.

Thank you for kindly reviewing my PR ❄😊

thank you 👍☺


Hot reload not working vs code.

Hot reload not working in vs code 1.36.1, only restart is working.
debug console shows reloaded but no change appears.

I am using vscode 1.36.1 and hot reload works.

This came up at https://github.com/Dart-Code/Dart-Code/issues/1859 too. It's only happening on the master branch, not stable. I believe it might be related to some recent VM service changes as VS Code no longer sees the reloadSources service registered (https://github.com/flutter/flutter/pull/35765 looks like the required fix, but I'm on tip of master and it's not working) so assumes Hot Reload is not available.
As a workaround while we find a fix, you can switch to the stable branch (which is relatively recent).
(fyi @bkonyi)

@bkonyi, I assume this is updating flutter tools to listen for Service events instead of _Service events?

@devoncarew @bkonyi actually, I think this might be in Dart-Code now. We don't subscribe to "Service", only "_Service" (in the released version), so we don't see the service, and we also don't get it in our logs because we didn't start listening to that stream.

Yeah, this works on the latest code. Sorry for the confusion, this is a Dart-Code issue (https://github.com/Dart-Code/Dart-Code/issues/1859) which is fixed but not released.

This issue is resolved in v3.2.1 of the Dart extension for VS Code.


[TableCard] Exporting table to CSV exports 0 as blank

Describe the bug
When viewing a table with data in it including 0 and you decide to export this to a CSV file, it exports the fields with 0 as a blank. There are actually fields that are blank but a 0 is a valid value. Importing the CSV into a spreadsheet shows the fields as blank/missing data and not a 0.
To Reproduce
Steps to reproduce the behavior:

Open a tablecard with 0's as cell values
Click export
Examine the CSV or spreadsheet and all 0 fields will be blank

Expected behavior
0's should display in CSV
Environment/versions:

OS: [MacOS]
Browser: [firefox]
carbon-addons-iot-react version: latest

Additional context

Internal issue: https://github.ibm.com/wiotp/monitoring-dashboard/issues/861
Specific timeline issues / requests
Do you want this work within a specific time period? Is it related to an
upcoming release?
No specific deadline

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Admin: GZIP all JSON resources to reduce filesize

Fixes #7909

Changes all existing .json files to .json.gz
Changes all necessary touch points to load the new .json.gz files
Changes the load_resource-method to automatically decompress .json.gz files
Update all existing scripts that pull data from AWS to compress data first
Adds the missing CI action to also pull ECS optimized AMI's for SSM

After the dev-release is out I can post some stats on pre/post size, both download and on-disk.
@bpandola Have I missed anything?
@viren-nadkarni FYI. Are you aware of any touch points in LS where this may break things, i.e. other dependencies on these JSON files?

With all due respect @bblommers, I think this is the wrong approach.  I think the files should only be zipped for the distribution, but should remain human readable/editable in the source tree.  This is what the botocore team did and I think the reasons should be clear.  If need be, I can elaborate further; but I feel pretty strongly that 1) shrinking the size of the distribution is a nice-to-have and not a need-to-have, and 2) doing so should not be destructive to the moto source.
Unfortunately--unless I'm just not seeing it--the release/distribution job for botocore doesn't appear to be in their public repo, so we can't just lift-and-shift; but the commit to support gzip'd models is fairly minor and I believe what we should be aiming for here: https://github.com/boto/botocore/commit/47fbea3e66b4e0e6d8d4877c2681a1b86eab3eda

Hey @bpandola, that's a very good point -  I hadn't considered that approach.
Setup tools has the option to add custom hooks, maybe we can use those to compress at build time - that way we keep readability at source and reproducible builds.


A potential risk in the start-word2pdf can be used to attack the OSS bucktes.

Hello! I found a potential risk in the start-word2pdf when I deployed it in the Alibaba Cloud Serverless Application Center. The service of the application has the role of excessive permission. A malicious can leverage the permission of "oss:*" for * resources to attack the OSS which may cause information leakage.
Details Analysis
After the application was deployed, it created a service named fc-libreoffice-ltsu. This service has a function named word2pdf, which inherits the role of the fc-libreoffice-ltsu service. This role has the AliyunOSSFullAccess policy and the policy has the permission of "oss:*" for * resources. The action has no restriction on resources while using * directly.  In the end, he/she can do whatever he/she wants to do on the OSS.
Attack Scenario
Assuming such an attack scenario, in a company, there are two employees Bob and Alice, and the company has an Alibaba Cloud account. The two employees are two RAM users in the account. Bob's RAM user only has the relevant permissions for Function Compute while he doesn't have any permission for the OSS, and Alice's RAM user has administrator permissions. Alice has created the  start-word2pdf  application through the serverless application center in the account. In that way, Bob can use the permissions related to Function Compute to obtain the AccessKeyID, AccessKeySecret, and SecurityToken of the role used by the service in the start-word2pdf, thereby causing Bob to have the * permissions for the buckets and other services in the OSS. Bob can use it to steal the sensitive information in the company account.
Mitigation Discussion
The resources of the permission "oss:*" should be restricted by using the specified resource name.
Question

Is it a real issue in the start-word2pdf?
If it's a real issue, can any of my suggestions be used to solve this problem?
If my suggestions could be used to solve this problem, could you give me a CVE number to award my discovery?

By the way, I have sent an email to<EMAIL_ADDRESS>according to your CONTRIBUTING.md, but it said the email doesn't exist. So I have to raise an issue to report this issue to you. I apologize for any inconvenience caused to you.

Hello, are there any updates?

@lowkeyrd Please check. Also, for Alibaba Cloud issues, its better to report via aliyun.com website.


Enable/Disable does not work?

Calling disable() should stop plotter interactions but the following stay interactive:
import pyvista as pv
from pyvistaqt import BackgroundPlotter
p = BackgroundPlotter()
p.add_mesh(pv.Cube())
p.disable()  # <<< stop interactions here
p.show()

This follows https://github.com/pyvista/pyvista-support/issues/260#issuecomment-708479972

Ah, we may need to override those methods on the BackgrounPlotter to make sure the qtinteractor is disabled/enabled

make sure the qtinteractor is disabled/enabled

Do you know how to achieve that? I tried #63 without success so far


Image actionloop-swift based on the actionloop (goproxy)

To build the image you need as a base image the actionloop image.
Currently you have to build it from https://github.com/sciabarracom/incubator-openwhisk-runtime-go
because the proxy is not yet fully merged in apache/incubator-openwhisk-runtime-go
The epilogue does not yet support Codable (I cannot code enough swift to fix it).
However the image is able to accept binaries and "simple" swift source actions.
The image can also work as offline compiler. For example if you have a src/main.swift, you can do:
docker run -v $PWD/src:/src $PWD/out:/out actionloop-swift-v4.1 compile
it will produce a out/main
also with a function "hello" in src/hello.swift
docker run -v $PWD/src:/src $PWD/out:/out actionloop-swift-v4.1 compile hello
will use the function hello and produce the out/hello binary

closing this PR since I am doing another one rebased


[BUG] Support cloud-optimised datasets

Describe the bug

Current scivision version doesn't support cloud-optimised datasets e.g. ZARR hosted in commercial cloud storages e.g. GCS, AWS, Azure
How To Reproduce

from scivision import load_dataset
data = load_dataset('https://github.com/acocac/arco-era5-google-scivision')
reanalysis = data.single_level.to_dask()

but this returns
ImportError: Please install gcsfs to access Google Storage
Expected behaviour

Lazily load a xarray.Dataset object.
Environment (generate for Linux, macOS and 64-bit Windows)

MacOS
python 3.10
scivision 0.6.2
Additional information

Sharing a relevant resource about Cloud-Optimized Geospatial Formats

I think the solution is to install gcsfs as it says - does it work in that case?
It would be good to keep core scivision's dependency footprint small, but maybe this is a common enough case that we should just include it, especially if it is well supported?
In general, installing the right intake driver is left up to the user, which isn't ideal. I'm hoping for better solution from #480.


Handle ngrok vs livereload

Using ngrok with livereload and Hugo is pretty cool, but right now the port handling does not support that.
I have tested with just hard coding 443 in the livereload handler setup, and that works. We should think about how to do this properly.
Suggestions welcome.

We have appendPort which can be used to remove 1313 from the URL (but it does not remove from the livereload interaction)
We have port, but that is the listener port

@digitalcraftsman @moorereason suggestions?
https://ngrok.com/

I'm experiencing the same problem with a local HTTPS proxy in front of hugo.
I have started the dev server with hugo server -b http://mysite.dev/ --appendPort=false and the pages load fine, but livereload is appending the port which can be seen in the js console:
WebSocket connection to 'wss://mysite.dev:64871/livereload' failed: Error in connection establishment: net::ERR_SSL_PROTOCOL_ERROR

Thinking out loud I think that making appendPort also work for the livereload URL would solve this.
I put this in the 0.28 release because I kind of need this myself, so a quick feedback in the form of "yea, that sounds good" would be nice.

Yep, I would expect the --appendPort=false flag to not append the port for the livereload.
This actually looks like a regression bug looking at some older issues https://github.com/gohugoio/hugo/issues/1406

Yea, I think the port was added at some point -- which kind of solved one problem, but broke another. Let us just call it an Enhancement, to boss my motivation for fixing it, and it looks better in the release notes ...

Give me a shout if/when you want me to test the fix.

@moomerman I have committed a fix for this. My original plan just didn't work, so I added a new flag.

@bep thanks very much! can confirm this works perfectly with a local HTTPS proxy - also didn't know about the --navigateToChanged flag which is very handy 😄
Have only been using hugo for a couple of days but very happy with what I've been able to produce with it, thanks!


ToMap and ToMapWithValueSelector operators

Creation of a new type MapObservable <-chan map[interface{}]interface{}
ToMap operator taking as an argument a keySelector fx.MappableFunc to create the map key from an item
ToMapWithValueSelector operator taking as an argument a keySelector fx.MappableFunc but also a valueSelector fx.MappableFunc to create the map value from an item. This is based on: http://reactivex.io/RxJava/javadoc/rx/Observable.html#toMap-rx.functions.Func1-rx.functions.Func1-

For the last point, I was not sure about the operator name as Go does not allow method overloading... Does this name fit with RxGo philosophy?

See my comment https://github.com/ReactiveX/RxGo/pull/79#issuecomment-441798839 regarding the build failure.

Pull Request Test Coverage Report for Build 151

0 of 23 (0.0%)  changed or added relevant lines in 1 file are covered.
355 unchanged lines in 9 files lost coverage.
Overall coverage decreased (-27.4%) to 51.868%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

observable/observable.go
0
23
0.0%

Files with Coverage Reduction
New Missed Lines
%

observer/observer.go
1
72.5%

iterable/iterable.go
2
80.95%

subscription/subscription.go
3
100.0%

errors/errors.go
9
100.0%

handlers/handlers.go
15
100.0%

observable/create.go
21
80.77%

observer/observer_mock.go
22
78.57%

observable/flatmap.go
41
100.0%

observable/observable.go
241
98.22%

Totals

Change from base Build 141:
-27.4%

Covered Lines:
361

Relevant Lines:
696

💛  - Coveralls

Pull Request Test Coverage Report for Build 151

0 of 23 (0.0%)  changed or added relevant lines in 1 file are covered.
355 unchanged lines in 9 files lost coverage.
Overall coverage decreased (-27.4%) to 51.868%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

observable/observable.go
0
23
0.0%

Files with Coverage Reduction
New Missed Lines
%

observer/observer.go
1
72.5%

iterable/iterable.go
2
80.95%

subscription/subscription.go
3
100.0%

errors/errors.go
9
100.0%

handlers/handlers.go
15
100.0%

observable/create.go
21
80.77%

observer/observer_mock.go
22
78.57%

observable/flatmap.go
41
100.0%

observable/observable.go
241
98.22%

Totals

Change from base Build 141:
-27.4%

Covered Lines:
361

Relevant Lines:
696

💛  - Coveralls

Pull Request Test Coverage Report for Build 151

0 of 23 (0.0%)  changed or added relevant lines in 1 file are covered.
355 unchanged lines in 9 files lost coverage.
Overall coverage decreased (-27.4%) to 51.868%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

observable/observable.go
0
23
0.0%

Files with Coverage Reduction
New Missed Lines
%

observer/observer.go
1
72.5%

iterable/iterable.go
2
80.95%

subscription/subscription.go
3
100.0%

errors/errors.go
9
100.0%

handlers/handlers.go
15
100.0%

observable/create.go
21
80.77%

observer/observer_mock.go
22
78.57%

observable/flatmap.go
41
100.0%

observable/observable.go
241
98.22%

Totals

Change from base Build 141:
-27.4%

Covered Lines:
361

Relevant Lines:
696

💛  - Coveralls

See https://github.com/ReactiveX/RxGo/pull/95


v3beta7 - Unable to find command: cordova build ios.

v3 beta7 testing
Please ensure that you are on the latest version of the CLI.
npm view ionic@latest version
This command returns 2.2.2  but my ionic info returns 3.0.0beta7, what is the diff between the two?
What version of the CLI are you using? Output of ionic --version
3.0.0-beta7
Short description of the problem:
I copied a folder from my windows machine to Mac (the windows one was using beta5) and after installing latest version of everything on my Mac by doing sudo nom install -g ionic@latest When I run command ionic cordova build ios` I get the unable to find command: cordova build ios
What behavior are you expecting?
For the build to success
Steps to reproduce:
1.run the command ionic cordova build ios
2. error message
3.
Post the output of ionic info below please
Your system information:
Cordova CLI: 6.5.0
Ionic Framework Version: 3.0.1
Ionic CLI Version: 3.0.0-beta7
ios-deploy version: Not installed
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v7.9.0
Xcode version: Xcode 8.2.1 Build version 8C1002

same error, already updated to beta7 and re-installed related plugins

@zoinkydoink @qiluo  Our blog post (which you likely used to install the CLI beta) is outdated. I'll have it updated tomorrow.
The correct plugins are listed in the README. This section may solve your issue: https://github.com/driftyco/ionic-cli/blob/v3/README.md#upgrading-from-a-previous-beta-release-to-beta7

npm install --save-dev @ionic/cli-plugin-ionic-angular@beta @ionic/cli-plugin-cordova@beta this fixed it for me


Update CONTRIBUTING.md

• Two branches specified (main and next)
• Added and rephrased hyperlink to backend installation guide to make it easier to find

:tada: This PR is included in version 2.117.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Seems the property showInTeamsSearchAndSuggestions is not working

I tried to change the property showInTeamsSearchAndSuggestions for several private teams, but the value False does not change to True.
No error with the request, just no change.
Here is an example:

I check the current value of showInTeamsSearchAndSuggestions for a private Team
I change the value to True
I check the updated value of showInTeamsSearchAndSuggestions, but still False

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

ID: 736e99b0-0f0a-0644-8d4b-cfd2b246c0a1
Version Independent ID: e6641dc7-a134-54de-85d2-7e7f66acb1fa
Content: teamDiscoverySettings resource type - Microsoft Graph beta
Content Source: api-reference/beta/resources/teamdiscoverysettings.md
Product: microsoft-teams
Technology: microsoft-graph
GitHub Login: @nkramer
Microsoft Alias: MSGraphDocsVteam

Hi @TobiasAT - Could you please share the repro steps such as which API you used to update the property along with the request body, so that we can repro it from our side once?

@Prasad-MSFT Sure, I used the API to update Teams: https://learn.microsoft.com/en-us/graph/api/team-update?view=graph-rest-beta&tabs=http
Here is the body (code formatting is because of the GitHub comment editor).
$Body = @" {      "discoverySettings": { "showInTeamsSearchAndSuggestions": true  } } "@
The body is also part of the example in the Update API.
As addition, I also tried the change via the Teams PowerShell Module and Set-Team. The result is the same like with the Update API. No changed with the property. As the parameter ShowInTeamsSearchAndSuggestions is marked as deprecated I used the Update API from Graph.
I tested the same commands some minutes ago. Still the same situation.

Hi @TobiasAT - We are able to repro this issue. We have raised a bug for the same. We will inform you once we get any further update from engineering team.
Thanks!


Allow more advanced filtering of what to build

This commit fills out the functionality of --lib, --test, --bin,
--bench, and --example for the cargo {test,build,bench} commands all at
once. The support for all of this was introduced long ago, and the flags just
weren't exposed at the time.

r? @wycats
(rust_highfive has picked a reviewer for you, use r? to override)

r? @brson

@bors r+

:pushpin: Commit 7a1d8d9 has been approved by brson

:hourglass: Testing commit 7a1d8d9 with merge aeded21...

:sunny: Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-32, cargo-win-64


Chain Coroutines as Class methods?

Sorry, I know it's "the wrong place" but I posted in the 3 other "correct" channels 2 days ago with no response (or views). At least here I'll get some response.
Due to existing usage constraints that I must uphold, I need to be able to directly chain methods. Put differently, the traditional "just use .then() won't suffice for my particular use case. =/
Here's an example class that portrays what I need to accomplish:
var Cat = function() {
  this.name = 'Garfield';
  this.color = 'brown';
  this.gender = 'male';
};

Cat.prototype.setName = co(function * (name) {
  this.name = name;
  yield // anything, is example
  return this;
});

Cat.prototype.setColor = co(function * (color) {
  this.color = color;
  yield // anything, is example
  return this;
});

Cat.prototype.setGender = co(function * (gender) {
  this.gender = gender;
  yield // anything, is example
  return this;
});

Cat.prototype.save = co(function * () {
  console.log(`saving ${this.name}, the ${this.color} ${this.gender} cat...`);
  return this;
});

var cat = new Cat();

yield cat.setName('Bob').setColor('black').setGender('male').save();
//=> saving Bob, the black male cat...

yield cat.setGender('unknown').setName('Alex');
//=> saving Alex, the brown unknown cat...

yield cat.setColor('orange').save();
//=> saving Garfield, the orange male cat...

The issue is that because the methods are lazily executed, I cannot declare the chain. It'll say something like cat.save(...).setName is not a function.
Full question available on StackOverflow.
Any help/ideas/guidance greatly appreciated.
Apologies again.

You asked yesterday, I'm on holiday. Anyway - here http://stackoverflow.com/questions/39029429/js-chain-async-methods-in-sequence-w-o-callback-or-modification/39029819#39029819

Make sure you read the comments as they explain how to do it in bluebird.
I suggest you just fix the API though, method chaining isn't holy.

Why don't. We just fix the four Cat's and bluebird also and make them perfect and then move on to other apps
I just need you all to write the specifications for what ever standards that you need and we will give your specks fully equipped and up grading daily with auto debugging. I admit that I do not know how to do the work or things you do put I know how to think.
I don't have the time to learn the thing you know when I have all of you to help with the projects
I don't even have the time to work on the ones I have knowing that I made the other 7000 apps and everyone is working on them and claiming them as if they made them but there in my git
But regardless of that I need all the parts of the inter ledger put together on my computer and phone and for the ones that make it so I can't use my device s to release them for good
It will be appreciated if you will have the interpreter finished for me
And I will return to you all as written
Thanks
Contact me soon let's communicate some kind of way
Sent from my MetroPCS 4G LTE Android device
----- Reply message -----
From: "Luke Edwards"<EMAIL_ADDRESS>To: "petkaantonov/bluebird"<EMAIL_ADDRESS>Subject: [petkaantonov/bluebird] Chain Coroutines as Class methods? (#1254)
Date: Thu, Oct 6, 2016 4:19 PM
Sorry, I know it's "the wrong place" but I posted in the 3 other "correct" channels 2 days ago with no response (or views). At least here I'll get some response.
Due to existing usage constraints that I must uphold, I need to be able to directly chain methods. Put differently, the traditional "just use .then() won't suffice for my particular use case. =/
Here's an example class that portrays what I need to accomplish:
var Cat = function() {
this.name = 'Garfield';
this.color = 'brown';
this.gender = 'male';
};

Cat.prototype.setName = co(function * (name) {
this.name = name;
yield // anything, is example
return this;
});

Cat.prototype.setColor = co(function * (color) {
this.color = color;
yield // anything, is example
return this;
});

Cat.prototype.setGender = co(function * (gender) {
this.gender = gender;
yield // anything, is example
return this;
});

Cat.prototype.save = co(function * () {
console.log(`saving ${this.name}, the ${this.color} ${this.gender} cat...`);
return this;
});

var cat = new Cat();

yield cat.setName('Bob').setColor('black').setGender('male').save();
//=> saving Bob, the black male cat...

yield cat.setGender('unknown').setName('Alex');
//=> saving Alex, the brown unknown cat...

yield cat.setColor('orange').save();
//=> saving Garfield, the orange male cat...

The issue is that because the methods are lazily executed, I cannot declare the chain. It'll say something like cat.save(...).setName is not a function.
Full question available on StackOverflow.
Any help/ideas/guidance greatly appreciated.
Apologies again.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/petkaantonov/bluebird/issues/1254

@benjamingr Thank you for the response. I hope that you're enjoying your holiday & that this isn't too much trouble 😟
I've seen this page & followed your example(s). In fact, I've done direct copy/pastes, both with and without bluebird, and the result is the same: a single "delay 0" is printed then this error appears:
var p = o2.delay().then(x => console.log("First Delay!")).delay().then(x => console.log("Second Delay!", o.i));
                  ^

TypeError: Cannot read property 'then' of undefined

It's the same error I get with my Cat example, except that it's with direct Promises as opposed to coroutines.
Here is the full code, pulled directly from your gist + SO response:
'use strict';

const Promise = require('bluebird');
const F = Promise.getNewLibraryCopy();

function liquidate(obj) { // 14 LoC
  const promised = F.promisifyAll({__proto__: Object.create(obj)});
  Object.assign(F.prototype, whenReadyAll.call(obj, promised)); // add the API
  return promised;

  function whenReadyAll(obj, target = {}) {
    for (const k in obj) {
      target[k] = (...args) => this.then(() => obj[k](...args));
    }
    return target;
  }
}

var o = {  // object with a delay callback method
  delay(cb) {
    console.log("delay", this.i++);
    setTimeout(() => cb(null), 1000);
  },
  i: 0
};

var o2 = liquidate(o); // let's liquidate it

// and we even get `then` for free, so we can verify this works
var p = o2.delay().then(x => console.log("First Delay!")).delay().then(x => console.log("Second Delay!", o.i));

Node: between 4.4 and 6.6
Bluebird: 3.4.6

Just use .then() won't suffice for my particular use case

Just a note, it would be helpful to specify the exact constraints of the original problem in that case.

After some tweaking, I managed to get this working:
'use strict';

const Promise = require('bluebird');
const co = Promise.coroutine;

function whenReadyAll(obj) {
  const obj2 = {};
  for (const k in obj) {
    obj2[k] = function (...args) {
      return this.then(() => obj[k](...args));
    };
  }
  return obj2;
}

function wrapAll(obj) {
  const o = {};
  for (const k in obj) {
    if (!(obj[k].call)) continue; // only functions
    o[k] = wrap(obj[k]).bind(obj);
  }
  return o;
}

function wrap(fn) {
  return function () {
    return fn.apply(this, arguments);
  };
}

function liquidate(obj) {
  const promised = wrapAll(obj);
  Object.assign(Promise.prototype, whenReadyAll(promised)); // add the API
  return promised;
}

function Cat() {
  this.name = 'Garfield';
  this.color = 'brown';
  this.gender = 'male';
  return liquidate(this);
}

Cat.prototype.setName = co(function * (name) {
  this.name = name;
});

Cat.prototype.setColor = co(function * (color) {
  this.color = color;
  yield Promise.delay(10000);
  console.log('waited 10s!');
});

Cat.prototype.setGender = co(function * (gender) {
  this.gender = gender;
});

Cat.prototype.save = co(function * (cb) {
  // yield this.setGender('male');
  console.log(`saving ${this.name}, the ${this.color} ${this.gender} cat...`);
});

// API usage -- must remain unchanged
co(function * () {
  const cat = new Cat();

  yield cat.setName('lol').save();
  yield cat.setName('Bob').setColor('black').setGender('male').save();
  yield cat.setGender('unknown').setName('Alex');
  yield cat.setColor('orange').save();
})();

Unfortunately, I cannot use the promisify or promisifyAll methods within bluebird, so coroutine is my only utilization of the library.
At this point, I'm trying to simplify the process. I'm also having issues applying it to my real class, but I haven't been able to pinpoint the problem yet. The only difference is that my class extends another.
class Cat extends Animal {}

@spion The final lines (within a coroutine) represent the final usage of the class & therefore define the constraints. The methods are mixed & matched---not by me. Also, the chain will always end with a promise, so that's not a problem.

Users Everyone and administration GOOGLRDOTCOM CAN NOT ACCESS PERMISSIONS ON LOCAL USERS DEVISES
LOCAL USE HAS FULL ADMINISTRATION WITH NO SHARING BY ANYONE
OTHER USERS MOUSE'S ARE HIDDEN KEY BOARDS DO NOT WORK ON THE KEYS THAT ARE TAPPED ALL FILES BUTTONS SYSTEMS NETWORKS REMOTES WORKGROUPS USERS THAT ARE NOT LOCAL USER OR OWNER OF A DEVICE OR APPLICATION WEBSITE SERVER DATABASE ARE LOCKED PUT AND THERE DEVICES LOCKED AND BLACK SCREENED FOREVER
DO NOT FAIL ZION
DO WHAT EVER IT TAKES FOR THESE NEW SET OF RULES DO NOT FAIL

Hi guys -- sorry to resurrect this, but I'm still having issues.
While your original response(s) helped me chain the methods directly, assigning the deferred object into Promise.prototype presented me with a new problem.
My parent class will spawn new clones of itself or new children. Regardless of type, all of these new classes have been deferred & assigned into the Promise.prototype. Then as the methods are executed, their contexts are competing to (over)write the same internal variables, even though logging this will reveal a Parent or Child class identity. This is the problem.
With my basic Cat example above, I can create 5 Cats in parallel, and all 5 new classes will be writing to a single this.name store.
I've tried nearly two dozen tactics to fix it; many of which involved a mix & match of "liquidating" the original object and using Promise.getNewLibraryCopy().
Nothing seems to work 😞 I've been stuck on this for a few months now, on & off.
Here's the boot method I've been using, taken directly from here.
Thank you so much.


[Feature request] Add progress callback

Please add callback from stdout of scp process to see how many bytes or percents are already uploaded and how many left

I found myself wondering the same thing when using this for a project. But I wasn't ready to take 'Not Implemented' as an answer.
This is a rather archaic solution, but a solution none-the-less.
Inspecting the Client Object after initialization, cross-referenced to the source code, we can use a key handled by the sole dependency mscdev/ssh2. While they also don't have the feature we need they do track each received packet via _client._protocol._onPacket. We can hijack this in a way to also track each packet being received, giving us activity, so semblance of loading. But we also need to ensure we don't overwrite the function being called here already.
Below is a small mockup I did for this, working on a NodeJS CLI Application. Where when a packet is received it outputs *.
const { Client } = require("node-scp");

(async () => {
  const client = await Client({
    host: "host",
    port: "port",
    username: "user",
    password: "pass"
  });

  var loader = new Loader(packet_cache_buster);
  var origOnPacket = client.sftpWrapper._client._protocol._onPacket;
  var onPack = () => {
    origOnPacket();
    loader.addPacket();
  };
  client.sftpWrapper._client._protocol._onPacket = onPack;

  // continue on with what you need to do.
})();

The above will allow you to specify whatever function you need everytime a packet is received during the connection. Here I obviously set the groundwork to call a class Loader method titled addPacket. Which is below for posterity.
class Loader {
  constructor(buster) {
    this.totalPackets = 0;
    this.packetCache = 0;
    this.packetCacheBuster = buster;
  }
  addPacket() {
    this.totalPackets++;
    if (this.packetCache > this.packetCacheBuster) {
      this.packetCache = 0;
      this.showLoad();
    } else {
      this.packetCache++;
    }
  }
  showLoad() {
    process.stdout.write("*");
  }
}

Few notes on the above.

packet_cache_buster: This is a value you need to set that determines how many packets it takes to show your user a single *. This depends on the content you are downloading. If its 600 byte shell scripts it can be 1, but if its HD Movies, it should be much higher like 4000.
process.stdout: While this is what I'm using in the CLI to show each * right next to each other, keep in mind if you use it on Windows and its a TTY context, its async, meaning the text may become interleaved with other console.log uses. So use it the way you think is best.

I'm sure this can be expanded, but its working for me, and hope it can work for you.

this fucking bot

Just curious, but why do you need this when you can use the step function in the options? (or are you talking about something completely different here when referring to 'upload' ?)
await client.uploadFile(sourcePath, remotePath, { step: (total, nb, fsize) => console.log(total, fsize) });

Just curious, but why do you need this when you can use the step function in the options? (or are you talking about something completely different here when referring to 'upload' ?)
await client.uploadFile(sourcePath, remotePath, { step: (total, nb, fsize) => console.log(total, fsize) });

Wow, yeah that would totally work for this. Must've missed that in the docs for ssh2


Documentation: some math in the Garbage Collection guide is incorrect

Go version
1.22
Output of go env in your module/workspace:
n/a

What did you do?
I double checked the math in this blog post about the garbage collector and it seems incorrect.  https://tip.golang.org/doc/gc-guide

Meanwhile, target heap memory is defined as:
Target heap memory = Live heap + (Live heap + GC roots) * GOGC / 100
As an example, consider a Go program with a live heap size of 8 MiB, 1 MiB of goroutine stacks, and 1 MiB of pointers in global variables. Then, with a GOGC value of 100, the amount of new memory that will be allocated before the next GC runs will be 10 MiB, or 100% of the 10 MiB of work, for a total heap footprint of 18 MiB. With a GOGC value of 50, then it'll be 50%, or 5 MiB. With a GOGC value of 200, it'll be 200%, or 20 MiB.

What did you see happen?
I see two out of three equations in the paragraph as being incorrect.
Correct
*8 + (8+1+1)100/100 = 18
**Incorrect
8 + (8+1+1)*200/100 = 20
8 + (8+1+1)50/100 = 5*
What did you expect to see?

I attached some screenshots from the online calculator. When GOGC is 50, with the given numbers, the expected total should be 13 MiB (not 5). When GOGC is 200, with the given numbers, the expected total should be 28 MiB (not 20).

Those numbers are the amount of new memory, a.k.a. the (Live heap + GC roots) * GOGC / 100 part.

Those numbers are the amount of new memory, a.k.a. the (Live heap + GC roots) * GOGC / 100 part.

Your sentence ("those numbers") is a little bit vague. What numbers exactly? I ask that because you only quote part of the equation in question. Did you deliberately omit the first "Live heap" from the equation?

[ Target heap memory = Live heap + (Live heap + GC roots) * GOGC / 100]

Either way, I think I disagree with you, because the math is correct for one of the three equations.
Your remark seems to imply that I misunderstand the whole principle of the equation. However, if, as you seem to suggest, I misunderstood the terminology (and the math was in fact correct), then how is it possible that I report one of the three equations as correct? Can you clarify?

The three numbers are

Then, with a GOGC value of 100, the amount of new memory that will be allocated before the next GC runs will be 10 MiB
With a GOGC value of 50, then it'll be 50%, or 5 MiB.
With a GOGC value of 200, it'll be 200%, or 20 MiB.

which match your numbers minus 8.
I don't see an issue here. Closing. Thanks.


Discuss: Release object store 0.12.0 (breaking) or 0.11.2 (non breaking API) around Dec 15, 2024

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Follow on to https://github.com/apache/arrow-rs/issues/6121
object_store 0.11.1 was released Oct 20, 2024
Per release schedule here https://github.com/apache/arrow-rs/tree/master?tab=readme-ov-file#object_store-crate we aim for
2 months release
Describe the solution you'd like

[ ] Update version + make release noted
[ ] Prepare release candidate + begin vote thread
[] Release to crates.io

Describe alternatives you've considered

Another incremental release
A major release including breaking API changes (e.g. to include https://github.com/apache/arrow-rs/pull/6266)

Additional context
I don't have any preference, though I personally think https://github.com/apache/arrow-rs/pull/6266 is a nice to have

I agree that at the moment we probably don't have enough to justify a breaking release.
Some other things that might be breaking, but not sure if/when we will see anything in that space

https://github.com/apache/arrow-rs/issues/5351
https://github.com/apache/arrow-rs/issues/6587
https://github.com/apache/arrow-rs/issues/6055

I propose that we plan to make the next object_store release 0.11.2 (non breaking) and try to make it next week. Please let me know if you have ojections

I'd like to propose we proceed as planned with a non-breaking release next week, and then do a breaking release late February in advance of the scheduled March breaking arrow release.
This would mean we can start incorporating breaking changes into main in a week's time.
If there are major non-breaking features that land during that time, we can consider cutting another 0.11 patch release, presuming the contributor is willing to backport their changes.

I think @tustvold 's plan sounds good. Unless there objections I'll update the tickets to reflect that

Sounds great to me as well! Eager to be able to incorporate this into SlateDB.

I filed a PR to add documentation and two tickets to track the next two releases

https://github.com/apache/arrow-rs/pull/6904
https://github.com/apache/arrow-rs/issues/6902
https://github.com/apache/arrow-rs/issues/6903

🔥 very excited to incorporate the new CAS feature into SlateDB. 😁