dataclass compatibility

Dataclasses provide nice ways to do very similar things the Structured class does, as far as declaring a class that provides some automated dunder methods with a lot of boilerplate taken care of for you.
Currently, marking a Structured class with the dataclass decorator won't quite work the way you want.  Plus, we want to be able to still detect types for creating serializers that will work with the dataclass API.

Structured has an __init__, so one won't be generated for you.
Structured has a __eq__ which compares only the attributes handled by the serializers.
attributes marked with a field specifier - do anything special here?

For the __eq__, that isn't too big of a deal.  For __init__ however, we need some thinking.  The decorator is applied after initial class creation, so how do we provide nice functionality without messing with what dataclass does?
Option 1
Don't provide an __init__.  Now Structured classes will be harder to define if you don't want it as a dataclass also.  Users will have to provide their own init every time.  We could rename __init__ to __default_init__, but a user would still have to do at least this:
def __init__(self, *args, **kwargs):
  super().__default_init__(*args, **kwargs)

Option 2
Always apply the dataclass decorator to new subclasses.  We could apply this in the __init_subclass__ hook.  This would result in nice __init__ methods for all Structured classes.  However, this would also result in more magic behind the scenes.  We'd also have to think about if we want to modify what attributes show up in the init.  Plus, if we want the init's typehints to work really nice, we'd definitely have to bring in extra field declarations, for example we'd want to tack on a = field(default_factory=list) for all array types.  This also potentially closes off dataclass configurability to users, like slots, etc.
Option 3
Provide a decorator version of Structured, @structured that allows customizing whether to create an __init__ and an __eq__.  Example prototype:
@structured(byte_order=ByteOrder.DEFAULT, byte_order_mode=ByteOrderMode.STRICT, init=True, eq=True)
class ToBecomeStructured: ...

Then if you want to use @dataclass, you can set init=False to get its __init__, and likewise for eq.  The decorator would have to inject (probably by creating a new class which derives from both Structured and the decorated class) the Structured stuff into the class.  One minor thing to make sure to get right: current handling of subclassing generics would probably break - the specialization code searches for generic Structured base classes, but if we go with the above suggestion of injecting Structured into the bases, it won't have a generic Structured base class, as the Generic will show up in the original class. Users would also have to use the alternate typhinting syntax for char, unicode, and array of using typing.Annotated.
So some thinking is needed, do we want the same functionality as now?  Do we want to magically apply the dataclass decorator?

Did some investigating and digging.
Looks like @dataclass will generate __init__, __eq__, and __repr__ (when requested, which is the default) if the class body doesn't define one.  So we're good.  The __init__ and __eq__ we provide give some useful defaults for users, but if they wrap their Structured derived classes with a @dataclass, as long as they don't provide their own versions, the decorator sees this as their class body doesn't provide one, so generate it.
So it seems no work is needed for dataclass compatibility, reopen this in the future if it turns out we need to fix something here.

Python 3.11 adds the dataclass_transform decorator, so we might be able to fully resolve this now.


Add version: DenoLand.Deno version 1.32.0

Pull request has been created with Komac v1.11.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

/azp run


What are clashes? Why don't I find clashes when listing but push fails?

Hi, I've run into a problem...
drive version 0.3.6
I'm trying to push files from an ftp server into google drive. All was working for some weeks. Now, it fails with clashes. When I run the command drive clash list there are no clashes.
When I try -fix-clashes it still fails.
drive push -fix-clashes -no-clobber -no-prompt -destination _FTP_clients
Using -ignore-name-clashes does work but I have no idea what is happening.  Is that not transferring clashing files?

Hello there @georgewf, thank you for reporting this issue and welcome to drive.
So clashes are the presence of at least two files with the same name in the same folder/directory. Clashes only exist remotely on Google Drive because for object uniqueness, it uses fileIds and names are just a way of accessing objects. However, on our filesystems, files are uniquely identifiable by their paths ie name within a directory so we can only have one file with a unique name in one directory.
This means that if you are pulling down more than one file with the same name say 'f' into a directory say 'a', the last pulled in file overwrites and wins, this behavior is racy and unpleasant.
Clashes are caused by a few ways:

Explicitly creating new files with the same name in the same folder on Google Drive say with the UI.
drive itself failing to find out whether a file exists or not. This problem is triggered in events of say 503 e.g in these issues https://github.com/odeke-em/drive/issues/668, https://github.com/odeke-em/drive/issues/480 and others.
drive new  to mimick the freedom that the Google Drive UI gives you, since those files are created remotely.

To try to mitigate this issue, could you firstly try explicitly this
$ drive clashes --list
$ drive clashes --fix

Please provide as many descriptions and error responses that drive gives you back so that I can try to see exactly where it is bugging out. Hope this helps out.

