Feat/add token

Token feature

@syrusakbary Let me know if you need any help with this

Hey @Wakeful-Cloud if you could also chime in and review this PR prior to merging that would be great!
We are trying to add support for token-based authentication into wapm publish

This is now fixed/done in master. Closing the PR


Move maven coordinates to be under org.apache.groovy.geb rather than …

…org.gebish #226

The tests are currently failing. It is trying to check:
https://oss.sonatype.org/content/repositories/snapshots/org/apache/groovy/geb/
We haven't published any snapshots under the new coords, so even if we fixed the URL it would still break at this stage.
I haven't worked out yet whether we need to cater for both old and new URL prefixes.


Reorganise hwset code

This PR purely involves moving some code around. I started doing it as part of my work on #638, but figured it probably makes sense to do this as a separate PR so all this churn doesn't appear in the diff for the functional changes I want to make.
Currently we have a finesse.gui.hardware_set.hardware_set module and I thought it just made more sense to move everything to the parent module (i.e. finesse.gui.hardware_set), so that's what I've done. There's also a module finesse.gui.hardware_set.device_connection with just a couple of functions in it, so I've moved these to the parent module too.
No functional changes intended.

There's not a lot that we gain really tbh... I started out by moving a couple of enums out of hardware_set.py into __init__.py then possibly got a little carried away after that :stuck_out_tongue:. You're probably right that it makes more sense to keep most of this in its own submodule.

Maybe I'll just shelve this. I'm not sure it's worth it after all.


Support typescript

Modified based on #142 . Close #142
Note:

Add d.ts for individual export files
Update export files for typescript compatibility
An extra boilerplate repo: https://github.com/sorrycc/dva-boilerplate-typescript
Need extra typings dependencies: typings install dt~react dt~react-dom dt~react-router dt~react-router/history --global --save, view boilerplate example for detail

TODO:

[x] Support subscription done, sample code: setup({ dispatch }, done) {}

cc @nikogu @benjycui

Coverage remained the same at 94.186% when pulling 9dd4a140ace8a8b606cccab9a3633bead90eb124 on support-typescript into 58c27b6244155efa5bb07befb8380e0284e8aa96 on master.

Coverage remained the same at 94.186% when pulling 9dd4a140ace8a8b606cccab9a3633bead90eb124 on support-typescript into 58c27b6244155efa5bb07befb8380e0284e8aa96 on master.

Coverage remained the same at 94.186% when pulling a91a1dcc7e05d69c054214dbecc4869e4c4df46c on support-typescript into 58c27b6244155efa5bb07befb8380e0284e8aa96 on master.

Coverage increased (+0.2%) to 94.382% when pulling 0d623167b149d41dc1d23d8673dbac0a1da7aa55 on support-typescript into 58c27b6244155efa5bb07befb8380e0284e8aa96 on master.

Coverage increased (+0.2%) to 94.413% when pulling 641324453b165f81e89a06ce79bac3f7dd90d4eb on support-typescript into 58c27b6244155efa5bb07befb8380e0284e8aa96 on master.

如果 creator 也能参与到维护中会更好。


Create webstorm plugin

🤓 ❤

That's not really into our scope as said here #53 it takes a lot of bandwith to maintain such plugin.

I hope mailjet can reconsider because this would be amazingly useful to the Jetbrains community 😁
Any thoughts?  @kmcb777 @loeck @ngarnier

We're not really focusing much on Atom (broken for now), only VScode plugin has been forked from community one to update MJML version.

hell it'd probably just be a small weekend project to get up and running.

Then feel free to start it as an open source project, people would contribute.
It's not really Mailjet call at this point, we'd rather finish 4.7 & other features than adding another plugin that we need to find time to support.

@AdityaAnand1 have you figured out any ways to set up Intellij with mjml? I've figured out a few things but I'm interested in your solutions
https://github.com/mjmlio/mjml/issues/53#issuecomment-687646528


Vector env updates & autoreset order reversal

WIP

I'm gonna merge this now and potentially clean up things on the branch


_isNew is always true during afterInit event

I know this is an internal property but due to lack of another way to know if the doc is a new one or an already existing one, I have been using this property and it seems to be always true during the afterInit event, regardless if you findOne a document or create a new one using new.

Hmm it's seems to big a bug but changing that right now can cause some unexpected problems in some behaviors or apps that are already using Astronomy. So I'm not convinced to change it right now.

Resolving this issue, do you think it will become easier to fix #478 as well?
I would like to contribute, can you give me some pointers or share an approach?

To resolve this issue you probably have to look for the solution in the transformToClass util https://github.com/jagi/meteor-astronomy/blob/4ae9e7178c567362cf9b5fce898e93048e4b72b4/lib/modules/storage/utils/transform_to_class.js#L31
As you can see it sets _isNew to false but after before/afterInit events have already been triggered. One of the solutions could be passing _isNew flag as an option to the document constructor and set it there just before triggering events. We can't also assume that a document with ID is a NOT new document as someone may want to insert a document with his/her custom ID. So the problem seems to be related only with the findOne/find methods, where we are use that document is already stored in a collection.
If it goes about the raw method it's pretty simple to do but I will do it by myself as I have some free time. As always I have some extra work to do for family and friends.

Bug fix prepared but not published yet. Sorry that it took me so long to implement it but 1. I forgot about it entirely 2. It wasn't so easy to fix. With this fix, there will be a little change in API, but backward compatibility will be preserved. From new version usage of the doc._isNew will be deprecated. Right now you should use Class.isNew(doc). However you can still use doc._isNew and it will work as described in this issue.
I will release this fix soon.


Bugs Fixed

PR Description 📜
Fixed bugs that were created with previous scoreboard PR merge.
Issues resolved:

Fixed theme
Sound toggle button is fixed and in working condition
Aligned the page correctly and removed unnecessary scrolling
Clickable sound system is fixed

I have removed the new sound toggle button as it was already present in the game and does not need 2 sound toggle button. It was creating bugs and was giving errors.
the ready button was not defined and was initialised with event listener, I have commented that code and can be used in future .
Fixes #634

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for review.

## Add your screenshots(Optional) 📸

Now this code won't give warnings or errors that were previously present.

Thank you soo much for contributing to our repository 💗

resolve conflicts

@ayush-t02 I have resolved the merge conflicts.


Add token TTL

JWT tokens should have a relatively short, non-zero time to live (minutes) before requiring a refresh.  An administrator should have the ability to set that value.
Technically, the setting could reside either global (to the entire Auth Server application) or to an actual application within the Auth Server (e.g. HPCC).  Or, it could even reside within a role.
Regardless of where the TTL is kept, one value should be used when creating the JWT token sent to the client.  If more than one setting is available then the lowest non-zero value should be sent to the client.

Additional information:

The TTL's scale should be minutes (not hours, days, or seconds).
The minimum TTL should be 5 minutes
The maximum TTL should be 1440 minutes (24 hours)
Default TTL should be 60 minutes
The TTL setting should be at the HPCC instance object.  Each HPCC instance can have different TTLs.
No other application (e.g. Tombolo) needs this setting at this time.


Cypress test for Pipeline list page[Update]

Closes: RHOAIENG-3833
Description

Cypress test for Pipeline list page[Update]
How Has This Been Tested?

