Update link

Not 100% sure this is the right link, but there is a faq at the new link, and there is nothing at the old link

Thanks!


Black screen on Windows 8.1 target

Hi,
I followed one of the tutorials to create a simple FreshTabbedNavigationContainer example.
This works OK on the windows phone emulator, but on the project that targets Windows 8.1 I only get a black screen. (no errors, just an empty black screen)
Any ideas?
Thanks

Can someone please confirm if this is expected behaviour?
Does FreshMvvm perhaps not support the Windows 8.1 platform and should I look at another framework instead?

FreshMvvm is reliant on Xamarin.Forms for display, I'm not sure of the exact issue but it's likely something with your setup and Xamarin.Forms.

Well, the strange thing is that the regular Win 8.1 app ("welcome to Xamarin forms") was working fine. When I changed it to FreshMvvm, the other app platforms worked but this Win 8.1 app shows a black screen.
I actually started from scratch twice now with a new Xamarin forms app, added FreshMvvm, and the same thing happened.
I did not change a single line of code in the Windows 8.1 app. I only changed this line in the portable app:
        MainPage = new App.MainPage();

and replaced it with this:
        var mainPage = new FreshMvvm.FreshTabbedNavigationContainer();

        mainPage.AddTab<TabOnePageModel>("Hello", null);
        mainPage.AddTab<TabTwoPageModel>("unicorn!", null);
        MainPage = mainPage;

Should be very easy to reproduce, I managed to get this same result 3 times now from a brand new project.
Perhaps there is another code change required somewhere in my project to make it work for Windows?
As soon as I take out the FreshMvvm pages and use the regular MainPage, the screen is displayed without any problems.

Was there ever a resolution to this Issie with 8.1?

Not to my knowledge.


Make sure edge-id / time lists are same length?

Leaving open what exactly may be going on (are beginning/ending "virtual edges" lost because they have the same internal edge number? were "logical" edges without a stable edge id lost if two of them came in direct succession?), we now use the same exact logic for "starting a new value" in either list (time vs. stable-id), so the off-by-one-error should be gone?

Awesome, thanks Michael! This seems like a good "stop-gap" fix for now. And just to sanity check, I added an additional check to our CI's functional test to ensure these lists - I forced a manual run of it off of this branch, and it looks like it passed! https://github.com/replicahq/graphhopper/actions/runs/1947521255


IntegrationTest , testcase : Export002 - Export events/readings to MQTT Server

Hi @cloudxxx8 , @weichou1229 , @cherrycl ,
In integration test, for the test case: Export002 - Export events/readings to MQTT Server, in the script , export_data_to_backend.robot,
I found an alternative to read the app-mqtt-export log by replacing the docker log command with an approach to read my app-mqtt-export log for manual deploying of services.
But I am getting stuck with a step in this test case, where it says the following,
And Found "Sent data to MQTT Broker" in service "app-mqtt-export" log
In my app-mqtt-export log, there is no such keyword and so, its failing.
Please let me know if you have any suggestions. Thanks in advance.