Hi Emmanuel,
My problem is on pushing to google drive. * -fix-clashes* doesn't seem to
do anything like renaming the file on google drive.
When I tried uploading a folder the drive program would report clashes
exist. But when I run drive clashes --list it reports nothing (maybe
because I'm using -destination on the push operation).
So if I added -ignore-name-clashes then new files would be uploaded but
modified files are not uploaded. Actually, with a modified file present on
local side, the drive program would report everything up to date when
that is not correct or is misleading.
To upload a modified file I would have to remove the -no-clobber option but
that deletes from google drive everything not on the local side.
Anyways to work around this I found a better way. I am now launching the
drive program for every new local file as it is received, instead of
running it as a folder upload after the ftp client disconnects. I am
prohibiting the ftp user from deleting or renaming any files. I hope this
way my team can be certain that everything is transferred from the ftp
server to google drive.
So I guess the main point of this is that I don't understand why
-fix-clashes doesn't do anything when pushing to google drive.
On Sun, Jul 3, 2016 at 9:37 PM, Emmanuel T Odeke<EMAIL_ADDRESS>wrote:

Hello there @georgewf https://github.com/georgewf, thank you for
reporting this issue and welcome to drive.
So clashes are the presence of at least two files with the same name in
the same folder/directory. Clashes only exist remotely on Google Drive
because for object uniqueness, it uses fileIds and names are just a way of
accessing objects. However, on our filesystems, files are uniquely
identifiable by their paths ie name within a directory so we can only have
one file with a unique name in one directory.
This means that if you are pulling down more than one file with the same
name say 'f' into a directory say 'a', the last pulled in file overwrites
and wins, this behavior is racy and unpleasant.
Clashes are caused by a few ways:

Explicitly creating new files with the same name in the same folder
on Google Drive say with the UI.
drive itself failing to find out whether a file exists or not. This
problem is triggered in events of say 503 e.g in these issues #668
https://github.com/odeke-em/drive/issues/668, #480
https://github.com/odeke-em/drive/issues/480 and others.
drive new to mimick the freedom that the Google Drive UI gives you,
since those files are created remotely.

To try to mitigate this issue, could you firstly try explicitly this
$ drive clashes --list
$ drive clashes --fix
Please provide as many descriptions and error responses that drive gives
you back so that I can try to see exactly where it is bugging out. Hope
this helps out.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/odeke-em/drive/issues/680#issuecomment-230188906, or mute
the thread
https://github.com/notifications/unsubscribe/ASnY0R5CyrR37xEe-ccofz7DtHOAnkS5ks5qSGPMgaJpZM4JD9W1
.

--
George Frehner
Analogue Media Technologies Inc.
Toronto: 602 Gordon Baker Road, North York, ON  M2H3B4
tel:<PHONE_NUMBER>  cell:<PHONE_NUMBER>
Montreal: 716 Golf Road, Verdun, QC  H3E1A8
tel: 514-878-TAPE

@georgewf I see. Hope this isn't too much of an inconvenience for your team, I hear ye.
So --fix-clashes is not working well for you probably because of this bug https://github.com/odeke-em/drive/issues/317 in which not all clashes were found before the next operation so sub-optimally. I haven't verified to see if it still exists.
--ignore-name-clashes is a duct tape solution to try to mitigate scenarios where files are overwritten because we don't know which one exactly to push/pull to e.g when you are pushing from a unique source on your file system to Google Drive on which files with the same name in the same folder exist. This exists because in the past(during the early stages before clash renaming was in), drive would explicitly refuse to deal with any clashing paths remotely as also stated in the manifesto under known issues https://github.com/odeke-em/drive#known-issues, however this strict behavior made it unuseable for many users so that solution was a compromise.
Please use the newer drive clashes commands for listing and fixing up clashes.
drive-clashes
$ drive clashes --list clash-test
These paths clash
X /clash-test/t3 0Bwu8laYc9RTPQzlPTm5zaDd4bDQ
X /clash-test/t3 13SvxP_di0SfYDBThPk9pbruY5we7272Uy3NGMNPwW7Q
X /clash-test/t2 0Bwu8laYc9RTPblZkb181TXQ1Rk0
X /clash-test/t2 1w151wYvKpfc-V9yhZIfmBmV6KyvzoHXeVtiGGuFsuqY
X /clash-test/t1 0Bwu8laYc9RTPdmRSWk51S0d6emc
X /clash-test/t1 16CX6di4qz9kTi3bAyu2375yMhDMBZEPsoVCPsiQljBU

$ drive clashes --fix clash-test
Some clashes found, we can fix them by following renames:
/clash-test/t1 16CX6di4qz9kTi3bAyu2375yMhDMBZEPsoVCPsiQljBU -> t1_0
/clash-test/t3 13SvxP_di0SfYDBThPk9pbruY5we7272Uy3NGMNPwW7Q -> t3_0
/clash-test/t2 1w151wYvKpfc-V9yhZIfmBmV6KyvzoHXeVtiGGuFsuqY -> t2_0
Proceed with the changes [Y/N] ?

Also you can perform some operations by fileId e.g pulling
$ drive pull --id 0fM9rt0Yc9RTPaDdsNzg1dXVjM0E 0fM9rt0Yc9RTPaTVGc1pzODN1NjQ 0fM9rt0Yc9RTPV1NaNFp5WlV3dlU

I use fileIds when I have to inspect specific files.
Most of the

Just wanted to say I see this issue too on ubuntu. Version  0.3.7. Another uses pushes changes (from windows). When I pull with --fix-clashes it still complains.
drive_linux pull --fix-clashes <aPath>


Be able to distinguish "domain.com", "domain.com/?" and "domain.com/"

For SEO requirements, it's important to be able to distinguish all this kind of URL and be able to redirect to the one of choice.
I've tried with the last version, but I wasn't able to do it...
Currently, I've done this :
.redirect('/\?', '/', 301)
.all('/', function *() {...});

And this :
.redirect('/?', '/', 301)
.all('/', function *() {...});

But no one works

Solution https://stackoverflow.com/questions/36125416/how-to-manage-url-with-or-without-and?noredirect=1#comment59901766_36125416

It seems that with plain old middleware, it's easy : https://stackoverflow.com/questions/36125416/how-to-manage-url-with-or-without-and/36163754#36163754


Remove vendor pkgs.

Welcome to Codecov :tada:
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:

/assign @zhujian7

/lgtm


Trap focus in mobile filter modal while it is open

This PR resolves the issue described in #541 and satisfies all the given expected behaviour:

Focus should be trapped inside the modal while the modal is open (should not move back to the main page)
When the modal is closed, the focus should go back to the "Filters" button
When the "Filters" button is focused, screen readers should not announce "collapsed"

Pull request checklist

[ ] My code contains tests covering the code I modified (Not Required)
[x] I linted and tested the project with bin/check
[ ] I added significant changes and product updates to the changelog (Not Required)

Hi @joemasilotti , Can you please review this PR which resolves #541 . Thanks.

Thanks for taking a pass, @atiqueakhtar! I'm not very familiar with a11y in this context, but this feels like a lot of custom JavaScript to achieve what we want. Is there any possibility that we could do something in HTML? I was wondering if manually setting tabindex could help.
@metamoni, do you have any ideas or feedback on this?

Thanks for taking a pass, @atiqueakhtar! I'm not very familiar with a11y in this context, but this feels like a lot of custom JavaScript to achieve what we want. Is there any possibility that we could do something in HTML? I was wondering if manually setting tabindex could help.

Sure @joemasilotti , I'll see if I can accomplish this directly through HTML rather than using custom javascript.

Awesome, thanks for taking another pass!

Happy to have a look, yeah!

Hey @atiqueakhtar, do you still have appetite to take another pass with HTML? If not, no worries! Let me know and I can take over.

@atiqueakhtar, I'm going to close this for now as it has grown quite stale. If you'd like to pick up work again let me know!


Typecasting data when inserting into Redis

Currently when inserting a value into redis using a typed data structure - the value is serialized to redis based on its type, and not the type of the data structure.
As a result - it is possble to insert data that can not be read out again. For example, following the example in the readme:
set = Kredis.set "myset", typed: :datetime
set.add(DateTime.tomorrow, DateTime.yesterday)           # => SADD myset "2021-02-03 00:00:00 +0100" "2021-02-01 00:00:00 +0100"
set << DateTime.tomorrow                                 # => SADD myset "2021-02-03 00:00:00 +0100"
2 == set.size                                            # => SCARD myset
[ DateTime.tomorrow, DateTime.yesterday ] == set.members # => SMEMBERS myset

I get ArgumentError (invalid xmlschema format: "2021-03-02") when trying to read the members out of Redis.
In addition to this - if you inserted values into a unique list/set that didn't match the correct type of the unique set - then they are stored in redis as different values but then converted to be the same value when retrieved.
For example:
set = Kredis.set "iset", typed: :integer
set.add(["1-a", 1, 2])
set.members #=> [1, 1, 2]

which is an unexpected result.
This PR uses ActiveModel::Types to convert perform serialization to redis and casting from the redis stored values. Some of these needed to be slightly different from the existing types as the storage (Redis) doesn't know how to store the same types of data as the relational databases.
An alternative to this approach would be to raise an error if the data passed in did not match the type on the data structure - but I think that casting similar to Active Record would provide a nicer experience.

This is great. There are a few failures against master now. Would you mind having a look? I'll get this merged then.

@dhh I have updated the tests on this PR to pass.
The behavior of the decimal test changed as a result of the value being stored in redis being cast to a decimal - so I have added kredis_float to Attributes to allow for the behavior that was previously displayed in this test.


Design dev stage / timepoint filesystem structure

As per title, define a structure of how we would like the DCR lab staff to provide us the data that will be uploaded in the dropbox folder.
Provide an example for a dataset of the files expected (for instance, if for the neurons we expect 1 or 2 spreadsheet files please list them in the example provided, I will later prepare a matrix for all the datasets and all the data to keep track of them).

Proposal for folder structure
Neuroscan data is grouped by stage and by timepoint inside stage:
neuroscan/adult_N2U/...
neuroscan/L1/1/neurons
neuroscan/L1/1/synapses
neuroscan/L1/1/contacts
neuroscan/L1/1/contacts.xls
neuroscan/L1/1/cphate.xls
neuroscan/L1/1/cphate
neuroscan/L1/5/...
neuroscan/L2/20/...
neuroscan/L2/23/...
If there is only one timepoint for a stage we still recommend to add it as subfolder.
Name of timepoint folder is the number of hours after hatching (the unit that I saw in the developmental stage spreadhseet).
PromoterDB is grouped by each promoter
promoterdb/promoters.xls
promoterdb/promoterX/model.svg
promoterdb/promoterX/timeline.svg
promoterdb/promoterX/3d_expression.avi
promoterdb/promoterX/promoter.avi
promoterdb/promoterX/histone_marker.avi
promoterdb/promoterY/
promoterdb/promoterZ/
Each promoter folder contains the media files for this promoter.
Some general guidelines:

keep file names simple and short so that the parser can use simple and few rules to parse the structure
Example 1: the synapse folder inside a timepoint folder could always be called "synapses", neurons always "neurons" and contacts "contacts"
Example 2: Same for the Promoter files, the model image of a promoter could always be called "model.svg"


Fix typo in comment in sqlite.py

+1

Hey
El mié, 18 de may. de 2022 6:44 p. m., ptufts @.***>
escribió:

shipit
—
Reply to this email directly, view it on GitHub
https://github.com/craigslist/python-clblob/pull/1#issuecomment-1130753053,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC4RC6FZ5HHF2MLX5CVNDKLVKV6ELANCNFSM4BTVUOIA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


startTwoPlayerGame -> startTwoPlayersGame

startTwoPlayerGame -> startTwoPlayersGame

This is incorrect English. When a noun is used to modify another noun like an adjective it almost always stays in the singular. Very many learners of English get this wrong, especially speakers of Asian languages and Slavic languages:

Fish tank (not fishes tank)
A ten-year old kid (not a ten-years old kid)
A two-player game (not a two-players game)


DAWN-322 ⁃ Add wallet delete methods

Currently, the only way to delete a wallet is to remove the wallet file. Also, there is no way to remove a single key from a wallet.
Add:

./eosc wallet delete -n name

Remove the wallet from the file system (should we prompt for confirmation?)

./eosc wallet remove key

Given a public or private key remove it from the wallet

Deleting wallet can be done by removing the relevant file, while removing key feature have been added to cleos. I'm closing this issue


Fix for Firefox, dependencies, installation method

I did create a new plugin (non-live on the gpm as of writing this) to assist with disabling HAX if certain files are missing (atools).  You may wish to hold off merging until that's live.

Also, this merge should also coincide with the PR for the webcomponents plugin as well.

Use the full polyfill instead of lite, very interested in this PR

@btopro, would you like me to switch it over to the full polyfill and resubmit?

maybe align w/ the setting your adding to the webcomponents module and make a method that ensures that the polyfill is applied based on the global setting? That way if other things start to peg off of webcomponents module its like things are requesting that it be included?

Yes, I'll look at the same option in the wc plugin for the poly fill

Will resubmit a new PR.


How can I get the sd of a categorical factor in INLA model

Hi,
I'm computing the contributions of different factors in a model, so all continuous factors were normalized and the mean of the slope was used for the calculation of factor contribution.
To get the sd of one categorical factor (as the contribution), I put the categorical factor in "iid" model: y ~ X1 + f(X2, model = "iid"), then get the sd by bri.hyperpar.summary(model), is it the correct way to get the contribution of X2?
Best,
Xinru

Can you post this one to<EMAIL_ADDRESS>?  thx


SAK-42484 Readded i18n resource class for jumptotop.js

Well done!

Cheers! I try and fix my mess :)


Fix: Allow null in Finish reason streaming response in vLLM

What this PR does / why we need it:
As we allow null value in finish_reason in the openai schema now. Update the same in vllm response
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Type of changes
Please delete options that are not relevant.

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

Special notes for your reviewer:

None

Checklist:

[ ] Have you added unit/e2e tests that prove your fix is effective or that this feature works?
[ ] Has code been commented, particularly in hard-to-understand areas?
[ ] Have you made corresponding changes to the documentation?

Release note:

Re-running failed tests

/rerun-all - rerun all failed workflows.
/rerun-workflow <workflow name> - rerun a specific failed workflow. Only one workflow name can be specified. Multiple /rerun-workflow commands are allowed per comment.

/lgtm
/approve


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_49_lxwalwq/clone/recipe/meta.yaml:14: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_49_lxwalwq/clone/recipe/meta.yaml:21: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_49_lxwalwq/clone/recipe/meta.yaml:45: missing_description: The recipe is missing a description
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_a85_wbgln_/clone/recipe/meta.yaml:14: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_a85_wbgln_/clone/recipe/meta.yaml:21: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_a85_wbgln_/clone/recipe/meta.yaml:45: missing_description: The recipe is missing a description
Errors were found


Cleanup: reduce code, retain all functionality, improve maintainability

This is a minor overhaul of the code for readability and maintainability, in essence making it more "dart-like". No functionality has been impacted, and all examples and implied use-cases still work as far as I can tell.
Just making it easier to add new features in the very near future :)

No problem! I was actually starting to write my own version of this library for a Flutter project of my own, but once I found yours (already on pub.dev) I figured why reinvent the... weather API library?


[SPARK-16236] [SQL] [FOLLOWUP] Add Path Option back to Load API in DataFrameReader

What changes were proposed in this pull request?
When users only specify one and only one path, we use options to record the path value in DataFrameReader. For example, users can see the path option after the following API call,
spark.read.parquet("/test")

In Python API, we have the same issue. Thanks for identifying this issue, @zsxwing ! Below is an example:
spark.read.format('json').load('python/test_support/sql/people.json')

How was this patch tested?
Existing test cases cover the changes by this PR

Test build #61447 has started for PR 13965 at commit 9cfd673.

Test build #61447 has finished for PR 13965 at commit 9cfd673.

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

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61447/
Test PASSed.

Test build #61477 has started for PR 13965 at commit f5100d6.

Test build #61477 has finished for PR 13965 at commit f5100d6.

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

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61477/
Test PASSed.

LGTM. Merging to master and 2.0. Thanks!


Proceeding from one node to another during a rolling upgrade

Our rolling upgrade instructions say:

Upgrade only one node at a time, and wait at least one minute after a node rejoins the cluster to upgrade the next node. Simultaneously upgrading more than one node increases the risk that ranges will lose a majority of their replicas and cause cluster unavailability.
Also, refrain from starting schema changes during the upgrade process. Schema changes are complex operations that involve coordination across nodes and can increase the potential for unexpected behavior during an upgrade.

In our Kubernetes-specific upgrade instructions, we just say to change the Docker image in the helm chart or Statefulset, which triggers a restart of the pods sequentially, but without any controlled waiting or checks in-between.
A customer noticed this discrepancy and asked about the wait period, which lead to the following guidance from @andy-kimball:

Wait until select count(*) FROM crdb_internal.gossip_nodes where is_live=false; is zero. This is simple, and relies on the assumption is that if all your nodes are live, then there is very low risk of under-replicated ranges. During discussions, we couldn’t confirm any relevant cases where under-replicated ranges would occur on a fully-live cluster.
 There is some danger that you’d see higher query tail latencies if all leaseholders cannot be drained within a 5s period of time. If in practice you’re seeing this be a problem, we can make this timeout be configurable, and you could set it to 1m or 5m, or whatever.
Bring node back up after upgrade.
Proceed to next node by going back to step #1.

We should think about updating the upgrade instructions to reflect this guidance. We should also update the Kubernetes-specific instructions to follow a similar approach. The CC team is already doing something similar, according to @DuskEagle:

Instead of using select count(*) FROM crdb_internal.gossip_nodes where is_live=false; to detect when a node is live, we are using a SQL query similar to the one used by cockroach node status --ranges to compute the underreplicated ranges in the cluster, and only proceeding when the number of underrepicated ranges is zero: select sum((metrics->>'ranges.underreplicated')::DECIMAL)::INT AS ranges_underreplicated from crdb_internal.kv_store_status;
besides that, when updating the statefulset with a new version of CockroachDB, we also set the spec.updateStrategy.rollingUpdate.partition value: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions. If we have 3 pods in the statefulset, named crdb-0, crdb-1, and crdb-2, we will first set the partition value to 2. This means that only crdb-2 will be updated to the new Cockroach version.
We then wait until the pod is healthy, and the number of underreplicated ranges is 0, and then reduce the partition number by 1. This causes crdb-1 to be updated to the new version. And so on.

Follow-up comment from @andy-kimball suggests that CC approach is preferable:

I think what you're doing (using kv_store_status) will work well, better than what I suggested, since it handles underreplicated edge cases.

Also, @joshimhoff suggested that the Kubernetes operator being built by @vladdy will improve this process. @vladdy and @kannanlakshmi, where can we find more details about this operator? It's not on the 20.1 roadmap, from what I can see, though I have heard about it in passing at certain points?

This isn't on the roadmap from a user point of view but the SREs are building it as part of tooling that makes some of the K8s automation work easy (hence not showing up in Airtable). At the moment, its not user facing but I believe the plan is to eventually open source it (once implemented, rolled out to our clusters etc.)
@vladdy with the idea that eventually we want to open source it, is there intermediate work that can be shared with the docs team or the rest of the company? Lots of people are interested in this as you know.

Thanks for the clarification, @kannanlakshmi. We're definitely interested in learning more, when that makes sense. We've also heard from the SE team that an operator is far preferable to the current approach we take in our docs (configs or helm). @johnrk, perhaps this eventually official K8s operator should be on the SKO backlog?

I just wanted to add that the operator is expected to make operations of CRDB in Kubernetes easier. However, we still need one source of the truth about how it is recommended to handle the updates for all environments. It could be manual steps/some simple bash scripts in the docs, which would help everybody to be in sync on what is the safest and proper way to do them.

@jseldess , it's now on the backlog: https://airtable.com/tblD3oZPLJgGhCmch/viwsaabU5mS5NCizt/recyDZ3jhsnQxfGWw?blocks=hide

Hi @knz, I wanted to follow up here on a few points you brought up in your recent email (on verifying that it’s safe to shut down the next node in a rolling restart):

