very interesting

I believe this would be interesting to many people.  Consider adding this to the Boost Library Incubator (www.blincubator.com)  To do this, all you'd have to do is make a couple minor adjustments in directory layout and provide browsable html documentation.
Robert Ramey

Hi @robertramey,
I'm struggling to fill that library submission form of yours. I keep getting a "Failed Validation - Library Submission" error, but it won't even tell me which field is wrong.
Here is the info that I'm trying to send:

Library Name: Http
Author: Vinícius dos Santos Oliveira
Short Description: This library can be used to create applications that need to expose services through HTTP (e.g. embeddable ReST services). It's designed for multiple backends (e.g. embedded servers, FastCGI...) and has well documented type requirements and type erased abstractions, allowing compile-time-based and runtime-based polymorphism.
Description: `This library was envisioned to solve the HTTP problem for the C++ programming language. The proposal to solve this problem was to expose an HTTP abstraction able to make use of the HTTP power (chunking/streaming, pipelining, upgrade for supporting channels and multiplexing for supporting channels), at the same time that a complete separation of communication channels and HTTP messages is achieved.

Under this model, we refer to any abstraction fulfilling the requirements for an HTTP socket as HTTP producer. HTTP producers will feed and process HTTP messages to interested parties. The HTTP consumers are user-level components that will make use of the HTTP messages. The idea to separate communication channels and messages was proposed to handle pipelining and multiplexing elegantly, without the need to complicate the application (HTTP consumers) logic.
The ability to query certain properties from the underlying communication channel is necessary to achieve reliability under this model. It's important to define this property system this early because collaboration with the HTTP producers is key in such system. If native stream is not supported, for instance, the application would exhaust the system memory trying to stream a live video.
Besides providing a number of abstractions to isolate HTTP producers and HTTP consumers, there is also a number of abstractions on top of that to ease the job of creating applications making use of this distributed collaborative protocol.`

Copyright Date: 2014,2015
First Release Data: 2014/08/18
Current Release Number: 0.1
C++ Standard: 11
Post Tags: Input/Output
Library Status: Submitted (I don't really know what should I put here). I'm submitting to Boost Incubator first and I haven't submitted to Boost yet.
Compilers Tested by the Author: clang,gcc
Build and Linkage (what does this mean?): CMake
First Order Dependencies (also confusing): date_time,filesystem,system,unit_test_framework,context,coroutine
Documentation: http://boostgsoc14.github.io/boost.http/
Repository: https://github.com/BoostGSoC14/boost.http
Issues: https://github.com/BoostGSoC14/boost.http/issues
Download (a little confusing): https://github.com/BoostGSoC14/boost.http/archive/v0.1.tar.gz

I managed to submit your information under my own user name.  I can change the owner to you.
But I can’t find you as a user.  Are you a registered user?  If not, register and send me your username.
At one time the site gave a good error message an attempt to submit without loging in.  Perhaps I broke that functionality
Robert Ramey
Robert Ramey Software Development
(805)569-3793
<EMAIL_ADDRESS>www.rrsd.com

On Apr 5, 2015, at 5:56 PM, Vinícius dos Santos Oliveira<EMAIL_ADDRESS>wrote:
https://github.com/BoostGSoC14/boost.http/archive/v0.1.tar.gz https://github.com/BoostGSoC14/boost.http/archive/v0.1.tar.gz

But I can’t find you as a user.  Are you a registered user?

I think this may have been the error.

If not, register and send me your username.

Okay, my username is vinipsmaker.

Done


Migrating Away from LangChain -> LiteLLM & Logging for Token Usage, Cost, and Latency

🤔 Reasoning
Explain the purpose of this PR...
🚧 Changes
Describe the changes made...
✅ PR Checklist

[x] Using this PR template?
[x] Linked issue?
[x] Added feature?

[x] Added/updated docs?
[x] Added/updated tests?

https://github.com/agential-ai/agential/issues/195
https://github.com/agential-ai/agential/issues/253
https://github.com/agential-ai/agential/issues/254


Feature Req: Add Importance Matrix / RAM avail calculations to ISQ

Looking over ISQ (based on your previous ask), I found a few things missing that I've learned are helpful via trial and error.
imatrix, If you look at the discussion here, you can see that calculating the Importance Matrix prior to quantization, can be used to offset some of the negative effects of quantization.  In particular, this comment gives a great walkthrough of which tools to use to calculate the imatrix, then how to use it when quantizing.
Also, one of the key benefits of Ollama (Go wrapper around llama.cpp) is in llm/memory.go.  In the function EstimateGPULayers, it calculates, based on available VRAM (or system RAM for metal) how many layers can be offloaded to the GPU.  This number is then passed to the --n_gpu_layers option of llama.cpp.
What are the chances of incorporating these ideas into ISQ?  It would be great to go from safetensors / bf16 on disk to automagically optimal memory loading for inference. :-)