Close this issue due to no activity. If you have further question, please file questions on Github Discussions (https://github.com/orgs/edgexfoundry/discussions). Thank you.


Don't show edit household option unless user has edit household permissions.

Api requests are failing because users lack view people or Edit Household permissions.  They shouldn't be able to get to the edit household functionality.  Need a client-side check here.

The check was there, but eventually null was passed instead of the expected undefined
https://github.com/LiveChurchSolutions/ChumsApp/commit/6a54e42062405fe250a9c84464020c5cd514af90


Added samw430 to contributors list

Added myself to contributors list

@samw430, I'm quite elated about your pull request. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a pull request and learned that I merged it?
We’ve recently added Facebook share and tweet feature to our web app. Could you please go to https://roshanjossey.github.io/first-contributions/#social-share and share your first contribution to open source?
Also, check out projects with easy issues while you’re there.

I actually just started trying to contribute.  I just finished my Data Structures class and wanted to contribute to an open source project.  I have actually still only contributed to this.  I think the issue I am currently facing is understanding how one goes about resolving issues in repositories.  It is unclear how much I need to read through all of the code involved in a project and how long I should spend understanding how the project works before actually editing anything.  I think the main thing inhibiting this is that I don't have a full understanding of how the average directory structure for a project works.

@samw430, I'd urge you to start with bugs. Try to reproduce bugs, find what is causing it. Fix that.
We also have a slack team to help/mentor people trying to contribute to open source projects.
You can join the team by going to https://firstcontributions.herokuapp.com

I just joined the slack team and I will try out reproducing some bugs on various repositories that you suggested.


updates as per open grants readme

Fixes #396

Aligned TOC for both programs
easier language
specifications and emphasis on common issues
fancy social icons

Thanks!


Change message payload type to uppercase for mobile view

Description
On the Landing page message payload type text is capitalized for mobile view. Change the text to uppercase for mobile view.
Linked to: #80
Expected behaviour

Actual behaviour

Resolved


Fix imports that fail under Cython 3.0 in language_level=3 mode

The release of Cython 3.0 on July 27, 2023 broke the build for this package by introducing breaking changes. This PR addresses those changes and fixes a few imports that no longer work with Cython 3.0. These changes are also backwards compatible for people who decide to build this package using older versions of Cython. This is an alternative proposal to PR #4 which suggests bounding the Cython dependency.
This addresses issue #3 in this repository, as well as a few issues found in other repos that depend on this package.
https://github.com/ing-bank/sparse_dot_topn/issues/84
https://github.com/Bergvca/string_grouper/issues/93
Short term workaround for people who need to build this package now:
pip install cython<3 numpy wheel
pip install sparse_dot_topn_for_blocks --no-build-isolation

Also just because I was curious, if you really didn't want to change the imports and wanted everything to go back to the way it was without pinning the version, you can configure Cython to go back to the old behavior. You have to add Cython to the build-system requires in pyproject.toml, add from Cython.Build import cythonize to setup.py, and then change line 95 to ext_modules=cythonize([array_wrappers_ext, original_ext, threaded_ext], language_level='2'),.

Any idea when this can go in?

Could please anyone from maintainers look at this PR? This is a blocking issue for many other projects.
@ymwdalex @ParticularMiner

I found another workaround here:
echo "Cython==0.29.35" >> constraints.txt
export PIP_CONSTRAINT="$(pwd)/constraints.txt"

or you can add a link to constraints.txt to your requirements.txt:
--constraint constraints.txt
anyio==3.6.1
...

In both cases, the constraint is applied for dependent packages of packages used in requirements.txt

Can someone please look into this?

Since this breaks a few things, and there's a pending update that would fix this issue, would this be ripe for a PEP-541 request?

It's obvious that @ParticularMiner has long since abandoned sparse_dot_topn_for_blocks.  Would be useful if someone able to maintain it could fork it and publish a new version incorporating @pwschaedler's fix.


Vim LSP Support

Hello,
It would be helpful if there was some sort of documentation on how to get this to work with native vim-lsp.

Since you stated native lsp ? are talking about noevim?
I don't think if vim itself provides native lsp support.
anyway language server lives in server directory and you can use that like this in your lsp client:
node <path to vim-rescript>/server/out/server.js --stdio

see https://github.com/williamboman/nvim-lsp-installer

duplicated? #20


Include color components from Accessibility Developer Tools.

Copied from https://github.com/GoogleChrome/accessibility-developer-tools/blob/master/src/js/Color.js
Use ES6 syntax and module pattern
Pare down public API
Add test coverage

The implementation is nearly the same as @alice's original in Accessibility
Developer Tools, except that we're now using ES6 syntax and modules and a
tighter public API.
[closes #1]

@alice PTAL. I haven't tried pulling this into the Accessibility Developer Tools yet, but the tests are passing using the API I think we want.

This is super rad. Do we need to add any attribution to the license since this uses code from ADT?

Do we need to add any attribution to the license since this uses code from ADT?

@alice can you comment on that?

I believe the answer is "Add an AUTHORS file which lists Google Inc.", but I'll double check.

Friendly lawyercat says "Check the commit history on color.js- add all authors (including non-Googlers) who ever touched the file to your AUTHORS, and preserve the headers."

Oh, but for my authorship you need only say "Google Inc.".

Sorry for being so slow on this! Looking now and trying to get my head around ES6 syntax. How do I run the tests?

I think you can just run gulp. If not try npm test.
On 09/23, Alice wrote:

Sorry for being so slow on this! Looking now and trying to get my head around ES6 syntax. How do I run the tests?

Reply to this email directly or view it on GitHub:
https://github.com/A11yance/a11y-core/pull/3#issuecomment-142701995

@alice I added an AUTHORS file and squashed the commits. Can you please take another look?

Ok I had to think about this for a year, but this LGTM, let's do it 😀


Updates to Sorting and Params

added params and hash methods for sorting

@Samsinite changes are up

Ping me if you wan to merge this or wait until Sam gets back

Tests are failing


Icons for C++20 module files doent work

C++20 introduced modules and different compilers have different file extensions:
MSVC: .ixx
Clang: .cppm .cxxm .ccm
GCC: .mpp
It would be nice to at least recognize files with these extensions as C++ files and add appropriate icons

This repository relies on contributions from users. PR adding those extensions will be welcomed.


Update Rubinius download location to use https://

The Rubinius folk updated their download links to use https://, so let's match that now.

Thanks! It seems like they use the same download locations officially from their blog. I hope in the future they add a redirect from their own domain.


Refactor key generation logic in hail and seqr

To be unique from 2023-01-01.
I love copilot's suggestion for the comment: Later Michael here, I've changed my mind.

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

:exclamation: No coverage uploaded for pull request base (main@43a03c7). Click here to learn what that means.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #184   +/-   ##
=======================================
  Coverage        ?   88.04%
=======================================
  Files           ?        4
  Lines           ?      393
  Branches        ?        0
=======================================
  Hits            ?      346
  Misses          ?       47
  Partials        ?        0

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


list.sh: improve arg parsing, support brew ls

Apply list.sh optimisation to brew ls
Use getopts for parsing to support combined shorthand options (e.g. brew list -1r now works in the fast path)

One edge case this does incorrectly allow is brew ls -r-formula. Not sure if it's worth our time handling that though (if it's even possible).


Feature request: Add indexer stake information to indexer-cli status output

When running indexer-cli status, display all relevant values from the subgraph on the Indexer to make it easier for the operator to see how much available stake can be allocated, etc

@chriswessels Hi is this useful only for CLI and is there a higher order goal you want to achieve by seeing the stake?  Is browser view useful as well in some cases versus just CLI


Fix the url in the publishRest.assets method

This has apparently been broken for a while. The api/ prefix is no longer required. This will fix the download button for assets in the file browser.

There's no way to test this on the deploy preview, since in the API there's no assets in any of the dandisets, correct?

There's no way to test this on the deploy preview, since in the API there's no assets in any of the dandisets, correct?

@AlmightyYakob The draft of dandiset 000001 has some assets. I can't link to it since the toggle has to be on when the page loads, but you can navigate to it manually.

@AlmightyYakob The draft of dandiset 000001 has some assets. I can't link to it since the toggle has to be on when the page loads, but you can navigate to it manually.


getVideoPlayerOptions

Description
This lifts the player options logic from Next Cloudinary, which should basically reflect Nuxt and Svelte.
This allows us to maintain a single set of configuration options for the player that will support each framework that creates a similar CldVideoPlayer component.
It would work as such:
const playerOptions = getVideoPlayerOptions(props, config);
videoPlayer(videoRef.current, playerOptions);

You can see some examples inside of the tests.
As of now, I left out className and id as returned options as the function's intent is to return "player options", which would be invalid values for the player. This in come cases could cause unintentional side effects, so opting to not return those.
A potential solution would be to return an object, with player options as a property, but i'm leaning towards it being an unintuitive return shape given the name of the function. Open to thoughts on this.
As far as where this module is located, I opted to include it in /url-loader with the idea being that the family of component support functions could live under that package and in a future major release, we could rename it to something more appropriate for all. I'm open to other ideas / suggestions on this.
Issue Ticket Number
Fixes #155

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Fix or improve the documentation
[ ] This change requires a documentation update

Checklist

[ ] I have followed the contributing guidelines of this project as mentioned in CONTRIBUTING.md
[ ] I have created an issue ticket for this PR
[ ] I have checked to ensure there aren't other open Pull Requests for the same update/change?
[ ] I have performed a self-review of my own code
[ ] I have run tests locally to ensure they all pass
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes needed to the documentation

videoRef.current

Is this the DOM element?

@ghostdevv yeah, i was trying to think of how to show an example with a reference without it being confusing but couldn't think of one. now that im thinking again i coulda just done like document.querySelector('#player') or something, but i dont think any of us do that anyways 🤷

Awesome - I have just enough knowledge of React to see what you were getting at 😂


Caching Issue in Xamarin.Forms UWP app

I am encountering a caching issue in a (super simple) Xamarin.Forms UWP app.
I am navigating to a page containing only one XAML element:
<ffimageloading:CachedImage x:Name="img"/>
In the OnNavigatedTo event I am loading a Image resided in my LocalState path:
protected override void OnAppearing()
{
	base.OnAppearing();

        var basePath = FileSystem.Current.LocalStorage.Path;
        img.Source = Path.Combine(basePath, "test.jpg");
}

This is working fine the first time (when the file is loaded from the disk) but randomly failing every time the page is navigated to another time - the "success" event is raised, but the image is not displayed.
Trying a few more times makes the image appear again, but I can't find any pattern when the loading fails.
When I clear the cache before I load the image this problem doesn't occur:
ImageService.Instance.InvalidateCacheAsync(FFImageLoading.Cache.CacheType.All);

Thanks for the feedback.
Could you please try with the latest prerelease nuget?

Thank you for your response!
I tried with the version 2.1.4-pre85, the problem persists.

Thanks for the feedback.
Could you upload a sample so we look at it?

Sample Project: https://comtechit-my.sharepoint.com/personal/ss_comtech_at/_layouts/15/guestaccess.aspx?guestaccesstoken=3miBmAc66ls4LeO1%2Fa%2F%2BQeN2TyxbTznjFVh9SuoiiOk%3D&docid=1766d9f1f34e04ce4bd07cd2f8e51b4aa
You'll need a "test.jpg" file in the LocalState directory, so please put it there manually after you first launched the app.
I have noticed that the problem only seems to occur when the CachedImage is inside a StackLayout, sorry I forgot to mention this in my initial post.

@stefffdev Many thanks for the sample, it's highly appreciated!
@daniel-luberda Could you have a look at it? I cannot play with WP unfortunately :(

I'll look at it by the weekend.

It's because of this: https://bugzilla.xamarin.com/show_bug.cgi?id=41087
As you see that method is not available in current stable Xamarin.Forms for Windows. If I include it, it will make Windows package not compatible with older Xamarin.Forms versions.

I fixed it with a hack. Good news it works for older (stable) Forms versions. Bad news, it uses reflection, but it's not called very often, so performance hit is not important. Nugets soon. That was a tricky one.

Prerelease NuGet package containing the fix released. Could you test it?

With the current prerelease nuget everything works as expected.
Good Job!


VB not changing states when opening a VM

i did everything correctly and its not really changing the state.

Could you send some more information? Did it log any errors?

bump, same issue

unfortunately, I can't really continue active development on this as my new Mac M1 does not work the same in regards to the vbox api. If any of you could figure out the bug/solution, you are welcome to do so, but unfortunately on my end this project is sort of archived.

I'm having the same issue. Might look into it at some point


Update release workflow

what

Update release workflow

why

Fix release worklflow

references

https://github.com/cloudposse/terraform-aws-ecs-cloudwatch-autoscaling/actions/runs/9779159276

/terratest


Add get mount id to worker master rpc

What changes are proposed in this pull request?
Add get mount id to worker master rpc
Why are the changes needed?
support get mount id from worker
Does this PR introduce any user facing changes?
na

alluxio-bot, merge this please


Exclude test suites from fetching changed tests

What this PR does / why we need it:
Related to the previous grep exit code 123 problem there exists another corner case
when a suite file has been changed, that actually does not contain tests
but was counted as a test that changed. This is now excluded.
Also minor refactorings:

reusing the existing NEW_TESTS instead of again finding all tests files
replacing the word count with a count in grep

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
/cc @danielBelenky FYI, your PR fails the lane check-tests-for-flakes due to the changes in the test suite file.
Release note:

NONE

/lgtm

/retest

/approve
failing tests are flaky and unrelated.


Minor typo fix (scripts/install.sh)

https://github.com/InterDigitalInc/CompressAI-Vision/blob/4be85ab0cdff610a1d1ab9e21413efa6bf9f95a3/scripts/install.sh#L12
recommendation: weigths -> weights

should be fixed by a78cdb3


Container selector won't work if colorpicker target is an input

Description
I tried to user to use container selector setting but not work, the color picker still appears on the end of the body.

Context

bootstrap-colorpicker version: 3.2.0
bootstrap version: 4.3.1
jQuery version: 3.4.1
Browser name and version: Chrome Version 86.0.4240.183 (Official Build) (x86_64)
Operative System name an version: MacOS 10.15.7

Expected behavior
The color picker should be appear inside the container
Actual behavior
Color picker still appears on the end of the body
Live Example
https://jsfiddle.net/jmh124po/

I can confirm that it doesn't work if the target is an input: https://jsfiddle.net/f1x359k2/


There is a white space between the contact-us and the navigation bar!

Here you can see there is white space between the contact-us and the navigation bar. Can I work on this issue? it might be helpful for this project, In the morning I'd directly send the pull request , I apologies for that !

Okay I'll assign you to this issue


Mistral v0.8 Workflow Upgrade Tool

This is an upgrade tool that parses 0.7 workflows and spits out 0.8 compatible workflows. This is for the users out there that we may not know about (HI! :wave:) that may be using Mistral, giving them a painless way to upgrade when the time comes.

Alright, this should be GTG for release. /cc @dzimine @lakshmi-kannan @DoriftoShoes


Check broken links with "remark"

It only checks for internal links :(
Issues opened here:

https://github.com/remarkjs/remark-validate-links/issues/19
https://github.com/remarkjs/remark-validate-links/issues/18

This might take care of the external links https://github.com/davidtheclark/remark-lint-no-dead-urls


Make sure component version is always present.

Ensure version presence in all scenarios.
Modify integration tests to also check for version.

LGTM. I will test the PR on the project component-operator-demo and will communicate the result

There is a problem as the version added corresponds to the pom version of the current project but not at all to the version of the Spring Boot application. @iocanel
Generated
---
apiVersion: "v1"
kind: "List"
items:
- apiVersion: "component.k8s.io/v1alpha1"
  kind: "Component"
  metadata:
    name: "fruit-client-sb"
  spec:
    runtime: spring-boot
    version: "0.0.1-SNAPSHOT"

Should be
---
apiVersion: "v1"
kind: "List"
items:
- apiVersion: "component.k8s.io/v1alpha1"
  kind: "Component"
  metadata:
    name: "fruit-client-sb"
  spec:
    runtime: spring-boot
    version: 1.5.19.RELEASE

@cmoulliard: I see, I didn't realize how its meant to be used.

@cmoulliard: it's should be fine now.


Update License struct and add new RepositoryLicense struct

Update structs to reflect the new reponses returned from GitHub.
Fixes #471

LGTM. Thanks for reporting and fixing this issue @nmiyake!

Great, thanks @shurcooL . Any ETA on when it might get merged?

As soon as @gmlewis or @willnorris or someone else reviews it and gives it a second LGTM.

Updated PR to address feedback (removed the _links field)


Q LORA or LORA implementation

Feature description
For finetuning existing text generation model, LORA and QLORA are popularly being used. Can we create pipelines for download models from Huggingface, then finetune the models using LORA or QLORA ?
Feature motivation
For text generation models, finetuning is preferred, rather than training from scratch. LORA or QLORA reduces the time required for finetuning by an order of magnitude.

We plan to host another repository to automate importing models. Currently we are working on burn-import to support more ONNX OPs. We plan to start with a few popular examples and gradually move to other pre-trained models.
The idea is that once you import your model, you can, in addition to inference, finetune or do additional complex training. That's the whole idea for burn-import.
At the beginning, we will support ONNX and other data formats, such as pth file format.
If you wish to contribute in such effort, we will happily assist you. burn-import has been cleaned up and ready for additional contribution.
@nathanielsimard if you have anything to add, please let us know.

Hi, just curious if any news since the last update was a while ago. Thank you!


Feature/175 ActiveAdmin console

Reverts OperationCode/operationcode_backend#246
Original PR https://github.com/OperationCode/operationcode_backend/pull/181

@nellshamrell - This commit: https://github.com/OperationCode/operationcode_backend/pull/247/commits/a6e76f81400bdf4102369e0505a67608afb7ba79 resolves the issue around a user being able to login.
I was able to reproduce the issue we experienced when this was live in prod.  I have tested it locally, and this commit resolves things.
Now all we need to figure out is the issue with the ports, so that we can visit https://operationcode.org/admin/login in prod.

This looks good, feel free to deploy at will, I'm working on the infrastructure for this now :)


Curious obeservation with T5 example and Apple Accelerate

When I enable accelerate on my M1 Max 64 system I got following results with a single rayon thread with multiple tries.
 cargo run --example t5 -- --model-id "t5-small" --prompt "translate to German: A beautiful candle." --decode
    Finished dev [unoptimized + debuginfo] target(s) in 0.14s
     Running `target/debug/examples/t5 --model-id t5-small --prompt 'translate to German: A beautiful candle.' --decode`
Running on CPU, to run on GPU, build this example with `--features cuda`
 Eine schöne Kerze.
9 tokens generated (56.03 token/s)

These are the results without accelerate
cargo run --example t5 -- --model-id "t5-small" --prompt "translate to German: A beautiful candle." --decode
    Blocking waiting for file lock on build directory
    Finished dev [unoptimized + debuginfo] target(s) in 2.18s
     Running `target/debug/examples/t5 --model-id t5-small --prompt 'translate to German: A beautiful candle.' --decode`
Running on CPU, to run on GPU, build this example with `--features cuda`
 Eine schöne Kerze.
9 tokens generated (0.82 token/s)

But as soon as I increase the prompt size, the speed drops down for accelerate. Same with amount of newly generated tokens are more than 5. It's fast in the beginning and then steeply drops down.
Any idea why ?

I don't think we have a kv cache in this model which may well explain this kind of things. This shouldn't be hard to add so we will add it soon

That makes sense. Thanks Laurent !

Just merged #873 that adds a KV cache on the decoding side of T5. I haven't tested it much but seems fine, hopefully this should speed things up!

Thanks ! I will check it out.
On Sun, 17 Sep 2023 at 12:33 PM, Laurent Mazare @.***>
wrote:

Just merged #873 https://github.com/huggingface/candle/pull/873 that
adds a KV cache on the decoding side of T5. I haven't tested it much but
seems fine, hopefully this should speed things up!
—
Reply to this email directly, view it on GitHub
https://github.com/huggingface/candle/issues/868#issuecomment-1722410396,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXGU4E5DUUQYLZJDXC72ZLX22OEXANCNFSM6AAAAAA42ZNAYA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Single threaded native implementation is giving 7.60 token/s where apple accelerate based single threaded implementation is giving 10.40 token/s generation speed.
Seems consistent to what we have seen before. Thank you Laurent. Closing this issue.

Is there any way one could accelerate prompt evaluation in T5 ? The inference slows down considerably for larger models.

Ah sorry to hear this, do you have a good example that reproduces the issue? That would make it easier to investigate.

First one is smaller prompt, which is translated into german at a rapid pace.
https://github.com/huggingface/candle/assets/3041904/42febc08-f721-4117-b4ac-3527147cf3f4
The second one is a bit (not much) larger prompt, which almost grinds to a halt in 3 sentences.
https://github.com/huggingface/candle/assets/3041904/fa570141-4b92-4149-be6d-951fce59147e
I have enabled apple accelerate here.

Could you make these copy and pastable so that I can run them on my computer?
Also just to check you're using the latest github version right? (there were some fixes to the t5 kv cache a week or two ago.
Finally do you have any comparisons with how this usually go on the python side, you wouldn't see such slowdown there?

This one is slow.
cargo run --release --example t5 -- --prompt "translate to German: Multiple sclerosis (MS) is the most common demyelinating disease,[8] in which the insulating covers of nerve cells in the brain and spinal cord are damaged.[3] This damage disrupts the ability of parts of the nervous system to transmit signals, resulting in a range of signs and symptoms, including physical, mental, and sometimes psychiatric problems.[1][9][10] Specific symptoms can include double vision, visual loss, muscle weakness, and trouble with sensation or coordination.[3][11][12] MS takes several forms, with new symptoms either occurring in isolated attacks (relapsing forms) or building up over time (progressive forms).[13][14] In the relapsing forms of MS, between attacks, symptoms may disappear completely, although some permanent neurological problems often remain, especially as the disease advances." --decode --model-id google/flan-t5-base
This one is fast.
cargo run --release --example t5 -- --prompt "translate to German: A beautiful candle that casts a large halo of yellow light." --decode --model-id google/flan-t5-base
This is the version I am using
`commit 06207332bc58e20680dd1925b7d90bac51f4f21c (HEAD -> main, origin/main, origin/HEAD)
Author: Laurent Mazare<EMAIL_ADDRESS>Date:   Sat Sep 30 16:04:11 2023 +0200
Streaming mode for reporting the generated tokens (#1007)

* Token streaming.

* Use the token output stream.

* Flush the output.

* Ensure that the last characters get reported.`

I have to double check with the Python version.

Thanks for the repro, I've confirmed that it properly runs with the cache and below is how the trace looks like on one of the slow processing steps (you can generate these with the --tracing flag).

75% of the time is spent in the attention cache doing the tensor concatenation there so copying memory around. I'm not sure how the python version works but maybe it only looks at a finite context which would make things faster - or maybe they have some other ways of getting around this. I'll have a look at the t5 code in transformers but if you have any insights on how t5 is suppose to handle this that would be very welcome.

Thanks Laurent. Can you give a quick tutorial on how to use tracing ?
I ran "cargo run --release --example t5 -- --prompt "translate to German: A
beautiful candle that casts a large halo of yellow light." --decode
--model-id google/flan-t5-base --tracing" and it gave me a trace file. How
do I visualise it similar to the image that you have attached ?
On Sun, Oct 1, 2023 at 12:35 PM Laurent Mazare @.***>
wrote:

Thanks for the repro, I've confirmed that it properly runs with the cache
and below is how the trace looks like on one of the slow processing steps
(you can generate these with the --tracing flag).
75% of the time is spent in the attention cache doing the tensor
concatenation there so copying memory around. I'm not sure how the python
version works but maybe it only looks at a finite context which would make
things faster - or maybe they have some other ways of getting around this.
I'll have a look at the t5 code in transformers but if you have any
insights on how t5 is suppose to handle this that would be very welcome.
[image: image]
https://user-images.githubusercontent.com/1041292/271813534-4349fcf8-2832-41a8-b4e4-4068f12193f2.png
—
Reply to this email directly, view it on GitHub
https://github.com/huggingface/candle/issues/868#issuecomment-1741984425,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXGU4ALXJ3XGLEJOIAUFILX5EIZ3ANCNFSM6AAAAAA42ZNAYA
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

You can view it with chrome in the performance tab from the dev tools, there should be an upload button that lets you select the file (sorry on mobile now so cannot send a screenshot).

Got it, thanks. This is super helpful. I will check T5 transformers
implementation and get back.
On Sun, Oct 1, 2023 at 12:51 PM Laurent Mazare @.***>
wrote:

You can view it with chrome in the performance tab
https://developer.chrome.com/docs/devtools/performance/ from the dev
tools, there should be an upload button that lets you select the file
(sorry on mobile now so cannot send a screenshot).
—
Reply to this email directly, view it on GitHub
https://github.com/huggingface/candle/issues/868#issuecomment-1741988138,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXGU4GMIGPAHM2FAFBSY3DX5EKZDANCNFSM6AAAAAA42ZNAYA
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

So we tried this newer kv_cache implementation with candle. Now text generation does not slow down at all, although now I have to check the hallucination.
So it was an issue with the concatenating nature of kv_cache.

@okpatil4u Where is that implementation of attention sinks ? Is opensource by any chance ?

We wrote it internally. Let me check if I can open source it.
The implementation is relatively easy though. Uber Programmers like you should be able to code it when you are sleeping.

Actually I think the slowness with the kv-cache was mostly a bug on my side (the giveaway was that this behavior did not happen on the python side, I should have checked it earlier). The fix in #1054 has been merged, hopefully inference should be much faster now and return the exact same results.

Thank you Laurent, T5 model is working exactly as intended with this fix. I am closing this issue.
But Quant T5 models are still slower than the base model for larger prompts. I am adding my observations in the other issue that I created.


why exports three name for a same method

In the index.js source code:
exports.tree =
exports.scene =
exports.deku = require('./application')

why exports three name for a same method? Is this a kind of design pattern?

That's just for backwards compatiblity with some of our old code. It'll eventually just become a single export :)

@anthonyshort thx : )


Support Helix and refx

Helix and refx could be used as an alternative to Reagent and Re-frame.

Splitting into separate issues.


EEPROM implementation contains needless use of macros.

There are some needless use of macros to implement the EEPROM functions.  Reduce the macro usage.

There are still a lot of macros, but the needless ones are removed in 0.14.0


Add impact tags on GitHub

It's easy to confuse priority and severity, because they both use Low/Medium/High/Critical.
We've been trying to follow the Rust issue labels and colours. Instead of bug severities, they have specific labels that describe the nature of the bug.
I suggest we start with these labels which are relevant to Zebra:
I-consensus :boom:
Zebra breaks a consensus rule (the worst kind of bug)
I-crash
Zebra crashes (without a panic)
I-internal-error
Zebra panics with an internal error message
I-hang
A Zebra component stops responding to requests
I-heavy
Problems with excessive memory, disk, or CPU usage
I-slow
Problems with performance or responsiveness
I-unbounded-growth
Zebra keeps using resources, without any limit
Here is Rust's list:
https://github.com/rust-lang/rust/labels?page=9&sort=name-asc
Originally posted by @teor2345 in https://github.com/ZcashFoundation/zebra/issues/1436#issuecomment-737645245

Rust also has some meta-tags, which I've left out for now:
I-needs-decision
Issues in need of decision
I-nominated
Issues nominated for discussion during a team meeting
I-prioritize
Issues that need prioritization

I added this tag to categorise unbounded growth, particularly in response to bad data from peers:
I-unbounded-growth
Zebra keeps using resources, without any limit

Rust also has some meta-tags, which I've left out for now:
I-needs-decision
Issues in need of decision

It might be nice to tag issues that we want to make a decision on as we see them but I'm not sure I would put this under impact, also I don't know that we have a problem keeping track of these. What does everyone else think?

I-nominated
Issues nominated for discussion during a team meeting

Similar to my comment above, unless we see we are losing track of issues someone wants to discuss during meetings and/or asynchronously, a lot of this comes up as part of the triage process.

I-prioritize
Issues that need prioritization

I don't think we need this last one as we already do prioritization as part of our triage

Done!

I think the needs-triage tag works well for us right now, we don't need to duplicate it under impact.


No show TV in HA[BUG]

Hi. I have a TV in app on Android LG ThinQ but in HA by ntegration TV is not show as entiti. WHy ?

This integration do not support LG TV. I don't have a LG TV, so I will not be able to integrate at all, unless someone analyzes the traffic and provides details on how it is possible to communicate with TV using ThinQ protocol.

Close this because invalid and no answer by 1 month


Key Vault icon missing

The icon for Key Vault appears to be missing from V1.

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

ID: 6624d44c-f9f6-02f8-2c67-0f0637fed62e
Version Independent ID: 9346a8ff-bab5-be2c-9dc1-d546fda1efa9
Content: Azure Icons - Azure Architecture Center
Content Source: docs/icons/index.md
Service: architecture-center
GitHub Login: @doodlemania2
Microsoft Alias: pnp

Thanks for reporting - this issue is under review.  This is a Microsoft Internal DevOps Bug ID AB#288819

@SvenAelterman  -- thanks to @t2kx -- we are going to try to track them all in one issue.  Closing.
Follow @ #2339


So who is this sprints merge master?

So we have a agreed on a merge master per sprint. But who? I just merged in your changes, does that mean I have made myself merge dude?
That was not my intention ...

Yes. Please do merges for October.
I will handle for November.
Agreed ?

I partially agree. Instead of having a merge master per month, could we say merge master per sprint? I will do it this sprint, you the next sprint.
It will work out more or less the same in practical terms, but I would prefer that we use the mindset "per sprint" instead of "per month". Is that cool with you?

Yes. I think that is not bad at all.
Merge master per spring then.
On Tue, Oct 11, 2016 at 2:50 AM, Lorenzo Cabrini<EMAIL_ADDRESS>wrote:

I partially agree. Instead of having a merge master per month, could we
say merge master per sprint? I will do it this sprint, you the next sprint.
It will work out more or less the same in practical terms, but I would
prefer that we use the mindset "per sprint" instead of "per month". Is that
cool with you?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/AluguntuguiProject/aluguntugui/issues/24#issuecomment-252797887,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJqWFty3aX-wM4efFIh91ySDZOAny8qks5qyvlygaJpZM4KOS4D
.

@lcabrini
I move to close the issue. Cool ?


Pacakges are not visible for the selected categories

PS: The categories sidebar on left must be dynamic.

Seems like permissions were not set properly. It works as of now.


(DRAFT) Api: Implementation of TextEncoder

Context

Description

Manually testing the PR

closing for remi@api/encoding


[CI] Fix the sonar check  that parameters are overwritten

(Please specify the module before the PR name: [core] ... or [flink] ...)
Purpose
(What is the purpose of the change, or the associated issue)
Tests
(List UT and IT cases to verify this change)
API and Format
(Does this change affect API or storage format)
Documentation
(Does this change introduce a new feature)

#https://github.com/sofastack/sofa-rpc/issues/15

This is a subtask of #836


Do the data recover in place instead of dumping the shell script

There could be multiple approaches:

still use dumpdata e loaddata internally, even if i don't know if loaddata can work from memory instead of a file
use dumpdata and something else to load the data back
just save backed up model instances to the other db but this looks painful with relations

This has been added in 2609923b30e9b3d1d99cd38545ee43fb27f5ad11


Detect and keep aliases that don't match the filename

I set up a query that effectively aliases the name. I wanted to display "Who is the Quantum Gardener?" instead of "Who is the Quantum Gardener". The problem arises because we can't have ? in filenames.
In my vault I use the title property for this so the query was:
<!-- QueryToSerialize: table without id link(file.name, default(title,file.name)) as Note, default(date(updated),date(datetime)) as Date from "notes" sort default(date(updated),date(datetime)) desc limit 50 -->
Native Dataview handles this properly and displayed "Who is the Quantum Gardener?" as an alias for "Who is the Quantum Gardener".  Hover over the link with the ? and the correct page displays.
In this plugin, the previous changes to remove the filename stripped out the alias completely. We assumed they were the same. So there was now a link to [[Who is the Quantum Gardener?]] instead of the expected `[[Who is the Quantum Gardener|Who is the Quantum Gardener?]]
This change now checks for a valid alias as one that does not match the filename. If it's valid, the replace is handled differently.

I've not changed the code for list because I can't get it to emulate the same behaviour. Within a list link(...) in dataview it returns quite a different beast. Items are displayed as list:alias. Serializer code does the same.
The output is [[Who is the Quantum Gardener]]: [[Who is the Quantum Gardener?]]
It's going to require a check for multiple square brackets and a colon to even determine if this extreme edge case exists.

Thanks! I'll release a new version with the change soon


Fix shut down kind cluster of operator e2e test

How to categorize this PR?

/area dev-productivity
/kind bug
What this PR does / why we need it:
At the end of make ci-e2e-kind-operator the script is trying to shut down the wrong kind cluster.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

NONE

Thanks!
/lgtm
/approve


'ionic cordova run android' removes dependencies from build.gradle on android platform

Hi,
I implemented a Notification Extender Service to manage icoming notifications when my app is killed, I need to store them in a database to retrieve their content when the user reopens the app. To store notifications I overwritten the onNotificationProcessing method of NotificationExtenderService class and through Room Persistence Library I store them in a SQLite database. In order to use Room Library I added the following lines to my build.gradle:
dependencies {
    implementation fileTree(dir: 'libs', include: '*.jar')
    // SUB-PROJECT DEPENDENCIES START
    implementation(project(path: ":CordovaLib"))
    compile "com.google.android.gms:play-services-base:11.0.4"
    compile "com.google.android.gms:play-services-ads:11.0.4"
    compile "com.facebook.android:facebook-android-sdk:4.+"
    compile "com.android.support:support-v4:24.1.1+"
    compile "com.onesignal:OneSignal:3.9.0"

    // I ADDED THE FOLLOWING TWO LINES
    implementation "android.arch.persistence.room:runtime:1.1.1"
    annotationProcessor "android.arch.persistence.room:compiler:1.1.1"

    // SUB-PROJECT DEPENDENCIES END
}

Now, if I run my application through Android Studio everything goes fine, but if I try to run 'ionic cordova run android' from command line the lines I added are deleted during the process and then I get missed room persistance library error.
What am I doing wrong? Thanks for your help
EDIT:
I did not read this comment:
/*
 * WARNING: Cordova Lib and platform scripts do management inside of this code here,
 * if you are adding the dependencies manually, do so outside the comments, otherwise
 * the Cordova tools will overwrite them
 */

Sorry

Could you please close this issue :) And btw, that has nothing to do with Ionic, that's Cordova ;)


fix(postgres): sqlx prepare fails if shared_preload_libraries=pg_stat_statements

closes #2622 #2587
related #1449
refs:

https://serde.rs/enum-representations.html#untagged
https://serde.rs/field-attrs.html#skip
https://www.postgresql.org/docs/current/pgstatstatements.html

https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID

https://github.com/launchbadge/sqlx/actions/runs/5579598859/jobs/10195397746?pr=2626

Error:    --> tests/postgres/macros.rs:103:15
|
103 |     let row = sqlx::query!(r#"CALL forty_two(null)"#)
|               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this error originates in the macro $crate::sqlx_macros::expand_query which comes from the expansion of the macro sqlx::query (in Nightly builds, run with -Z macro-backtrace for more info)

It seems enabling JIT in Postgres also adds another field to the explain output. Are we able to come up with a serde data structure which can utilize #[serde(other)]. This would avoid adding fields for every possible setting/extension that adds additional fields to the QueryPlan output.

It seems enabling JIT in Postgres also adds another field to the explain output. Are we able to come up with a serde data structure which can utilize #[serde(other)]. This would avoid adding fields for every possible setting/extension that adds additional fields to the QueryPlan output.

hi @valkum - thanks for noticing that. But actually thanks to #[serde(untagged)] we're accessing only the Plan property in returned JSON ignoring any other property.
so in fact even defining _query_identifier: Option<u64>, is not needed at all - I'll remove it

pardon, @jplatte @abonander - is there anything that prevents merging this PR?

I'm not a maintainer of sqlx, just a curious contributor 😅


Could not connect to host

Hi, sometimes that I try to connect to Salesforce I have this error:
Fatal error: Uncaught SoapFault exception: [HTTP] Could not connect to host in /Force/soapclient/SforceBaseClient.php:168 Stack trace: #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'https://login.s...', '', 1, 0) #1 Force/soapclient/SforceBaseClient.php(168): SoapClient->__call('login', Array) #2 Force/soapclient/SforceBaseClient.php(168): SoapClient->login(Array) #3 /home/donahoy/public_html/sincroniza/sincroniza.php(12): SforceBaseClient->login('universe...', '...') #4 {main} thrown in /Force/soapclient/SforceBaseClient.php on line 168

Same problem for me, any idea @metadaddy ?

I ended up doing something like that, which fixed it
$mode = array(
  'ssl_method' => SOAP_SSL_METHOD_TLS,
  'encoding'=>'UTF-8',
  'cache_wsdl'    => WSDL_CACHE_NONE,
  'stream_context'=> stream_context_create(
    array(
      'ssl'=> array(
        'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
        'ciphers' => 'SHA256',
        'verify_peer'=>false,
        'verify_peer_name'=>false,
        'allow_self_signed' => true
      )
    )
  )
);

$client->createConnection($partner_wsdl, null,$mode);

@jeromegv I left Salesforce about 18 months ago and am no longer working on this. Not sure who owns this now - maybe @ReidCarlberg?

@jeromegv thanks for your answer, I'll try the code.
Where do you get this data?
SOAP_SSL_METHOD_TLS
WSDL_CACHE_NONE
STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT

@jeromegv Thanks for the code. Spent a few hours until I stumble upon your answer. All happen after updating PHP version. Had other problems (not SalesForce) because of "verify_peer" settings. Thanks again!

I am pretty sure the HTTP connection simply failed, it happens. Could be SF could be the requesting server, could be the network, a simple timeout due to congestion. You will need to detect it, and re-run your request. An example of this is Guzzle's retry-subscriber.

It's worth pointing out that @jeromegv 's response is very helpful, but it disables TLS security effectively as no certificate verification is done (making it vulnerable to MITM attacks). This may be okay in development environments but worth careful consideration for code that will be used in production.


Hello I need Help With WebsiteAgent

I am trying to scrape or generate rss for this website cosmopolitan.com/style-beauty/ by getting the title , a little text from the article and the image. I am pretty sure my css  are correct
my settings
{

            expected_update_period_in_days: 1
            url:  http://www.cosmopolitan.com/style-beauty/
            type: html
            mode: on_change
           extract:
             {
                  title:{
                        css:#landing-feed--story-title link link-txt
                         value: .//text()
                         }
             main-text:{
                 css: #abstract-text
                   value: .//text()
                             }
                    link:{
                          css: #landing-feed--story-title link link-txt
                 value: @href
                        }
                      image:
                           {
                                css: #swap-image lazy-loaded
                                value: @data-img320
                                }
}
}```

The problem is, if i run it brings out nothing

I assume that you have quotes around all of those values in the actual
settings?
When you use dry run, it finds nothing?
On Thursday, November 19, 2015, ydaniels<EMAIL_ADDRESS>wrote:

I am trying to scrape or generate rss for this website
http://www.cosmopolitan.com/style-beauty/
my settings
{
[{expected_update_period_in_days: 1
[{url: http://www.cosmopolitan.com/st...
[{type: html
[{mode: on_change
[{extract:
{
[{title:
{
[{css: #landing-feed--story-title lin...
[{value: .//text()
}
[{main-text:
{
[{css: #abstract-text
[{value: .//text()
}
[{link:
{
[{css: ##landing-feed--story-title link link-txt
[{value: @href}
[{image:
{
[{css: #swap-image lazy-loaded
[{value: @data-img320
}
}
}```
The problem is if i run it brings out nothing
—
Reply to this email directly or view it on GitHub
https://github.com/cantino/huginn/issues/1157.

@ydaniels is this what you are looking for?
{
"expected_update_period_in_days": "2",
"url": "http://www.cosmopolitan.com/style-beauty/",
"type": "html",
"mode": "on_change",
"extract": {
"title": {
"css": ".landing-feed--story-title",
"value": ".//text()"
},
"main-text": {
"css": ".abstract-text",
"value": "@title"
},
"link": {
"css": ".landing-feed--story-title",
"value": "@href"
},
"image": {
"css": ".story-image--link",
"value": "@data-img320"
}
}
}

@ydaniels use Cantino Selector Gadget to get the correct CSS
http://selectorgadget.com/

Can I close this issue?


Unable to use MongoKitten in MacOS app - missing required module 'CNIOOpenSSL

Describe the bug
I am trying to connect to MongoDB using MongoKitten driver in my MacOS app. I used the swift package manager to install the MongoKitten driver, however I keep getting an error
To Reproduce
My Package.Swift is as follows
import PackageDescription

let package = Package(
    name: "Dependencies",
    products: [
        // Products define the executables and libraries produced by a package, and make them visible to other packages.
        .library(
            name: "Dependencies",
//            type: .static,
            targets: ["Dependencies"]),
    ],
    dependencies: [
        // Dependencies declare other packages that this package depends on.
        // .package(url: /* package url */, from: "1.0.0"),
        .package(url: "https://github.com/OpenKitten/MongoKitten.git", from: "5.0.0"),
    ],
    targets: [
        // Targets are the basic building blocks of a package. A target can define a module or a test suite.
        // Targets can depend on other targets in this package, and on products in packages which this package depends on.
        .target(
            name: "Dependencies",
            dependencies: ["MongoKitten"]),
        .testTarget(
            name: "DependenciesTests",
            dependencies: ["Dependencies"]),
    ]
)

Expected behavior
Ability to import MongoKitten and connect to the database in macOS app
Server-side Swift:

OS: macOS 10.14 Mojave
Swift Version:  5
MongoKitten  Version : 5.0.0

However, when I tried to build and run the code with "import MongoKitten"
I get the following error
missing required module 'CNIOOpenSSL'
I request you to let me know how to resolve this issue. I can provide any other information to help solve the matter

That version of SwiftNIO requires you to install openSSL/libreSSL headers via homebrew I believe.

I did try brew install libreSSL, but to no avail

@ramyrao you've also selected your own machine as the target in Xcode, right?

Yes, that correct

@ramyrao Would it be possible to test if it works for you with the Swift Package Manager support in the current Xcode beta?

I just found this snippet, hope it helps you!
export<EMAIL_ADDRESS>

Just trying MongoKitten and having the same issue (and others) on macOS 10.14.6.


[WIP] NLCD Notebook Update

This PR updates the NLCD notebook so that it works with the latest version of GeoPySpark.

Superseded by https://github.com/geodocker/geodocker-jupyter-geopyspark/pull/48


Quiz access scope and policy

Everyone can see the Quiz.
Only people in Faculty can see the Quiz.
Only teacher and RA in Faculty can see the Quiz.
Only assigned Group can see the Quiz.

We need to handle a situation where a Course is open to everyone, that Courses uses a Quiz as Media, and that Quiz is NOT open to everyone. (and similar big/small access scope conflict).

Done.


chore(test): Migrate link tests to integration

Plz ignore the goofy commits and squash/merge 🙈

We'll figure out the failing integration test issue once this is in my branch.
Thanks for doing all this!


Understanding/debugging why {@link } and other tags are not resolved correctly

Search Terms
@link, tags, inline
Problem
I have inline link tags. In some cases, they are resolved correctly, while in other cases, it just looks like this in the exported page:

TypeScript / VS Code finds the referenced code just fine when clicking on the link in VS Code.

Invalid link validation is true.
Suggested Solution
Would be great to know how to

see such errors (right now it's just random that I detect it on the built pages, there's no logs about it)
understand why they happen (why some work and others don't)
resolve the issues (without having to modify the actual code – in VSCode it works fine, just TypeDoc doesn't find the reference)

In VSCode it works fine because VSCode doesn't know about inline code blocks. TypeDoc, on the other hand does, so it doesn't see a link tag, it sees a code block which cannot contain tags.

If you want your link text to be styled as code, you have two options:

{@link Foo | `Foo`}
{@linkcode Foo}

I see, thanks – I didn't even notice the backticks around the bottom two links, makes sense.
Still, the first one – {@link Behaviour} – is not resolved correctly, is there a way to see errors for that / debug that? It's a bit annoying if it "just" ends up not being resolved without a chance to fix it / work around it.

The behavior link should show up in warnings due to it not being resolved. Are you on the latest version? There was a bug prior to 0.27.6 which prevented those from being printed.
If you are, can you point me towards a project I can run?

Sorry for the late response – I'm still trying to cleanly reproduce this. I'll reopen the issue if I find a good way.


Change Vim mode to icon

environment

vim: Vim8

vim-airline: up to date

OS: Android/Termux

Have you reproduced with a minimal vimrc: No

What is your airline configuration:

let g:airline_powerline_fonts = 1
let g:airline#extensions#ale#enabled = 1
let g:airline_theme='gruvbox_material'

if you are using terminal:

terminal: Termux

$TERM variable: xterm-256color variable

color configuration (:set t_Co?):None

if you are using Neovim:None

does it happen in Vim: None

actual behavior
Vim configuration
expected behavior
How can I replace Vim's current mode characters with icons?
screen shot (if possible)

I wish to change to：

Check the help please: https://github.com/vim-airline/vim-airline/blob/master/doc/airline.txt#L196-L217


Hover-over text on charts not always match the value should be, for scenario events (a.k.a. "Issue 1")

(From @tieganh on Slack):
Hover-over text on charts doesn’t always match what the value should be based on the axis, for scenario events. Example here for first aid injuries for the M4.9 Georgia Strait scenario (currently called Capilano5), shows 10 injuries coming from pre-cast bldgs while the vertical axis suggests the number should be more like 2-3.

(@phil-evans replied:)
i just adjusted the figure formatting to show ranges (10-20, 20-30 etc) rather than a single rounded value, i think that should clear this one up:

@plesueur commented:
that should do it. thanks Phil!


Couldn't install package when Nova was installed via .zip file

I had the Nova package installed via .zip file and could not install this package.
Reason i presume was that this package requires a ^1.2 version of Nova and the
.zip install sets the nova version to "*".
Once i undid the .zip install, and followed docs on an installation via composer (with the
needed changes in composer.json) i was able to install this package.

No response


Use number of threads on executor instead of driver to set core count

There are a few cases where the user does not have to set the executor cores config. This is most typically in local mode, but can also happen in standalone mode too. Before this patch if it was not set, then fixup code that runs on the driver would use the number of CPU cores that the java runtime is aware of as a stand-in for it.  But because this ran on the driver it would only fix cases when the driver and executor ran on the same host and in the same container.  This updates the code to wait until the number of cores is known, on the executor, before making the final decision on the thread pool size.

build

build

I just updated the APIs to use cores instead of tasks, because it is more accurate on what we are returning.

build

@jlowe @jbrennan333 @tgravescs please look again I committed the suggestion from @jlowe

build

@gerashegalov please take another look

build


Add AddSignerInfo

Hi,
I'm trying to sign with PKCS11 API and format to CMS.
The interface sd.AddSigner(cert, pkey, config) isn't allow to sign with hardware token.
I just add new interface AddSignerInfo(cert, signerInfo)
also I published SignerInfo struct and Cert2issuerAndSerial()
Usage:
toBeSigned, _ := pkcs7.NewSignedData(content)
attrs, hashed, _ := toBeSigned.HashAttributes(crypto.SHA1, pkcs7.SignerInfoConfig{})
sigunature := SignWithHardwareToken(crypto.SHA1, hashed)
signerInfo := pkcs7.SignerInfo{
    Version:                   1,
    AuthenticatedAttributes:   attrs,
    EncryptedDigest:           signature,
    ...
}
toBeSigned.AddSignerInfo(cert, signerInfo)

Thank you.

Fwiw, I tried merging this patch on mozilla-services/pkcs7, but it conflicts with the rewrite from #14.

@jvehent mozilla-services/pkcs7 already support HSM, so no need to merge the patch.
I'm  going to use mozilla-services/pkcs7 thanks!


refactor: remove use of slowFindByPhone

slowFindByPhone does not return all the results. I couldn't find exactly how many, but the cli tool with the same api returns 250 results. Hence, I'm now using the user collection for obtaining the kratosUserId instead.

notes: slowFindByPhone should return more than 250 entities. if that is not the case, then the function is broken again @ntheile

Yeah it is most likely not returning the last page of identities. If we change the code to use the service wrapper in IdentityRepository it should work
import {IdentityRepository } from "@services/kratos"

 const identites = await IdentityRepository().listIdentities()


Added JSDOC for initDismissibles for #9495

I have added the Jsdoc to the initDismissibles for issue #9495. I haven't completed the tests yet.
I'll be updating the PR as I continue to make changes.

Hi @lb-, I'm sorry about that didn't know the commit was attached to the branch. I tried creating a new branch for it, but that commit is still going with it even after reverting the changes. Please is there anything I can do?

You will need to make a new branch most likely, otherwise you will keep having this issue.
Best to create a new branch from your local main, something like fix/9495-init-dismissibles-js.
You can do this via the command line with
git checkout -b fix/9495-init-dismissibles-js
While on that branch, make a new commit that reverses/undoes the changes to the CSS.
Now push that branch up to your GitHub account.
Then open Wagtail on Github and you will see that you can create a new PR with it.

You may need to close this PR as it is linked to your main branch sorry.


swc: 0.91.68 -> 0.91.69

Description of changes
change log: https://github.com/swc-project/swc/releases/tag/v1.3.83
diff: https://github.com/swc-project/swc/compare/v1.3.82...v1.3.83

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

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

1 package built:

swc


Get STI to recognise a camera zoom

Set up the CameraToStiTransforms to get the map to change correctly when zooming in or out so we can use the map zoom function freely.

Implemented in
https://github.com/davidjtferguson/silly-sam/commit/7b5cf3d4f596280c238f3ceda939464faacdd212


[now dev] Refactor to support shouldServe() in Now Builders

Adds support for when the builder has shouldServe() defined, so the initial build maybe skipped and run lazily upon the first HTTP request that should go to that builder.
This also is a pretty hefty refactor of the now dev codebase to improve correctness, help with readability, and makes it more DRY.

Codecov Report

Merging #2134 into canary will increase coverage by 0.12%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           canary   #2134      +/-   ##
=========================================
+ Coverage    4.39%   4.51%   +0.12%
=========================================
  Files         243     243
  Lines        8694    8631      -63
  Branches      904     893      -11
=========================================
+ Hits          382     390       +8
+ Misses       8295    8224      -71
  Partials       17      17

Impacted Files
Coverage Δ

src/commands/dev/lib/types.ts
0% <ø> (ø)
:arrow_up:

src/commands/dev/lib/dev-builder.ts
0% <0%> (ø)
:arrow_up:

src/commands/dev/lib/dev-server.ts
0% <0%> (ø)
:arrow_up:

src/commands/dev/lib/builder-cache.ts
0% <0%> (ø)
:arrow_up:

src/commands/dev/lib/static-builder.ts
0% <0%> (ø)
:arrow_up:

src/util/domains/purchase-domain.ts
0% <0%> (ø)
:arrow_up:

src/util/certs/finish-cert-order.ts
0% <0%> (ø)
:arrow_up:

src/commands/deploy/legacy.js
0% <0%> (ø)
:arrow_up:

... and 10 more

Continue to review full report at Codecov.

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


Can't control cursor

This is a bit of an odd issue. I cannot control the appearance of the cursor on only one my computers, running OSX Mavericks. On the other one, with Yosemite, I can use rustbox.set_cursor() to control its position, but it has no effect on this one.
I'll attach a picture of what it looks like and what it should look like. Here the cursor is following the input for some reason.

Here it seems to work as expected. There is no difference in code on the two boxes.

Hmm, so its only happening on Mavericks? Do you have the code that generated this example?

I added you to the repository, try cloning it and cargo run - it's nothing sensitive.

Ok, had a look and nothing obvious is standing out to me. Can you give some more info on your setup?

value of your TERM env variable
terminal emulator

Also, it might be worth trying the termbox examples (instructions in the README there). I don't know if this is a rustbox issue, or if termbox itself is causing the problem.

$[~] echo $TERM
xterm-color

terminal emulator in use is iTerm2. I'll give  the termbox examples a try and if they display the same behavior I'll close this issue

Try export TERM=xterm-256color and run your project again. I wonder if its just some strange terminal specific behaviour.

Actually, that fixed it haha. Good call...

Sweet! If you run into other issues, let me know!


Java containers for Integer, like List, break rainbow styling.

If you have an Integer container in java code -- for example,
List
during the rainbow styling, the Integer keyword is lower-cased:
List
and a spurious trailing tag

surfaces at the end of the styled HTML page (containing the Java code).

Misunderstanding your Issue.
Du you mean List or List<Type> for sample? Then, write it correctly and use code-tags!


Making helloSystem a governed project with a clear roadmap, community driven.

Making the project more governed, with the creation of a fundation, like HaikuOS has done with HAIKU, inc. which is their page to donate money to specific parts and goals of the OS.
This could allow for contracting other developers for more in-depth, time consuming task or just for specific part of the project, e. g. Contracting a GUI designer. Or an IT administrator with experience on FreeBSD that'd help you kickstart this project, fixing bugs & and adding support for new & wanted features.

Hi @xplshn. At this time, this project is purely community-based and volunteer driven. In other words: You'd like something, you make it :-)

I tend to wish that was the case, but I'm currently hoping that more "volunteer" developers review and write or merge together, rather than just @probonopd reviewing or centralizing, temple OS is an example.


Code Coverage

CodeCov coverage is enough.

https://github.com/cypreess/django-plans/pull/69 is there to fix this.
Code Coverage will surely makes the code review and contributing easier.


RPC getValue problem.

I've same problem here
Where to modify this code?
{"method":"getInterval", "params": {} }
In the widget settings or arduino' code?
My RPC method:
RPC_Response setValve(const RPC_Data &data)
{
  //Serial.println("Received the set switch method");
  valve_override = data;
  return RPC_Response(NULL, valve_override);
}
RPC_Response getValve(const RPC_Data &data)
{
  //Serial.println("Received the get switch method");
    return RPC_Response(NULL, sensor.valve_override);
}

Thank you.

Hi @parnz , this is an issue indeed. Fix is provided in #12.
I'm closing this as a duplicate of #10 , let's move a discussion there.


KAFKA-4547: Avoid unnecessary offset commit that could lead to an invalid offset position if partition is paused

@hachikuji I submitted this PR without test(s) in case it needs to be included in <IP_ADDRESS>. I'll work on creating some tests after I'm done with the PR for KIP-88.

@hachikuji @vahidhashemian Please note that I've updated the affected versions to <IP_ADDRESS> and <IP_ADDRESS>, <IP_ADDRESS>. When we merge a fix, we want to make sure it makes it onto branches 0.10.0, 0.10.1, 0.10.2, and trunk.

@vahidhashemian The fix looks good, but can you add a couple test cases?

@ewencp does it affect <IP_ADDRESS> as well? The reporter suggested that <IP_ADDRESS> worked fine while <IP_ADDRESS> did not, so I was wondering if you had additional information than what was in the JIRA.

LGTM. I think @ijuma is right that this only needs to go into 0.10.1 and 0.10.2.

@vahidhashemian Merged to trunk and 0.10.2. Unfortunately, it doesn't merge cleanly onto 0.10.1. Would you mind submitting a separate PR to that branch?

@hachikuji Definitely.


SAK-33617 : Content-review-impl Urkund : Include OptOutUrl

As the content-review API does not offer a method to get only one ContentReviewItem by id, we need to get all reports and store them in a cache indexed by ContentId.

Does
org.sakaiproject.contentreview.dao.ContentReviewItemDao#findByProviderAndContentId
meet your needs?

Hi @ern,
I would like to provide more context here, this feature will be added to 11.x, 12.x and Master, as you know 11.x and 12.x has diverged so we'll do both PRs, this is the PR for 11.x.
We'll take a look @ org.sakaiproject.contentreview.dao.ContentReviewItemDao#findByProviderAndContentId, thank you!
Miguel

Hi @ern,
Yes, org.sakaiproject.contentreview.dao.ContentReviewItemDao#findByProviderAndContentId is exactly what we need, but...

This is not available in 11.x (only in 12+). This PR is only for 11.x
We need to get that info from assignments, so we should not use the ContentReviewItemDao but the ContentReviewService. And that service does not offer a way to get a single ContentReviewItem (by contentId).

Actually, we should think to upgrade the ContentReviewService API with these kind of methods. I think this will help you a lot with the assigments refactor process. But anyway... that is apart from this PR...

The cache should probably be in the ContentReviewService vs the AssignmentService.

Sure, we can remove the cache from assignmets, but then, we need to modify the content-review API. We need a way to get one ContentReviewItem.
Do you agree?

The problem is... if we modify the content-review API (I was thinking to add a new method like public ContentReviewItem getContentReviewItem(String contentId, String taskId, String userId)), we will break all other implementations.
This will be solved easily in 12+, because all implementations are inside the Sakai code. But for 11.x, the implementations come from contribs, so we can not update them all.

You wouldn't need to modify any api, put a cache in the impl for:
List getReportList(String siteId)
Where your cache can be just cache List for a given site, just make sure you do invalidation!

There are some points I'd like to discuss here:

We have removed the cache from the assignments service.
We have added a new method : findReportByContentId. This method calls the content-review#getReportList method and looks for the given report by contentId.
I don't like to go through the whole list every time to find the report, and that's why we put the cache in the first instance. To have an index.
I really don't know if is necessary to put a cache in the content-review#getReportList implementation. As you said the other day, hibernate already has its own cache.

What do you think about all of this?

We have removed the cache from the assignments service.

Great

We have added a new method : findReportByContentId. This method calls the content-review#getReportList method and looks for the given report by contentId.

Since this is a new method to the api is Urkund doing some thing different than the other content review impl's or is this something benefitting all content review impl's?

I don't like to go through the whole list every time to find the report, and that's why we put the cache in the first instance. To have an index.

Are you retrieving each report vs calling a bulk method to get all reports, the bulk method would probably be more efficient and caching it even better. Iterating over cached elements is fast.

I really don't know if is necessary to put a cache in the content-review#getReportList implementation. As you said the other day, hibernate already has its own cache. Anyway, this change will be in the Urkund (contrib PR) implementation and it should be independent from this PR.

this is not for master or 12.x so I don't understand this last point.

We have removed the cache from the assignments service.

Great

We have added a new method : findReportByContentId. This method calls the content-review#getReportList method and looks for the given report by contentId.

Since this is a new method to the api is Urkund doing some thing different than the other content review impl's or is this something benefitting all content review impl's?

This new method is not in the content-review API but in the assignments service https://github.com/sakaiproject/sakai/pull/5019/files#diff-36d7daf9ff6912ed634cfd484790f5d8. I think this method will be useful for all implementations and, for Sakai 12+ we should provide this method in the content-review API, but if we do that in 11x we will need to update all implementations and it's not possible becuase they are from contrib repos. So I would left it just in assignments.

I don't like to go through the whole list every time to find the report, and that's why we put the cache in the first instance. To have an index.

Are you retrieving each report vs calling a bulk method to get all reports, the bulk method would probably be more efficient and caching it even better. Iterating over cached elements is fast.

So, do you think this iteration is right ?? https://github.com/sakaiproject/sakai/pull/5019/files#diff-36d7daf9ff6912ed634cfd484790f5d8R10928

I really don't know if is necessary to put a cache in the content-review#getReportList implementation. As you said the other day, hibernate already has its own cache. Anyway, this change will be in the Urkund (contrib PR) implementation and it should be independent from this PR.

this is not for master or 12.x so wouldn't worry about it


lib: send MAX_DATA when MAX_STREAM_DATA is sent

When the connection flow limit is much higher than the stream
flow limit, MAX_DATA may be sent later than MAX_STREAM_DATA.
It can cause for the server not to send more data even it's allowed
by MAX_STREAM DATA until MAX_DATA with a new limit arrives
at the server.
Let's think the following scenario:

initial connection flow limit = 200
initial stream flow limit = 100
Server send 100 bytes at Stream #0
Client receive 100 bytes at Stream #0
Client send MAX_STREAM_DATA (stream #0, 150)
Server send 100 bytes at Stream #4
Client receive 100 bytes at Stream #4
Client send MAX_STREAM_DATA (stream #4, 150)
A) Server try to send 50 bytes at Stream #0, but blocked by a connection flow limit (200), not a stream#4's flow limit (150)
Client send MAX_DATA (250)
B) Server can resume to send 50 bytes at Stream #0 now

To avoid this, when the client send MAX_STREAM_DATA, the client send
MAX_DATA as well. Then when reaching to A), the server already
have updated the connection flow limit to 250, so can send 50 bytes
without waiting.

I don't know if this is the right solution to the problem. In the example case why doesn't the MAX_DATA get sent earlier? Is there are problem with should_update_max_data()?

I don't know if this is the right solution to the problem. In the example case why doesn't the MAX_DATA get sent earlier? Is there are problem with should_update_max_data()?

Eventually MAX_DATA will be sent, however before receiving it (because it's from the client, there is a time gap of rtt), the sender continues to schedule what's available in next stream. It's some type of race condition -- can be avoided by updating MAX_STREAM_DATA and MAX_DATA in the same packet (usually bundled with ACK).

This change seems to be marking the connection as almost full (self.almost_full = true) when a stream is full, that seems partially wrong to me. It appears we "correct" this by changing the creation of MAX_DATA to be conditional on two things
// Create MAX_DATA frame as needed.
            if self.almost_full && self.max_rx_data < self.max_rx_data_next {

So why not just inside the MAX_STREAM_FRAME block do self.almost_full = should_update_max_data(); and then we can just check for self.almost_full when it comes to the MAX_DATA block?

This change seems to be marking the connection as almost full (self.almost_full = true) when a stream is full, that seems partially wrong to me. It appears we "correct" this by changing the creation of MAX_DATA to be conditional on two things
// Create MAX_DATA frame as needed.
if self.almost_full && self.max_rx_data < self.max_rx_data_next {

So why not just inside the MAX_STREAM_FRAME block do self.almost_full = should_update_max_data(); and then we can just check for self.almost_full when it comes to the MAX_DATA block?

The intention of this PR to to send MAX_DATA ignoring should_update_max_data() check when MAX_STREAM_DATA is sent, so this is correct.
self.max_rx_data < self.max_rx_data_next check is needed to prevent to send MAX_DATA again with the same value, if we sent it already.

I still don't get it, sorry. If for the connection to work properly the connections flow control needs to be increased, then surely the function named should_update_max_data() needs to return the right result.

 Actually I think this is better one, need to update the PR description.

starting default of stream and connection flow limit

stream#1 limit=100, want to write 150 bytes in total
stream#2 limit=100, want to write 150 bytes in total
stream#3 limit=100, want to write 150 bytes in total
connection limit=300
And let's say server want to write 150 bytes each in the stream.
And all stream has a same priority: each stream data need to be delivered FIFO, which means
we should deliver 150 bytes in stream#1 full and 150 bytes in stream#2, and so on.

Current behavior

server stream_send() stream#1 100 bytes (stream#1 reach limit = 100)
server stream_send() stream#2 100 bytes (stream#2 reach limit = 100)
server stream_send() stream#3 100 bytes (stream#1 reach limit = 100) (connection reached limit = 300)
server send() stream#1 100 bytes
client recv() 100 bytes from stream#1 and send() ACK + MAX_STREAM_DATA(stream#1, 200)
client: MAX_DATA is not sent (should_update_max_data()=false)
server want to write more on stream#1, but cannot due to connection limit (300) --> this is a problem breaking FIFO
server send stream#2 100 bytes
client recv() 100 bytes from stream#1 and send() ACK + MAX_DATA(500)
server send stream#2 50 bytes + fin
...

This PR behavior

server stream_send() stream#1 100 bytes (stream#1 reach limit = 100)
server stream_send() stream#2 100 bytes (stream#2 reach limit = 100)
server stream_send() stream#3 100 bytes (stream#1 reach limit = 100) (connection reached limit = 300)
server send() stream#1 100 bytes
client recv() 100 bytes from stream#1 and send() ACK + MAX_STREAM_DATA(stream#1, 200) + MAX_DATA(400)
client send MAX_DATA with MAX_STREAM_DATA
server updates connection limit to 400 and stream#1 limit to 200
server send() stream#1 50 bytes + fin --> FIFO works
client recv() 50 bytes from stream#1 and send() ACK + MAX_DATA(450)
server send stream#1 100 bytes
...

Thanks for the explanation @junhochoi.
I think my problem really is that we're overloading the variable name almost_full when it is not the case. So how about, for future clarity, we do something like
let conn_max_with_stream = false;

// Create MAX_STREAM_DATA frames as needed.
loop over streams {
  ...
  // if MAX_STREAM_DATA is sent, send MAX_DATA as well.
  conn_max_with_stream = self.max_rx_data < self.max_rx_data_next;
}

// Create MAX_DATA frame as needed.
if self.almost_full || conn_max_with_stream {
  ...
}

Thanks for the explanation @junhochoi.
I think my problem really is that we're overloading the variable name almost_full when it is not the case. So how about, for future clarity, we do something like
let mut conn_max_with_stream = false;

// Create MAX_STREAM_DATA frames as needed.
loop over streams {
  ...
  // if MAX_STREAM_DATA is sent, send MAX_DATA as well.
  conn_max_with_stream = self.max_rx_data < self.max_rx_data_next;
}

// Create MAX_DATA frame as needed.
if self.almost_full || conn_max_with_stream {
  ...
}

Currently the meaning of almost_full flag is simply whether we send MAX_DATA frame:
https://github.com/cloudflare/quiche/blob/875012ec90b1f409b647944176c607281a01412c/src/lib.rs#L825
And this technique (setting the flag) is used in other places such as retransmitting MAX_DATA frame:
https://github.com/cloudflare/quiche/blob/875012ec90b1f409b647944176c607281a01412c/src/lib.rs#L2020
TBH I think it's ok to set/use the flag in this way, but your logic work too.

Fair point, I forgot about the use in retransmission. That makes me lean towards consistency of variable name. Let's ship this as is!


Improve guide to writing blog articles

This is a Feature Request

What would you like to be added

Based on feedback from people who have written blog articles, improve our guide.

To do this, you would:

find some people who have written blog articles recently

try to pick a mixture of people writing their first article and people who have already contributed to the blog
also have a mix of release-related announcements, other project announcements, and articles that are neither

talk to those people to find out what they found hardest about the process
based on that feedback, propose one or more pull requests to make the documentation better

Why is this needed

people writing for our blog find the process hard
we also have very little blog editorial capacity - see https://github.com/kubernetes/community/blob/master/sig-docs/blog-subproject/README.md (as of 2023-11-28)

so it's easier if the articles that come in need less review, and there are fewer round-trips between authors and reviewers

Comments
/sig contributor-experience
/language en

I've noticed a couple of additions that could be made to our blog guide based on my reviews of the blog PRs. Contributors could benefit from clearer instructions on incorporating images in blog using Hugo shortcode, addressing issues such as image format and size. Additionally, it would be helpful to include guidance on mirroring blogs between k8s.dev/blog and k8s.io/blog for a smoother overall experience.

This would be a valuable enhancement. Improving our guide based on feedback will make the blogging process smoother for contributors and aligns with our goal to streamline reviews. Thanks for raising this @sftim!
/triage accepted
/priority important-longterm
(Please feel free to adjust the priority as needed, if the SIG consensus leans toward a different priority)

Yes @sftim, it would be a great idea. People can write the blog to enhance the kubernetes documentation.

Can I submit my blogs? I have recently written 2 blogs, one on my experience in the first ever KubeCon attended and the other on my experience as CNCF zero to merge incubator?

Sure @Rajdeep1311, We always appreciate blog contributions

Please, you can work @haripriya9647

@haripriya9647 , If you want ma'am we both can work on this

yes sure

/assign

/assign

Hello @sftim
I am planning to work collaboratively with @Rajdeep1311 on this issue. The two of us have decided to create a form that includes all the questions about the blog guides, and based on the response we will be able to identify the pain points and analyze appropriate solutions.
As soon as the form has been created, we will head to the sig-docs-blog slack channel to gather a list of recent contributors from different domains, and we will contact them and ask them to fill out the form, as well as posting the form in blog-related channels.

Any replies @sftim sir?

I am planning to work collaboratively with @Rajdeep1311 on this issue. The two of us have decided to create a form that includes all the questions about the blog guides, and based on the response we will be able to identify the pain points and analyze appropriate solutions.
As soon as the form has been created, we will head to the sig-docs-blog slack channel to gather a list of recent contributors from different domains, and we will contact them and ask them to fill out the form, as well as posting the form in blog-related channels.

That sounds fine.
I think @david-martin has also made a start here.

Some updates on this.

using Hugo shortcode

https://github.com/kubernetes/website/pull/44967

clearer instructions on incorporating images in blog
addressing issues such as image format and size.

There is a diagram guide already at https://kubernetes.io/docs/contribute/style/diagram-guide/
@dipesh-rawat Is there something specific missing from that, or is the discoverability of that page a problem when writing blogs?
I did get some specific suggestions from @sftim, which we can add to that diagram guide if it makes sense and isn't sufficiently covered already:

PNG with alpha for anything that has a shape, like a logo, and doesn't have a vector version
JPEG for photos, either original size or scaled down to 1920px maximum dimension
We can use optimization tools suitable to the format if images seem particularly large.

Also, regarding:

mirroring blogs between k8s.dev/blog and k8s.io/blog

I'm not familiar with the process here, but a suggestion was to write a blog article on how to do this and publish it.
@dipesh-rawat Is there someone you'd recommend reaching out to that has this knowledge, and when to use 1 vs. the other, and when you'd consider mirroring?

mirroring blogs between k8s.dev/blog and k8s.io/blog

@Gauravpadam Perhaps this is something you have some notes about?
I see you added https://github.com/kubernetes/website/pull/44722 to mirror https://github.com/kubernetes/contributor-site/pull/424

Sure @david-martin, I'll be glad to help with the process. I'll reach out to you on slack.

Hello, reaching out to see what the current state of this issue is? I was thinking of ways we could ask for feedback from release feature blog authors (current cycle 1.31), so maybe we can combine efforts?

@a-mccarthy I know there were a few small updates to the docs around contributing. In that sense, improvements were made.

find some people who have written blog articles recently ... talk to those people ... based on that feedback, propose one or more pull requests

However, I'm not aware of what has progressed in this area.
This comment from @haripriya9647 (with @Rajdeep1311 mentioned) suggested a form was being created to gather feedback from blog authors. I would defer to either of them on how that has progressed.


Implement  operator(s) '<, <=, >, >='

Describe the feature
As the title says, implement the comparison operators. This is to fix the CA1036 warning: AbcId should define operator(s) '<, <=, >, >=' since it implements IComparable.

@CheloXL - thanks for the report.

The trouble is, not all types that implement IComparable also have these operators. For instance, a Value Object of string reports this when the operators are added to the VO:
error CS0019: Operator '>' cannot be applied to operands of type 'string' and 'string'
So, Vogen must inspect the primitive type to see if it has these operators.
It's acheivable, but just wanted to make a note here for when it's implemented fully

I see that the duplicate #292 was fixed, but I'm not able to view the changes. Did they not make it into a release?

@SteveDunn Any update on this one? I'm not able to apply <, <=, >, >= filtering to my VOs without this.

Hi - there's multiple aspects to this:

was to disable the CA warning which I think was the first fix that was added
was then to implement the non-generic IComparable - which was recently added (it literally just implements int CompareTo(object other))
implement any related operators if the underlying type has them (#241 )- which is this one and yet to be done

Now that 1. and 2. are implemented and released, nobody should be seeing any CA errors as far as I know.
I hope to get around to this one shortly, but I need to check my notes as I vaguely remember that it was quite a big deal to inspect operators on the underlying type in the source generator

I've looked back through my notes and found this old issue: (#222)
It's non-trivial to inspect the operators on the underlying type, for instance, int, even though it has operators <, > etc., they are only defined in the resulting IL and so can't be inspected via Roslyn (as far as I know).
We could add some hints into the source generator to say 'if the type is int, then always add these operators'. I don't know how that would scale or if that would cause confusion with other types.
Another option, but this is a .NET 7+ feature, is to check if the underlying type implements IComparisonOperators:

But then we could risk adding more confusion by given the impression that Vogen fully wraps all operators, including:

IDecrementOperators
IEqualityOperators (which it currently does, but not via this interface)
IIncrement/DecrementOperators
IModulusOperators
IMultiplyOperators etc.

Perhaps a trade off, at least for now, it to have an explicit parameter on the ValueObjectAttribute, something like generateComparisonOperators.
Obviously, this will have to be on each Value Object and can't be defaulted globally (or we'd have all sorts of compilation errors where the underlying types don't themselves have comparison operators.
But for sorting, what we currently have looks sufficient: the generated CompareTo methods from IComparable just delegate to the underlying CompareTo methods if the underlying itself implements IComparable. The underlying's implementation of < > <= >= will then be used.
I suppose it boils down to what Vogen actually is. I define it as something that more 'strongly types' primitives, e.g. CustomerId instead of int. So using this definition, CustomerId does not have all of the functionality of int itself, aside from common concerns such as:

[de]serialization
equality and comparison (using the underlying's equality and comparison semantics)

But I think the crux of this issue is this:

But I don't think the warning makes much sense for generated code because. The case for GUIDs, adding the oerators doesn't change behaviour.

We'd like to be able to use these operators to filter IDs within a certain range, for example.
A list of numeric types + the .NET 7-specific IComparisonOperators check (where possible) would be slightly better than the generateComparisonOperators option, as it wouldn't need to be defined for every VO. Having said that, it could be set in a custom attribute that derives from ValueObjectAttribute, which we have in our case (for IDs, at least).

Another way to make the impact of this smaller is to solve #407
Some people do not need their Value Object to implement IComparable or its generic counterpart. Allowing them to opt out of this would make this issue a non-issue for them.

Does ist make sense to disable the warning for these specifc types (like Guid) and implement the operators for the other types?

Another way to make the impact of this smaller is to solve #407
Some people do not need their Value Object to implement IComparable or its generic counterpart. Allowing them to opt out of this would make this issue a non-issue for them.

Apologies @szarykott - #407 was merged to main in July but I forgot to do a release.  I've just kicked off the release process for 3.0.21. It should be in NuGet in an hour or so. Would be great if you could try it out.

Another way to make the impact of this smaller is to solve #407
Some people do not need their Value Object to implement IComparable or its generic counterpart. Allowing them to opt out of this would make this issue a non-issue for them.

Apologies @szarykott - #407 was merged to main in July but I forgot to do a release. I've just kicked off the release process for 3.0.21. It should be in NuGet in an hour or so. Would be great if you could try it out.

Since the update, the source generator seems to not work anymore.
It does not generate anything on my types. Can you have an eye on it?
Thanks!

Oh no! Sorry about that. I'm not able to fix anything until next week. Perhaps clearing your intermediate files might help. Do you experience this in a new project?

Oh my bad.. after cleaning up the intermediate files & restarting rider it worked.
But i cannot see the newly added operators <=, >=, <, >.
Is there any restriction for this?
My sample id looks like:
`
[ValueObject]
[Instance("Default", 25)]
public readonly partial struct PageSize
{
private static Validation Validate(int input)
{
return input > 0 ? Validation.Ok : Validation.Invalid($"{nameof(PageSize)} must be greater than zero.");
}
public static PageSize FromNullable(int? input) => input.HasValue ? From(input.Value) : Default;

}
`

@lk-smit-ag - glad it's now working (you had me worried there!)
The operators aren't implemented; the implementation added merely allows types to omit the generation of IComparable  (see #407 )

@SteveDunn oh, my fault too!
After adding the Omit for comparison, it will be removed & sonarqube is happy with it! :+1:
Thanks!

Forgive me if this is slightly off topic for this issue (#222 would have been a better fit I think, but that's closed)...
I'd like to make the case for implementing standard operators for the underlying type in the source generated value object, beyond just the equality and comparison operators.
In my use case, I'd like to create value objects for various double values, and perform mathematical operations with them, e.g., add, subtract, multiply, divide, etc. I can obviously write these myself by extending the source generated value object, but it's very repetitive, "boilerplatey" code, which would seem like the poster child for source generation:
public static bool operator <(
    Foo left,
    Foo right)
{
    return left.CompareTo(right) < 0;
}

public static bool operator <=(
    Foo left,
    Foo right)
{
    return left.CompareTo(right) <= 0;
}

public static bool operator >(
    Foo left,
    Foo right)
{
    return left.CompareTo(right) > 0;
}

public static bool operator >=(
    Foo left,
    Foo right)
{
    return left.CompareTo(right) >= 0;
}

public static Foo operator +(
    Foo left,
    Foo right)
{
    return From(left.Value + right.Value);
}

public static Foo operator -(
    Foo left,
    Foo right)
{
    return From(left.Value - right.Value);
}

public static Foo operator *(
    Foo left,
    Foo right)
{
    return From(left.Value * right.Value);
}

public static Foo operator /(
    Foo left,
    Foo right)
{
    return From(left.Value / right.Value);
}

// ...and more...

The temperature (Centigrade) and money (PaymentAmount) examples referenced in the wiki would be examples where I imagine it is highly likely that a consumer would want to perform math operations using operators.
I learned from reading this and other issues that there are differences in supported operators based on the underlying type, e.g., int vs. Guid vs. string, etc., but if these differences are accepted/expected for the underlying type, would that acceptance/expectation not extend to their corresponding value object wrappers? And I imagine that it would be relatively straightforward to conditionally source generate different sets of operators based on the underlying type.
The code that is source generated for the operators could be governed by configuration options in the attribute. This could take the form of "simple" grouped options, e.g., none, "match underlying type", etc., or they could be much more fine grained - perhaps an à la carte flags enumeration (with sensible defaults). Clearly those are half-baked thoughts that would require further analysis, but I'm sure there's a solution there.
I think without automatically source generated operators, a whole class of use cases for Vogen's value objects are out of reach. It would work well for identifiers and alike, but not for anything that requires math, which I suspect is a common need/use case. At least, not without significant repetitious and error prone manual code, which is what I assume Vogen is partially trying to avoid.
I'm new to Vogen, so please be gentle if I've missed something elementary. 😃 The library looks awesome by the way!
Thoughts?

Hi @prlcutting—apologies for the very slow response—this thread is so long that I must've missed it originally. Thanks for the feedback, and I really appreciate that you like the library!
The way that I use value objects is to make each operator (< > = * / etc) an explicit operation. For instance, a Score type for a game: I could add a + operator, but what I really want to say is:

Increase the score by a certain number of points

... so I have an IncreaseBy(Points) method on it. This is clear to read and ensures that scores can't be decreased.
But I understand that some value objects are much closer in behaviour to the primitive that they wrap, and your suggestions would certainly help with this and avoid repetitious code.
I'll continue to think about how best to implement this. Perhaps it could be achieved by the new static abstracts in interfaces...

@SteveDunn would it make sense to offer a diagnostic suppressor which would turn off the CA1036 warning on [ValueType]s? It would be easy to implement - I'd be happy to do so this week. This would mean that developers could leave CA1036 turned on generally, but not have to worry about the fact that they're not implemented on marked types. This would side-step the issue of whether the comparison operators need to be implemented in the first place.

Good idea @viceroypenguin . Thanks for the offer. There's a suppressor already that could be used as a reference point https://github.com/SteveDunn/Vogen/blob/main/src/Vogen/Suppressors/CA1822DecoratedMethodSuppressor.cs