wait until the node is ready to accept a SQL connection (before that point, it's definitely not ready)

What is the most straightforward way to tell this? Would it be indicated by the standard output?

wait until the memory usage has reached at least 70% of expected baseline load (which should have been established prior to restart)

Same question, and I wonder if the Admin UI could be used? Also, could you say more about “should have been established prior to restart”?

wait until the node is green in the admin UI

By this you mean checking for node liveness, right?

Would one of the SQL queries listed in the related docs issue satisfy this need?
These will only satisfy point (3) not the other two points.

There are two SQL queries here. Does one seem preferable to the other for this purpose?
select count(*) FROM crdb_internal.gossip_nodes where is_live=false;
select sum((metrics->>'ranges.underreplicated')::DECIMAL)::INT AS ranges_underreplicated from crdb_internal.kv_store_status;
Thank you!


Question: which input file is compatible?

Dear developers,
In the first usage step is not clear which kind of mesh files is compatible with this software. It is specified only tetrahedron meshes but common files for 3D printing are STL with triangular meshes.
How can I slice other objects?
Best regards

Thanks for your attention, our platform only supports tetrahedron mesh now. There are some software that can convert a surface mesh into tetrahedron mesh, e.g. tetgen (https://wias-berlin.de/software/tetgen/)


New version: Oracle.MySQL version 8.0.36

Pull request has been created with komac v2.1.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

2024-03-08 09:31:09.806 [CLI ] No suitable installer found for manifest Microsoft.VCRedist.2015+.x64 with version 14.38.33135.0

(Automated response - build 869.)

I have tested is working for me in my local environment
C:\Users\Felix>winget settings --enable LocalManifestFiles
Enabled admin setting 'LocalManifestFiles'.

C:\Users\Felix>winget install --manifest D:\repos\imfelixlaw-winget-pkgs\manifests\o\Oracle\MySQL\8.0.36
Found MySQL [Oracle.MySQL] Version 8.0.36
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
This package requires the following dependencies:
  - Packages
      Microsoft.VCRedist.2015+.x64
Downloading https://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-<IP_ADDRESS>.msi
  ██████████████████████████████   285 MB /  285 MB
Successfully verified installer hash
Starting package install...
Successfully installed

C:\Users\Felix>


local mongo db server is not working

Repro steps:

Action: cosmosDB.attachDatabaseAccount
Error type: MongoNetworkError
Error Message: failed to connect to server [<IP_ADDRESS>:27017] on first connect [[Error: connect ECONNREFUSED <IP_ADDRESS>:27017
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1056:14)] {
name: 'MongoNetworkError',
errorLabels: [Array],
[Symbol(mongoErrorContextSymbol)]: {}
}]
Version: 0.12.2
OS: win32
Product: Visual Studio Code
Product Version: 1.44.0
Language: en

Call Stack
TCPConnectWrap.afterConnect [as oncomplete] net.js:1056:14
Pool.<anonymous> mongodb/server.js:431:11
Pool.emit events.js:203:13
pool.js:580:14mongodb/pool.js:580:14
connect.js:39:11mongodb/connect.js:39:11
callback mongodb/connect.js:261:5
Socket.<anonymous> mongodb/connect.js:286:7
Object.onceWrapper events.js:291:20
Socket.emit events.js:203:13
emitErrorNT destroy.js:91:8
emitErrorAndCloseNT destroy.js:59:3
processTicksAndRejections task_queues.js:77:11

Thanks for reporting @mrrwaa
Could you provide repro steps?  That error is generally seen when the local Mongo instance isn't running.  How are you running mongod?


Add --dump option when printing help

Or is this too early to add this option?

Too early, I don't expect the command to remain --dump.

perhaps --dump pbx?


livecheck migration: create Homebrew::Livecheck

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

This PR adds the Homebrew::Livecheck module containing livecheck's core logic. PR #8180 was hard to review as it was too large, so it was split up, with the original PR being exclusively to migrate the command.
Changes/suggestions yet to handle:

I'm working on the tests and am nearly done with them, I'll push them soon.

This PR will have to be merged before we can merge #8180.

With the latest push, some tests have been added. They are a work in progress (style will fail as well) and I was wondering whether using a double as a substitute for a Formula was okay.
We have a lot of Formula method calls in livecheck, and as a result I've got a little too many allows, and some for method chaining as well. The alternative I'm considering is using :integration_test so that I can setup a test formula (just as in the dev-cmd PR's test). What do you think @MikeMcQuaid?

An update:
Most changes have been completed, it's just the tests and trying to combine code from audit or notability left. Should be pushing them soon.

With the latest push, most changes have been addressed. Some points to note:

This PR depends on #8255 and the final livecheck_formulae test will be added after that PR is merged.
Would we require more tests for other methods or would that be too much?
I don't think we can do away with the GITHUB_SPECIAL_CASES, so if there's anything we have to do to ensure the formulae in that list still exist, I'll create a PR for that (maybe along with the RuboCops and audits).

Looking forward to your reviews @samford and @MikeMcQuaid!

With the latest push the following changes have been made:

Some documentation that definitely needs to be improved.
Tests for preprocess_url and livecheck_formulae (both of which needed one unfrozen Formula URL String).
Changed the usage of formula.stable? to formula.head? in most cases.

Will make further changes based on your reviews @MikeMcQuaid @samford. Thanks!

I'm busy with work at the moment but I'm planning to take a pass at this in the evening (around 5 or 6 hours from now).
If this can't wait until then, I imagine it's probably in good enough shape that any issues are likely minor and I could address them in a follow-up PR, if necessary. Otherwise, if this can wait, I'll get to it as soon as I can.

Well, I'm not sure I understand why this is happening with the tests. They all pass locally, and the only difference now compared to a previous CI run that was 🟢, is that I'm now setting the debug? value to true in an attempt to increase coverage. I'll take a look at this in more detail but do let me know if there's something I'm doing wrong.

The debug output still contains the normal (non-debug) output at the end, so I would think it should still be fine. The test works fine locally, so it must just be that the SSL error prevents livecheck from identifying a version and that in turn results in the expected output not being present. I have no idea why we keep getting an SSL error for any related tests checking GitHub, though.
I would be interested to see what happens on CI if we check a non-GitHub URL in the livecheck_formulae test. Just as a quick example, we could check some formulae.brew.sh JSON data:
let(:f) do
  formula("test") do
    desc "Test formula"
    homepage "https://brew.sh"
    url "https://brew.sh/test-0.0.1.tgz"
    head "https://github.com/Homebrew/brew.git"

    livecheck do
      url "https://formulae.brew.sh/api/formula/readline.json"
      regex(/"stable":"(\d+(?:\.\d+)+)"/i)
    end
  end
end

It may be that there's something better to check but this would at least let us know if this is only related to GitHub URLs or if it affects other HTTPS URLs.
You would also need to add the previous GitHub URL (https://github.s3.amazonaws.com/Homebrew/brew/releases/latest) as a separate variable and update the preprocess_url test to use that, otherwise that test will be unhappy.
Worst case scenario, it may be that we have to drop the livecheck_formulae test and take care of that later with the other related tests (like we did with the PageMatch#find_versions test in the strategies PR).

That seems to have worked! Thank you Sam.
Maybe we should, for whatever reason, avoid GitHub URLs and stick with a brew.sh URL for the network-related tests.

Hm, I do wonder what the issue is with the GitHub URL. We didn't have any problems checking GitHub URLs on homebrew-livecheck CI, other than rate limiting. The tag_info test in the Git strategy also checks a GitHub URL and that seemed to work, so it's a bit baffling.
Since this works with a formulae.brew.sh URL, I suppose the question is whether we want to move forward with this or to simply drop the livecheck_formulae test in favor of working on it later with the other network-related tests. I'm fine either way, so I'll leave it up to @MikeMcQuaid.
If we end up moving forward with the formulae.brew.sh check, is there any formula that we can pretty much rely on never being deleted in the future? I simply picked readline because it's the most popular non-versioned formula.

I picked ruby because pretty much everything in Homebrew is done with Ruby, and though we use the system Ruby I couldn't see a future where we would remove the ruby formula. Of course, if there's a better alternative I'm okay with changing it.

Great work, thanks again @nandahkrishna!


Showing the wrong group, can't search

I am having the same problem as "Not showing correct closest study group. #9"  It is showing me Los Angeles. I'd guess it is probably because my ISP is AT&T.
However, the search field doesn't seem to work? so I can't pull anything..
David F.

@figueroadavid Hmm... I just tried the search and it worked for me. Where are you located?

Houston, TX
I couldn't click on any of (what appeared to be) form fields..
David F.
On Thu, Apr 13, 2017 at 8:56 PM, William McDonald<EMAIL_ADDRESS>wrote:

@figueroadavid https://github.com/figueroadavid Hmm... I just tried the
search and it worked for me. Where are you located?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/study-group-directory/issues/10#issuecomment-294066432,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB8n7-ygOHU7MMB_uuFh-ioVfx0yZNz3ks5rvtJogaJpZM4M9Ygz
.

@figueroadavid Weird. I just tried it from my computer and no problem. Any errors in the console? Which browser are you using?

Chrome
David F.
On Thu, Apr 13, 2017 at 9:02 PM, William McDonald<EMAIL_ADDRESS>wrote:

@figueroadavid https://github.com/figueroadavid Weird. I just tried it
from my computer and no problem. Any errors in the console? Which browser
are you using?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/study-group-directory/issues/10#issuecomment-294067130,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB8n7-U2Nni3vHXO15IvHz1-QZtWNeTFks5rvtOlgaJpZM4M9Ygz
.

@figueroadavid It totally worked for me. I even emulated Houston's lat and long. No problems. I'll keep running some tests. Are you getting any errors in the console?

No.. I literally just have nothing to click on..
David F.
On Thu, Apr 13, 2017 at 9:17 PM, William McDonald<EMAIL_ADDRESS>wrote:

@figueroadavid https://github.com/figueroadavid It totally worked for
me. I even emulated Houston's lat and long. No problems. I'll keep running
some tests. Are you getting any errors in the console?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/study-group-directory/issues/10#issuecomment-294069081,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB8n7_tnAnTIXRY99OgBmHbD3PKd0yzXks5rvtcpgaJpZM4M9Ygz
.

@figueroadavid Is it still an issue today? If you wouldn't mind, could you post a screen shot? Thanks.

I finally got it.. Apparently I was on the wrong page..
Thank you,
David F.
On Fri, Apr 14, 2017 at 10:29 AM, William McDonald<EMAIL_ADDRESS>
wrote:

@figueroadavid https://github.com/figueroadavid Is it still an issue
today? If you wouldn't mind, could you post a screen shot? Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/study-group-directory/issues/10#issuecomment-294174331,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB8n7--39KxfauI2yc1JnwzO1RjUrTn9ks5rv5DJgaJpZM4M9Ygz
.

@figueroadavid Great! Glad it's working!


added sphinx documentation

https://github.com/diogomatoschaves/pyturf/issues/25
Hey, have a look, if this is for a first draft okay.
Please make sure that:

[x] You have read CONTRIBUTING.md
[x] You Include a link to the issue this pull request is associated to.
[x] The linter has been run at the root level of the project: black .
[x] All tests are passing: python -m pytest --verbose --cov=./
[x] Your branch is up to date with master: git rebase upstream/master

For new modules, also make sure that:

[ ] The new module function is exported in turf/<your-module>/__init__.py and turf/__init__.py.
[ ] The new module has been added under the Available Modules section on the README.

The nearest-point and point-on-feature changes are also appearing in this PR. Can you rebase your branch from master so that those duplicates disappear?

as i mentioned, above, it is a first draft. I wait for the merge request #29 before i will rebase the branch.

Ok sounds good. But I think it's good to go as a first implementation of the docs.

okay, i updated the docs with the latest additions to pyturf. let's figure out, how to host the html files. :)


Security-fix: Upgrade consul to v1.10.1.

Signed-off-by: Shishir Mahajan<EMAIL_ADDRESS>

SGTM then, thank you for keeping on top of this!  It's probably from pulling in Nomad which likely pulls in Consul.


IMAGING-134: Fix JPEG handling for files encoded with RST markers

Shamelessly pulled from @mgmechanics pull request for the same bug.

Coverage increased (+0.09%) to 74.411% when pulling 9ddc4c45847d48ab4835c3cf38b307d7083886e9 on mgs255:imaging-134-jpeg-entropy-exception into e9f975a8eb487369211dc83a84cd618c2214c2da on apache:master.

PR related: #13

The rest of the code looks good to me. Once the current items are addressed, LGTM :+1:

Thanks for the thorough review.  Our code style at works adds lots of spaces.  I think I've addressed all of the points you raised.
I also wrote a little tool to iterate over some customer image data we store in S3.  It loaded around 40GB of mainly jpg files when I left it running for some time.  So far I've not seen any problems.

That was quick! Lolks good to me, merging once I arrive at work. And thanks for the feedback about your use case at your work. We might need to release alpha2 soon to get the new code tested too.


Github

I see in change log you added new GitHub loader. What is the exact change? is it more capable of larger repos? if so any rough deal what it can handle?

Yes, the current one can handle a larger repo. I tested it on MinIO Docs with around 700+ files. It may take some time to create the embeddings.
For the embedding model, I tested Nomic via Ollama and text-ada embedding from OpenAI. I do not recommend using all-minilm for larger repo

What about the two newer text embedding models the small and large one from open AI?

It will work fine, I mean, in case you want to use an embedding model running locally


Add ZIndex

FEATURE REQUEST / SUGGESTION
SUMMARY
Both iOS and Android have ZIndex on pins. It would be great if there was a binding for it.
DETAILS
It would allow you to choose which pins are displayed on top of other markers.
Pin p = new Pin();
p.zIndex = 5;

PLATFORMS
which platform do you want?

[x] Android
[x] iOS
[ ] UWP

I released Xamarin.Forms.GoogleMaps 2.0.0-beta2 that includes Pin.ZIndex property.
Also add to sample, you can try it!


[#149] Fixed issue with exception in CflsFromPath when path is absent

Closes #149

@rultor merge

@rultor merge

@skapral OK, I'll try to merge now. You can check the progress of the merge here

Codecov Report

Merging #150 into master will increase coverage by 1.1%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##             master    #150     +/-   ##
==========================================
+ Coverage        42%   43.1%   +1.1%
- Complexity      171     176      +5
==========================================
  Files           177     177
  Lines          1369    1371      +2
  Branches         39      40      +1
==========================================
+ Hits            575     591     +16
+ Misses          789     774     -15
- Partials          5       6      +1

Impacted Files
Coverage Δ
Complexity Δ

...a/oo/atom/codegen/bytebuddy/cfls/CflsFromPath.java
80% <100%> (+80%)
1 <0> (+1)
:arrow_up:

...a/oo/atom/codegen/bytebuddy/cfls/CflsInferred.java
100% <0%> (+100%)
2% <0%> (+2%)
:arrow_up:

.../oo/atom/codegen/bytebuddy/cfls/CflsDirectory.java
100% <0%> (+100%)
2% <0%> (+2%)
:arrow_up:

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 3f66ab2...33d3e56. Read the comment docs.

@rultor merge

@skapral Done! FYI, the full log is here (took me 3min)


Path2D should generate AT LEAST a baked point for each original array point

Operating system or device - Godot version:
Windows 10
Godot 2.1
One of latest Godot Builds from GitHub https://github.com/godotengine/godot/commit/611a94e3a673a61b51746366366c698c66ef0195
Issue description (what happened, and what was expected):
Path2D should generate AT LEAST a baked point for each original array point
Examples:
Using baking value at 50.
In orange there is the generated baked curve, in blue is the original array of points created in the editor:
In Godot:

Should generate instead something like this:
Drawing of how the baked curves should be in Photoshop

Now using a baking value longer than the whole path (example this path is +- 100 length so lets use 512)
In Godot:

Nothing is baked with values longer than path length
Instead should generate in this case:
Drawing of how the baked curves should be in Photoshop

Both issues are fixed with an algorithm baking always a point for each original point.
Some things to take in consideration or discuss with this change:

Should the baking length for next baked point be reset at an original point?, Maybe make a Flag for this behavior, something like reset_baked_value_at_original_point?
Graphical example of reset vs don't reset in Photoshop:

Add a flag to bake only the original points?. Aka disable baking and ignore curves

Steps to reproduce:
Create a Path2D
Add a curve and set the baking to a high value
Link to minimal example project (optional but very welcome):
A project drawing the baked curve in editor
https://dl.dropboxusercontent.com/s/poknngxj7z4yo37/path2d_tesselation.zip

First of all thank you for your report and sorry for the delay.
We released Godot 3.0 in January 2018 after 18 months of work, fixing many old issues either directly, or by obsoleting/replacing the features they were referring to.
We still have hundreds of issues whose relevance/reproducibility needs to be checked against the current stable version, and that's where you can help us.
Could you check if the issue that you described initially is still relevant/reproducible in Godot 3.0 or any newer version, and comment about it here?
For bug reports, please also make sure that the issue contains detailed steps to reproduce the bug and, if possible, a zipped project that can be used to reproduce it right away. This greatly speeds up debugging and bugfixing tasks for our contributors.
Our Bugsquad will review this issue more in-depth in 15 days, and potentially close it if its relevance could not be confirmed.
Thanks in advance.
Note: This message is being copy-pasted to many "stale" issues (90+ days without activity). It might happen that it is not meaningful for this specific issue or appears oblivious of the issue's context, if so please comment to notify the Bugsquad about it.

Same behavior in 3.0.2.stable.
Here is the updated project.
https://dl.dropboxusercontent.com/s/760n1r69kcml02f/path2d_tesselation_3.0.zip

Would you mind uploading the project to Github by drag and drop to the reply box so that it can be used as reference later? Thanks!

Ok, Here is:
path2d_tesselation_3.0.zip

Still valid in the current master branch (631cf676).

Still valid in 3.3.

No longer valid for Godot 4.0 as one of the more recent Curve Resource changes must have fixed it "by accident".
https://github.com/godotengine/godot/commits/master/scene/resources/curve.cpp


Build failing on Travis-CI and other services

GitHub integrated builds failing due to missing packages. Might be related to the jasig repo having been retired recently.

To reproduce locally, run mvn dependency:purge-local-repository -DmanualInclude=javax.script:js-engine to clear a missing module


cannot handle wireframe very well

I had some meshes as wireframe as did in following snippt and found they will be display in viewport, and solid mesh works fine instead.
bevy::pbr::wireframe::{Wireframe, WireframeConfig, WireframePlugin};

commands
    .spawn_bundle(PbrBundle {
        mesh: .....,
        ..Default::default()
    })
    .insert(Wireframe);

Thank you for the report! Funny enough, I noticed this too on Monday for the first time.
It seems to be an issue in bevy not abiding by the visible entities of a camera. More info here.

Pull request for the fix was merged today, so this will be fixed as soon as 0.8 bevy gets out 👍

Pull request for the fix was merged today, so this will be fixed as soon as 0.8 bevy gets out 👍

I found that integration this morning too !


fix EXDEV error

I am seeing that you have the latest fork. So I wanted to propose a change, which solves an issue I have right now.
As on linux you can mount folders of different devices in the fs. If you call rename to move a file, it can happen that you get EXDEV error by LInux. So you have to copy and delete the original file. This PR ensures that. I copied and modified the code from here: https://stackoverflow.com/a/29105404/3619994

I will now test my changes and give you feedback

hmm. I fixed that issue by just using the corresponding command line command on linux, as it is my target anyway. Wont test that, but maybe you want to implement it anyway.


how to deploy a high-availability cluster

System Setup

seaweedfs helm chart (3 master ,3 volume ,2 filer)
kubernetes 1.26

Expected behavior
deploy the cluster in kubernetes 1.26;use s3cmd to make bucket and upload file

when i stop a master pod ,i can't upload file to filer

Additional context
my question is how to deploy the high-availability cluster, even if one node goes down, the cluster should still work normally

Without seeing your error logs I can't be certain but it sounds like this might be the same issue I've run into. It appears that the filer continues to direct id assign requests to a given master even after another is elected.
I can't reproduce it in 3.55 - only 3.56 and I suspect https://github.com/seaweedfs/seaweedfs/commit/733db2bc8846b98bb191e0cacc1e910104a0cfde is the cause. I'm not overly familiar with it but it seems the new assign proxy logic might just "stick" to the master address returned when it's first called?
For some context, I'm seeing errors like these in the filer logs after the leading master is stopped (including after another leader is elected):
E0916 17:50:27.285278 filer_server_handlers_write.go:48 failing to assign a file id: StreamAssignSend: EOF
E0916 17:50:27.285290 filer_server_handlers_write_upload.go:203 upload error: StreamAssignSend: EOF
E0916 17:50:27.285296 s3api_object_handlers.go:519 upload to filer error: StreamAssignSend: EOF
I0916 17:50:27.285303 common.go:75 response method:PUT URL:/buckets/warp-benchmark-bucket/tnX0VlIw/1.Sc5TCVP67XKiBkW5.rnd with httpStatus:500 and JSON:{"erro  r":"StreamAssignSend: EOF"}
E0916 17:50:27.285435 s3api_object_handlers.go:519 upload to filer error: StreamAssignSend: EOF
E0916 17:50:27.368374 filer_server_handlers_write.go:48 failing to assign a file id: StreamAssignSend: EOF
E0916 17:50:27.368408 filer_server_handlers_write_upload.go:203 upload error: StreamAssignSend: EOF
I0916 17:50:27.368455 common.go:75 response method:PUT URL:/buckets/warp-benchmark-bucket/tnX0VlIw/1.Sc5TCVP67XKiBkW5.rnd with httpStatus:500 and JSON:{"erro  r":"StreamAssignSend: EOF"}
E0916 17:50:27.368730 s3api_object_handlers.go:519 upload to filer error: StreamAssignSend: EOF
E0916 17:50:27.388344 filer_server_handlers_write.go:48 failing to assign a file id: StreamAssignSend: EOF

Restarting the filer sorts the issue (until that master is no longer leader) and it's consistently reproducable. I did manage to have errors along the line of "raft.Server Not current leader" returned at one point as well but I'm struggling to reproduce that.

I encountered the same Issue when upgrading to 3.56. I downgraded to 3.55 to resolve it as I couldn't get it to write at all, not even after restarting the filers:
Sep 21 00:22:02 seaweedfs2 weed@filer[1468898]: E0921 00:22:02.649214 filer_server_handlers_write.go:48 failing to assign a file id: StreamAssignSend: EOF
Sep 21 00:22:02 seaweedfs2 weed@filer[1468898]: E0921 00:22:02.649238 filer_server_handlers_write_upload.go:203 upload error: StreamAssignSend: EOF
Good to see it fixed in the next release.

@Mikkitop I want to reproduce this. how to trigger this StreamAssignSend: EOF error?

For me it happened after an upgrade from 3.47 to 3.56. At first everything looked good after having restarted all 3 masters, 3 filers and 60 volumeservers.  Reading was not an issue, however uploading a file was broken. It was right after I assume a new leader was elected:
ror":"rpc error: code = Unknown desc = raft.Server: Not current leader"}
Sep 21 00:17:03 seaweedfs3 weed@master[3680239]: E0921 00:17:03.029731 master_grpc_server_assign.go:28 StreamAssign failed to assign: raft.Server: Not current leader
Sep 21 00:17:03 seaweedfs3 weed@filer[3680191]: E0921 00:17:03.029907 filer_server_handlers_write.go:48 failing to assign a file id: rpc error: code = Unknown desc = raft.Server: Not current leader
Sep 21 00:17:03 seaweedfs3 weed@filer[3680191]: E0921 00:17:03.029944 filer_server_handlers_write_upload.go:203 upload error: rpc error: code = Unknown desc = raft.Server: Not current leader
Sep 21 00:17:03 seaweedfs3 weed@filer[3680191]: I0921 00:17:03.029981 common.go:75 response method:POST URL:/tmp/2023-09-20/b0909c9bb2c901a33b79ba1666a3d998650b6f5e907617.98363531/img_thumb.jpg?fsync=true with httpStatus:500 and JSON:{"error":"rpc error: code = Unknown desc = raft.Server: Not current leader"}
Sep 21 00:17:03 seaweedfs3 weed@filer[3680191]: E0921 00:17:03.033246 filer_server_handlers_write.go:48 failing to assign a file id: StreamAssignSend: EOF
Sep 21 00:17:03 seaweedfs3 weed@filer[3680191]: E0921 00:17:03.033269 filer_server_handlers_write_upload.go:203 upload error: StreamAssignSend: EOF
Sep 21 00:17:03 seaweedfs3 weed@filer[3680191]: I0921 00:17:03.033295 common.go:75 response method:POST URL:/tmp/2023-09-20/47bb850f215becb242f38c630d0727ce650b6f5e94a939.54416865/img_small.jpg?fsync=true with httpStatus:500 and JSON:{"error":"StreamAssignSend: EOF"}
After my post I noticed vacuum was not working and found there somehow was a corruption on one file which was also present before the upgrade:
E0921 00:23:16.536049 needle_read.go:45 /var/seaweedfs/dev314/211.dat read 3728 dataSize 9224 offset<PHONE_NUMBER>8 fileSize<PHONE_NUMBER>64: read /var/seaweedfs/dev314/211.dat: input/output error
E0921 00:23:18.204353 volume_grpc_vacuum.go:65 failed compact volume 211: cannot hydrate needle from file: read /var/seaweedfs/dev314/211.dat: input/output error
I fixed that by deleting and reuploading the 4 files that gave an error (detected through a volume.fsck and I have replication on 001)
failed to read 211:11f95b54 needle status of file /****: rpc error: code = Unknown desc = read /var/seaweedfs/dev314/211.dat: input/output error
I'll try to reproduce it in a test environment on 3.56. Anything in particular I should look at?

thanks for the quick reply and detailed context. It's helpful to know the issue is caused by the moved leader.

Any progress here ?

this is fixed.

3.57


Add artificially delay before turning off a scene switch

Issue

When using the scene switches as a trigger for automations, the automations are not triggered reliably. I have observed this issue now quiet some time and it looks like the automations are triggered correctly when the scene switch is turned on like for >2 seconds. However, most of the time the scene switches are turned off almost immediately. I would like to see a configuration option to add an artificially delay for the scene switch to turn off.
Log Messages

Debug Files

The time to wait before resetting the “switch” is already configurable through resetTimeout.  Default is 500ms, it can be set between 10 and 2000ms.  Looks like this setting is missing from the UI Settings form and from the Wiki page, but you should be able to add it manually to config.json.
Note that recalling a scene is write-only, very much like Identify.  Unfortunately, I haven’t been able to find a way to make a HomeKit app display a push button, hence the trick to display it as self-resetting switch.  I use a similar trick for Brightness Change.  These self-resetting characteristics are really meant to be write-only, and probably shouldn’t be used as triggers for HomeKit automations.  Depending on your use case, best use a HomeKit scene, combining the automation actions and the switch for the Zigbee scene, or create a CLIPGenericFlag sensor and expose that as dummy switch to base your automation on.

Thank you for the quick response. I was not aware of the resetTimeout in the configuration. The hint was the solution for me. Write-only is no problem for my use-case since I trigger the zigbee scenes always with the switches anyway. So there is no need to detect when I change scenes from another source, e.g. the Hue app because I don't use any other service to control the light.


PPP

Coverage remained the same at 71.675% when pulling 4a9737bdfd16401bed15443f1ef74de1bdd00a8c on iMarbles:docs-PPP into 74d66506e9942fb5bae01b9700163aeceb35d09d on CS2103-AY1819S1-W16-2:master.


[OSPP 2023] Project 2: Design and implement several variable charts(i.e. multiple sizes) for the "Repo Collections" feature

Description

Related to #487. Should be started after v1.9.0 is merged into master.

Repo Collections is a place to present aggregated data for a set of repos. Aggregated data could be:

Total Activity, OpenRank, Star Increment by month
OpenRank(or other metrics) comparison among repos in one collection
...

This project requires a good understanding of OpenDigger metrics and indices for repos. You are asked to design several variable charts and implement them as React functional components, then these components can be integrated into Repo Collections later.
What is a variable chart? Variable charts is a concept similar to iOS widgets, so each variable chart is expected to provide at least one size for users to choose from. You are encouraged to provide multiple sizes for one variable chart, but it is ok to provide only one size for a certain variable chart.

Output Requirements

Design >=8 variable charts and put/link your prototypes here as an issue comment
Implement them as React functional components

Technical Requirements

ECharts
HTML, CSS, TS
React, React Hooks
Comprehension of OpenDigger metrics and indices (use those data to make the charts)
Git, GitHub

Difficulty
Advance
Mentor
@zhicheng-ning

I am very interested in this project, and I really hope to get the chance to participate in this project on OSPP.

This is a great idea! I have relevant experience with Hypercrx and Opendigger metrics. I have a high interest in this project and hope to contribute my efforts. ^ ^

Is the variable chart here similar to the echart chart that pops up when we hover over the Fork, Starred, etc. buttons?
As I have shown in the screenshot below.

Not really. I think the variable charts are charts like those in DataEase Dashboard but with different sizes, which makes them like widgets.

Not really. I think the variable charts are charts like those in DataEase Dashboard but with different sizes, which makes them like widgets.

OK~

Hello ! I'm interested in contributing to this project. I have forked and set up the project locally, and I've been looking into OpenDigger metrics and indices. I'm wondering if there are any good first issues or tasks in those areas that I can work on to get a better understanding of the project.
Additionally, I'm planning to work on a chart prototype as mentioned in the Output requirements. I'd like ask if there are any specific requirements or suggestions for the chart prototype.
I look forward to hearing back from you soon!  :)

Hi! For the past few days, I have been reading about the aims of Project 2 and I also came across Issue #487  , which discusses the conversation about displaying aggregated data for a group of projects. Additionally, I have checked out Project 1 and its related issues. The idea behind this project is quite promising :)
I had few questions regarding the project:

In relation to the expected output of Project 2, which involves designing variable charts, I would like to know what my prototype should include before sharing it with all of you.

-> Should I create a separate slide that replicates the image mentioned in Project 2, but with more details and specifications? For instance, I can show a chart depicting the total activity, a pie chart showcasing individual contributions, and other similar charts. I would also provide information on my approach to building these charts into a React component, demonstrating my best approach to displaying the aggregated data.
Or do you have different expectations?

Considering the prototype and the discussion in Issue #653 , I understand that Project 1 involves implementing the "Collections" button. Therefore, I assumed that the "Comparison" and "Settings" buttons fall within the scope of Project 2. Could you please confirm this?"

Hi @pranavshuklaa, the detailed description of your understanding on this project is much appreciated. Your two questioins are answered as follows:

you are welcomed to give 1-2 prototypes (no need to implement them actually) of variable charts here(better provide charts in different sizes if the kind of chart support variable sizes in your design), and depict their meanings and strengths.
Only charts does this project focus on. "Comparison" and "Settings" are plans for future :)

hi, I have designed several prototypes of the charts  and welcome suggestions:

Line chart: Displays the openRank of multiple Repos over time. You can compare Repos over time based on this chart. This chart style can also be used to display metrics such as activity, number of stars, number of issues, and so on.
Donut chart: It clearly shows the proportion of stars in each repo.
Bar chart: You can easily see and compare the percentage of programming languages used in different Repos.
Sankey diagram: Used to display the contribution relationship between the repo and the contributor. You can clearly see the contribution distribution of each contributor, as well as the relationship between the repository and the contributor.

In addition, taking line charts as an example, several charts can be designed in "1 x 1" and "1 x 2" sizes for users to choose from.

@wj23027 Good prototypes! While something I want to point out:

The two versions(sizes) of line charts are actually the same except for their widths. For two lines crossing a time span of 12 months, they look both fine. But how about 10 lines crossing a time span of 5 years? Then the small chart could be too  crowded. A series of variable charts can only differ in sizes as your two line charts, yet variable charts differing in design are more preferred.
The sankey chart showing distribution of contributions impresses me. But I have a question: which data exported by OpenDigger you plan to use to count as contribution? With my understanding, there is no such data can support this sankey chart.

Hey @tyn1998, now i have good understanding of the the Project-1 and will continue making updates  in the earlier framework I had published https://github.com/hypertrons/hypertrons-crx/issues/653#issuecomment-1518615228 according to the new prototype and will keep you updated , parallelly I'm elated with Project-2 also I'll be sharing my views on it and I'm also interested in writing proposal for this project too 😄 .

The two versions(sizes) of line charts are actually the same except for their widths. For two lines crossing a time span of 12 months, they look both fine. But how about 10 lines crossing a time span of 5 years? Then the small chart could be too  crowded. A series of variable charts can only differ in sizes as your two line charts, yet variable charts differing in design are more preferred.
The sankey chart showing distribution of contributions impresses me. But I have a question: which data exported by OpenDigger you plan to use to count as contribution? With my understanding, there is no such data can support this sankey chart.

Thanks for your reply!

I understand what you mean. We can use different sizes to show charts with different data amounts, is that right? Next I will adjust the chart prototype for this.
I'm sorry that I haven't thought about the data, and I just think the chart style is quite suitable. Maybe we can use a Collaboration Network instead to show the relationship between developers.

Hey @tyn1998, now I have good understanding of the the Project-1 and will continue making updates in it, parallelly I'm elated with Project-2 also I'll be sharing my solution based on my research in coming days and I'm also interested in writing proposal for this project too 😄

Hey! I have created some prototypes of E-charts that represent aggregated data.
These charts showcase the activity, stars, forks, and OpenRank of multiple repositories. To give you a better idea, I have edited my charts in the form of widgets based on the prototype created by @tyn1998
Activity Chart: It demonstrates the activity of five different repositories each month.
Chart used: Stacked Horizontal Bar
Stars Chart: Total stars received by the repositories over the years.
Chart used: Mixed Line and Bar
Forks Chart: Total forks of the repositories each month.
Chart used: Mixed Line and Bar
OpenRank Chart: The OpenRank of the repositories each month.
Chart used: Mixed Line and Bar
These charts can be easily represented as widgets, and for these four charts, we can have two size options: 2x3 or 4x6. The size of the widgets can be adjusted once we finalize all eight charts. Currently, I have created prototypes for four variable charts. After receiving everyone's suggestions and recommendations, I will create the remaining four charts and include them in my proposal.
While there were numerous available charts to choose from, I carefully selected the charts mentioned above. Although there are additional options like the Stacked Bar Chart on Polar (Radial), I opted for the stacked horizontal bar because I believe it would have a stunning appearance when implemented as a React component.
Here's how I edited the prototype:

Same widgets/charts in Dark mode for all the dark mode users :)

Things i want to discuss:

It is important to address the issue raised by @frank-zsy regarding the visual clarity and aesthetics when plotting charts for users with 10+ favorite repositories. One possible solution is to implement limits for different charts on the collections page. For instance, we can set a range of 5 to 10 repositories for the stacked horizontal bar chart, while limiting the other charts to 5 repositories. By doing so, only the top 5 favorite repositories will be displayed using the echarts. Another solution is; Instead of setting fixed limits for all charts, introduce a dynamic filtering mechanism that allows users to select the repositories they want to visualize on each chart. This way, users can individually choose their top 5 or preferred repositories for each chart, ensuring clarity and relevance based on their preferences. I am currently conducting further research to explore even better solutions for this problem.
I would also like to discuss what other data can be represented for the rest 4 charts ? pls do suggest.
Pls share your views and suggestions about my representation of this project :)

Checkout individual charts :
(1)(2)
(3)(4)
(5) (6)
(7)(8)

Hi! Could you please provide me with your suggestions and views on the charts I shared earlier? Your input would greatly assist me in deciding my next steps for addressing this project.

Hi @pranavshuklaa, your demenstration is so detailed 👍
As you pointed out, the 4 charts you proposed are not well scalable to collections with more repos. So these kinds of bar charts are not proper for presentation. "Aggregated data", as it is so called, should be much more understood in this way:

Repo A has 5 stars, repo B has 3 stars, repo C has 2 stars. A collection of the three has a total stars whose number is 10. The "10" is aggregated data.

Yet comparison among repos also counts as aggregated data.

I would also like to discuss what other data can be represented for the rest 4 charts ? pls do suggest.

Understanding data exported by OpenDigger is also a big important task in this project. I may ask you to figure them yourself :D

@wj23027 @pranavshuklaa @stealth-bombeer Guys since you are interested in this project, may I have your resumes? You can email me or leave a link to your online resume here :)

After discussing with @tyn1998 and @andyhuang18, here is the part of the updated 'repo collection' feature that I am responsible for:

When users click to enter the collection page on the GitHub repository,the list of repos in this collection, as well as the charts, will be displayed through a modal, with the current repo highlighted.

When users enter the collection page through the plugin's popup, the collection information will be displayed using the options page.


Build sms content for completion

Fixes #284
Not the most elegant solution with having the content in a properties file since they would ideally live in IMI's cms system. This is a start that can be optimized further though.

मुझे अच्छा लग रहा है

நன்றி


Fix globals are always defined

Fixes #86

@davidmyersdev I've fixed linter errors. The only remaining error is in e2e test (examples/vanilla). I'm not sure how to fix it correctly. In this test you've configured the plugin to define process only in build mode, but test expects it to be defined in both modes (lines 51 for process and 52 for process.env).
https://github.com/davidmyersdev/vite-plugin-node-polyfills/blob/29e3c8256011e02434283919374d0f0beab9c05b/examples/vanilla/vite.config.ts#L12-L14
https://github.com/davidmyersdev/vite-plugin-node-polyfills/blob/29e3c8256011e02434283919374d0f0beab9c05b/examples/vanilla/test/e2e/main.spec.ts#L43-L60
Currently, test:e2e:build runs without errors, while test:e2e:dev fails with process is not defined error, which is the expected behaviour in my opinion.

@Ilyat1337 It looks like that error is actually being raised by the fs module due to its reliance on process. I'll have to split those tests up.


[Usage question] How to make node available for a Wayland session?

Operating system and version:
EndeavourOS; Arch Linux (rolling), GNOME Version 40.4.0
Problem

The correct path to the desired node version is not available in desktop apps like WebStorm when launching them from the GNOME Shell. None of the workarounds described in https://youtrack.jetbrains.com/issue/IDEABKL-7589 is working in a permanent and transparent way.
Quote from https://wiki.gnome.org/Initiatives/Wayland/SessionStart:

The wayland session is not running a login shell and is not sourcing /etc/X11/xinit/xinitrc.

Wayland has an established way to add or modify environment variables via ~/.config/environment.d, but this mechanism does not provide any means of launching a shell script like nvm-init.sh and make its environment available for the whole session.
Question
How would I need to set up nvm-sh to choose a default node version for the user session?

Typically the way it’s done is indeed for the editor to invoke a login shell, so that nvm’s PATH modifications become available.
Short of that, I’m not sure how you’d do it. If there’s a profile file that your editor does source, you could move nvm’s sourcing lines into that file?

No such options in WebStorm, unfortunately.

Surely WebStorm starts some shell, which sources some file, such that it’s up to the shell?


assess response call times for suggestions api, compliance

User Story
When playing around in the perf test environment last week, it was brought to our attention that the call to suggestions can sometimes take quite a few seconds to return. that box is generally barely-provisioned, so it could be the box was overloaded.
but we should do some checking.
we've also had some requests to increase the amt of results returned for control tags, so we could use these benchmarks to decide if that's a reasonable thing to do or not
Definition of Done
benchmarks for suggestions calls, with and without text input, for 10k nodes.

we've made a bunch of improvements here recently; closing


Improved code quality

Hello @swapsha96! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file mirapy/classifiers/train.py:

Line 45:80: E501 line too long (83 > 79 characters)


Fix Affine BB aug using only 2 corner points

This fixes a bug where the bounding box augmentation in Affine uses only two corner cordinates (top-left, bottom-right) instead of all four, leading to malformed output bounding boxes during rotation and shear.
This bug was likely introduced by #451 (2d3fdb7, single_step_augment) and is not expected to affect the 0.3.0 release.

Codecov Report

Merging #483 into master will decrease coverage by 0.58%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #483      +/-   ##
==========================================
- Coverage   96.24%   95.65%   -0.58%
==========================================
  Files          34       34
  Lines       11770    11776       +6
==========================================
- Hits        11327    11264      -63
- Misses        443      512      +69


can't find any algerial cities

when selecting algeria as the countery and going to select the city it keeps showing turkish cities , another issue is that countery names are turkish and i had to use a translate app to figure out that algeria is cezayir which is not a good UX

You are absolutely right about this. The API needs to be changed to adapt worldwide.
Nowadays I'm very busy with family stuff. So I couldn't work on this. If anyone open a PR to different calculation methods and convert API usage of the app, I would gladly accept it.


Impact graph, variable vector and weight.

This implements the ImpactVectorGraph, with the flow for adding vectors to the table and facilitating impact calculations. The vectors are initially assigned a weight of 100, which can be adjusted dynamically. This adjustment triggers the API with the updated vector weights.
This pull request addresses #5 along with other related changes.

Nice work here, @0xChijoke. Can you address the merge conflicts and the lint errors when you are able?


HttpHeaders Changes

This PR prototypes changes to the HttpHeaders class to make it more performant.

This change was merged into #12890


947: Implementation of risk validation for API version 3.1.10

Refactor Risk validation service
Updated Controllers
Added risk validation to VRP API

About the changes to the FakeDataApiController changes.
When running functional or postman tests, the DebtorAccount, used in payment request, must exist in the test-facility-bank in order for the payment to be accepted.
Test users in the test facility bank are created using the 'FakeDataApiController#generateFakeData' API.
In the test-facility-bank it is possible to provide values to be used when test data is auto-created for a user.  When user data is created by the FakeDatatApiController, the account values etc are substituted with values specified for specific users in the application config (spring config etc). In systems that we want to be able to run the Functional Tests against we use this mechanism to ensure that the account Ids etc for the user we use in the functional tests (psu4test) etc are known.
These values are provided to the test-facility-bank via helm chart values here.
In the functional and postman tests, these values are hard coded.
When the test user is created in the test-facility-bank, the FakeDataApiController was creating a value for the SecondayIdentification in the test user's account data. It was set to a random value.
This caused problems because when a Debtor account is not provided in the payment consent request, then the account that the PSU chooses to pay from in the consent dialogue will be used to create the debtor account that is stored with the approved consent.
So far so good. However, when the TPP tried to submit the payment after consent, they can provide the debtor account as a part of that request. If they did, this would fail validation because the debtor account in the submission request must match the debtor account in the stored consent.  The debtor account that will be stored in the Authorized consent is either:
a) was set at the time the PSU gave consent based on the choice of account in the consent UI, or
b) set to be the debtor account provided in the consent request, confirmed by the PSU in the consent UI
If the debtor account in the Authorized consent originated by method a) above, then it will have been taken from the account data belonging to that user. This will have been created by the FakeDataApiController, and will have had a random number SecondaryIdentification field in it.
The bug fixed by removing this that when the debtor account provided in the payment submission request doesn't have the SecondaryInformation set (to the randomly generated value!) then submission will fail.
SecondaryInformation is an optional field so the quickest way to fix this is to ensure that it doesn't get generated as a part of the user data.
For test purposes the Debtor account used by the tests is set by the configuration providing the account identifiers created for the user test data to match with an existing user account created in the system for test purposes, on this account identifiers provided by the configuration the secondaryIdentification it's provided as null value.
When a DebtorAccount object it's provided in the consent, it needs to match with an account registered in the system.
So that the secondaryIdentification field has been removed, to be a null value, from the FRAccountIdentifier Object when the user test data is created for test purposes. @see FakeDataApiController#generateFakeData
Issue: https://github.com/secureapigateway/secureapigateway/issues/947

This is not related to the linked issue. This is part of a fix for https://github.com/secureapigateway/secureapigateway/issues/948


Preparing for upstream version upgrade

I wanted to migrate khttp instrumentation that was removed from upstream. But for that I need latest upstream.

Renamed ComponentInstaller to AgentListener; this should make the non-test code compile. I'm afraid that it's not the end of our trouble though:
Execution failed for task ':testing:common:compileJava'.
> Could not resolve all files for configuration ':testing:common:compileClasspath'.
   > Could not find opentelemetry-java-instrumentation.testing:armeria-shaded-for-testing:1.3.0-SNAPSHOT.


Can support be added for Netamo connect sensor data C02, noise level and pressure?

I have added a Netamo weather station to smartthings and am only getting temperature data from it on my MQTT server over via this bridge. I really want to get the carbonDioxide (stuffiness), the noise and room pressure. Can anyone help? I would be happy do some work to help add these things if you point me in the right directed e.g. the Current States for smartthings shows data like this...
temperature: 23.3 C
humidity: 33
carbonDioxide: 695
noise: 53
pressure: 1013.4

PS Many thanks for sharing this bridge on github!

FYI: Smartthings list events shows the following for these sensors
Date 	Source 	Type 	Name 	Value 	User 	Displayed Text
2017-01-22 11:49:17.335 PM GMT
12 minutes ago 	DEVICE 		noise 	52 		room1 noise is 52
2017-01-22 11:49:17.322 PM GMT
12 minutes ago 	DEVICE 		pressure 	1013.5 		room1 pressure is 1013.5
2017-01-22 11:49:17.300 PM GMT
12 minutes ago 	DEVICE 		carbonDioxide 	635 		room1 carbon dioxide is 635

Hey @rapport,
It should mostly work as long as you select that device under:

Humidity Sensor
Temperature Sensor
Carbon Dioxide Sensor

But we don't have anything that tracks pressure or noise.  The way the system works is by looking for capabilities and then listening for attributes of them.  Here's an example: https://github.com/stjohnjohnson/smartthings-mqtt-bridge/blob/master/smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy#L210-L216
If you can figure out what tweaks you need to identify your device type based on it's capabilities and read that data, then I'm always interested in PRs.

Thanks for these pointers. I will look into this and try to figure it out how to change the code and do a PR. I need to use the sound and will do my best to make it work or figure out a workaround. For the sound I think I may also be able to switch to this new sound sensor soon http://aeotec.com/z-wave-glass-break-sound-sensor ( I am guessing this may work out the box soon!). I am using the pressure level to try to check if objects are upstairs, downstairs, on the floor, on a shelf etc. and I am not 100% sure if this is will work anyway!


when i m trying to "bundle install" i get..

Using rails-dev-boost (0.1.1) from git://github.com/thedarkone/rails-dev-boost.git (at master)
NoMethodError: undefined method write' for #<Syck::Emitter:0x00000104e3bc00> An error occured while installing rails-dev-boost (0.1.1), and Bundler cannot continue. Make sure that gem install rails-dev-boost -v '0.1.1'` succeeds before bundling.
===
i have:
rails 3.0.9
bundler 1.0.20
i can't use older bundler because of non-compability with other gems

Hey,
I'm unable to reproduce this with 1.8.7, 1.9.2 or 1.9.3. Can you post a small Rails app with this problem?


[Android 14] startDeviceScan can Not find the ble device after it is disconnected

Prerequisites

[X] I checked the documentation and FAQ without finding a solution
[X] I checked to make sure that this issue has not already been filed
[X] I'm sure that question is related to the library itself and not Bluetooth Low Energy or Classic in general. If that so, please post your question on StackOverflow.
[X] I'm running the latest version

Question
Hi,
in android 14, after my ble device is disconnected and power off, startDeviceScan fails find the ble device again after it is powered on again. on other Android version, startDeviceScan function works well as expected
I have use the most recent version of react-native-ble-plx(3.1.2-rc.0)

I call startDeviceScan as shown below

self.manager.startDeviceScan(null,
null, (error, device) => {
....
}

When startDeviceScan  fails to  find the ble device,  I go to android blutooth menu, I can find the device on the list. I also use another App (nrf connect), it can also find the ble device
I found an interest thing , if I pair the my ble device in the android bluetooth menu first, it seems that startDeviceScan  can find my ble device.

Do you have any idea about how I can fix the problem. Many Thanks

additional,

My phone is google pixel 8
startDeviceScan can also work after turning off Bluetooth and then turning on again

Finally, the root cause is that I should stopDeviceScan only and if only startDeviceScan is called

Facing same issue on Google Pixel 7 (Android 14), above solution didn't worked for me. If anyone found solution please comment here

Samsung A52. I use it to control a midi ble device... Update to android14 and midi commander crashes when I try to search ble devices. Work in android13


Handle the case where no biometrics are enrolled on the device.

When using the Keystore-backed implementation, it's not possible to
create a credential unless biometrics are enrolled. This is fixed by
just avoiding creating keys with timeout 0 since they are not needed
anyway.
Also rework the reference mDL app so it actually uses user
authentication and rework the code so it uses the LSKF if no
biometrics are enrolled on the device. Also add a "Add PIN" button so
the user can always opt to use the LSKF.
Carefully test this on devices with fingerprint (Pixel 3XL) and face
authentication (Pixel 4XL) and the paths where the credential is
created when a biometric is present and when it's not present. Also
test presentation in both modes and the mode where the credential was
created when a biometric was present but subsequently removed.
Test: See above and all unit tests pass.
Bug: 217171229

Thanks for looking, new patch coming up.


Upgrade Itinerary Screen

Features
Updated PreviewItineraryScreen (and places it's called) to match closer with Figma layout

Itinerary polyline is drawn and displayed
User location is shown (not visible in image due to user location not being in San Francisco)
Center location button that centers position on user's location
Maximized and minimized versions of the (new) banner that change on button press (little arrow thingy)
Displays likes, duration of itinerary and cost (the latter two need further implementation in Itinerary, thus this will require a very small patch later on)
Loads user's profile picture from firebase and displays it
Display's user's displayName as is provided by google
Displays itinerary description
Added a new method to profileViewModel for fetching default profile picture

Todos

Update cost and length display when implemented
Fix bizarre test incompatibility

Test
Updated tests for compatibility since PreviewItineraryScreen now takes an additional argument, but haven't written anymore. This will come in a future patch likely named test/upgrade-preview-itinerary-screen
Pics or it didn't happen

pics are now outdated btw. The polyline color has changed from red to a blue color to match the app's color theme. Thrilling stuff


Allow frame indexing for 6+ digits using the frame box

🧰 Task
I am using the napari-video plugin and I have some videos that are 1+ million frames. I noticed that the frames box does not let me enter more than 6 digits. Would it be possible to change this or give the user the ability to set a limit? I was able to fix this by following this suggestion. As @Czaki pointed out the issue is related to the following line: https://github.com/napari/napari/blob/0582b41e9fffe81d0fe4a1af8fb961706b8619a7/napari/_qt/widgets/qt_dims_slider.py#L61

Those are some big videos @mfkeles! At 24fps, 1M frames is 11.5h, or 4.5 at 60fps, or (perhaps more reasonable) 2h15min at 120fps! :astonished:
Anyway, I agree we should just remove that limit — @tlambert03 @sofroniewn what do you think?

conceptually, absolutely in support of that.  in practice, the challenge with an unlimited spinbox is resizing the width appropriately.  in this case, though, I think we have an auto-resize already implemented there.  If that's the case, then there's no real issue with making it unbounded (but to guard against extreme/absurd cases, we should probably use an elided label with a max width)

Maybe just update bounds when updating bounds of the slider?

Those are some big videos @mfkeles! At 24fps, 1M frames is 11.5h, or 4.5 at 60fps, or (perhaps more reasonable) 2h15min at 120fps! 😲
Anyway, I agree we should just remove that limit — @tlambert03 @sofroniewn what do you think?

yep! it's a curse but I am working on the behavioral characterization of sleep stages, so usually 16-20 hour videos at 30fps!


feat: allow limiting download speed

Part 1 of Fixing https://github.com/transmission/transmission/issues/6361.
Part 1 and part 2 combined will allow Transmission to mimick the behaviour of the TCP network stack when the link is saturated:

Transmission buffers packets when the bandwidth "cannot" accomodate them.
Drop our advertised receive window size as Transmission's read buffer fills up.
libutp will "drop" incoming packets when Transmission's buffer is "full".

This PR is responsible for point 3: Dropping incoming packets when our read buffer is full.
I am aware that we are trying to make as little changes as possible to our libutp fork. Fortunately, in my tests, the uTP download bandwidth limit still works pretty well even if we merge part 2 only. But in theory, this will only hold if our peers respect our advertised uTP receive window: Without this PR, if we have naughty peer(s) that send more bytes at us than our advertised uTP receive window allows, we will have no way to stop them from filling up our peer-io read buffer.

ping @ckerr @mikedld to make sure this PR will be noticed.

Jumped the gun too soon, please hold off from reviewing 😅

@tearfur is a libutp patch for this unavoidable?
I'd really prefer to avoid changing libutp behavior if possible. We rarely touch this repo and this would be the first commit that actually changes any of its behavior.
If it's absolutely unavoidable then ... maybe?

I am aware that we are trying to make as little changes as possible to our libutp fork. Fortunately, in my tests, the uTP download bandwidth limit still works pretty well even if we merge part 2 only. But in theory, this will only hold if our peers respect our advertised uTP receive window: Without this PR, if we have naughty peer(s) that send more bytes at us than our advertised uTP receive window allows, we will have no way to stop them from filling up our peer-io read buffer.

I think we have the option to not merge this. I've already implemented a failsave in Part 2 that keeps the read buffer from ballooning indefinitely, so the biggest impact I can think of is just that Transmission will download faster than the download limit if we get a peer that does not respect our receive window size.

@tearfur, apologies for not reading your writeup all the way through. :disappointed:
Though, I do also appreciate the extra description today that spells out a little more clearly what happens if a peer disregards the advertised speed.
For now, let's try to keep the fix in libtransmission and touch libutp only if there are problems reported in the wild.


Form auto fills

Some forms could be auto filled based either on setting defaults or by system defaults.
example: Publish date could be set to two weeks after creation, Archive date could be set to one year after the published date.

Added default dates in date areas

I think you've kind of taken care of this @bflanagin.

I think you're right


Spam Articles in Wiki

The size of the wiki ballooned up by about 90 articles last night, most of which appear to be spam. Obviously these could be individually deleted, but I'm filing this in case anyone has any ideas for bulk deletion or prevention measures.
Here's what the sidebar of the wiki looks like as I type this right now:

I'm going through logs now to see what can be done. It looks like the first spam that came in was this commit:
commit<PHONE_NUMBER>1c1e5ae9bcd057d1fb24bf888a3d98
Author: naseer511<EMAIL_ADDRESS>Date:   Sat Oct 31 09:44:53 2015 +0300
Updated _Sidebar (markdown)

We could try rolling back to the commit before that ( commit<PHONE_NUMBER>86593bba7c59ec563485c47a2cf7ee ), but without a way to prevent more whoever is posting these will flood the wiki again.

Given the number of different github accounts used throughout this spam attack I'd wager it's automated and the goal is to get SEO ranking on those wiki pages to initiate a phone based tech support scam.

@joepurdy I don't know if the plan is to keep it this way, but @BerkeleyTrue was saying he removed Wiki Edit Access so that only people with push ability can edit right now.

Yeah that's the only built-in option for restricting editing. It seriously defeats the purpose of the wiki though so a better solution needs to be implemented. Ideally a git bot could fix the problem. Basically anytime a push was made to the wiki the git bot would check the files pushed and if it matches spam rules revert the commit.
Someone smarter than myself would have to go about implementing such a thing though.

I've just removed lots of spam articles but there is one which needs to be removed from local repo and pushed back because it's title is huge and GitHub returns 414 Request-URI Too Large.

can we throw a captcha somewhere on the page where you submit the form?

@iTypeSlow That isn't possible. GitHub's wiki system can't be modified and so adding a captcha is out of the question. Really we're stuck with either a locked down wiki that only collaborators can edit, a completely public wiki subject to spam attacks like the one we saw here, or a bespoke solution like the one I outlined above that provides automatic moderation.

@joepurdy Hmm, darn. I guess we should start working on the git bot then.

This is the renamed sidebar. These are the spamers: naseer511, arjunrampalw, peterwilsom, samsrider321, sgfdfg, jhfkjdhf, jacaklalkal, bapuzimedar, sakurakio, anik0099, allenjacks, fatherblalbra, sgju, afbgdnfd, Rajkumarkhanaagaya, vampiress, jogikh012, clementbednarz746, pressstui, saopty.
This article is created by peterwilsom. Not sure how to delete it. I hope someone on Linux or Mac OS would do that. GitHub creates new wiki article with a post request so the title can be anything you want. But then you'll not be able to access that article neither with browser (get request) nor in local repo.
Note that most of these accounts either are deleted or are created one or two days ago.

@bugron I have a clean copy of the wiki locally that has everything deleted including the article with the insanely long URI, but I can't push to master cause @BerkeleyTrue has that disabled right now to prevent more spam.
Thanks for compiling all the info, I was working on it, but we had a production issue spring up at work that I had to jump in and help fix.

So we need someone (who has write access) to roll the wiki back right before the commit mentioned by @joepurdy (second comment).

Done. Please, check if everything is OK with the Wiki, thanks.

Looks like wiki is clean.
It's clear that we have reached the point where we can't have nice things because of trolls/scammers. That's unfortunate and I had hoped that would come at a much later date. But things have been picking up so fast that now we are starting to ban at least one person a day from either the Github org or the Gitter. :cry:
Clearly we cannot move on with the wiki being restricted to only those with push access (which ideally should only be a few key people, but because of GitHub's restriction policies way more people have that than necessary).
I've created a new home for the wiki articles here. I've also added the current issue moderators and team wiki with write access to that repository.
The new flow is to propose changes to the wiki by submitting a PR. This will increase the barrier to entry for wiki contributors but will have the added side effect of adding to a campers Github streak. (check out the contributors list). Then a moderator will push the wiki repo up to the wiki, keeping it in-sync.
Now we will move the wiki to be behind freecodecamp.com, although it will be a separate app from the main site, it will still be a React single page universal app served from GitHub pages. If someone is interested in helping this process along I'd be willing to pair with them to see the process move along quickly.
To accomplish this we will be using Gatsby, a static site generator . It's a pretty neat tool that I've played around with, give it a quick look and  star it if you think it's neat too. I've been looking forward to contributing to this project and now I have an excuse to do it as part of Free Code Camp.

Woot! @awesomeaniruddh Has stepped up to start working on the conversion to Gatsby.

Have you reported about this to Github yet?

If this incidence occurs next time, just don't forget about our beloved camperbot. It's very likely that camperbot might have the fresh wiki without the spams!! But camperbot's wiki version can only be accessed by @BerkeleyTrue or @dcsan

Looks like this issue is resolved. Any new issues involving wiki should be open on wiki repo.
Happy Coding!