npm run test
Test Impact

Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has added tests or explained why testing cannot be added (unit or cypress tests for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

Some of these tests seem to be copies of tests in Pipelines.cy.ts.
We should avoid creating duplicate tests.
If we have shared components appearing on multiple pages, while testing both locations is somewhat redundant, there is potential for one page to function and the other is broken which gives a reason for testing both locations. We should look at sharing the same tests and running them in both locations.

Some of these tests seem to be copies of tests in Pipelines.cy.ts. We should avoid creating duplicate tests.
If we have shared components appearing on multiple pages, while testing both locations is somewhat redundant, there is potential for one page to function and the other is broken which gives a reason for testing both locations. We should look at sharing the same tests and running them in both locations.

@christianvogt updated the PR accordingly.

Superseded by recent re-work.


fix default formatter

Why:

Default formatter was output pluralized units when it should be singluar

I remember someone else made a PR that did that. Looks like I need tests!
Thanks! Will publish in a few days hopefully.


Change kv:bucket delete to clear the namespace

right now we have designed this command to walk the user's local bucket directory and make the list of keys to delete from the kv namespace. these seems unexpected. what it should actually do, is list the keys in the namespace, and delete all of those. maybe the former would be desirable later, so maybe we rename this to clear?
Either way, this should also ask the user to confirm before it does its thing.

mentioning from our prior convo before we forget - if someone tries to do a kv:key put to a namespace that's configured as a bucket we should probably warn them to put that content in a file in the bucket directory lest future them runs kv:bucket delete

I think that kv:bucket delete should be consistent with other deletes in that a user only deletes what they have provided. If we were to introduce this functionality suggested here, the delete operations in wrangler would begin to diverge in their scope / meaning.
This is where the kv:sync command comes in handy: it ensures total consistency between a local and remote storage bucket, and performs the functionality described above. I'm in favor of closing this issue AND making sure that this kv:delete command is clearly documented as ONLY deleting the keys/filenames you provide to it.

mentioning from our prior convo before we forget - if someone tries to do a kv:key put to a namespace that's configured as a bucket we should probably warn them to put that content in a file in the bucket directory lest future them runs kv:bucket delete

@EverlastingBugstopper can you file this as an issue?

we are deferring bucket commands for a later release (#634 ); will revisit then.

Closing this issue; we have decided that keeping the current delete functionality (only delete kv pairs with keys provided to delete) will ensure consistency between delete usage between kv:key, kv:namespace, kv:bulk, and kv:bucket (only delete specified values)


CQ-4351225 - Tests for File Attachment Preview, Prefill and submit

Description
Please merge https://github.com/adobe/aem-core-forms-components/pull/404 before merging this PR
This contains tests for the fixes made there i.e., for file attachment preview, submit and prefill
Also based on the same method, I've changed the tests for OOTB submit button to follow best practices.

Related Issue
https://jira.corp.adobe.com/browse/CQ-4351225

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] 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 change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes and the overall coverage did not decrease.
[ ] All unit tests pass on CircleCi.
[ ] I ran all tests locally and they pass.

Please resolve the build failures, closing it

I don't see test cases for the following use-case, prefill the form with file attachment, submit it back and prefill it again. Please align to the test cases which we have for foundation components.

LGTM


fix simple typo

Context
Typo fix in README
Changes proposed in this pull request
"wep based" -> "web based"

Has been fixed by a subsequent PR


Use correct field separator in keywords.txt

The Arduino IDE requires the use of a single true tab separator between the keyword name and identifier. When spaces are used rather than a true tab, the keyword is not highlighted.
Reference:
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#keywords

Thanks per1234!

You're welcome. I'm always glad to have an opportunity to make an "epic" contribution to SparkFun! Haha. Thanks for the mention. I got a good chuckle out of seeing my name in that blog post.

Hah! You are very welcome. You deserve it. Thanks for pushing for better libraries!


chore: Update fault dispute game spec for clock extensions

Overview
Updates the FaultDisputeGame specification to account for clock
extensions.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#161  👈
#160
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @clabby and the rest of your teammates on  Graphite


d3.range produces extra array element for fractional strides

The d3.range function produces an extra element as the last in the array for some fractional strides. For example:
    > d3.range(0,1,1/18).length
    < 19

is unexpected while
   > d3.range(0,1,1/17).length
   < 17

is expected.
This is perhaps due to floating point precision epsilons not being taken into account, or loss of precision at some type conversion.

I tried to see what happens in array/range.js if step is 1/18. The k upscale factor will be 1e17.
So the upscaled step size will be<PHONE_NUMBER>555555 . But floating point precision loss leads to
    > 18 *<PHONE_NUMBER>555555
    <<PHONE_NUMBER>9999980

which is smaller than the upscale stop value of 1e17, and leads to the extra element.
(so I am not sure what is gained by the upscaling ?)
A fix may be to adjust stop in line 16 with something like:
stop = (stop - 1e-16) * k;

although this may need to be reversed for negative steps.
Or to not upscale and more carefully use the smaller than and larger than comparisons in the while loops.

As a workaround  without fixing the range function what works in my case is:
var eps = 1e-16
d3.range(0,1-eps,1/18).length
18

I empirically tested this workaround by
d3.range(1,10000).forEach( function(d) {
  if (d3.range(0, 1-eps, 1/d).length !== d) {console.log(d) ;}})

which does not find any unexpected range for eps = 1e-16 but does find many for eps = 1e-17;
This is equivalent to the suggestion above though it is just for the [0,1[ domain.

Ok. I noticed that the API documentation actually mentions that the result is less predictable with fractional step sizes. Now, I know what that means and the behaviour can be considered somewhat documented with this issue. Perhaps there is no good fix ?

d3/d3-arrays/src/range.js approach works much better. So I think this will become resolved in the next version of d3.

Hm, while the new range.js works better, a little bit deeper empirical testing finds the same issue there. See https://github.com/d3/d3-arrays/issues/5


Value cannot be null.

When i success transaction to ok url..it gives me an error "Value cannot be null."

all 3 variables receive null values

Hi @cs111
I think you are focus wrong your solution. The value of "Ds_Merchant_MerchantURL" is the url that Redsys will call asynchronously always when payment is finished (either is success or not). Note that this page never will be call or redirect from a browser; only the servers of Redsys will call it and persists the response status on their systems (usually take the HTTP code 200 or 500, and you could see on the Redsys private area).
I recommend you to have a deeper understanding of the steps on a payment operation:

The commerce post an html form with obfuscated data and an operation signature.
If request is correct, platform redirect user to the bank payment page.
User types his card number on a secure bank page
and the platform sends a background request (asynchronously) to a specific commerce url to notify operation results.
User is redirected to a ok/ko page of the commerce.

The screenshot you attach seems to be the page that Redsys call asynchronously on step 4, so you couldn't debug like you are doing. It's expected the values are null, the url parameters are send by Redsys platform, and seems like you are calling the page directly with a browser.
Note that if are you running your project on localhost, this page is unreachable for Redsys servers.
Remember that there is a fully functional sample project on https://github.com/mbuenoferrer/RedsysTPV/tree/master/src/RedsysTPV.WebSample.

hi @mbuenoferrer ,
thanks for your reply.
but problem is still not solved
i upload all your code here
http://redsys.cellpos.net    as same on github.
but there is no any log into this file
http://redsys.cellpos.net/log1.txt
i change file name from response controller.
so please help me why not log add into file?


Catalyst (UIKit for Mac) support

Probably will try to make a pull request, but got this in master:

@ptmt Can you give us a bit more context on this? Did you come across this issue just by trying to build the library for a macOS target?

Sorry for such an unprofessional issue. I was building the default target but with the enabled option in Xcode 11:

I managed to build it in the end by using many #if TARGET_OS_UIKITFORMAC, but not sure what's the right way here, I guess I need some time to experiment.

Yea, that sounds like a cool experiment! As I understand it well, there is API differences between the iOS versions and the iPadOS/MacOS, hence the compiler complains. Let us know how it goes, for now, let's close this issue?

Sure. Thanks!
On 25 Jun 2019, 19:44 +0300, Zhisheng Huang<EMAIL_ADDRESS>wrote:

Yea, that sounds like a cool experiment! As I understand it well, there is API differences between the iOS versions and the iPadOS/MacOS, hence the compiler complains. Let us know how it goes, for now, let's close this issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x6033c6]

Getting this crash when a camera is having trouble connecting
2022-12-06 20:51:57.116213663  [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x6033c6]
2022-12-06 20:51:57.116214513
2022-12-06 20:51:57.116215333  goroutine 225 [running]:
2022-12-06 20:51:57.116224913  github.com/AlexxIT/go2rtc/cmd/streams.(*Producer).GetMedias(0xc00012c200)
2022-12-06 20:51:57.116226073   github.com/AlexxIT/go2rtc/cmd/streams/producer.go:58 +0x186
2022-12-06 20:51:57.116227173  github.com/AlexxIT/go2rtc/cmd/streams.(*Stream).AddConsumer(0xc0001182c0, {0xc843a0?, 0xc0003081a0})
2022-12-06 20:51:57.116228153   github.com/AlexxIT/go2rtc/cmd/streams/stream.go:70 +0x4c5
2022-12-06 20:51:57.116233663  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler.func1({0xa88fa0?, 0xc7ea00?})
2022-12-06 20:51:57.116234663   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:166 +0x29b
2022-12-06 20:51:57.116239433  github.com/AlexxIT/go2rtc/pkg/streamer.(*Element).Fire(...)
2022-12-06 20:51:57.116244183   github.com/AlexxIT/go2rtc/pkg/streamer/streamer.go:27
2022-12-06 20:51:57.116245283  github.com/AlexxIT/go2rtc/pkg/rtsp.(*Conn).Accept(0xc0003081a0)
2022-12-06 20:51:57.116250333   github.com/AlexxIT/go2rtc/pkg/rtsp/conn.go:558 +0xbd7
2022-12-06 20:51:57.116254913  github.com/AlexxIT/go2rtc/cmd/rtsp.tcpHandler(0xc0003081a0)
2022-12-06 20:51:57.116259953   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:201 +0x1a7
2022-12-06 20:51:57.116260923  created by github.com/AlexxIT/go2rtc/cmd/rtsp.Init.func1
2022-12-06 20:51:57.116262813   github.com/AlexxIT/go2rtc/cmd/rtsp/rtsp.go:63 +0x48

#111


Import failure due to pytorch_lightning.loggers

On attempting import scvi-tools 0.18.0 I get the following:
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In [1], line 1
----> 1 import scvi

File ~/miniconda3/envs/scvi/lib/python3.10/site-packages/scvi/__init__.py:10
      7 from ._settings import settings
      9 # this import needs to come after prior imports to prevent circular import
---> 10 from . import data, model, external, utils
     12 # https://github.com/python-poetry/poetry/pull/2366#issuecomment-652418094
     13 # https://github.com/python-poetry/poetry/issues/144#issuecomment-623927302
     14 try:

File ~/miniconda3/envs/scvi/lib/python3.10/site-packages/scvi/model/__init__.py:2
      1 from . import utils
----> 2 from ._amortizedlda import AmortizedLDA
      3 from ._autozi import AUTOZI
      4 from ._condscvi import CondSCVI

File ~/miniconda3/envs/scvi/lib/python3.10/site-packages/scvi/model/_amortizedlda.py:17
     14 from scvi.module import AmortizedLDAPyroModule
     15 from scvi.utils import setup_anndata_dsp
---> 17 from .base import BaseModelClass, PyroSviTrainMixin
     19 logger = logging.getLogger(__name__)
     22 class AmortizedLDA(PyroSviTrainMixin, BaseModelClass):

File ~/miniconda3/envs/scvi/lib/python3.10/site-packages/scvi/model/base/__init__.py:4
      2 from ._base_model import BaseLatentModeModelClass, BaseModelClass
      3 from ._differential import DifferentialComputation
----> 4 from ._jaxmixin import JaxTrainingMixin
      5 from ._pyromixin import PyroJitGuideWarmup, PyroSampleMixin, PyroSviTrainMixin
      6 from ._rnamixin import RNASeqMixin

File ~/miniconda3/envs/scvi/lib/python3.10/site-packages/scvi/model/base/_jaxmixin.py:9
      6 import numpy as np
      8 from scvi.dataloaders import DataSplitter
----> 9 from scvi.train import JaxModuleInit, JaxTrainingPlan, TrainRunner
     11 logger = logging.getLogger(__name__)
     14 class JaxTrainingMixin:

File ~/miniconda3/envs/scvi/lib/python3.10/site-packages/scvi/train/__init__.py:2
      1 from ._callbacks import JaxModuleInit, LoudEarlyStopping, SaveBestState
----> 2 from ._trainer import Trainer
      3 from ._trainingplans import (
      4     AdversarialTrainingPlan,
      5     ClassifierTrainingPlan,
   (...)
      9     TrainingPlan,
     10 )
     11 from ._trainrunner import TrainRunner

File ~/miniconda3/envs/scvi/lib/python3.10/site-packages/scvi/train/_trainer.py:13
     10 from scvi._compat import Literal
     12 from ._callbacks import LoudEarlyStopping
---> 13 from ._logger import SimpleLogger
     14 from ._progress import ProgressBar
     15 from ._trainingplans import PyroTrainingPlan

File ~/miniconda3/envs/scvi/lib/python3.10/site-packages/scvi/train/_logger.py:6
      4 import torch
      5 from pytorch_lightning.loggers.base import rank_zero_experiment
----> 6 from pytorch_lightning.loggers import Logger
      7 from pytorch_lightning.utilities import rank_zero_only
     10 class SimpleExperiment:

ImportError: cannot import name 'Logger' from 'pytorch_lightning.loggers' (/home/griffen/miniconda3/envs/scvi/lib/python3.10/site-packages/pytorch_lightning/loggers/__init__.py)

When I check pytorch_lightning itself, python is correct. There is indeed no 'Logger' in _loggers.py:

Not sure if I have the wrong version of pytorch_lightning? Or something else entirely.
Any help would be much appreciated.
 I think this is an issue with 1.6.X

can you try installing pytorch lightning 1.7.X? I think this is an issue with 1.6.X

This worked! But it introduced a different problem with PL (this time, upon training a model, though):
TypeError                                 Traceback (most recent call last)
Cell In [25], line 1
----> 1 model.train()

File ~/miniconda3/envs/scvi/lib/python3.10/site-packages/scvi/model/base/_training_mixin.py:69, in UnsupervisedTrainingMixin.train(self, max_epochs, use_gpu, train_size, validation_size, batch_size, early_stopping, plan_kwargs, **trainer_kwargs)
     65 es = "early_stopping"
     66 trainer_kwargs[es] = (
     67     early_stopping if es not in trainer_kwargs.keys() else trainer_kwargs[es]
     68 )
---> 69 runner = TrainRunner(
     70     self,
     71     training_plan=training_plan,
     72     data_splitter=data_splitter,
     73     max_epochs=max_epochs,
     74     use_gpu=use_gpu,
     75     **trainer_kwargs,
     76 )
     77 return runner()

File ~/miniconda3/envs/scvi/lib/python3.10/site-packages/scvi/train/_trainrunner.py:63, in TrainRunner.__init__(self, model, training_plan, data_splitter, max_epochs, use_gpu, **trainer_kwargs)
     61 self.gpus = gpus
     62 self.device = device
---> 63 self.trainer = Trainer(max_epochs=max_epochs, gpus=gpus, **trainer_kwargs)

File ~/miniconda3/envs/scvi/lib/python3.10/site-packages/scvi/train/_trainer.py:128, in Trainer.__init__(self, gpus, benchmark, flush_logs_every_n_steps, check_val_every_n_epoch, max_epochs, default_root_dir, checkpoint_callback, num_sanity_val_steps, weights_summary, early_stopping, early_stopping_monitor, early_stopping_min_delta, early_stopping_patience, early_stopping_mode, progress_bar_refresh_rate, simple_progress_bar, logger, **kwargs)
    125 if logger is None:
    126     logger = SimpleLogger()
--> 128 super().__init__(
    129     gpus=gpus,
    130     benchmark=benchmark,
    131     flush_logs_every_n_steps=flush_logs_every_n_steps,
    132     check_val_every_n_epoch=check_val_every_n_epoch,
    133     max_epochs=max_epochs,
    134     default_root_dir=default_root_dir,
    135     checkpoint_callback=checkpoint_callback,
    136     num_sanity_val_steps=num_sanity_val_steps,
    137     weights_summary=weights_summary,
    138     logger=logger,
    139     progress_bar_refresh_rate=progress_bar_refresh_rate,
    140     **kwargs,
    141 )

File ~/miniconda3/envs/scvi/lib/python3.10/site-packages/pytorch_lightning/utilities/argparse.py:345, in _defaults_from_env_vars.<locals>.insert_env_defaults(self, *args, **kwargs)
    342 kwargs = dict(list(env_variables.items()) + list(kwargs.items()))
    344 # all args were already moved to kwargs
--> 345 return fn(self, **kwargs)

TypeError: Trainer.__init__() got an unexpected keyword argument 'flush_logs_every_n_steps'

It looks like 'flush_logs_every_n_steps' was deprecated from PL's Trainer here.

Can you confirm that you have scvi-tools version 0.18?
As you can see here: https://github.com/scverse/scvi-tools/blob/ea0fd7a5491b9b6206afde0f50319242d9abfa4d/scvi/train/_trainer.py#L89
The code looks different than your traceback.

Can you confirm that you have scvi-tools version 0.18?
As you can see here:
https://github.com/scverse/scvi-tools/blob/ea0fd7a5491b9b6206afde0f50319242d9abfa4d/scvi/train/_trainer.py#L89
The code looks different than your traceback.

I'm at least 99% positive that it was 0.18 yesterday though...I'm thinking that maybe mamba downgraded it when I upgraded PL.

New conda install seems reasonable to me, we prefer mambaforge

Another issue might be that we used to upload to the bioconda channel but for the last few months have moved to conda-forge

New conda install seems reasonable to me, we prefer mambaforge

I'll probably just go with this then. Hopefully it fixes it (I'm guessing that it will).
Thanks for all the help.

Just to let anyone else know who has the same/similar problems--completely removing and reinstalling mamba/conda fixed this for me. Be sure to backup your conda environments first though.


Unable to define worker_groups as list of maps in json format

I have issues
When executing terraform plan against JSON formatted Terraform Configuration, getting exception as below:
"variable worker_groups in module my-cluster-1 should be type list, got string"
I'm submitting a...

[ ] bug report
[ ] feature request
[x] support request
[ ] kudos, thank you, warm fuzzy

What is the current behavior?
If this is a bug, how to reproduce? Please include a code sample if relevant.
  "module": {
    "my-cluster-1": {
      "cluster_name": "my-cluster-1",
      "source": "github.com/terraform-aws-modules/terraform-aws-eks",
      "subnets": [
        "${aws_subnet.worker-my-cluster-1-subnet-1.id}",
        "${aws_subnet.worker-my-cluster-1-subnet-2.id}"
      ],
      "vpc_id": "${aws_vpc.my-cluster-1.id}",
      "worker_groups": [
        [
          {
            "asg_desired_capacity": 2,
            "asg_max_size": 5,
            "instance_type": "m4.large"
          }
        ]
      ]
    }
  }

What's the expected behavior?
Terraform plan should be able to parse the JSON and take this as a list of maps
Are you able to fix this problem and submit a PR? Link here if you have already.
Not at this point of time
Environment details

Affected module version:
OS: Ubuntu 18.04.1 LTS
Terraform version: v0.11.11

Any other relevant info

https://github.com/hashicorp/terraform/issues/19454
You've already asked there but this is not a limitation of module eks...

sure, hence closing the issue.


Space Cog implementing

Relevant Issues

Closes #360
Closes #359
Closes #358
Closes #357
Description

I added .apod <date (optional)>, .nasa, .mars <date> and .earth command. Note: Mars command have date limitations.
Reasoning

Due their issues got approved.
Screenshots

Did you:

[x] Join the Python Discord Community?
[x] If dependencies have been added or updated, run pipenv lock?
[x] Lint your code (pipenv run lint)?
[x] Set the PR to allow edits from contributors?

Where are the embed colors ?
they look like washed away

@AG4lyf Embed colors is not most important things...

@SebastiaanZ First, .nasa command always have at least 50 pages (I think they might have thousands pages). And all responses is in KBs. Some commands is just slow due API latency or image size. Images is always URLs, never anything else.

@sco1 Should be now done. I added some new query customisation where is possible.


Update multidimensional-coords.ipynb

Correct typo xc to yc in groupby_bins.

[x] Closes #6670.

Thanks @smartlixx!


Login broken

I had a potential user point out to me that login was completely broken. I didn't notice because previous logins were retained, but no one can create an account or log back in.
Looks like this is related to upgrading Firebase or Angular Fire libraries. I'll have to decide between trying to go back to a working compatability state or migrate forward to the new APIs.

Looks like that was introduced back in #2050 about 5 weeks ago. That's embarassing.


add an optional image

https://github.com/microsoft/Web-Dev-For-Beginners/blob/fd96f308acdfb542a613a6bbc09b06bd2835c31c/8-code-editor/1-using-a-code-editor/assignment.md#L6

What is the problem here?


feat(ingest): add browse paths + dataplatform for Feast features

(browse paths for SageMaker features have been added to #2830 as well)
Checklist

[x] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[x] Links to related issues (if applicable)
[x] Tests for the changes have been added/updated (if applicable)
[x] Docs related to the changes have been added/updated (if applicable)

@kevinhu : this PR likely needs a rebase


Support processData field

I have the following block of ajax code that works and sends blocks to Azure Storage, but I can't get it to work using ng-file-upload:
$.ajax({
	url: url,
    type: "PUT",
    data: data,
    processData: false,
    beforeSend: function (xhr) {
    	xhr.setRequestHeader('x-ms-blob-type', 'BlockBlob');
        xhr.setRequestHeader('Content-Length', requestData.length);
}

I think it's to do with the processData option not being available. Is there a way I can mimic this with ng-file-upload? I searched the docs and code for processData but it isn't referenced.
http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings
processData (default: true)
Type: Boolean
By default, data passed in to the data option as an object (technically, anything other than a string) will be processed and transformed into a query string, fitting to the default content-type "application/x-www-form-urlencoded". If you want to send a DOMDocument, or other non-processed data, set this option to false.

If that code works why do you want to change it to Upload.upload()?

To benefit from the features your library provides.
If I'm not missing anything obvious and your library doesn't support this field that's fine, I was looking for confirmation.
I'm having to do this to upload Azure Blob blocks, I thought this step could be done using your library but this raw ajax is the only way I've managed to get it to work. The Commit Block List works fine with Upload.

You can try Upload.http()


Can't receive spans with otlp protocol

There is no mention in jaeger's documentation about otlp support in the last version, but it was in previous version
Also I found an unofficial example but it doestn't work too.
Is otlp still supported by jaeger?
How can I configure jaeger to receive spans(traces)?

A preview component in a previous version was able to ingest OTLP spans. The main binaries were never able to ingest that. We decided to change our approach to OpenTelemetry, making it our new base for v2, and we are probably going to be able to ingest OTLP by then. I wasn't aware of this example, and it looks like it does use the experimental component (jaegertracing/opentelemetry-all-in-one).


Add new library Azure.Core.Expressions.DataFactory

Implements this feature https://github.com/Azure/azure-sdk/issues/4964
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.

latest commit LGTM


Provide a way to give Widgets negative spacing attributes.

Sometimes, it is desirable to give related Widgets negative spacing so that they appear closer together than they would being lined up in a Column. For example, if you build a Column of Text widgets with all-cap strings like "HELLO", there will be blank vertical space between each Text widget due to the ascender and descender of the font. With the ability to provide some kind of negative spacing or margin, you could correct for this.
Note that this is different from the other issue regarding the need for Ascender/Descender widgets. Non-Text widgets would benefit from negative spacing as well.

Have you looked into using the Stack [1] widget in combination with Positioned? With that you should be able to achieve the desired effect.
[1] https://master-docs-flutter-io.firebaseapp.com/flutter/widgets/Stack-class.html
[2] https://master-docs-flutter-io.firebaseapp.com/flutter/widgets/Positioned-class.html

Unfortunately, Stack widgets are only sometimes effective because Positioned widgets are not used to determine the size of the Stack. There are times in which you need the Stack's size to match the bounds of its Positioned child widgets. I opened a separate issue regarding that: 25001. However, I think other containers like Row and Column could benefit from something like this as well.

I have another use case for this.
I have a list of widgets in a column. I want padding on all except the top widget.
At the moment, I have a couple of options:

Put individual padding widgets around each widget in the column, other than the first.
Use a column within the column for the rest of the widgets, and put padding around that.

This would allow a much cleaner option (IMHO):

Assigning a negative padding to the first widget to cancel out padding wrapped around the whole column.

use Transform.translate(offset: const Offset(-4.0, 0.0), child: Text("xx"));

Ah, I didn't think of that. I think using a translation covers pretty much all use cases for this request?

I don't that that works for the size issue, no.

The problem with translate is it doesn't allow you to offset to both sides (i.e., left and right or, top and bottom) and given the constraints are kept, white space appears.
A valid use case is when trying to achieve this:
child: Padding(
  padding: EdgeInsets.all(20),
  child: Column(
    children: [
      aChildWithPadding,
      aChildWithoutPadding,
    ],
  ),
)

Of course, if the developer has 100% control of the code, it's easy to switch around the Column() and Padding() (and just wrap the childs with padding accordingly)
BUT! What if the Padding() is set by another library / package and you want it removed?

I want to have negative padding at both top and bottom, so the child widget will have more height.
transforming a container does not effect the size of container! also can't have negative padding at bottom!

Had tried a few things and wanted to share.
It's far from perfect, but at least anything to start with.
You can modify horizontal, vertical, left and top.
The interesting part is the Margin widget.
In this example all the grey container have a padding of 16.
Result

Code example of the screenshot
Center(
  child: Column(
    mainAxisAlignment: MainAxisAlignment.center,
    children: [
      Container(
        width: 360,
        height: 300,
        color: Colors.black12,
        padding: const EdgeInsets.all(16),
        child: Container(
          color: Colors.black38,
          padding: const EdgeInsets.all(16),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: [
              Column(
                crossAxisAlignment: CrossAxisAlignment.stretch,
                children: [
                  Margin(
                    horizontal: -24,
                    top: -8,
                    child: Container(
                      padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
                      color: Colors.greenAccent.withOpacity(0.8),
                      child: const Center(child: Text('Horizontal: -24 & Top: -8')),
                    ),
                  ),
                  // const SizedBox(height: 8),
                  Container(
                    padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
                    color: Colors.greenAccent.withOpacity(0.8),
                    child: const Center(child: Text('No modification')),
                  ),
                  const SizedBox(height: 8),
                  Margin(
                    vertical: -16,
                    top: -16,
                    child: Container(
                      padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
                      color: Colors.greenAccent.withOpacity(0.8),
                      child: const Center(child: Text('Vertical: -24 & Top: -16')),
                    ),
                  ),
                ],
              ),
              Margin(
                vertical: -16,
                top: 32,
                child: Container(
                  padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
                  color: Colors.greenAccent.withOpacity(0.8),
                  child: const Center(child: Text('Third')),
                ),
              ),
            ],
          ),
        ),
      ),
      const SizedBox(height: 16),
      Container(
        width: 360,
        height: 300,
        color: Colors.black12,
        padding: const EdgeInsets.all(16),
        child: Container(
          color: Colors.black38,
          padding: const EdgeInsets.all(16),
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: [
              Expanded(
                child: Row(
                  children: [
                    Flexible(
                      child: Margin(
                        vertical: -24,
                        // horizontal: 8,
                        child: Container(
                          padding: const EdgeInsets.symmetric(horizontal: 4, vertical: 4),
                          color: Colors.greenAccent.withOpacity(0.8),
                          child: const Center(child: Text('V -24')),
                        ),
                      ),
                    ),
                    const SizedBox(width: 16),
                    Flexible(
                      child: Margin(
                        vertical: 0,
                        child: Container(
                          padding: const EdgeInsets.symmetric(horizontal: 4, vertical: 4),
                          color: Colors.greenAccent.withOpacity(0.8),
                          child: const Center(child: Text('Nothing')),
                        ),
                      ),
                    ),
                  ],
                ),
              ),
              const SizedBox(width: 16),
              Margin(
                vertical: -16,
                child: Container(
                  padding: const EdgeInsets.symmetric(horizontal: 4, vertical: 4),
                  color: Colors.greenAccent.withOpacity(0.8),
                  child: const Center(
                      child: Text(
                    'V\n-16',
                    textAlign: TextAlign.center,
                  )),
                ),
              ),
            ],
          ),
        ),
      ),
    ],
  ),
);

margin.dart
import 'package:flutter/material.dart';

class SizeProviderWidget extends StatefulWidget {
  final Widget child;
  final Function(Size) onChildSize;

  const SizeProviderWidget({
    super.key,
    required this.onChildSize,
    required this.child,
  });
  @override
  _SizeProviderWidgetState createState() => _SizeProviderWidgetState();
}

class _SizeProviderWidgetState extends State<SizeProviderWidget> {
  @override
  void initState() {
    _onResize();
    super.initState();
  }

  void _onResize() {
    WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
      if (context.size is Size) {
        widget.onChildSize(context.size!);
      }
    });
  }

  @override
  Widget build(BuildContext context) {
    ///add size listener for every build uncomment the fallowing
    ///_onResize();
    return widget.child;
  }
}

class Margin extends StatefulWidget {
  const Margin({
    super.key,
    required this.child,
    this.horizontal = 0,
    this.vertical = 0,
    this.left = 0,
    this.top = 0,
  });

  final Widget child;
  final double horizontal;
  final double vertical;
  final double top;
  final double left;

  @override
  State<Margin> createState() => _MarginState();
}

class _MarginState extends State<Margin> {
  Size childSize = Size.zero;

  @override
  Widget build(BuildContext context) {
    final horizontalMargin = widget.horizontal * 2 * -1;
    final verticalMargin = widget.vertical * 2 * -1;

    final newWidth = childSize.width + horizontalMargin;
    final newHeight = childSize.height + verticalMargin;

    if (childSize != Size.zero) {
      return LimitedBox(
        maxWidth: newWidth,
        maxHeight: newHeight,
        child: OverflowBox(
          maxWidth: newWidth,
          maxHeight: newHeight,
          child: Transform.translate(
            offset: Offset(widget.left, widget.top),
            child: SizedBox(
              width: newWidth,
              height: newHeight,
              child: widget.child,
            ),
          ),
        ),
      );
    }

    return SizeProviderWidget(
      child: widget.child,
      onChildSize: (size) {
        setState(() => childSize = size);
      },
    );
  }
}


Add endpoint for posting availability state of materialized nodes

Summary
This adds a new endpoint POST "/data/availability/{node_name}/" that allows an external materialization service to post information about the availability of a node. The tests include many examples but here's an example of a payload that's setting an availability state for a node revenue.
POST /data/availability/revenue
{
    "catalog": "test",
    "schema_": "accounting",
    "table": "revenue",
    "valid_through_ts": 20230125,
    "max_partition": "20230125",
    "min_partition": "20220101",
}

Availability states are merged meaning the max_partition value that's currently on a node is only moved forward if an availability state with a higher max_partition value is received. For min_partition it's only changed when a state with a lower min_partition is received. valid_through_ts can be moved forward or backward and could potentially be made optional (and default to now()). One thing that's challenging here is knowing how to handle different partition types. Here I make an insufficient assumption that the partition is a string and it sortable in a way that makes sense. If a dataset is partitioned by country however, I'm not sure what a sort of max_partition or min_partition would mean and if those values are even at all useful.
Another requirement enforced in the API endpoint is that source nodes may have availability states set, but they must be for tables pre-configured as source node tables. Since source tables are fundamentally external to DJ (the starting point for all other transformations), I'm not sure what it would mean to allow posting that a source table prod.db.foo is available under the name prod.db.bar. Therefore I added this restriction so if the source table is prod.db.foo, you can post availability states (for example to inform which partitions are available), however it must be for the table named prod.db.foo.
Test Plan
Wrote a number of tests as well as started up the docker compose environment and tried out the following request:
POST /data/availability/dbt.dimension.customers
{
  "catalog": "test",
  "schema_": "accounting",
  "table": "customers",
  "valid_through_ts": 20230125,
  "max_partition": "20230125",
  "min_partition": "20230101"
}

response
{
  "message": "Availability state successfully posted"
}

I then checked the GET "/nodes/" route to ensure the availability set can be seen for that node.

[ ] PR has an associated issue: #274
[ ] make check passes
[ ] make test shows 100% unit test coverage

Deployment Plan
N/A

cc: @agorajek @betodealmeida @shangyian @CircArgs

but wait, what if the user creates a new version of a node and wants to put it on a new table. Perhaps in that case we don't need to invalidate the old node's data availability state. Good topic for our next brainstorming session.


🛠 [TASK] : Add filter to OpenAPI document prior to frontend code generation.

Summary
Filter the OpenAPI document so that front end code generation is restricted.
Description
The front end does not need to implement every endpoint.
Implement a filter that takes the raw OpenAPI specification from the backend and removes all endpoints that should not be used by the front end.
This will reduce the size and scope of the generated code and help prevent issues while endpoints are developed in the backend.
This tool will be used for this process: https://www.npmjs.com/package/openapi-format
This configuration will filter anything thats unused all draft endpoints, or endpoints used by the legacy stack/k8s.
tags:
  - Health
  - Legacy
operations:
  - '*::/api/draft/*'
unusedComponents:
  - schemas
  - parameters
  - examples
  - headers
  - requestBodies
  - responses

This needs to be implemented as a build target which takes the published raw OpenAPI document artifact from the cat-gateway build and produces a "Filtered" OpenAPI output artifact, which would then be used by the code generation build target for flutter.

@stevenj Is this how filtered openapi json should look like?
filtered-openapi.json


The Vault-worker docker entrypoint script uses the non-existing flag --init

🐞 Bug Report
Affected Services

 The issue is located in:
security-secretstore-setup
Is this a regression?

 Yes, the previous version in which this bug was not present was: ....
Yes, this bug was introduced as --init flag was removed but not removed from entrypoint script.
The related PR: https://github.com/edgexfoundry/edgex-go/pull/2188
Description and Minimal Reproduction
When the vault-work docker image from master tries to launch, the docker-entry point script will not  start vault-worker as expected, as the --init flag is removed.
🔥 Exception or Error

creating /vault/config/assets,
starting vault-worker...,
+ cd /consul/scripts,
+ command -v jq,
+ JQ=,
+ '[' -z  ],
+ LD_LIBRARY_PATH=.,
+ export LD_LIBRARY_PATH,
+ JQ=/consul/scripts/jq,
+ export JQ,
+ curl -s -G edgex-core-consul:8500/v1/agent/checks,
+ /consul/scripts/jq -r '.[] | select(.ServiceName == "security-secrets-setup") | .Status == "passing"',
+ '[' true '=' true ],
,
Usage: /security-secretstore-setup [options],
Server Options:,
	-p, --profile                 Indicate configuration profile other than default,
	-r, --registry                      Indicates service should use Registry,
	--insecureSkipVerify=true/false     Indicates if skipping the server side SSL cert verifcation, similar to -k of curl,
	--configfile=            Use a different config file (default: res/configuration.toml),
	--vaultInterval=           Indicates how long the program will pause between vault initialization attempts until it succeeds,