Oops.  I should add the imatrix calculation requires a data file.  The outcome of the previously referenced discussion seems to have settled on the file linked in this comment.
Direct link to `group_merged-enhancedV3.txt

Hello @psyv282j9d!
This sounds like a great feature which I would love to add. I have begun work on tracking memory usage in #392. I will look into applying the imatrix quants, from what I understand it is a different quantization standard?

My understanding (IANAMLE), is that it calculates a matrix of weights, which adjusts the quantized values of "important" tensors. This leads to a quantized model that more closely mimics the original.
From the PR:

We can then use these <a_i^2> as importances (weights) in a weighted RMSE minimization when quantizing the tensor.

So, not a different quantization method, just really helpful tweak on top of the existing gguf quant methods.
(All errors my own :-))

@psyv282j9d I just added importance matrix calculations (see the docs)! Closing this now, please feel free to reopen!


Packing 2 bits values into a bigger

Hi @lemire,
Thank you for all your work and all the resources you had provided.
Is there any reference to efficiently pack the 2 bits into a larger data type(basically int64)?
A = 0000.........10(64 bit), B = 0000........11(64 bit), C = 0000........01, and so on, these are int64 values containing 2-bit values.
So, I want to pack them in an int64 datatype(32 2-bit values)
Z = 101101...........(int64 value, containing packed values of A, B, C, D, .............. )
I want to perform this efficiently. So It would be helpful if you can help me with some references.
Thanks in advance!

Please refer to our documentation and examples… You can pack 2-bit values using the simdcomp library as follows:
simdpackwithoutmask(datain, buffer, 2).
I believe that we provide references, see our README.
If you encounter issues using simdcomp, please start by describing the work you have and be specific on the issue.

Hi @lemire,
Thanks a lot for your reply.
I think this will be the main reference for 2 bits packing: https://github.com/lemire/simdcomp/blob/631f8a7a27cb3398be275f0144ab9133d0a2ea4c/src/simdbitpacking.c#L113
1.) Whether there is an implementation with an AVX2 instruction set(like using 256-bit registers)?
2.) And the input is the unpacked value(A = 0000.........10(64 bit), B = 0000........11(64 bit), C = 0000........01, and so on) and the output is the packed value(Z = 101101...........(int64 value, containing packed values of A, B, C, D, .............. ), is this right with the above implementation?
Thanks

Please refer to the papers, e.g.,

Daniel Lemire and Leonid Boytsov, Decoding billions of integers per second through vectorization, Software Practice & Experience 45 (1), 2015.  http://arxiv.org/abs/1209.2137 http://onlinelibrary.wiley.com/doi/10.1002/spe.2203/abstract

Hi @lemire,
I interpreted the implementation of 2-bit packing using simdpackwithoutmask(datain, buffer, 2).
What I found wrt packing is:
If I have an Input array something like this: (3,2,1,3,1,3,2,0,1,1,2,3,2,3,3,2,0,2,0,0.....) each is of type int32
-> Then I load 4 values each into a 128 bit registers:
(3,2,1,3), (1,3,2,0), (1,1,2,3), (2,3,3,2),(0,2,0,0).....................
-> And then the packing will not happen serially, instead it happens something like this:
(.....0,2,1,1,3,........2,3,1,3,2,.........0,3,2,2,1,.........0,2,3,0,3......) --> Packed 2 bits data
What I mean to say is that the values in the packed data are not serial like the original.
It would be great if you can add few comments on this and give clarification on the way the data is being packed.
Thanks,


Logging

Crawl progress
URL inclusion/exclusion
Exceptions

WR updates

Currently we log using logging.logger this can be save to a file if needed


Fix redis backups API server display bug

Checklist

[x] The PR has a meaningful title. It will be used to auto generate the
changelog.
The PR has a meaningful description that sums up the change. It will be
linked in the changelog.
[x] PR contains a single logical change (to build a better changelog).
[x] Categorize the PR by adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog.

Tested on Lab


Support for Description Lists

Some parsers have an extension to support description/definition lists. In https://talk.commonmark.org/t/description-list/289 there is a proposal to add it to CommonMark. A common syntax is to put a colon at the beginning of the line.
An example from the Pandoc manual:
Term 1

:   Definition 1

Term 2 with *inline markup*

:   Definition 2

        { some code, part of Definition 2 }

    Third paragraph of definition 2.

That will be better if being supported

This issue should be considered critical.
Since mdBook relies on pulldown-cmark to produce its documentation, the current state of affairs is that Rust projects just cannot use definition lists within their documentations, unless they dismiss mdBook.
@ayosec has already given the 2 links that really matters here:

the discussion related to adding description lists to CommonMark as an extension is ongoing since 2014, and probably not about to come to an end any time soon;
the Pandoc implementation can safely be considered to be chosen wisely, since it's author, John McFarlane, is also the maintainer of the CommonMark specification.

So IMHO the next move is a no-brainer:
just choose the same syntax as Pandoc's, and implement it as an extension, so as to bring back to the Rust community a means of expression that has existed for 50 years with troff, and since 1999 with HTML !

It seems like this should be reasonably straightforward to implement as an extension. I can mentor anyone that would like to try to do this. Shoot me a message here or on the #pulldown-cmark channel at https://xi.zulipchat.com.

@marcusklaas thanks for your mentoring offer... I'm in !

Hi! I just thought I'd check in here to see if this is still in the works, or if it may be stalled out and in need of more energy/support.

@marcusklaas I'd be happy to take a crack at it. If you have any initial pointers that you think might help, please share at your leisure. Otherwise I'll circle back here once I figure out enough to form any questions, or, optimistically, to suggest my proposed implementation strategy.

That's awesome! I only have very general pointers: first try to get a general idea of the parsing strategy (two phases) and then think of where description lists could fit in. Starting with one or two basic examples and trying to get those to parse those first seems to be another good way to get started. Hit me up here or on zulip when you have questions!

Here I am in 2024, and moving to mdbook from asciidoctor, and wishing for this.

As a direct consumer of pulldown_cmark I think it is more important that v0.11 comes out sooner (with math support, sans description lists) than to wait and include both.

For the time being it's possible to use math like this:
pulldown-cmark = { git = "https://github.com/pulldown-cmark/pulldown-cmark.git", branch = "branch_0.11" }

Since the development has been slowed down a bit, the 0.11 has been released and description lists will be included in the 0.12 version. Thanks for your feedback.

Fixed by #915.


Vulnerability roundup 76: hunspell-1.7.0: 1 advisory

search, files

[ ] CVE-2019-16707 (nixos-19.09, nixos-19.03)

Scanned versions: nixos-19.09: e34ac949d1b; nixos-19.03: 2c61951df92. May contain false positives.

Upstream issue; https://github.com/hunspell/hunspell/issues/624

no progress upstream, check back in a month or so

Upstream fix: https://github.com/hunspell/hunspell/commit/ac938e2ecb48ab4dd21298126c7921689d60571b
Maintainer doesn't think it's important. Want me to open PR with the patch?

@mmilata Contributions are always welcome, so please proceed :-)


make fails at linking

I'm trying to compile clblas on Debian, but fails at linking
https://gist.github.com/Alessandro-Barbieri/9a808ac4d2f65eb3402f#file-gistfile1-txt

I think your error message "riferimento non definito a "clEnqueueFillBuffer"" means "undefined reference to "clEnqueueFillBuffer" " in English?
clEnqueueFillBuffer is new in OpenCL 1.2 and later. Are you building with OpenCL 1.1?

Yes, is undefined reference and sadly I'm using libopencl1 340.65-2 from nvidia
and it states

This package contains the ICD Loader library provided by NVIDIA. This library
supports OpenCL 1.1 only.

I am afraid OpenCL 1.2 headers are required now. Looks later versions of Nvidia driver supports OpenCL 1.2. Refer to issue #117 for workaround if it still does not work for you.

Note that whilst I think that as an AMD project, it's fairly reasonable to use the latest versions of OpenCL, I reckon that it could be good to:

point out in the release notes that the required version of OpenCL has been bumped
point out the required version of OpenCL in a Requirements section (alongside Build Dependencies for example)
notify in advance of release that the required version will be bumped

Of course, it will still stop working on devices that dont support 1.2, but at least it will be less surprising.

As indicated by issue #176 CUDA 7.5 now ships with OpenCL 1.2 header files. This issue can be closed.


status-bar tabs lose configuration after Atom restart

The above picture shows my current configuration.
This works as expected:

no tabs are shown at the status-bar
no inline tooltip
error is shown in bottom error pannel when I move my cursor to a line with an error

After restarting Atom, the following happens:

configuration is still exactly the same as above
the same error is shown as if it was on the active line, however that line isn't active, and in fact that file isn't active.
it looks like it is showing "project wide" errors, however it is not, since the filename isn't appended to the error message, which it normally is in project-wide errors.

Only way to fix this:

enable "show line tab in error panel"
click on "Line 0" button to enable it
disable "show line tab in error panel"
things now work as expected again

A fix is up in https://github.com/AtomLinter/Linter/issues/664


Compiler crashing if instantiating Logger class in main

This crashes the compiler
require "logger"

f = File.open("log","w")
l = Logger.new(f)
f.close()

Interesting is also that only version 0.7.5 seems affected: http://play.crystal-lang.org/#/r/9pv
While on version 0.7.4 the code is working: http://play.crystal-lang.org/#/r/9pw
Also the logger worked properly for me when used in class variable: http://play.crystal-lang.org/#/r/9q0
Which correctly writes "...Test" in a file.

Thanks!!
I was able to reduce it to this:
class Foo
  BAR = 1 || 2

  def foo
    BAR
  end
end

->(x : Foo) { x.foo }


fix: fixed #460 comments filter not working

PR Fixes:

Fixed comments filter not working

Resolves #460 #468
Checklist before requesting a review

[ x] I have performed a self-review of my code
[ x] I assure there is no similar/duplicate pull request regarding same issue

Hey @hkirat can you please check this PR?

hey, @Kartik1110 the issue remains there, are you still working on it?

@kmaity-9563 The issue is fixed, but PR is not merged yet.
@hkirat please check

Hey @hkirat , Please check this PR as this issue is still not working on the website.

already done, closing


StoragePoolType as class

Description
This PR moves the StoragePoolType from an Enum to a class that is largely compatible with Enum. This allows for storage pool plugins to be added dynamically without needing to hard code an enum value into the core code. We are trying to be Enum compatible to avoid having to refactor much of the code where these are used.
To do this, on the KVM agent side we needed to move from annotation based StoragePoolTypes on the StorageAdaptors to having an adaptor method report the StoragePoolType. This was because annotations aren't dynamic enough to be able to use StoragePoolTypes that aren't static.

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

How did you try to break this feature and the system with this change?

@blueorangutan package

@sureshanaparti a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 8404

@blueorangutan test matrix

good functionality @sureshanaparti , I haven't looked at the code yet, but good to see movements like this, making ACS more configurable/extensible(/expandable?)

[SF] Trillian Build Failed (tid-8899)

[SF] Trillian test result (tid-8898)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server r8
Total time taken: 47652 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8544-t8898-vmware-67u3.zip
Smoke tests completed. 120 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_02_balanced_drs_algorithm
Failure
135.09
test_cluster_drs.py

[SF] Trillian test result (tid-8897)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 49345 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8544-t8897-xenserver-71.zip
Smoke tests completed. 121 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

@blueorangutan package

@sureshanaparti a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 8413

@sureshanaparti a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-8912)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 48318 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8544-t8912-kvm-centos7.zip
Smoke tests completed. 119 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_create_pvlan_network
Error
0.06
test_pvlan.py

test_08_upgrade_kubernetes_ha_cluster
Failure
987.07
test_kubernetes_clusters.py

@blueorangutan test matrix

@rohityadavcloud a [SL] Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

@blueorangutan package

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 8431

[SF] Trillian test result (tid-8934)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 46844 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8544-t8934-kvm-centos7.zip
Smoke tests completed. 120 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_vpc_site2site_vpn_multiple_options
Failure
308.87
test_vpc_vpn.py

[SF] Trillian test result (tid-8932)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 54034 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8544-t8932-xenserver-71.zip
Smoke tests completed. 121 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

@blueorangutan package

@sureshanaparti a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 8462

@blueorangutan test matrix

@sureshanaparti a [SL] Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-8977)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 43297 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8544-t8977-xenserver-71.zip
Smoke tests completed. 120 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_cancel_host_maintenace_with_no_migration_jobs
Error
308.39
test_host_maintenance.py

[SF] Trillian test result (tid-8979)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server r8
Total time taken: 49449 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8544-t8979-vmware-67u3.zip
Smoke tests completed. 120 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_02_balanced_drs_algorithm
Error
433.44
test_cluster_drs.py


South Dakota numbers are off

In the "Today's data" JSON file, the .cases numbers are not the "Total Positive Cases" from https://doh.sd.gov/news/Coronavirus.aspx#SD     They are taken, mistakenly I believe, from the "Total Cases Recovered" column.  This is masking the situation around the Smithfield meat packing plant.

It seems there's a new dashboard that's totally breaking the scraper...

They're using PowerBI, and it's really slow.  I left them a message at https://doh.sd.gov/contact/ asking for the underlying json or whatever.  @BartJohnson, do you know of a better data source for that area?  Cheers, jz


Release: 1.3.0 RC1

Branch name says release/1.2.0rc1

Will work on this locally for a bit.

@thibaultcha LGTM! Since this PR is under my name I can't Approve it but everything ✅on my side.

Can we fix the branch name to release/1.3.0 before releasing? This is going to be around for any other rcs until final.

Superseded by https://github.com/Kong/kong/pull/4835.


Label text style support lineOverflow and ellipsis

Brief Information
This pull request is in the type of:

[x] bug fixing
[x] new feature
[ ] others

What does this PR do?
Add lineOverflow and ellipsis for label, also fix lineOverflow doesn't affect in title
Fixed issues
Close #15395
Details
Before: What was the problem?

After: How is it fixed in this PR?

Misc

[ ] The API has been changed (apache/echarts-doc#xxx).
[ ] This PR depends on ZRender changes (ecomfe/zrender#xxx).

Related test cases or examples to use the new APIs
NA.
Others
Merging options

[ ] Please squash the commits into a single one when merge.

Other information

I remember I didn't add ellipse and lineOverflow for some compatible considerations.
Especially the ellipse, treemap already has ellipse in the 4.x versions but with different meanings, which is same with overflow: 'truncate'. I noticed in this PR it is changed from boolean to string. In fact, it still works for the old code and will be converted to overflow: 'truncate'. Introducing ellipse to the label option will break it.
For lineOverflow it's mainly because I thought it is not implemented well yet.


Running multiple Styleguides at once

Having the start.app check if the port required for the browser isn't used already.

Hi @kevinchevallier ! Do you want to propose a solution to that problem?

Will try. After a quick check, i can see that it does take place in watch.js, nothing to do with Star.app.

The Styleguide server has a default config with port number included, if you want to launch more than one instance of the Styleguide you have to manually change the server port.
@caiovaccaro I think we can write a sort of check before the server starts, choose a free port and log it into the console for the user to know.

Exactly what i was thinking. I tried to use a tool like https://github.com/indexzero/node-portfinder but without luck so far.

@kevinchevallier , any improvement?

Solved. Just created a pull request.


Chunk Keeper's Infinity GUI Formspec

Describe Issue
The chunkkeeper:keeper_inf_off and chunkkeeper:keeper_inf_on both fail to allow the owner interacting with it. (Even with protection_bypass privledge)
Expected Result
I expected the Keeper to function similar to the chunkkeeper:keeper_off and chunkkeeper:keeper_on (non-infinities).
Minetest & Mod Version
Minetest: 5.5.1
Chunkkeeper: v1.0
Additional Info
None

Nope, it is a formspec issue, I thought it was just the thing eating all items and not starting because timer is 0.

Back to hunting through the code.


Why should I use Ramda instead of native Array methods

After watching https://www.youtube.com/watch?v=JRzly-t4Boc I started wondering why replace .map and .filter with Ramda. I like the concise syntax and shorter code, as well as the overall mentality but wouldn't using an external library instead of native bring a performance penalty to my APP? (sorry if that question is too naive or low level for some!)
Generally I looked for reasons to switch to Ramda and - also asking in the gitter channel - didn't get any answers.
Thanks for your time, excellent work!

wouldn't using an external library instead of native bring a performance penalty to my APP?

Often enough, no.  The simpler APIs of Ramda's functions allowed for simpler implementations, which meant that when we wrote them, they were often faster than their native counterparts.  Of course, many of the JS engines have moved on since then, and I really don't know how they compared.
We have added more to our functions as we went, and performance may have suffered.
But to me, the reason for using these functions have very little to do with speed.

map is not just "run a function against every element of an array and return an array of the results."  Our function is much more general:
const square = n => n * n
map(square, [1, 2, 3]) //=> [1, 4, 9], as exptected, but also:
map(square, Just(7)) //=> Just(49)
map(square, Nothing) //=> Nothing
map(square, Right(5)) //=> Right(25)
map(square, Left('error')) //=> Left('error')
map(square, Task((_, __) => 10)) //=> Task((_, __) => 100)
map(square, n => n + 1)(3) //=> 16

map makes obvious the strong connection between an expression involving a value and a function which takes that value as a parameter:
const withTax = map(addTax, itemsBought)

// getWithTax :: [LineItem] -> [LineItem]
const getWithTax = map(addTax)

Compare this to native:
const withTax = itemsBought.map(addTax)

// getWithTax :: [LineItem] -> [LineItem]
const getWithTax = itemsBought => itemsBought.map(addTax)

The function supplied to map is simpler, so you don't get as many silly results such as:
['1', '2', '3'].map(parseInt) //=> [1, NaN, NaN]
map(parseInt, ['1', '2', '3']) //=> [1, 2, 3]

Functional programming is about many things, but chiefly it's about working with lawful, pure functions against immutable data.  Ramda functions make this easy.  This is native:
const tutone = [8, 6, 7, 5, 3, 0, 9]
totone.sort((a, b) => a - b) //=> [0, 3, 5, 6, 7, 8, 9]
// But now
tutone //=> [0, 3, 5, 6, 7, 8, 9]

This is Ramda:
const tutone = [8, 6, 7, 5, 3, 0, 9]
const jenny = sort((a, b) => a - b, tutone)
jenny //=> [0, 3, 5, 6, 7, 8, 9]
// But still
tutone //=> [8, 6, 7, 5, 3, 0, 9]

In fact, I wrote a whole article on Why Ramda?

I very much appreciate the time you took to write this! It seems that it makes you help more DRY code, make refactorings & logic changes easy. Seems that for complex algorithms it can also speed up development. Thanks!


Add support for setting the visibility flag

UI and presenter code to support updating the
visible_to_departmental_editors flag on a Taxon.
Setting this flag on a draft taxon will allow editors
to see this taxon, and tag content to it.
It will not affect the public visibility however.
Edit taxon page with new checkbox:

Paired with @whoojemaflip

Tests are currently failing because the change to the taxon schema in govuk-content-schemas needs to be deployed.


Feature request: Frost Protection mode

Some Midea and compatible AC models support a frost protection mode (FP), that maintains a temperature of 8°C.
On the remote, it can be activated in HEAT mode, by setting the temperature to 17°C (lowest setting) and then pressing the down arrow again.
It is also supported in the MSmartHome app, so it should be possible.

+1 I have rotenso revio with this future and also will be nice to enable it via HA

+1
I have my garage unit in this mode all the time! Anyone know of a workaround for now? Or a different integration that supports this.
Happy to help in any way I can.

+1 from my side as well for this enhancement.
Have a Dimstal AC in the garage and use this mode most of the time.

Merging into #141


Add button size as a config option

One option is to make specific sizes:

Small
Regular (default)
Large
X-Large

Another option is to allow entering a number where 100 is the default. Setting it to 10 would mean it's 10% the size.
The parameter name can just be 'size' .

Can you please be specific about which buttons are we talking here and where should the changes nedded to be done
is the changes should be in this
var config = {
to: 'bitcoincash:qrmm7edwuj4jf7tnvygjyztyy0a0qxvl7q9ayphulp',
amount: 4.5,
goalAmount: 300000,
canEdit: false,
currency: 'AUD',
text: 'Tip Us a Coffee!',
size: regular, // Added this inorder to change it according the class that we choose but from where do they choose?
hoverText: 'One BCHinno',
theme: {
palette: {
primary: '#ee8b2b',
secondary: '#fefbf8',
tertiary: '#504030'
}
},
Like i think the way we can fix this is by getting the button id and making it chages it's class by using switch case we can do that but first we do need to write the css code for classes Small large Regular and xlarge
but how to apply this change to the button like suppose our id of the button is dotlasher
var buttonElement = document.getElementById('dotlasher');
switch (config.size) {
case 'Small':
buttonElement.classList.add('small');
break;
case 'Large':
buttonElement.classList.add('large');
break;
case 'X-Large':
buttonElement.classList.add('x-large');
break;
default:
break;
}

Now the code for the css is here but where to add them that is what i am not getting


Segmentation fault: 11 when using Alamofire.Response as a type of function argument

Here is the code that made compiling error.
class Foo {
  func bar(response: Alamofire.Response) {
  }
}

The Swift compiler has a tough time with the misuse of generic classes. You can fix the issue by adding the generic parameter conformance:
class Foo {
    func bar(response: Alamofire.Response<AnyObject, NSError>) {
        // winning 👍🏼
    }
}


Release schedule of spec 3.0

Up until now, we have slowly worked our way through issues and slowly progressed as time went on, but now it seems there is consensus to get "down to business".
In the last meeting, we discussed setting the release date and freeze period for when the last change to the spec can happen. This issue finalizing that proposal, and this is only a proposal and not an order 😄
Remember we do not have a targetted scope for spec 3.0, the scope is what has reached RFC stage 3 at the time of the release. Read more about the RFC process in the contributing guide.
Therefore this release schedule suggests a specific release period and a freeze period to give people an adequate amount of time to review the final version before it's released.
Release 3.0.0 is scheduled for June 2023
The suggestion is to release spec 3.0 at the end of June next year (in the second release period), and whatever proposals has reached RFC stage 3, at that time will be included in version 3.
Freeze period from February 2023
The suggestion is from the end of February no more new changes are allowed into spec 3.0, from then on it's only about finalizing what we have. That means that any proposals that have not reached RFC stage 2 (should it be stage 1?) will not be included in spec 3.0, regardless of whether they finish between February and the end of June.
What this means is that the only change that can happen from February onwards are:

Review and minor edits of existing changes.
Finalizing tooling implementations in the parser and JSON-schema-spec repository to reach stage 3 (as stage 2 does not mean the implementations are finalized).
Removal of existing features that are deemed rejected.

I also think we should define some must-haves for the release. Release notes and schema + parser are not enough for 3.0

@derberg I think that is a completely valid point, let's see who wants to chip in.
Here is the list of things I seek out to make sure is updated for v3 (either through good first issues or manually do them)

Generator
Modelina (otherwise some code templates cant update)
All templates (it will be somewhat of a major task to convert them, but then again I don't think it's that bad)
EDAVisualiser

I also think that when the spec freeze happens, we can do spec v3 office hours where maintainers can get help updating their implementation, or contributors can get help solving the update issues.
Thoughts?

I like office hours idea, it will be needed also for docs contributors.
Not sure if all templates need to be migrated but for sure:

converter
studio
react component -> html teplmate

I'm all in with the freeze period starting on March 1st this year. Whatever is complete is in, otherwise, it's not.

I'm in favor of the March 1 freeze, but would strongly support #881 being addressed in v3

After the last meeting we discussed this issue and suggest the following.
We keep the proposed deadlines but make an exception to two proposals, as they are already well underway and are breaking changes:

https://github.com/asyncapi/spec/issues/622
https://github.com/asyncapi/spec/issues/505

As we are already past the deadline for when this should take effect, you have until the next spec 3.0 meeting (March 15) to reject this, otherwise lazy consensus applies cc code owners @char0n @fmvilas @derberg @dalelane @smoya.

Replaced by https://github.com/asyncapi/spec/issues/944


EC sign and verify automatically hash to SHA 256

library should accept SHA type as an optional parameter and hash to the preferred method. This bug prevents the library from being used for things like JWT, VAPID and the like.

PR inbound


bginfo addition to PowerToys

Description of the new feature / enhancement
BGInfo used to be available to display system info on desktop background - I found this really useful. Its still available here https://docs.microsoft.com/en-us/sysinternals/downloads/bginfo but would be great if it was part of PowerToys and updated for Windows 10/11 with more options etc or made as a widget?
Scenario when this would be used?
Very useful in corporate environments for IT support as each PC info is on the desktop. eg ip address, versioning etc.
Personally, I like having this info readily available on screen.
Supporting information
No response

Issue is a duplicate
Thank you for your issue! We've linked your report against another issue #3096
Thanks for helping us to make PowerToys a better piece of software.
For proposing BGinfo as a widget please use the
Feedback Hub.

Duplicate of #3096


How to prioritize snowplow analytics overhaul

can someone shed light on how to best approach this incrementally? @orta ?

The infrastructure for Snowplow is ready to go, I added it at our framework level a few weeks back.
We need someone working on Eigen to talk with @ilyakava about what settings we need to get it working.

The only settings there should be to set are: app_id to eigen and platform to mob. Then you will report either a special "pageview" event, or a "structured" event (info on how should be in the obj-c tracker library docs).
A pageview event is simple and should take no arguments. But a structured event has 4 variable arguments that we use (Category (String), Action (String), Label (String), Property (String)). When you provide these 4 arguments, you will need to respect the schema described here here.

list:
Downloads
New Accounts Created
W1 Retention
Weekly Active User
Return WAU: (percentage of total WAU)
Total Sessions per week
Artist Follows
Weekly inquiries

I’m moving this into #384, @orta has done his work already.


Annotation tool: feature complete

Context
The annotation tool has been sitting at "almost ready" for a long while, and we'd like it to join the rest of the party of "look, it works". Here we're focusing purely on the technical aspect of having the required functionality. But there are other aspects such as ease of use and guidance that we will address soon after.
See for more context: https://docs.google.com/document/d/1jzAWI6dzBCYVPsdczt3U49flOuWRPSOdDQmU9dBRelM/edit?usp=sharing
Why

Part of #11
To enable new node-sites to annotate data on their own
To make sure users have a good experience for the entire workflow, and they tend to start with annotations
So that we can use our own tools to add data to nodes we're currently maintaining
To deliver on our commitments to our friends and collaborators who want to reuse this tool

Outcomes

[ ] Tool creates a valid bagel.json, i.e.: I can give the file to the CLI and it'll be happy with it
[ ] I can classify "healthy control" as part of the diagnosis annotation workflow
[ ] The discrete value mapping dropdowns give me all valid options to choose from (e.g. diagnosis -> SNOMED-CT)
[ ] I can annotate assessment tools

What

[ ] https://github.com/neurobagel/annotation_tool/issues/477
[ ] https://github.com/neurobagel/annotation_tool/issues/285
[ ] Validate the output data dictionary against a reference or schema
[ ] Provide all valid options for dropdowns of discrete categories
[ ] https://github.com/neurobagel/annotation_tool/issues/553

@alyssadai / @rmanaem, can you take a look to

see if we're missing any implementation things ("What")
if there are existing issues that cover the non-issueified steps
have any other notes

Added a couple related issues under What. This list otherwise looks good to me!

@alyssadai When you get a chance could you see if CLI is happy with the output of the annotation tool with the new changes?
We can then check the last item on the outcomes Tool creates a valid bagel.json, i.e.: I can give the file to the CLI and it'll be happy with it and close this.


[BUG] Option-backspace (word delete) freezes dooit

Describe the bug 🐛
Append task to topic and type name, then use option+delete to backspace word - dooit freezes.
To Reproduce 🐣
Steps to reproduce the behavior:

Append task to topic and type name
Option+delete to backspace word
dooit freezes.

Expected behavior  🤔
Deletes previous
Desktop (please complete the following information):  🤖

OS: macOS
Version Latest

Hey @jacksongoode,
I suppose option is same as alt key on linux/win?
If yes, then it's textual (the TUI framework)'s issue
Also, there are some key bindings issues the terminal (for e.g. ctrl+backspace gets mapped as backspace only)
See this for more details
Currently you can use ctrl+w / control+w for deleting a word while in insert mode

It looks like it was resolved here. Maybe you need to update the dependency?

Alt still manages to mess things up after the latest update, at least on my machine,  it freezes the other key inputs until I press escape. I'm sorry about that :(
I'm closing this issue as of now, I'll be sure to mention if this problem goes away


try resolve two “ / ” on contextPath

Question
about this question
i found two / will lead to Npe is because of [ZookeeperServerRegisterRepository#subscribeMetaData]   subscribe
a ChildChanges Listener (named  xxlistner)
then [ZookeeperClientRegisterRepository#registerMetadata]  trigger   zkClient.createPersistent(metaDataPath, true); will registe /v1/v2 node ,but not set data in first zk node create
then the xxlistner get  new childChanges (v1 )  then watcherMetadata  find childNode  v2, but now v2 has no data , do                 publishMetadata(zkClient.readData(realPath).toString())  ,zkClient.readData(realPath) get null ,then lead to npe
my resolve way
ZookeeperServerRegisterRepository#subscribeMetaData
before node create  add zkClient.getEventLock().lock();
and after data set  ,unlock this eventLock
does it work?  want your comment

What are the scenarios where there are multiple /?

we want use /gw/${applicationName}  as  contextPath , then can do something in filter for different app

donot used  multiple / as context path

the reason is ?
/gw is for nginx  let request forwarding to gateway,and use the secondary directory to diff app,  How can I achieve this

/gw is for nginx let request forwarding to gateway,and use the secondary directory to diff app, How can I achieve this

/gw ,you can config in nginx upstream , not config in shenyu

ok ,i know it , but  am I discovering the cause of this problem? and will this solution solve the problem?

This is not a solution, for zk / is a node, maybe there will be many /

ok, thanks


Callbacks

Is there any way for the host to invoke a script command (function) by name or pointer or whatever ?
This would be important, for instance, to implement callbacks written in Sink with the host implementing GUI stuff. Event-driven Sink programs, more generally, would be enabled by this.

No, I experimented with a couple different ways to do this, and I settled on doing an old school event loop, for simplicity.  The sink code just dispatches the events itself, in a do-while loop.
This means implementing a native function like events.getnext, which will get the next event, or wait until an event is added.  Then the sink code would be something like:
do
  var { type, args } = events.getnext
while type != events.QUIT
  # handle event
  if type == events.MOUSEMOVE
    onMouseMove args
  elseif type == events.MOUSECLICK
    onMouseClick args
  # etc...
  end
end
# quit happened...

Here's an issue where I discuss options, but eventually concluded not to do anything: https://github.com/voidqk/sink/issues/51
And another idea for event based processing here: https://github.com/voidqk/sink/issues/28

Ok, understood. I will try to exploit an event loop.
Thanks for quick feedback.

Da: Sean<EMAIL_ADDRESS>Inviato: martedì 20 novembre 2018 23:09
A: voidqk/sink
Cc: steve64; Author
Oggetto: Re: [voidqk/sink] Callbacks (#54)
No, I experimented with a couple different ways to do this, and I settled on doing an old school event loop, for simplicity. The sink code just dispatches the events itself, in a do-while loop.
This means implementing a native function like events.getnext, which will get the next event, or wait until an event is added. Then the sink code would be something like:
do
var { type, args } = events.getnext
while type != events.QUIT
handle event
if type == events.MOUSEMOVE
onMouseMove args
elseif type == events.MOUSECLICK
onMouseClick args
etc...
end
end
quit happened...
Here's an issue where I discuss options, but eventually concluded not to do anything: #51https://github.com/voidqk/sink/issues/51
And another idea for event based processing here: #28https://github.com/voidqk/sink/issues/28
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/voidqk/sink/issues/54#issuecomment-440447131, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALU4MuVKK8p7KbcpOHzoEMXMXEcWIvswks5uxH2OgaJpZM4Yqzno.


Integrationtest

Current coverage is 61.05%

Branch #1620 has no coverage reports uploaded yet.

No diff could be generated. No reports for master found.
Review entire Coverage Diff as of 7cd64f0

Uncovered Suggestions

+0.22% via .../master/Master.scala#116...127
+0.20% via ...cutor/Executor.scala#187...197
+0.20% via ...cutor/Executor.scala#98...108
See 7 more...

Powered by Codecov. Updated on successful CI builds.


Unable to build: Invalid manifest / error: no such module 'PackageDescription'

Hi,
when I try to install swift-format:
VERSION=0.50700.0
git clone https://github.com/apple/swift-format.git
cd swift-format
git checkout "tags/$VERSION"
swift build -c release

I get this error:

iMac:swift-format user$ swift build -c release
error: 'swift-format': Invalid manifest
/Users/userswift-format/Package.swift:15:8: error: no such module 'PackageDescription'
import PackageDescription
^

whats going wrong?
MacOS Version 12.6
Xcode 14.0.1
Intel iMac 2017

OK, it was my fault:
Command Line Tools where not set here :
Xcopy -> Preferences -> Locations

This error also occurs when you update Xcode and don't reopen terminal

@kaoz3000 you saved me a lot of hairpulling and debugging. Thank you! 🙏

Hello, I got the same error like @kaoz3000. I already installed the command line tool and it is set under location. But I still get the error.
What I did:

open Terminal
insert the following code
VERSION=0.50700.0  # replace this with the version you need git clone https://github.com/apple/swift-format.git cd swift-format git checkout "tags/$VERSION" swift build -c release
after the build command does the same error like @kaoz3000 appear

Am I missing something? If I did something wrong please tell me, because I'm new in the MacOS Universe and Swift Language.


Is there any way to implement a pure AngularJS UI using AngularJS {{ ... }} template expressions?

Hi,
I am experimenting with angular-meteor, and learning meteor + AngularJS frameworks at the same time.  I would really appreciate your guidance on how to incorporate existing AngularJS packages, all of which include templates with the standard AngularJS {{ ... }} expression syntax.
I wanted to see if I could use the ui-grid AngularJS module in my angular-meteor application.  To cut to the chase I simply downloaded the pre-built ui-grid-unstable.js and ui-grid-unstable.min.css files and added them to the client/lib and client/stylesheets folder.  Meteor did its job and built them into my app's index.html, great.
I added ui.grid as a dependent module into my app, great:
angular.module('myMeteorApp',[
	'angular-meteor',
	'ui.router',
	'ui.grid'
]);

// Bootstrap AngularJS framework
Meteor.startup(function () {
	// Add ui.grid module as a dependency
	// NB: 25-Oct-2014: I don't really know what this does, but does seem to stop Angular for complaining during dependency injection
	angularMeteor.requires.push('ui.grid');

  	angular.bootstrap(document, ['myMeteorApp']);
});

I then added a ui-grid attribute into my app page:

And got this:

Because ui-grid uses standard AngularJS template syntax, and because angular-meteor switches {{ ... }} to [[ ... ]] (to avoid clashing with Meteor Template subsystem), none of the ui-grid templates render correctly.
So, what are my real options?
I took a look at the meteor-ng-grid project to see how it was done there.  It appears it replaces some of the templates with modified versions that use [[ ... ]].  The ui-grid project has many such templates.  It doesn't seem viable in a real-world project to maintain angular-meteor equivalent versions of all of the templates, and update them by hand every time ui-grid bumps up versions.
One option might be to say I want to only use AngularJS for all of the front-end of my application ... understanding that I can;t use any Blaze - based templates (e.g. the useful loginButtons that comes with the accounts-ui packages).  The huge advantage is that I could then access all of the AngularJS UI module ecosystem without any modification, whilst taking advantage of Meteor's reactivity and backend integration.  If I could turn off the bit of code in angular-meteor that switches the Angular expression syntax (by a config setting?) , what would happen?  Or, maybe the app could remove the (Template?) (Blaze?) packages from its standard set, so it doesn't try and get in the way .
I am happy to try a few experiments along these lines, but would really appreciate anyone's guidance, as I think you have already thought about these issues.
Also I apologise if this question is not really suitable for the github issues list.  Is there a mailing list or similar for angular-meteor ?
Thanks,
Richard

Now you can!
https://github.com/Urigo/angular-meteor/releases/tag/0.6.0-alpha

CC @pscanf


👨⚔ Soldier emoji

There’s a military medal 🎖 and crossed swords ⚔ as a traditional symbol for battle/fight or MIA/KIA. They could be used for Emoji ZWJ Sequences for a Military Profession Emoji, i.e a Soldier, Fighter, Combattant, Knight, Sellsword, Officer, … See also #84 for military vehicles.

👨🎖 or 👨⚔ or 👨🥆 Male Soldier
👩🎖 or 👩⚔ or 👩🥆 Female Soldier

Implementations

 :,@

🪖 Military Helmet
http://www.unicode.org/L2/L2019/19400-saluting-face.pdf
http://www.unicode.org/L2/L2019/19396-saluting-face-emoji.pdf


Please update npm package

The rules on the npm package are outdated (only 2) and in GitHub there are more.
Please update the package on npm.

We'll be updating the plugin when we feel it's time for a new release. We're not quite there yet. Stay tuned!


Docker support latest tag

Without the "latest" tag updates requires manual stop of the running container and fetching the new images. A latest tag would allow automatic updates.

There is no latest tag to avoid people updating blindly the software to a new version without reading the ChangeLog and without looking to the possible breaking changes.
This is also to avoid people reporting bugs on the "latest" version, latest tag is a moving target, this 2.0.4 today but it will be 2.0.5 another day. Have an issue that say "That doesn't work with latest version" doesn't really help.
Latest tag or not, you still need to destroy the current container and start a new one with the desired image.
Using the latest tag is error prone, it doesn't means you are on the latest version, especially if you forget to pull the image. By pining the exact version you avoid any surprise.


K8SSAND-583 ⁃ The inlined ObjectMeta field of CassandraDatacenterTemplateSpec is not serialized

While working on #7 I ran into a problem where it seems that a field is not getting serialized. I have the following code:
type K8ssandraClusterSpec struct {
	Cassandra *Cassandra `json:"cassandra,omitempty"`
}

type Cassandra struct {
	Datacenters []CassandraDatacenterTemplateSpec `json:"datacenters,omitempty"`
}

type CassandraDatacenterTemplateSpec struct {
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Name string `json:"name,omitempty"`

	Spec cassdcv1beta1.CassandraDatacenterSpec `json:"spec,omitempty"`
}

The ObjectMeta field in CassandraDatacenterTemplateSpec does not get serialized when I create a K8ssandraCluster object. Here is an manifest I used for testing:
apiVersion: k8ssandra.io/v1alpha1
kind: K8ssandraCluster
metadata:
  name: test
spec:
  cassandra:
    datacenters:
    - metadata:
        name: dc1
        labels:
          env: dev
      spec:
        size: 1
        serverType: "cassandra"
        serverVersion: "3.11.10"
        clusterName: test
        storageConfig:
          cassandraDataVolumeClaimSpec:
            storageClassName: standard
            accessModes:
            - ReadWriteOnce
            resources:
              requests:
                storage: 5Gi

The metadata property in the datacenters array is empty after I create the object. I came across an old issue that could be relevant https://github.com/kubernetes/client-go/issues/8.
┆Issue is synchronized with this Jira Bug by Unito
┆Issue Number: K8SSAND-583
┆Priority: Medium

Closing this as it is no longer relevant. Rather than embedding an instance of ObjectMeta, we instead introduced our own EmbeddedObjectMeta struct which includes only the field we care about, namely labels and annotations.


Switch cgmolecule def to memory management by unique ptr

Getting rid of memory leaks part 2.

ping @JensWehner this one is next.


No Odds?

Anybody else having the issue where no odds are appearing besides in NCAA Football?

It seems to be working on my end? let me know if it is for you

Only one category is strange, will definitely look into this, thank you

It does appear to be working now. Its weird it only happened for about a day or 2 and then everything appear to went back to normal.


Question: redirect_on_fallback = False doesn't work as expected

Hi,
I'd like to know if this is a general bug, or a problem specific to our own site.
The django-cms documentation says:
redirect_on_fallback
Determines behaviour when the preferred language is not available. If True, will redirect to the URL of the same page in the fallback language. If False, the content will be displayed in the fallback language, but there will be no redirect.
If I set it to False, I get no redirect, as expected, but also, the non-translated, non-English page which is displayed does not have the contents from the English page, but is empty.
Is this a django-cms bug, or might this be due to some special settings we have? (v3.09)
Thank you!

Are the fallback languages setup correctly for the language?

All languages are set to fall back to English, following the documentation.

See language_fallback parameter in http://django-cms.readthedocs.org/en/support-3.0.x/reference/configuration.html

I copied from there ;)

Sorry, wrong link: http://django-cms.readthedocs.org/en/support-3.0.x/reference/configuration.html#cms-placeholder-conf language fallback must be enabled per-placeholder

Okay, thanks for the hint, I will try that! :D

Works - Thank you very much again :) You have made someone very happy today!
Maybe it would be worth to add a further "Make sure that..." to the part about CMS_LANGUAGES in the docs, so people searching for one thing cannot miss the other as I did?

Keep this opened to track your suggestion

Looking at this right now. @Moini, can you just clarify for me precisely what confused you so I can address it? Ping me on IRC if you prefer.

evildmp, I wasn't confused - I just didn't know I had to change two settings - and it would have helped me if the part I found would have referenced the part I also needed.
So, if this part of the page:
http://django-cms.readthedocs.org/en/support-3.0.x/reference/configuration.html#cms-languages
would have had a link to this one
http://django-cms.readthedocs.org/en/support-3.0.x/reference/configuration.html#cms-placeholder-conf (and possibly the other way around, too),
stating the fact that there are two independent settings for fallback languages, one for CMS generally, and a separate one for the placeholders - I had some really empty pages before I knew that ;)

Thank you!

Fixed!


fix(core): errored initial snapshot throws sync w/o observers

This modifies the error-handling logic for when an error is thrown during the creation of an Actor's initial snapshot (during start()).  If the actor has no observers, the error will now be thrown synchronously out of start() instead of to the global error handler.
Example use case:
const machine = createMachine({
  context: () => {
    throw new Error('egad!');
  }
});

const actor = createActor(machine);

try {
  await toPromise(actor.start());
} catch (err) {
  err.message === 'egad!' // true
}

Note that this does not impact child actors, but it might want to!
Fixes: #4928

For reference, the current workaround is this:
const actor = createBrokenActor();
const machine = createMachine({
  context: () => {
    throw new Error('egad!');
  }
});

const p = toPromise(actor);
actor.start();
try {
  await p;
} catch (err) {
  err.message === 'egad!' // true
}

I don't know if the new behavior is desirable to the maintainers, but I find it more ergonomic. Thought I would restart that conversation here!

My main concern is that it is somewhat inconsistent, since if the example machine was spawned as a child actor, it would reach the global error handler.

This looks like a breaking change to me unless you feel this is actually a "bug fix" and not just a "revision of intent" 😜

...that being said, if using spawnChild(), there's really nowhere else for the error to go.

Could you show the exact situation you are talking about here?

...that being said, if using spawnChild(), there's really nowhere else for the error to go.

Could you show the exact situation you are talking about here?

@Andarist
This, I think:
https://github.com/boneskull/xstate/blob/0dabaa7be7e11b7567def5e1b747b4077cd8703f/packages/core/test/errors.test.ts#L336C4-L367


Split components.md into a full section ?

The Essential part of Vue guide is really simple and quick to read. It introduces all mechanisms about Vue in the most simple usage, i. e. just use it like any others JavaScript tool on a specific part of code. So, without component aspect, Vue is still a great tool you can just use, why not, with multiple new Vue on multiple part of a DOM.
To me, the component level is the second part of comprehension of tool for a beginner. And it's a complete part. It's why components.md is a soooo long file to read.
It's why, it should not be a big deal to explode the content of components.md into multiple file exposing each concepts of component, Using Components, Props, Custom Events etc. under a complete section (same as Essential, Transitions & Animation, etc.).
What your throughs about that ? And without complete new section, what your throughts about split this really loooong file ?

Hmm, I do want to keep components under Essentials, because I think it really is important for anyone using Vue to understand. I agree that it's very long though, so I'm open to splitting it into multiple pages and reorganizing. There are also cases where we can provide a briefer explanation, then link to the style guide for more info (e.g. data Must Be a Function).
As a first effort, I'll try to make a pass soon to revise and reorganize. During that process, I may also see some sections that could really be pulled out into a separate page outside of Essentials.

I would just know if you have already thinking about the fact of components.md is too long ;)


Add touchPointsEnabled property to allow toggling touch points display

This pull adds a property touchPointsEnabled to NRWindow to allow for programmatic toggling of the touch points behavior. Because all of the control is currently in the sendEvent method, I've had to reimplement the sendEvent to turn the behavior on/off within the app (or via app settings), this additional property allows for programmatic access, and makes it easy to change the default.

@natanrolnik any thoughts on this pull?

thanks!


Include "entrypoint" option on --load-extension?

Problem
SQLite extensions have the option to define multiple "entrypoints" in each loadable extension. For example, the upcoming version of sqlite-lines will have 2 entrypoints: the default sqlite3_lines_init (which SQLite will automatically guess for) and sqlite3_lines_noread_init. The sqlite3_lines_noread_init version omits functions that read from the filesystem, which is necessary for security purposes when running untrusted SQL (which Datasette does).
(Similar multiple entrypoints will also be added for sqlite-http).
The --load-extension flag, however, doesn't give the option to specify a different entrypoint, so the default one is always used.
Proposal
I want there to be a new command line option of the --load-extension flag to specify a custom entrypoint like so:
datasette my.db \
  --load-extension ./lines0 sqlite3_lines0_noread_init

Then, under the hood, this line of code:
https://github.com/simonw/datasette/blob/7af67b54b7d9bca43e948510fc62f6db2b748fa8/datasette/app.py#L562
Would look something like this:
 conn.execute("SELECT load_extension(?, ?)", [extension, entrypoint])

One potential problem: For backward compatibility, I'm not sure if Click allows cli flags to have variable number of options ("arity"). So I guess it could also use a : delimiter like --static:
datasette my.db \
  --load-extension ./lines0:sqlite3_lines0_noread_init

Or maybe even a new flag name?
datasette my.db \
  --load-extension-entrypoint ./lines0 sqlite3_lines0_noread_init

Personally I prefer the : option... and maybe even --load-extension -> --load? Definitely out of scope for this issue tho
datasette my.db \
  --load./lines0:sqlite3_lines0_noread_init

I agree with you - I like the : option you described there.
I'd like to stick with --load-extension - --load is general enough that I might have it do something else in the future, and this is a rare enough advanced feature that I'm OK with it being verbose.

Do you want to write a PR for this?
Ideally I'd want this to be covered by a test, but it looks like --load-extension isn't covered by tests at all yet. It's a tricky thing to add to the unit tests because there are plenty of Python installs out there (including the one on my Mac) that don't support .enable_load_extension() at all.
So maybe a test which uses @pytest.mark.skipIf() to skip itself if the environment it is running in doesn't support that feature?
But we'd also need to bundle a compiled SQLite extension to use in the test, which would be a slightly weird thing to have in the repo.
We do have one previous example of something like that though: https://github.com/simonw/datasette/blob/main/tests/spatialite.db and the script that builds it https://github.com/simonw/datasette/blob/main/tests/build_small_spatialite_db.py


Add glm 1.0.0

Add glm 1.0.0

Hello @phaedon, modules you maintain (glm) have been updated in this PR. Please review the changes.


Fix: overflow in select filter indicator with a large number of options

If there are multiple options selected in a select filter, the filter indicator will overflow as seen here:

After removing shrink-0 and whitespace-nowrap from the badge component it will look like this:

I don't know if this will have a large effect on the style where the badge component is used, but the demo app looked fine.
Maybe you guys have a different/better approach to this.

@danharrin, shrink-0 was added recently to fix another issue.

@zepfietje what issue? I only think it needs to be applied for icons

Nope, not just for icons: https://github.com/filamentphp/filament/pull/7799. @danharrin

I dont understand why flexbox would shrink padding...

I don't know, but it does apparently. Is it really required to remove it to fix the issue in this PR?
Also, I feel like the badge content should be truncated instead of wrapped.

I feel like truncating would not be a good approach in this case. @qrasa1 why was shrink removed in the first place?

I feel like truncating would not be a good approach in this case.

I think it would be, since the indicator is like a preview of the filter. If there's an enormous amount of tags, you can always view all tags by opening the filter instead. In my opinion, a badge should basically never grow vertically as it's essentially an inline element,

I feel like truncating would not be a good approach in this case.

I think it would be, since the indicator is like a preview of the filter. If there's an enormous amount of tags, you can always view all tags by opening the filter instead. In my opinion, a badge should basically never grow vertically as it's essentially an inline element.

I feel like truncating would not be a good approach in this case.

I think it would be, since the indicator is like a preview of the filter. If there's an enormous amount of tags, you can always view all tags by opening the filter instead. In my opinion, a badge should basically never grow vertically as it's essentially an inline element.

Ok I agree, truncate with ... is a good approach then


[token standards] use read only contract calls to fetch fungible token data

There are some apps coming up that will be using the FT trait defined in SIP 010, and we want to support them in the extension.
While a longer term solution is in the works on the API side, we are going to do a short term implementation to support decimals, symbol (ticker), and name. See here for the list of methods found in the trait..
To do this, we should fetch and cache heavily and fungible token data from the v2 endpoints. If they don't conform to the traits, then we should use the default behavior we have implemented currently.
related: https://github.com/blockstack/stacks-wallet-web/issues/1070

cc @psq @whoabuddy who should be happy to see this is coming together:


Fixes #7951: prevent remix.init errors when init script is an ES6 module or does not export a function

Closes: #7951
This fixes the issues underlying https://github.com/remix-run/remix/issues/7951.

Due to the use of require to import the init script, remix.init/index.js could not be defined as an ES6 module without throwing Error [ERR_REQUIRE_ESM]: require() of ES Module. However this file will be considered an es6 module by default if using npx create-remix@latest, creating a situation where defining a commonjs package.json in remix.init was required for it to not throw-  despite the docs indicating that that the package.json should be optional.

fixed by switching require for a dynamic import compatible with both cjs and es6 modules.

The docs don't indicate any required export format for the file- it leaves this open-ended by saying that file will be executed after the project has been generated, which seems to imply the file can just contain arbitrary code to execute. However, the remix init code was expecting a function to be default-exported and would throw initFn is not a function if not.

fixed with a check against initFn being a function before invoking. Also updated docs to clarify what the file can contain.

[x] Docs
[x] Tests

Testing Strategy:

added new unit tests for both cases above; see comments below for the related code.
Verified existing tests still pass.
manual testing of all scenarios before/after the changes (es6 module, cjs module, default-exported function, no export).

Thanks for the PR!
Just a heads up that create-remix has its own code for running the init script rather than using the Remix CLI. You'll need to update it there too if you want to fix the create-remix flow — but given that the logic is a bit more more complicated now, maybe you could rework it to call out to remix init instead?

@markdalgleish I see, thanks for the info!
Sounds good, I'll look at that second approach you suggested.

Thanks for the PR!
Just a heads up that create-remix has its own code for running the init script rather than using the Remix CLI. You'll need to update it there too if you want to fix the create-remix flow — but given that the logic is a bit more more complicated now, maybe you could rework it to call out to remix init instead?

@markdalgleish Just updated the create-remix flow to call into the same function. Additionally, after seeing the more explicit error messages in the create-remix version, it seemed like it made more sense to just keep the exported function as a requirement (more explicit, less surface area for module side-effect related edge cases, etc.) Adapted remix init and the docs over to that version.
Whenever it's convenient, mind taking another look to see if this looks like the right general idea? Thanks again.

@leothorp Sorry for the delay. I'm looking to get this in but wanted to first check whether there was a reason you closed it?

@leothorp Sorry for the delay. I'm looking to get this in but wanted to first check whether there was a reason you closed it?

@markdalgleish ah, sorry about the confusion- was just cleaning up my open PRs that I wasn't sure were still relevant, but happy to reopen.

@markdalgleish anything else I can do to help get this over the line? no rush of course- and my apologies again for any confusion from closing it earlier.

@markdalgleish is this still relevant?


WebsocketServer can accept HTTP server and port can be omitted

Motivation
Rather than the websocket server always supplying its own http server, we can also send in our own, this makes it possible to use both websocket connections and other HTTP services on the same server.

We could change the type of Options to:
type Options = { http: http.Server; } | {  port?: number;  };


:recycle: Create hook to clean Main component

Description
In mind with addition of new components in the platform, was needed to refactor the Main component where aggregate all the component as a only page platform.
Changes

Create hook useMain
Pass all useEffect of location to the hook
Rename isComparisonModeOn to isComparisonModeEnabled

Maybe in this component should be necessary to create a new component and export the map from this new component and all the useEffect can be inside there. About the hook, this hook created can add just export the comparison mode is enabled

Maybe in this component should be necessary to create a new component and export the map from this new component and all the useEffect can be inside there. About the hook, this hook created can add just export the comparison mode is enabled, WDT? @enzoggqs @valdersonjr

I really think the way it looks here is cool, but if the two of you think it's better to create a new component I think it might be good too.


Is ReFS Support Coming?

Is ReFS support ever going to arrive for creating server endpoints?

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

ID: 42797ef6-81d4-d8d6-a771-ef427f11698d
Version Independent ID: c56473d5-ebfe-96f9-57fe-96446ada56f8
Content: Release notes for the Azure File Sync agent
Content Source: articles/storage/files/storage-files-release-notes.md
Service: storage
Sub-service: files
GitHub Login: @wmgries
Microsoft Alias: wgries

@jayptarick Thanks for your question. We are checking on this and will respond to you soon.

@jaypatrick It's actually supported for registering endpoints: https://docs.microsoft.com/en-us/azure/storage/files/storage-files-release-notes per the release notes, were looking for any scenario that's specific ?

@jaypatrick Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion.


User stores meta types endpoint is returning empty arrays, and an error when there are no secondary user stores

Description:
The /userstores/meta/types/{type-id} endpoint is

returning an empty array for all types except the JDBC User Store manager.
returning a 404 error when there is no secondary user store configured.

code: "SUS-60003"
message: "Resource not found."
description: "Unable to find a required resource for this request"
traceId: "40b08bbd-0474-4dda-a7ff-0a9d1d98f29d"

Affected Product Version:
5.11.0 m8

For point 1:
/userstores/meta/types/{type-id} is tested for Read Write LDAP userstore and it works properly.

For point 2:
returning a 404 error when there is no secondary user store configured. this is the desired result for the request.  "This API provides the capability to retrieve the properties of the secondary user store of a given class name." If there is no such secondary user store is configured, 404 should be returned.

It seems like the API endpoint returns the list of user stores belonging to the requested type.
However, there is a requirement to get the properties associated with every user store type. For example, the connection details will have different properties for different types.
Therefore, we need an endpoint to get the properties of each type so that properties the user needs to fill can be shown.

@AnuradhaSK the meta endpoint of userstores should return the set of properties of a given userstore class name even if there is not secondary userstore configured for it. AFAIR this was the initial purpose of providing a meta endpoint for the userstore API. @Kanapriya any thoughts?


Fix type annotations

Checks

[ ] Debugging completed
[ ] Please debug me

Related Issue
This PR closes #248.

Codecov Report
Base: 92.70% // Head: 92.57% // Decreases project coverage by -0.13% :warning:

Coverage data is based on head (0093dd5) compared to base (76e63b4).
Patch coverage: 91.53% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #249      +/-   ##
==========================================
- Coverage   92.70%   92.57%   -0.14%
==========================================
  Files          73       73
  Lines        3400     3433      +33
==========================================
+ Hits         3152     3178      +26
- Misses        248      255       +7

Impacted Files
Coverage Δ

neclib/devices/encoder/nd287.py
75.00% <0.00%> (ø)

neclib/devices/weather_station/tr73u.py
59.09% <0.00%> (ø)

neclib/coordinates/path_finder.py
90.16% <62.50%> (+0.16%)
:arrow_up:

neclib/recorders/file_writer.py
91.17% <66.66%> (-2.58%)
:arrow_down:

neclib/utils/data_utils.py
86.20% <66.66%> (-1.01%)
:arrow_down:

neclib/coordinates/convert.py
84.50% <84.61%> (ø)

neclib/utils/math_utils.py
94.00% <85.71%> (-3.68%)
:arrow_down:

neclib/coordinates/optimize.py
91.17% <91.30%> (-1.37%)
:arrow_down:

neclib/recorders/necstdb_writer.py
94.85% <91.66%> (-0.67%)
:arrow_down:

neclib/typing.py
74.41% <94.73%> (+2.19%)
:arrow_up:

... and 21 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Bugfix: a couple of spelling mistakes

Hi there,
Thanks for providing this resource, it's a good primer for someone looking to quickly pick up the basic concepts.
I browsed through all the General tutorials, and generally found them informative and well written. However, there are a couple of typos that should be easy to fix.

Issue
Photo
Solution

Acessible is spelled wrong in the header.

Should be Accessible (two "c"s)

On the PDF Tags page, Tabellenelemente is in German

Should say Table elements

Cheers!

Fixed in https://github.com/stebrech/accessible-pdf/pull/49


Apply BaseModelWrapper inside of BaseModelCallback

Wrap HuggingFace PreTrainedModel during before_fit() and after_fit() callback hooks. This eliminates the need to explicitly wrap the PreTrainedModel in the low level api.
Tasks:

[x] Wrap/unwrap model in BaseModelCallback
[x] Maintain backwards compatibility by checking if model is already wrapped.
[x] Ensure BaseModelCallback is first callback added when initializing Learner.

Looking at this today and tomorrow ... sorry for the delay :)

Thanks much sir!  Yah ... its being merged ... the miracle is happening :)

Merged


Provide errors for misconfigured version.props file

I spent about half an hour trying to dig into why a certain buildscript of mine wasn't properly resolving a dependency with nebula.  After getting another pair of eyes on it, it turned out I had written a:b:* = 1.0.0 instead of a:* = 1.0.0 or a:b = 1.0.0.  It seems like this would be something that nebula would be able to complain about and point you to the right error instead of silently not providing the right version number, leaving me to wonder where the bug was coming from.

We would welcome a PR with a test case.
What kind of error message would you like here? Should we error out when a
local rule or bom contains extraneous rules? Suggestions on how to tell if
a regex is intended?
We added a strictMode where direct dependencies without a matching
recommendation will fail the build saying no recommendation found.
On Tue, May 9, 2017 at 2:45 PM amrasarfeiniel<EMAIL_ADDRESS>wrote:

I spent about half an hour trying to dig into why a certain buildscript of
mine wasn't properly resolving a dependency with nebula. After getting
another pair of eyes on it, it turned out I had written a🅱* = 1.0.0
instead of a:* = 1.0.0 or a:b = 1.0.0. It seems like this would be
something that nebula would be able to complain about and point you to the
right error instead of silently not providing the right version number,
leaving me to wonder where the bug was coming from.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/nebula-plugins/nebula-dependency-recommender-plugin/issues/56,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAvvFnckt7_M4BbO2BYlye9dYigv3Zxwks5r4N59gaJpZM4NV7GV
.

Closing as lack of activity


Php version

For which php version is it made?

Please provide steps to reproduce and actual result, thanks 🙏.

Please, read README.md beforehand. This script requires you to set Proxy-Auth and Proxy-Target-URL headers in order to work.


Sometimes Stops Updating Shared Trackers

Ron Parker and I have noticed some issues with our trackers (which share with each other) sometimes losing and/or failing to update their shared listings. He writes, “It seems npdscmd.txt gets stale and I’ve had to reload my server twice. Not sure if it’s @npds or the tracker.”

@pgeremia I'm hopeful that some of your changes migrating from Thread to Executor will resolve this issue.

We shall see!  I am going to keep working on this to see if I can help out.
Sent from my iPhone

On Apr 27, 2015, at 12:21 PM, Morgan Aldridge<EMAIL_ADDRESS>wrote:
@pgeremia I'm hopeful that some of your changes migrating from Thread to Executor will resolve this issue.
—
Reply to this email directly or view it on GitHub.

Much appreciated!


improve(SuperMediaPlayer): update PtsDiscontinueDelta after read one …

…packet
Signed-off-by: lifujun<EMAIL_ADDRESS>

Codecov Report

Merging #632 (9357c56) into develop (e6eb328) will increase coverage by 0.03%.
The diff coverage is 80.00%.

@@             Coverage Diff             @@
##           develop     #632      +/-   ##
===========================================
+ Coverage    66.86%   66.90%   +0.03%
===========================================
  Files          230      230
  Lines        12899    12910      +11
===========================================
+ Hits          8625     8637      +12
+ Misses        4274     4273       -1

Impacted Files
Coverage Δ

framework/demuxer/play_list/HLSStream.cpp
65.12% <0.00%> (ø)

framework/demuxer/play_list/SegmentList.h
0.00% <ø> (ø)

framework/demuxer/play_list/playList_demuxer.cpp
80.48% <0.00%> (ø)

mediaPlayer/SMPMessageControllerListener.cpp
72.66% <ø> (-0.32%)
:arrow_down:

framework/demuxer/play_list/SegmentList.cpp
78.31% <66.66%> (+5.47%)
:arrow_up:

framework/demuxer/play_list/SegmentTracker.cpp
73.77% <66.66%> (+0.21%)
:arrow_up:

framework/demuxer/play_list/HLSManager.cpp
76.57% <85.71%> (+0.06%)
:arrow_up:

framework/demuxer/IDemuxer.h
59.09% <100.00%> (ø)

mediaPlayer/SuperMediaPlayer.cpp
73.27% <100.00%> (+0.04%)
:arrow_up:

mediaPlayer/SuperMediaPlayer.h
90.69% <100.00%> (ø)

... 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 e6eb328...9357c56. Read the comment docs.

Codecov Report

Merging #632 (9357c56) into develop (e6eb328) will increase coverage by 0.03%.
The diff coverage is 80.00%.

@@             Coverage Diff             @@
##           develop     #632      +/-   ##
===========================================
+ Coverage    66.86%   66.90%   +0.03%
===========================================
  Files          230      230
  Lines        12899    12910      +11
===========================================
+ Hits          8625     8637      +12
+ Misses        4274     4273       -1

Impacted Files
Coverage Δ

framework/demuxer/play_list/HLSStream.cpp
65.12% <0.00%> (ø)

framework/demuxer/play_list/SegmentList.h
0.00% <ø> (ø)

framework/demuxer/play_list/playList_demuxer.cpp
80.48% <0.00%> (ø)

mediaPlayer/SMPMessageControllerListener.cpp
72.66% <ø> (-0.32%)
:arrow_down:

framework/demuxer/play_list/SegmentList.cpp
78.31% <66.66%> (+5.47%)
:arrow_up:

framework/demuxer/play_list/SegmentTracker.cpp
73.77% <66.66%> (+0.21%)
:arrow_up:

framework/demuxer/play_list/HLSManager.cpp
76.57% <85.71%> (+0.06%)
:arrow_up:

framework/demuxer/IDemuxer.h
59.09% <100.00%> (ø)

mediaPlayer/SuperMediaPlayer.cpp
73.27% <100.00%> (+0.04%)
:arrow_up:

mediaPlayer/SuperMediaPlayer.h
90.69% <100.00%> (ø)

... 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 e6eb328...9357c56. Read the comment docs.


tls: remove some warnings

yup, no problem. also had to update retest:
https://github.com/baresip/retest/pull/144
Please merge if you agree


Pinger.Stop() is unsafe when used with a timeout or count

Calling the Stop() method on a pinger with a timeout or count configured can cause a panic, if the Stop() is called after the Pinger has exceeded either the timeout or ping count:
panic: close of closed channel

goroutine 10 [running]:
github.com/sparrc/go-ping.(*Pinger).Stop(...)
	/go/pkg/mod/github.com/sparrc/go-ping@v0.0.0-20190613174326-4e5b6552494c/ping.go:345

There's no way to safely prevent this panic externally without some kind of race condition.

It looks like #83 by @voidint already fixes this issue with a sync.Once

Unable to reproduce, I'm afraid. If you can provide a concrete example that fails when using the latest commit on master then we can reopen.

The issue is that the internal timeout and packet counting mechanisms close the p.done channel, which Stop() also closes. You can reproduce with a contrived example like:
https://gist.github.com/ks07/4f9a57af233027b194801323017b0141
2020/10/17 17:33:45 24 bytes from <IP_ADDRESS>: icmp_seq=0 time=31.0067ms
panic: close of closed channel

goroutine 9 [running]:
github.com/go-ping/ping.(*Pinger).Stop(...)
	C:/Users/George/go/pkg/mod/github.com/go-ping/ping@v0.0.0-20201008161548-5f9dc3248bce/ping.go:381
main.main.func2()
	C:/Users/George/go/src/pingerExample/main.go:30 +0x5d
created by time.goFunc
	C:/Programs/Go/src/time/sleep.go:167 +0x4b

Process finished with exit code 2

In a real world use case the time.AfterFunc() call would be some other cancellation method handled in a separate goroutine.

I see what's going on there. The time.AfterFunc() could be an interrupt handler, for example, which might race if the user hits Ctrl+C at or near the configured pinger.Timeout.
I wonder whether pinger.Stop() could be made to return an error in cases when it is called more than once and/or whether this is actually useful to anyone?


Error: "Tried to replace forked process but it had already died"

Hi. Getting the following error from SolidQueue:
SolidQueue-1.0.2 Tried to replace forked process but it had already died (0.1ms)  pid: 411, status: 0, pid_from_status: 411, signaled: false, stopsig: nil, termsig: nil
SolidQueue-1.0.2 Tried to replace forked process but it had already died (0.0ms)  pid: 412, status: 0, pid_from_status: 412, signaled: false, stopsig: nil, termsig: nil

There are always 2 log entries per single executed job. The pair of pid's for a single job execution appear to always be sequential. The AJ job-completed log message is sometimes before and sometimes after these 2 errors.
For context, this is coming from a dedicated SQ process with 1 worker thread and 0 dispatchers. The executed job itself uses the grover gem, which calls nodejs to run puppeteer, which then calls chrome to generate a PDF. There are definitely some subprocesses being run.
I think the intent of the error message is to indicate that an SQ worker process was killed? Is it possible it's a false alert and SQ's fork/process monitoring is picking up forked/sub processes that aren't its own? I don't have a solid grasp on SQ's forking-related internals.
Where I'm having a hard time is that the jobs do appear to complete, and as noted, the AJ job-completed logs also show up. So, the idea that the worker is being killed doesn't quite make sense.
Thoughts? Or how can I better debug this?

Hey @zarqman! That error comes from here, which in turns comes from here, so it's always about the supervisor's child processes. The message in particular comes from here, when the supervisor doesn't have the records for these pids in their fork list, as if they had died and had been deleted before. That, together with the status: 0 (successful, so something that just finished whatever it was doing) makes me think this is picking the grandchildren, the processes forked by the worker because of your job 🤔 Basically, what you said:

Is it possible it's a false alert and SQ's fork/process monitoring is picking up forked/sub processes that aren't its own?

But I thought that was not possible to do with waitpid2 😮  That is, to wait for grandchildren to exit, you'd need to wait in each of the children. Maybe the grandchildren are somehow being reparented to the process with PID 1, which happens to be your supervisor if you're running Docker? 🤔

@rosa, thanks much! That helped point me toward some things to look into. And yes, everything is running inside Docker.
Grover is using Open3.popen3 to call node, which I don't think should be a problem.
Puppeteer is using node's childProcess.spawn api with detached: true (here) to call chrome. That seems suspect.
When detached is true,

the child process will be made the leader of a new process group and session. [...] By default, the parent will wait for the detached child process to exit. To prevent the parent process from waiting for a given subprocess to exit, use the subprocess.unref() method.

I not at all familiar with the nuances of process groups and sessions, but if I'm reading things right, it sounds like the detached great-grandchild processes are being reparented back to pid 1 aka the supervisor. That sounds almost exactly like what you suggested above as to what could be happening.
FWIW, I am not seeing any call to unref(), but there is a lot of other on-exit and on-signal fanciness in puppeteer, so I'm not entirely sure what it's doing. And maybe waiting for exit doesn't matter, since pid 1 will see the great-grandchild processes anyway.
It sounds like this may not be solvable in the job class itself, although I'd be happy to try something there if it might work. Given how crazy puppeteer's code is to interact with chrome, I'm highly skeptical of the ability of addressing this there.
Would it be appropriate for SQ to skip the log warning when exitstatus is 0, or does that risk missing something that should be logged? Or, is there something else I can do to help test/confirm this?

Ohhhh, I see! That's super useful, @zarqman! I think skipping the log warning makes perfect sense, especially if the supervisor's PID is 1 🤔  I'm not sure if this same thing would happen if the supervisor was not process 1, although I have no idea about how puppeteer works, I've never used it 😳
But perhaps an experiment you could try if you're up for it to see if the issue happens is to run the supervisor as a fork of another process that'd be the pid 1 in Docker, having something like this, a bin/jobs_wrapper file:
function shutdown_handler(){
  kill -TERM $PID
}

trap shutdown_handler TERM INT

# Run in the background so we can trap the signal without waiting for the processes to return
bin/jobs "$@" &
PID=$!
# Interrupted by the SIGQUIT
wait $PID
trap - TERM INT
# Waiting until supervisor @ $PID exits or we get killed after docker stop wait
# So we wait again
wait $PID

And then run bin/jobs_wrapper instead of bin/jobs, that'd get the PID 1, and the supervisor will get another PID. This would confirm whether this happens because the PID is 1 or whether it'd happen regardless.

Thanks so much for your ongoing help! I've tested things with a wrapper and it does eliminate the supervisor error messages. I also capture a ps list and the output is instructive.
Without the wrapper, immediately after grover's Open3.popen3 returns:
PID TTY STAT TIME COMMAND
1 ? Ssl 0:01 solid-queue-supervisor(1.0.2): supervising 21
21 ? Sl 0:00 solid-queue-worker(1.0.2): waiting for jobs in transforming
43 ? Z 0:00 [chrome-headless] <defunct>
44 ? Z 0:00 [chrome-headless] <defunct>
112 ? R 0:00 ps ax
SolidQueue-1.0.2 Tried to replace forked process but it had already died (0.0ms) pid: 43, status: 0, pid_from_status: 43, signaled: false, stopsig: nil, termsig: nil
SolidQueue-1.0.2 Tried to replace forked process but it had already died (0.0ms) pid: 44, status: 0, pid_from_status: 44, signaled: false, stopsig: nil, termsig: nil

With the wrapper, again right after popen3:
PID TTY STAT TIME COMMAND
1 ? Ss 0:00 /bin/bash bin/wrap_transforming
7 ? Sl 0:02 solid-queue-supervisor(1.0.2): supervising 15
15 ? Sl 0:00 solid-queue-worker(1.0.2): waiting for jobs in transforming
188 ? R 0:00 ps ax
# (no 'Tried to replace' messages)

In the unwrapped test, subsequent jobs only show the new zombied processes--the old ones are gone, indicating they are being properly cleaned up, which is good.
In the wrapped test, I never saw the zombies across a handful of tests. I'm guessing bash itself is cleaning them up?
Regardless, this does seem to confirm that it's specific to when the supervisor is PID 1.

Aha! Super helpful! Thanks so much for doing that. I'm going to prepare a change to skip these warnings. I think I'll do it when the supervisor has PID 1, since it seems that's likely to happen because some random processes have been reparented to it and that's why it can't find it within its forks list.

💯 Thanks again for your help with this!


Custom logger can not be removed (name undefined)

Following this guide:
https://github.com/flatiron/winston#adding-custom-transports
And then removing the new custom logger after adding it using winston.remove() will cause an error (Error: Transport undefined not attached to this instance).
Looking at the code:
https://github.com/flatiron/winston/blob/master/lib/winston/logger.js#L490
It looks like transport.name should be set. You also do this in the example with this.name. However it is undefined.
In the default loggers i see lines like this: Console.prototype.name = 'console';
Should we use those for custom loggers? Why is there the this.name then?
Thanks!

This has been a while ago but I was just referring to the function, not the actual code that calls the function. I used it like the example:
winston.remove(winston.transports.SomeCustomLogger);

But should i use it like this?
winston.remove('SomeCustomLogger');

I think i worked around this by adding it conditionally back in November. But thanks for the reply!

For Winston 3:
What I do is iterate the transports and verify the type of the iterator with my custom transport type.
let transport: winston.transport;
const iterator = logger.transports.values();

while( transport = iterator.next().value ) {
    if( transport instanceof MyCustomTransport ) {
        logger.remove( transport );
    }
}


Forseti ver 2.6.0 installation error for not an Org Admin

Forseti ver 2.6.0
installation script
ERROR: (gcloud.alpha.resource-manager.folders.describe) User [xxx] does not have permission to access folder [yyy] (or it may not exist): The caller does not have permission
installation using cloud shell by installer for both client and server

Hey, i am new here and this is my first Forseti installation. I checked all the issues ad found similar problems but i didnt find exact (step by step) explanation how to solve it.
I am trying to setup Forseti for specific project, but getting error message:
Check parent: folders/yyy
Command "gcloud alpha resource-manager folders describe yyy --format=json" failed/timeout, retrying...
Command "gcloud alpha resource-manager folders describe yyy --format=json" failed/timeout, retrying...
ERROR: (gcloud.alpha.resource-manager.folders.describe) User [xxx] does not have permission to access folder [yyy] (or it may not exist): The caller does not have permission
You need to have an organization set up to use Forseti
In documentation it is stated: If you are not an Org Admin, there will be errors, but you can safely disregard, as you will manually assign the correct roles later. But in my case no VMs or serivce accounts are created.
To me it is strange that error message indicates folder yyy, which is not the same number as my organization id, and honestly i have no idea how to find what is this yyy folder?

I'm running into the same issue on tags/v2.7.0 for a non-admin installation.

i've tried with 2.7.0, also i checked that i have owner rights for a folder where these project resides - still the same error.
Thing that bothers me is that error refers to project/folder ID that i dont recognize, is there a way to check more details based on ID?


disable cancel button after clicked once

This PR fixes #

cancel migration button is disabled after it is clicked once
Solves Bug 1315505: VM Migration - Bug Bash - Cancel button not disabled after clicking

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 41.407%

Totals

Change from base Build<PHONE_NUMBER>:
0.002%

Covered Lines:
26401

Relevant Lines:
57845

💛  - Coveralls


Raw-rs: flip and rotate image based on camera orientation

[x] Add Orientation Tag
[x] Transform image based on camera orientation

For performance, it would be good to originally write to the image array with the transform, instead of the performance impact of swapping the pixel positions. That way the array doesn't need to be traversed another time. Is that feasible?

I'll merge this as-is so you can work on the pipeline architectural changes we discussed in our design meeting.


Refactor albatross stats stubs

In #115 an exception from List.combine is raised. With git grep I found two sites that call List.combine. One place it's called with taps and vm.config.bridges. This should be fine since the former is constructed from the latter.
The other place is in albatross_stats_pure.ml in order to associate a statistic / counter value with a string description. Previously, the statistics description strings was fetched once when opening the first VM. From what I could gather the number of VM statistic counters depends on the number of CPUs assigned, so my hypothesis is the number of counters for the first VM may have differed from a later VM.
This patch makes vmmanage_vmmapi_stats return (string * int64) list  instead of a int64 list where the string is the description fetched with vm_get_stat_desc at each vmmanage_vmmapi_stats call. This may be less efficient.
Ideally, we would somehow verify my hypothesis, and maybe benchmark the performance impact of this patch.

Thanks, I thought maybe instead of let descr = ref [] we could use let descr = lazy (wrap vmmapi_statnames ctx), and apply Lazy.force. This way, ti would be evaluated only once, and the Lazy module would take care that it is good.

This looks fine, I pushed a commit that guard the statistics gathering of bhyve debug counters optional (via a flag passed to albatross-stats). WDYT?

Nice, it looks good to me


Convert keymap filters to UTF-8

Novartis discovered a problem with https://github.com/ContinuumIO/flask-ldap-login/blob/master/flask_ldap_login/init.py#L130 as noted here: https://continuumsupport.zendesk.com/agent/tickets/393
Their fix was to do:
return map(lambda s: s.encode('utf-8'), keymap.values()) # was: keymap.values()

instead.

As I said in FD, I would use a list comprehension to solve the issue... I feel it more pythonic, but this fix should work too...

:+1: to @damianavila's suggestion.  return [s.encode('utf-8') for s in keymap.values()] reads much more cleanly in Python than map + lambda.

A listcomp is fine, of course.  But since 'utf-8' is the default encoding, the map could also be simplified to:
return map(str.encode, keymap.values())
That version looks non-ugly to me, and in fact more readable than the listcomp.


(MAINT) - Debugging bundler issue with ruby 3.2

Summary
Ruby 3.2 using old bundler which is causing generating reference with old puppet-string gem.
Checklist

[ ] 🟢 Spec tests.
[ ] 🟢 Acceptance tests.
[ ] Manually verified.

Validated here https://github.com/puppetlabs/puppetlabs-testing/actions/runs/6959315629/job/18936275577 and observed that expected bundler is getting installed and puppet-string is also getting installed expected version.