Common Options:,
	-h, --help                          Show this message,
,
flag provided but not defined: -init,

🌍  Your Environment
Deployment Environment:
linux ubuntu
EdgeX Version:
master as of Dec. 5, 2019
Anything else relevant?

PR #2214 is merged. Closing.


depth images are different

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
{ R200 / F200 / SR300 / ZR300 / D400 }

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
{Win (8.1/10) / Linux (Ubuntu 14/16/17) / MacOS

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC/Raspberry Pi/ NVIDIA Jetson / etc..

SDK Version
{ legacy / 2.. }

Language
{C/C#/labview/nodejs/opencv/pcl/python/unity }

Segment
{Robot/Smartphone/VR/AR/others }

Issue Description
I have collected data from a D435i camera in different days, storing all in different bag files. Then I have downloaded the rgb (/color/image_raw) and depth (/aligned_depth_to_color/image_raw) topics from the bags and I get an unexpected behavior when trying to visualize the depth images.
This is the depth I am expecting, where I can clearly see the depth difference for every pixel.
(On the left an enhanced version of the image, and on the right the same image but with more strong colours

Then I have a bag in which the depth is saved in this way. I have checked the rostopics and I can't see a difference from different bags. If i analyze the image I can see that in this bag most of the pixels seem to near, while instead I know that I should obtain a result very similar as before.

Can someone explain to me what could be the problem? I am pretty new to this type of data and I can't understand what I am missing since the whole procedure to get the data is the same.

Hi @andreaceruti  Assuming that the bags are recorded under the same lighting conditions, the bag with the problem gives me the impression that the infrared sensors may have been exposed to a lighting event (such as a flash of sunlight directly into the camera's view) that over-saturated the sensor.  An example of this effect is shown at https://github.com/IntelRealSense/librealsense/issues/8880

In the particular case linked t above though, the RealSense user found that the problem never occurred if using the official USB cables supplied with the camera, but could occur randomly if using their own choice of USB cable.  Purchasing a high quality brand of USB cable resolved their problem permanently.

Hi @MartyG-RealSense sorry for the inactivity. I can close the issue now. Lastly I would like to ask if you know some trick (apart using neural networks) or if there is some known method to overcome this problem.
In the depth image there are a lot of zero pixel values and so trying some methods as histogram matching is ineffective since the value distribution of the pixels impact the algorithm

Did you record the bags in ROS using rosbag record please?  I ask this because bags recorded in the RealSense SDK (librealsense) do not save aligned data.  Instead, depth and color are saved to the bag as non-aligned separate streams.  When the bag file is read, a librealsense script can then perform depth-color alignment on the two streams in real-time to generate an aligned image.
Looking at the images at the top of this case that you expect to receive, they seem to be depth-only streams with no RGB data.  The color shading in the images is not RGB.  Instead, it is depth coordinates that have been given a particular color depending on the depth value (the distance of a particular coordinate from the camera).
If you are aiming to replicate those images when reading the bag then you should only need to read a pure depth topic if it has been saved in the bag, such as /camera/depth/image_rect_raw

@MartyG-RealSense Yes, I used rosbag record. I think I have saved the aligned depth since the ros topics I have in my bags are:
/d435i/aligned_depth_to_color/camera_info    7040 msgs    : sensor_msgs/CameraInfo
/d435i/aligned_depth_to_color/image_raw      7040 msgs    : sensor_msgs/Image
/d435i/color/camera_info                     7299 msgs    : sensor_msgs/CameraInfo
/d435i/color/image_raw                       7299 msgs    : sensor_msgs/Image
In this case I have just reported in this issue only depth frames, the RGB ones are correct.
The corrupted depth frames came from /d435i/aligned_depth_to_color/image_raw  and I was wondering if, since I have values of correct depth frames coming from other bags,  I can modify the corrupted frames with some algorithm.

I looked over the case carefully again.  Thanks very much for your patience.
A way to help avoid the loss of depth information may be to load a json camera configuration file as part of the ROS launch and set a parameter in the json file called param-secondpeakdelta to '0' instead of the default of '325'.  This will make it less likely that a depth coordinate will be excluded from the image if there is doubt about whether it is an inaccurate depth value for that particular coordinate.


Many improvements

Performance, API, project layout and source formatting fixes.
Canvas#get_pixel was renamed to Canvas#[], and Canvas#set_pixel was renamed to Canvas#[]= to enable to nicer syntax of canvas[x, y].
Many memory copies were removed in reading and writing files. Many arrays were replaced with slices, which is semantically correct. Many uses of the expensive Array#shift were replaced with indexing into a slice.
The tests were moved to the spec directory to enable crystal spec to work, and crystal tool format was run on the sources.

Awesome, thank you very much!


Incorrect response for  SCIM2/Users POST (create user) with invalid user store

Describe the issue:
When a POST request (create user) is sent to the scim2/Users endpoint with an invalid user store name, the error response is misleading.
{"schemas":["urn:ietf:params:scim:api:messages:2.0:Error"],"detail":"Cannot add user through scim to user store . SCIM is not enabled for user store <domain name>","status":"500"}
How to reproduce:
Send "{{host}}/t/carbon.super/scim2/User" endpoint post requests with invalid user store name.
Expected behavior:
Bad request response with invalid user store name error returned
{"schemas":["urn:ietf:params:scim:api:messages:2.0:Error"],"scimType":"Invalid userstore domain.","detail":"Request is unparsable, syntactically incorrect, or violates schema.","status":"400"}
Environment information
Product Version: IS 6.0.0 M5

Fixed here : https://github.com/wso2-extensions/identity-inbound-provisioning-scim2/pull/437


subcommand connect for AnkiConnect operations

So it could be used in the shell scripts.

Need to patch the upstream first: https://github.com/chenlijun99/autoanki/pull/10


ENH: Add datetime.date and setuptools_scm support

Move everything from setup.py to pyproject.toml
Enable setuptools_scm
Add datetime.date support

Will merge and cut a release after this. Hopefully everything works correctly with setuptools_scm :crossed_fingers:


Create a proper layout for Go lang for the vNext branch/effort.

Following up on this, GoLang modules have some specificities that we want to keep in mind. There are typically two approaches:

a single package with multiple modules i.e. we place the go.mod in /foo/ and then we have three packages as a part of module /foo/. /foo/fizz, /foo/bar, /foo/baz. They are all versioned together
three modules, i.e. we have three different go.mod in /foo/fizz/go.mod, /foo/bar/go.mod, /foo/baz/go.mod


Support more insecure  configuration for Trino

We have some self-signed HTTPS servers and are using it in an insecure mode, but we cannot proxy it for two reasons:

health check
ClusterStatsJdbcMonitor.java  does not support insecure  properties(use JDBC cause we got 404 for REST check)
However, this could be easily added and we can quickly implement it and let the backend work
proxy request
ProxyRequestHandler.java also missing insecure properties
Unfortunately, we cannot add an insecure handler because it appears that Airlift requires a certificate configuration

In our enviromnet, there are many insecure usage, Is there any way to simply skip SSL verification, or is there a plan to add this configuration?

Does this work for you?
https://trinodb.github.io/trino-gateway/security/?h=insecure#extra-self-signed-certificate-in-trino

Does this work for you? https://trinodb.github.io/trino-gateway/security/?h=insecure#extra-self-signed-certificate-in-trino

Not actually.
Execute ~/trino-cli-418-executable.jar --server https://proxy-address:443 --catalog hive --user admin --password --insecure with  select *  from system.runtime.nodes , and it will returen an error of ProxyResponseHandler because ProxyRequestHandler post this sql to a https server via /v1/statement/ but use the default JettyClient which not support the insecure (or just not recongnize ?).
Currently, I am just foce enable JettyClient support insecure as follow work around:
# io.trino.gateway.baseapp.BaseApp.java

    private static void registerProxyResources(Binder binder)
    {
        jaxrsBinder(binder).bind(RouteToBackendResource.class);
        jaxrsBinder(binder).bind(RouterPreMatchContainerRequestFilter.class);
        jaxrsBinder(binder).bind(ProxyRequestHandler.class);
        # trust all
        binder.bind(SslContextFactory.Client.class).toInstance(new SslContextFactory.Client(true));
        httpClientBinder(binder).bindHttpClient("proxy", ForProxy.class);
        httpClientBinder(binder).bindHttpClient("monitor", ForMonitor.class);
    }

It worked, but looks like ugly.


Trying to debug this one.

Hi!
Trying things out with this beautiful plugin. I was wondering why for one site, the plugin gives me a nice table and for the other, it returns an empty array.

table: https://treinposities.nl/vertrekstaat/baarn/2023-12-22
empty array: https://treinposities.nl/vertrekstaat/baarn/2023-12-08

Same site, different date selected... Both urls appear to use the same structure for the table, but somehow I don't get a result on the '2023-12-08' version...

Problem solved. Apparently you need to be logged in in order to view tables from 1+ years ago. So not really a bug.


[wasm] Unlock cwd-related APIs

wasi-libc now has user-land implementations of getcwd, so we don't need to guard cwd-related APIs.

@swift-ci test

@swift-ci test


v22.5.0 improve test env.

Current coverage is 100% (diff: 100%)

Merging #603 into master will not change coverage

@@           master   #603   diff @@
====================================
  Files          29     29
  Lines         439    439
  Methods       111    111
  Messages        0      0
  Branches        0      0
====================================
  Hits          439    439
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update 6660a6f...a2dc723


Fixed molden.py by shifting coordinates in header to center of mass

Fixes #2287.

The patch itself doesn't have any issues. However, I don't understand why the Molden format requires a shift in the molecule geometry. There is no such requirement in the Molden format specification, like https://www.theochem.ru.nl/molden/molden_format.html . Do you have more insight why shifting the center of the molecule would solve the visualization problem?


change the logging of torrent["name'] to the first 20 char followed by elipsis

3b36d54 implemented this change


Fix "uninstallUnamanged" typo to "uninstallUnmanaged"

Hi @gmodena, I think you should fix this. Why? Because someone might struggle trying to find out what's wrong until they realize that the variable is actually misspelled. Also, thank you very much for this useful package you made!
https://github.com/gmodena/nix-flatpak/blob/45bf66f7068db79b552da864c0e87452be624d6c/modules/options.nix#L172
https://github.com/gmodena/nix-flatpak/blob/45bf66f7068db79b552da864c0e87452be624d6c/modules/nixos.nix#L4
https://github.com/gmodena/nix-flatpak/blob/45bf66f7068db79b552da864c0e87452be624d6c/modules/home-manager.nix#L4

Good catch! Thanks for reporting this bug.


bug: GODEBUG getting cached

What version of Go are you using (go version)?
go version go1.16.6 darwin/amd64
Does this issue reproduce with the latest release?
It seems to reproduce with go1.17rc2.
What operating system and processor architecture are you using (go env)?
go env Output
GO111MODULE="on"
GOARCH="amd64"
GOBIN="/Users/adhoc/bin"
GOCACHE="/Users/adhoc/Library/Caches/go-build"
GOENV="/Users/adhoc/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/adhoc/src/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/adhoc/src/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.16.6/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.16.6/libexec/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.16.6"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/adhoc/src/exp/gotrace/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/p7/jc4qc9n94r3f6ylg0ssh1rq00000gs/T/go-build1481560794=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
main.go:
package main

import (
	"fmt"
	_ "google.golang.org/api/drive/v3"
)

func main() {
	fmt.Println("test program")
}

$ go mod init repro
$ go mod tidy
$ GODEBUG=inittrace=1 go run .
// snip init output
test program
$ GODEBUG=inittrace=1 go build .
// snip init output
$ go run .
// snip init output, again!
test program

In my quickie reproductions, it seems to be necessary to both go run and go build with GODEBUG set before doing it without to cause the issue. It also wasn't enough for the program to have no dependencies or the dependency to be rsc.io/quote. google.golang.org/api/drive/v3 was a real dependency in my program when I hit the bug. I don't know if it is necessary, but it is sufficient to trigger it. Maybe there needs to be some level of depth/size to the dependency to trigger it. Once the bug has been triggered, the debug information will stay even if you change fmt.Println("test program") to different text.
What did you expect to see?
No more init tracing when GODEBUG is unset.
What did you see instead?
Init continued to be traced until I ran go clean -cache.

Duplicate of #44625


Add prettier pre commit

Pre-requisites
Please ensure you have done the following:

[x] I have read the CONTRIBUTING.md document.
[x] If my change requires a change to the documentation, I have updated the documentation accordingly.
[x] I have added tests to cover my changes.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)

Describe changes
Add prettier.sh script which formats the codebase according to prettier spec.
Added pre-commit hook for prettier.

@htahir1 Not sure if this is what you meant. IMO it would make sense to include prettier simply as part of the lint.sh script rather than as a separate one.
I'm not very familiar with pre-commit setup, so I'll let you tell me which pieces of this don't make sense.

It's not actually available in PyPI, so it probably wouldn't have a home in our pyproject.toml. It's an npm or yarn install. So that may actually kill it as an idea. What do you think?
I can turn Prettier off on my end for Markdown files.


Anonymous registry syntax

I would love to suggest an anonymous registry syntax.
Usual behavior expect a developer to define a registry-module and pass it into Dry::CLI constructor
module Commands
  extend Dry::CLI::Registry

  register 'version', Version, aliases: %w[v -v --version]
  register 'echo',    Echo

  register 'generate', aliases: ['g'] do |prefix|
    prefix.register 'config', Generate::Configuration
  end
end

Dry::CLI.new(Commands).call

IMO developer can easily skip this step with an understanding of what registry is and implementing it, just by using a block-syntax, which create a module in runtime.
Dry::CLI.new do |cli|
  cli.register 'version', Version, aliases: %w[v -v --version]
  cli.register 'echo',    Echo

  cli.register 'generate', aliases: ['g'] do |prefix|
    prefix.register 'config', Generate::Configuration
  end
end.call

or even a cleaner way using @AMHOL & @solnic suggestions:
Dry.CLI do
  register 'version', Version, aliases: %w[v -v --version]
  register 'echo',    Echo

  register 'generate', aliases: ['g'] do
    register 'config', Generate::Configuration
  end
end.call

It is not really a line-saver but decreases an entry threshold for a potential user.

In other dry-rb gems we have a convention to use a builder method that creates an object that's already ready to be used. Maybe it's worth doing the same here, so ie:
Dry.CLI do
   #
end

That would be in-line with ie dry-schema and its Dry::Schema.Params do ... end or dry-types' include Dry.Types()
WDYT?

The plain object syntax (Dry::CLI.new) is the most natural way that we can conceive this. The most natural thing that you can do in Ruby is to instantiate an object, I'm not convinced by Dry.CLI

I 100% agree with this BUT...please reconsider having Dry::CLI as a class, because Dry::CLI is the namespace too. That's one of the reasons why we have core classes called differently in other dry-rb gems. Using classes as namespaces is cumbersome in the long term and we try not to do that.
There are nice advantages with a builder method - it's more flexible than relying on a constructor, you can easily do more under the hood, you can hide many implementation details, whereas with a constructor you're bound to it and it's harder to change things later on.
We have Dry::Inflector.new ... already so having Dry::CLI.new... is fine but in the long term I think it would be really good to have a very consistent approach, so that all gems work in the same way when it comes to high-level DSL that builds a core object.

I've added both syntax right now.
What I was trying to do is not to save keystrokes or lines entered, but I wanted to reduce the number of concepts to understand when you start using this gem.  That way, if a registry can be hidden from the final user, why not to do so?
@solnic It is a good point to make it consistent with other gems in Dry-rb, which I believe all devs will benefit from.
@jodosha And an awesome comparison with Hanami::Router. For example, I would not mind having syntax like that:
cli = Dry::CLI.new
cli.register 'cmd', Command
cli.call

But let's keep it in mind for the future.
P.S.
I almost completely removed integration specs. I just left one spec per file to truly check it outside the system
But I've added a unit spec spec/unit/dry/cli/cli_spec.rb with full number of previous specs and test them against all possible notations.


[Edit Post] Minor issues with the edit post page

BUG
https://github.com/Pjaijai/Referalah/assets/54564324/d2fd8baf-bb78-495e-86ea-41fbd9063d6a
Cannot clear the url when: double click to select all -> backspace
UI

Prefer to add a title (e.g.更改街招）on the edit post page so that it is consistent with the create post page

Will do

For the bug,
https://github.com/Pjaijai/Referalah/blob/development/client/modules/post/edit/template.tsx#L84
should related to the useEffect of form.watch
same issue happened to yeo field
after I comment the hook, can simple clear the field,
but not sure is there anything else to consider as it was for the field to be optional
https://github.com/Pjaijai/Referalah/commit/6a0e0678

@Pjaijai @tommyttf I tried to remove the hook -> clear the URL field -> submit the form, it works fine and the URL can be cleared in the db. So maybe just remove the hook.

I removed the useEffect
Also default disable pwa in dev mode


Test compatibility with python 3.6

It seems the biggest issue with this is the extensive use of the typing package which has been improved through the minor versions.

A lot of typing information would need to be removed/changed, which would make the sdk less approachable IMO.


Wrong seconds with a TimeControl example

At TimeControl tag about the fifth TimeControl field, it's said that

an incremental time control of 90 minutes plus one extra minute per move would be given by "4500+60"

It should be "5400+60" (90 minutes are 5400 seconds), shouldn't be?

Yes, you are right, I will correct that when I am online again (with my computer).


Importing and secrets format

Since as today andOTP is dead I wanted to move to FreeOTP. But one big issue is the way FreeOTP stores secrets in the exports. I have used 2 or 3 apps in Linux and Android for OTP and their exported secrets usually are a string of numbers and character in capitals like 73G5GA77XF1IYUQF but FreeOTP uses a list of numbers.
Looking to reverse this tool https://gitlab.com/stavros/freeotp-to-andotp-migrator/-/blob/master/freeotp_migrate.py that does migrate from FreeOTP to andOTP in the line 19 it does and AND operation. But my math skills are not great and I don't know how to make it the way around from a string to a list of numbers.
Like I said most other apps store the secret as the string, would be nice to follow that trend. But if not, who is calculated the list of numbers?
This is the last piece I need to make a Python script to convert from andOTP to FreeOTP, and then I might also include to export from Authenticator
Thanks!

In the meanwhile I added an option to output as a list of URIs that worked to migrate from andOTP to FreeOTP https://codeberg.org/adelgado/andotp2freeotp


paramiko.transport:ImportError: DLL load failed: The specified module could not be found

Hello,
When using the old windows version of pyrpl, I got this error message:
`ERROR:paramiko.transport:Unknown exception: DLL load failed: The specified module could not be found.
ERROR:paramiko.transport:Traceback (most recent call last):
ERROR:paramiko.transport:  File "site-packages\paramiko\transport.py", line 1890, in run
ERROR:paramiko.transport:  File "site-packages\paramiko\transport.py", line 1988, in negotiate_keys
ERROR:paramiko.transport:  File "site-packages\paramiko\kex_ecdh_nist.py", line 32, in start_kex
ERROR:paramiko.transport:  File "site-packages\paramiko\kex_ecdh_nist.py", line 51, in generate_key_pair
ERROR:paramiko.transport:  File "site-packages\cryptography\hazmat\backends_init.py", line 15, in default_backend
ERROR:paramiko.transport:  File "c:\projects\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
ERROR:paramiko.transport:  File "site-packages\cryptography\hazmat\backends\openssl_init.py", line 7, in
ERROR:paramiko.transport:  File "c:\projects\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
ERROR:paramiko.transport:  File "site-packages\cryptography\hazmat\backends\openssl\backend.py", line 53, in
ERROR:paramiko.transport:  File "c:\projects\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
ERROR:paramiko.transport:  File "site-packages\cryptography\hazmat\bindings\openssl\binding.py", line 13, in
ERROR:paramiko.transport:ImportError: DLL load failed: The specified module could not be found.
ERROR:paramiko.transport:
Traceback (most recent call last):
File "pyrpl\redpitaya.py", line 237, in start_ssh
File "pyrpl\sshshell.py", line 53, in init
File "site-packages\paramiko\client.py", line 331, in connect
File "site-packages\paramiko\util.py", line 276, in retry_on_signal
File "site-packages\paramiko\client.py", line 331, in
socket.timeout: timed out
During handling of the above exception, another exception occurred:`
I believe this is related to this https://github.com/pyca/cryptography/issues/10388 , ultimately an old python version? I guess I have no control of the version as I am running a pre-packaged binary? I see that the pre-compiled windows binary is from 2017 on source-forge, maybe this should no longer be recommended program to use?

Hey! We had the same problem error, but managed to bypass it by launching the binary from the cmd. I also cloned the python repo, updated the depreciated pyqtgraph class "GraphicsWindow" to "GraphicsLayoutWidget" in all of the widget files (https://pyqtgraph.readthedocs.io/en/pyqtgraph-0.11.1/graphicswindow.html) and managed to make it run for python 3.9, although not sure of the stability of this yet though, but the oscilloscope and sweep works. I'm by no means good at python but figured it might help people here.


Audio passthrough (mode 2) bug

I currently have a bug on the application preventing me from using the passthrough mode to play true-HD audio (dolby atmos). My configuration is as follows:
I have an nvidia shield android TV (8.0.0) with the latest version of Archos Video Player Community Edition installed (compiled yesterday). I read files stored on my NAS locally. I have an LG 4K HDR TV and an LG sound bar supporting dolby atmos.
The problem is the following: to be able to enjoy my sound bar I am obliged to activate the audio passthrough (mode 2). But with this option, video and sound are jerky, which makes playback impossible. Videos I tried are in UHD with HDR and encode in HEVC.
I don't think it comes from my configuration because I tried to play the same video with Kodi and everything is going well.
I have the same bug on the official paid version of the application.

I have issues with mode 2 as well. For me when playing a file after freshly opening up the application when closed works fine but if I stop the video and try to resume I get no sound and the video plays at twice the speed. Also having this on this and Archos paid


About refine lineMOD

If I want to optimize LINEMOD, is it just that I only need to give the test picture and the corresponding initial pose?

Yes. And you need to prepare the data to make it compatible with the data loader given your initial poses.

ok，I will try ，thank you！
------------------ 原始邮件 ------------------
发件人: "Gu<EMAIL_ADDRESS>发送时间: 2019年10月29日(星期二) 晚上9:04
收件人<EMAIL_ADDRESS>抄送: "夜静∮觅云溪"<2318085206<EMAIL_ADDRESS>主题: Re: [liyi14/mx-DeepIM] About refine lineMOD (#45)
Yes. And you need to prepare the data to make it compatible with the data loader given your initial poses.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

@wangg12
How did you get the .mat file in bulk from the POSECNN results?


cant access visualization methods

Hi, I am trying to replicate this example but I'm getting errors related to this
var data = google.visualization.arrayToDataTable([

Uncaught TypeError: Cannot read property 'arrayToDataTable' of undefined

I am making sure visualization is loaded using
Meteor.startup(function() {
        GoogleMaps.load({libraries: 'visualization'});
    });

but when I view the contents of visualization all I see is

It appears as though it's perhaps loading a different version of the library than the one loaded via the google jsapi.


'Api' object has no attribute 'table'

when i try the sample code with proper a token, i recieve an error saying
AttributeError: 'Api' object has no attribute 'table'
sample code:
import os
from pyairtable import Api
api = Api(os.environ['AIRTABLE_API_KEY'])
table = api.table('appExampleBaseId', 'tblExampleTableId')
table.all()
source:
https://pyairtable.readthedocs.io/en/latest/getting-started.html

Hi @rezashahabedin – you are looking at the latest docs branch, which points to the (soon to be released) 2.0 version of the library. If you're using 1.5, please take a look at stable: https://pyairtable.readthedocs.io/en/stable/getting-started.html


trying to deploy timescale via terraform from example fails

What can we help you with?
I was following your terraform timescale example to try to deploy it on gcp:
resource "aiven_pg" "timescaledb" {
  project      = data.aiven_project.tsdb.id
  cloud_name   = "timescale-google-${var.gcp_region}"
  plan         = "timescale-basic-100-compute-optimized"
  service_name = "timescaledb-${var.name_prefix}"

  pg_user_config {
    pg_version = 14          # Choose an available postgres version
    variant    = "timescale" # Do not forget to specify this variant
  }
}

This fails with the following message:
Error: 400: {"errors":[{"message":"Setting variant is not allowed","status":400}],"message":"Setting variant is not allowed"} -

Removing the variant causes another issue:
Error: 403: {"errors":[{"message":"Access to plan:timescale-basic-100-compute-optimized denied","status":403}],"message":"Access to plan:timescale-basic-100-compute-optimized denied"} -

Since it hasn't been updated in a year, I'm wondering how out of date the example and what is the correct way to instanciate timescaledb via terraform.

Nevermind, I signed up with timescale instead of Aiven, and the configuration now works.
Quite a confusing customers experience...


Complex media queries are broken

For instance. combining screen and max-width will generate following media query:
`@media (screen, (max-width: 400px)
We've missed this because headless Chrome is matching media query without screen while Firefox actually does not.

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Brackets 1.14.1 don't work on may Air Catalina 10.15.4

Brackets 1.14.1 don't work on may Air Catalina 10.15.4.
Aps run but

can't open any file
can't open debug>run with extensions
Most options don't work
work only on/off splitscreen
close app only by "force end"
Any ideas?

I am having the same issue! I have Brackets 1.14.1 and a MacBook Air with Catalina 10.15.4 also. I open Brackets and it does nothing nor can I do anything. All I can do is Force Quit to close it.

Brackets 1.14.2 not working on Catalina 10.15.4, open 1second or two blinks and gone for dark gray


Unsound Use of CString::from_vec_unchecked in bytes_to_cstring

Description
The bytes_to_cstring function uses unsafe { CString::from_vec_unchecked(buf) } to convert a Vec into a CString without validating the input. This introduces undefined behavior (UB) if the input vector buf contains any interior null bytes (\0), as CString guarantees that its contents are null-terminated and contain no interior null bytes.
https://github.com/tensorbase/tensorbase/blob/7b071a88a175da64e5c8cca7f1710940fe9b75ab/crates/base/src/strings.rs#L194
pub fn bytes_to_cstring(buf: Vec<u8>) -> CString {
    unsafe { std::ffi::CString::from_vec_unchecked(buf) }
}

Problems:
Undefined Behavior on Invalid Input:
If the input vector buf contains any interior null bytes, the invariants required by CString are violated, leading to undefined behavior.
Lack of Validation:
The function does not check whether the input vector satisfies the constraints required by CString. This shifts the responsibility of ensuring valid input to the caller without marking the function as unsafe or providing documentation.
Misleading Safety:
The function's signature does not indicate that it relies on the caller to ensure the absence of null bytes in the input. This can mislead users into thinking the function is safe to use with any Vec.
Poc：
fn main() {
    // Input vector with interior null bytes
    let invalid_buf = vec![72, 101, 108, 108, 0, 111]; // "Hell\0o"

    // Invoke the function
    let cstring = bytes_to_cstring(invalid_buf); // UB!
    println!("{:?}", cstring);
}

Expected behavior: The function should validate the input and reject invalid vectors with interior null bytes.
Actual behavior: The program invokes undefined behavior, which could lead to crashes, memory corruption, or other unpredictable results.
Fix：
pub fn bytes_to_cstring(buf: Vec<u8>) -> Result<CString, std::ffi::NulError> {
    CString::new(buf)
}

Additional Context:
The use of unsafe in CString::from_vec_unchecked is only valid if the caller guarantees that the input meets all the constraints required by CString. The current implementation of bytes_to_cstring does not enforce or document these constraints, making it unsound. By switching to CString::new, the function can remain safe and robust while adhering to Rust's guarantees.

@lwz23 thanks for reviewing the source. The method is not strictly safe as your pointing. The unsafe is a double-edged sword. The secret is to use unsafe under supervision or preconditions, otherwise we should give priority to safe wrapper.
But unsafe is faster than safe, as you seen. For overhead, safe = unsafe + check + other maybe overhead.
Here, if we just use bytes_to_cstring for bytes from c side string, then check is not necessary, so this method is simpler and faster. This is where unsafe shines. There are many cases where we just need to convert c string to bytes and back for FFI side things. For these unsafe cases that we can guarantee, unsafe is safe in practice.  And here, the safe overhead is not only involved to the checking, but also about involved the error handling abstraction.
Of course, for engineers who don’t want to consider such details, the always-safe method is recommended. However, for performance-critical systems, controlled use of unsafe is necessary or even a must. In fact, tons of standard and 3rd-party library methods are also built on the top of unsafe. Making good use of unsafe instead of giving up on it is a required course for senior Rust system engineers.

Thank you for your thoughtful response and explanation of the use of unsafe in bytes_to_cstring. While I understand and appreciate your argument about the performance benefits of unsafe and its controlled usage in specific contexts, I believe there is an important nuance regarding the safety guarantees required when converting from a Vec to a CString that needs further clarification.
Why Input from C Does Not Guarantee Safety
You mentioned that this function is typically used for bytes originating from C strings, where you assume the input would inherently satisfy the safety requirements of CString. However, even when dealing with strings from C, there are critical scenarios where this assumption might not hold:
Interior Null Bytes (\0) in Input:
While C strings are null-terminated, there is no guarantee that they lack additional null bytes within the string body (before the terminator). If such bytes are present, they violate the invariants required by CString, leading to undefined behavior (UB).
Untrusted or Malformed Input:
From an FFI perspective, Rust cannot inherently validate that the input from C conforms to the required invariants of CString. The C side might inadvertently or maliciously provide a byte array that violates these rules, which could cause UB when CString::from_vec_unchecked is used.
C's Semantics vs. Rust's Guarantees:
Rust's CString has stricter guarantees than the general null-terminated string convention in C. These guarantees include no interior null bytes, in addition to null-termination. Hence, the guarantees provided by a C string are not automatically sufficient for safely creating a CString.
Given the potential for UB if the input does not meet the required invariants, I believe it would be beneficial to mark the bytes_to_cstring function as unsafe.
I agree with your point that unsafe is a powerful and necessary tool for high-performance Rust code. However, in this case, marking the function as unsafe would more accurately reflect its requirements and prevent unintended misuse. This change would enhance clarity, ensure soundness, and better align with Rust's philosophy of safety and explicitness.
Thank you again for your detailed response and your work on this project. I hope this explanation clarifies my concerns. Please let me know your thoughts!

In my opinion, at the very least, this function should be marked as unsafe and include clear documentation outlining the safety preconditions required for its use. Alternatively, if these preconditions cannot be guaranteed externally, it might be better for the function to not be declared as pub.
I hope this suggestion aligns with the principles of ensuring safety and clarity in the codebase while balancing performance needs. Let me know your thoughts!

@lwz23 Yes. But you are still on general discussions. In practice, for example, if the C string is prepared carefully in Rust side or checked in C side, it is still guaranteed in practice. This is why CString::from_vec_unchecked exist. Here, for this method, it could be safe in practice for these refined cases :smile:
For TB, some of unsafes were experimental in fact in that time (three years ago). Your suggestion is not unacceptable. But, considering current TB is not in maintaining, all we have done is just some discussion, not modification.

oh, sorry i don't notice TB is no longer maintaining. It seems like we can just discuss it.


[vcpkg-ci-curl] Add c-ares feature to curl test port

[x] Changes comply with the maintainer guide.
[ ] SHA512s are updated for each updated download.
[ ] The "supports" clause reflects platforms that may be fixed by this new version.
[ ] Any fixed CI baseline entries are removed from that file.
[ ] Any patches that are no longer applied are deleted from the port's directory.
[ ] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[ ] Only one version is added to each modified port's versions file.

@Cheney-W Thank you for the review. Can you add the review label?


[Bug]A minecraft verison 1.19 -> 1.19.2 server

[HuskSync] Cannot set data for Alicia_Keys because the Minecraft version of their user data (1.19.2) is newer than the server's Minecraft version (1.19-R0.1-SNAPSHOT)
How to deal this

Open ticket on discord & verify purchase for support as this is user error and not a bug


Id not shown in MyInventory

Describe the bug
In MyInventory ID is not shown
To Reproduce
Steps to reproduce the behavior:

Go to 'adress/myinventory'
See error

Expected behavior
It should fetch the Id of each item
Desktop (please complete the following information):

OS: win 10
Browser Brave

bug fixed by replacing every mention of Id with _id, as it is in mongoDB database


Issue #8275 had a static fix; The "Got It" text box should be dynamic

Currently the dimensions of the text box are hard coded values. They should be dynamic. This is in the static/styles/hotspots.css file.

@cr4zyafrican do you have a specific language where it doesn't work?  While I agree we should have something dynamic here, it's useful to have a test case.

I do not have an example!

@zulipbot claim

@zulipbot abandon

@zulipbot claim

@zulipbot  i am working on it! just waiting for my pull request to get merged

Closing as I don't think we intend to make any more changes to the old hotspots system before replacing it with a more modern tutorial.


The weights after sft of video data cannot be inferred

I used the LongVU/scripts/train_video_qwen.sh script to perform SFT on the video data. I used the checkpoint obtained from the training to run inference with the inference code you provided, but an error occurred. The error message is as follows:
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained. Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained. Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained. Loading checkpoint shards:   0%|                                                                                | 0/6 [00:05<?, ?it/s] Traceback (most recent call last):   File "/.../LongVU/scripts/inference_video.py", line 20, in <module>     tokenizer, model, image_processor, context_len = load_pretrained_model(   File "/.../LongVU/longvu/builder.py", line 159, in load_pretrained_model     model = CambrianQwenForCausalLM.from_pretrained(   File "/.../conda_env/longuv/lib/python3.10/site-packages/transformers/modeling_utils.py", line 3838, in from_pretrained     ) = cls._load_pretrained_model(   File "/.../conda_env/longuv/lib/python3.10/site-packages/transformers/modeling_utils.py", line 4298, in _load_pretrained_model     new_error_msgs, offload_index, state_dict_index = _load_state_dict_into_meta_model(   File "/.../conda_env/longuv/lib/python3.10/site-packages/transformers/modeling_utils.py", line 895, in _load_state_dict_into_meta_model     set_module_tensor_to_device(model, param_name, param_device, **set_module_kwargs)   File "/.../conda_env/longuv/lib/python3.10/site-packages/accelerate/utils/modeling.py", line 373, in set_module_tensor_to_device     raise ValueError( ValueError: Trying to set a tensor of shape torch.Size([544997376]) in "weight" (which has shape torch.Size([152064, 3584])), this looks incorrect.
I am not sure if this is due to the inference code you provided being incompatible with the checkpoint after SFT. I really need your help! It’s very urgent, and I would greatly appreciate your assistance!

Same problem.

Same problem.

Delete the safetensors suffix file, delete the model.safetensors.index.json file, and rename pytorch_model_fsdp.bin to pytorch_model.bin


Raw files hotfix #23

Skips structure download if overwrite=False and all processed files are found.

LGTM. If it tests fine with e.g., CASP vs. astral, I think this should be good to go.

FoldComp downloads would fail if that target directory name is the same as the database. This is because FoldComp downloads into pwd, then moves the files. I added a fix to cd into the target, download, then cd back to the original location.

Applying a similar patch to graphein: https://github.com/a-r-j/graphein/pull/339
Once that PR is merged, I'll update the minimum Graphein version for proteinworkshop


Update Base Images for RKE2 Artifacts

We're currently using UBI7 for our base artifact images. These images are updated but not often and not all concerns are taken care of. We need to work on the following:

Investigate the move from UBI7 to something newer
Investigate the use of BCI, UBI8, alpine, scratch
Update the base image to not have all of the reported vulnerabilities from the image-scan process.

All experiments need to be scanned the same as Rancher does to make sure we're meeting customer expectations. This line below references how Rancher image scan performs its scan.
https://github.com/rancher/image-scanning/blob/main/run.py#L303

image-build-flannel with UBI8
Image name: rancher/hardened-flannel:v0.17.0-build20220408
Total Image size: 204 MB
Potential wasted space: 16 MB
Image efficiency score: 95 %
 trivy image -s HIGH,CRITICAL -t 3m0s rancher/hardened-flannel:v0.17.0-build20220408
2022-04-08T11:24:20.697-0500	WARN	'--template' is ignored because '--format table' is specified. Use '--template' option with '--format template' option.
2022-04-08T11:24:20.702-0500	INFO	Need to update DB
2022-04-08T11:24:20.702-0500	INFO	DB Repository: ghcr.io/aquasecurity/trivy-db
2022-04-08T11:24:20.702-0500	INFO	Downloading DB...
31.05 MiB / 31.05 MiB [------------------------------------------------------------------------------------------------------------------------] 100.00% 29.02 MiB p/s 1.3s
2022-04-08T11:24:24.413-0500	INFO	Detected OS: redhat
2022-04-08T11:24:24.413-0500	INFO	Detecting RHEL/CentOS vulnerabilities...
2022-04-08T11:24:24.430-0500	INFO	Number of language-specific files: 1
2022-04-08T11:24:24.430-0500	INFO	Detecting gobinary vulnerabilities...

rancher/hardened-flannel:v0.17.0-build20220408 (redhat 8.5)
===========================================================
Total: 2 (HIGH: 2, CRITICAL: 0)

+------------+------------------+----------+-------------------+---------------+---------------------------------------+
|  LIBRARY   | VULNERABILITY ID | SEVERITY | INSTALLED VERSION | FIXED VERSION |                 TITLE                 |
+------------+------------------+----------+-------------------+---------------+---------------------------------------+
| libarchive | CVE-2022-26280   | HIGH     | 3.3.3-3.el8_5     |               | libarchive: an out-of-bounds read via |
|            |                  |          |                   |               | the component zipx_lzma_alone_init    |
|            |                  |          |                   |               | -->avd.aquasec.com/nvd/cve-2022-26280 |
+------------+------------------+          +-------------------+---------------+---------------------------------------+
| zlib       | CVE-2018-25032   |          | 1.2.11-17.el8     |               | zlib: A flaw in zlib-1.2.11           |
|            |                  |          |                   |               | when compressing (not                 |
|            |                  |          |                   |               | decompressing!) certain inputs.       |
|            |                  |          |                   |               | -->avd.aquasec.com/nvd/cve-2018-25032 |
+------------+------------------+----------+-------------------+---------------+---------------------------------------+

opt/bin/flanneld (gobinary)
===========================
Total: 0 (HIGH: 0, CRITICAL: 0)


How to configure Sider in jsx？

hello, I am new to React. I want to configure sider bar in our project. I have read the documentation, noticing that the doc provides original Sider definition in TypeScript. In my project, I use jsx, so how to configure the Sider in jsx?
hello，我是react新手。我希望在自己的项目中自定义标注侧边栏。我阅读了文档，发现给出的是原始typescript的定义，想在demo中找侧边栏配置的例子但是没有找到，不知道如何在jsx中自定义侧边栏？

You can use it like below.

The Sider can use the Components in original Sider Component

The location of how to use is here. There are indeed many usage gaps in the documentation, which we will continue to add~
https://github.com/open-mmlab/labelbee/blob/main/packages/lb-components/docs/annotation.md


Quartz.net

i have a fuelUI Scheduler control on web page,

using service stack i am collecting all the scheduling information need to schedule a job from this page, and also have a method which converts the time into cron expression as i am using cron. can some on evaluate this code or if you enhance this code.
source code:
**

public string getCronPattern(RecurrencePattern recurrencePattern, TimeSpan time)
{
        string cronPattern = string.Empty;
        if (recurrencePattern.FREQ == "DAILY")
        {
            if (recurrencePattern.BYDAY != null)
                cronPattern = "0 " + time.Minutes + " " + time.Hours + " 1/" + recurrencePattern.INTERVAL + " * " + recurrencePattern.BYDAY + " * *";
            else
                cronPattern = "0 " + time.Minutes + " " + time.Hours + " 1/" + recurrencePattern.INTERVAL + " * ? *";
        }
        else if (recurrencePattern.FREQ == "HOURLY")
        {
            cronPattern = "0 " + time.Minutes + " " + time.Hours + "/" + recurrencePattern.INTERVAL + " * * ? *";
        }
        else if (recurrencePattern.FREQ == "WEEKLY")
        {
            cronPattern = "0 " + time.Minutes + " " + time.Hours + " ? * " + recurrencePattern.BYDAY + " *";
        }
        else if (recurrencePattern.FREQ == "MONTHLY")
        {
            if (recurrencePattern.BYMONTHDAY > 0)
                cronPattern = " 0 " + time.Minutes + " " + time.Hours + " " + recurrencePattern.BYMONTHDAY + " 1/1 ? *";
            else
                cronPattern = "0 " + time.Minutes + " " + time.Hours + " ? 1/1 " + recurrencePattern.BYDAY + "#" + recurrencePattern.BYSETPOS + " *";
        }
        else
        {
            if (recurrencePattern.BYDAY != null)
                cronPattern = "0 0 12 ? " + recurrencePattern.BYMONTH + " " + recurrencePattern.BYDAY + "#" + recurrencePattern.BYSETPOS + " *";
            else
                cronPattern = "0 0 12 " + recurrencePattern.BYMONTHDAY + " " + recurrencePattern.BYMONTH + " ? *";
        }
        return cronPattern;

    }**

This issue does not appear relevant to Deis.  Perhaps it was accidentally opened against the wrong project?  Closing.

ya sorry by mistake i did that.