Adding a new optimised v2 parser

The current v1 parser is slow with regard to parsing documents, primarily due to a lot of inheritance. In the new v2, we will remove any inheritance and improve the parsing speed.
In addition, we would like to:

dynamically load the fonts (only load if necessary)
remove any inheritance
have the capability to switch between snippet and word level

Integrated with the latest PR into main


Spyder wont open when using conda-forge packages on macOS

Problem Description
After updating with conda update --all spyder will not open through Navigator or via terminal. The output when entering "spyder" in the terminal is:
/Users/nickvalverde/anaconda3/bin/pythonw: line 3: /Users/nickvalverde/anaconda3/python.app/Contents/MacOS/python: No such file or directory
I went followed the path and in python.app/ there are two directories 1) Contents and 2) pythonapp.
The /Contents directory only has a file "lib" in it.
The /pythonapp directory has the right path. That is, when I cd into /pythonapp there is /Contents/MacOS/python.
It looks like the appropriate path is /Users/nickvalverde/anaconda3/python.app/pythonapp/Contents/MacOS.
However, I'm not sure how to go about fixing this or how this occurred in the first place.
Versions

Spyder version: 4.1.3
Python version: 3.7.6
Qt version: 5.9.7
PyQt version: 5.9.2
Operating System name/version: MacOS Catalina V:10.15.5

--Update
As a quick-fix I copied all the contents in .../python.app/pythonapp/Contents into
.../python.app/Contents and now it works. Still odd though.

@valverde667 thanks for reporting this. Apparently this is a problem with the Spyder packages in Conda-forge.
For now the solution you have will work but we will fix this in our next release! Thanks

I hope this is solved by now (no else has reported this problem in the last couple of months).
If the problem persist, please let us know.


Two Swoole (HTTP and TCP) servers in same php file not working

Hi,
Having two servers working well when launched independantly but when included/called together in one same php file, only the first one (TCP) is working.
When i invert the two requires, it still works but this time the first (HTTP) is working.
Can't figure out what's happening.
Websocket.zip
Would appreciate any help

@RUBLONM I'm not sure if you solved it already, but the problem is that you have them running synchronously and are just including them in the same file. If you want them to run from the same file, consider using OpenSwoole\Process (https://openswoole.com/docs/modules/swoole-process).


Evaluation during training

Hello, I was wondering if there is a way to evaluate the model "during training". Not at the end of the training with a second command like test.py but to obtain validation accuracy and loss to compare the ones with training loss and accuracy (I didnt see any training accuracy information in mi tensorboard graphs though) Do you have any idea? It would be very useful to make a real research and finetuning to have train loss + accuracy - validation loss + accuracy informations. For example here is my train log in tensorboard with only loss information

https://github.com/open-mmlab/OpenPCDet/issues/414

thank you for the answer! I got the reason but if I wouldnt care about the time of training how would it be possible to add this mechanism do you have any idea? The code seemed to me a little bit complicated for this

In the train loop after calling train_one_epoch (e.g. here), you could add code from here and there.
Then these lines can be omitted since you already evaluated during training.
If you can make it work, it would be great if you could create a pull request.
As I said before, I think this should be the way to go.
Something that came to my mind while I was formulating this answer is that maybe the memory footprint gets too large when you construct the test_set, test_loader, sampler in the train loop (because then you effectively have two datasets loaded at the same time - training and evaluation), maybe that's the reason why it was done one (training) after the other (evaluation) and not intertwined.
https://github.com/open-mmlab/OpenPCDet/blob/a9c66fee5348dcfb5f73ccca71becc2871ce3a78/tools/train.py#L182

Im done with training time evaluation thank you for your instructions. Another very important thing for the research part and I try to implement is just to add "training accuracy" information. So basically I just do the same steps for training data but I dont know why, I get an error as below. Doesnt train and test loader loads the data in a similar way?
#evaluate validation dataset - calculate validation loss + accuracy
tmp = str(ckpt_name) +'.pth'
eval_output_dir = ckpt_save_dir / 'validation_accuracy' / ('checkpoint_epoch_%d' % trained_epoch) #result.pkl
tb_log = SummaryWriter(log_dir=str(ckpt_save_dir / 'validation_accuracy' / 'tensorboard'))
eval_single_ckpt(model, test_loader, tmp, eval_output_dir, logger, trained_epoch, dist_test=False, cfg=cfg,tb_log=tb_log, val_loss=True)

evaluate train dataset - calculate train accuracy
eval_output_dir = ckpt_save_dir / 'train_accuracy' / ('checkpoint_epoch_%d' % trained_epoch)
tb_log = SummaryWriter(log_dir=str(ckpt_save_dir / 'train_accuracy' / 'tensorboard'))
eval_single_ckpt(model, train_loader, tmp, eval_output_dir, logger, trained_epoch, dist_test=False, cfg=cfg, tb_log=tb_log)

Sure  I will send a pull request after finishing train accuracy problem !!

I don't know, you need to debug where 'calib' gets added (or not added) to the batch_dict.

I was working on this for my own research problems, but faced the same issue regarding calib, I'm not quite sure what causes this so for now i'm just using the following workaround:
for idx_anno, anno in enumerate(annos):
   try:
                  calib = annos[idx_anno]['calib']
              except KeyError:
                  print("No calib found!")
                  calib = self.prev_calib
              self.prev_calib = calib
              try:
                  image_shape = annos[idx_anno]['image_shape']
              except KeyError:
                  print("No image_shape found!")
                  image_shape = self.prev_image_shape
              self.prev_image_shape = image_shape

I also had to do this for image_shape as I was facing the same issue. This will probably cause some slight accuracy errors but there are only a few frames of KITTI for which we get a KeyError

Actually I updated the code and now I obtain train loss, train acc and validation acc during training. But in somehow it effected my results so now when I make an inference I obtain worse results than before. Train acc doesnt seem nice too.
The main problem is when you use dataloader for training set (where you give training=True as parameter) you dont obtain calib info in your dataset info, otherwise you obtain.
def build_dataloader(dataset_cfg, class_names, batch_size, dist, root_path=None, workers=4,
logger=None, training=True, merge_all_iters_to_one_epoch=False, total_epochs=0):
dataset = __all__[dataset_cfg.DATASET](
    dataset_cfg=dataset_cfg,
    class_names=class_names,
    root_path=root_path,
    training=training,
    logger=logger,
)

print("DATASET",training, dataset[0]) # Test dataset includes "calib" info but train dataset doesnt

if merge_all_iters_to_one_epoch:
    assert hasattr(dataset, 'merge_all_iters_to_one_epoch')
    dataset.merge_all_iters_to_one_epoch(merge=True, epochs=total_epochs)

if dist:
    if training:
        sampler = torch.utils.data.distributed.DistributedSampler(dataset)
    else:
        rank, world_size = common_utils.get_dist_info()
        sampler = DistributedSampler(dataset, world_size, rank, shuffle=False)
else:
    sampler = None
dataloader = DataLoader(
    dataset, batch_size=batch_size, pin_memory=True, num_workers=workers,
    shuffle=(sampler is None) and training, collate_fn=dataset.collate_batch,
    drop_last=False, sampler=sampler, timeout=0
)

return dataset, dataloader, sampler

I tracked the issue and even at first initialize in kitti_dataset.py class KittiDataset(DatasetTemplate): both train and test datasets comes with the equal informations, the calibration info is deleted in dataset.py prepare_dataset() function. I commented out the lines where training mode make the calib deleted and it worked. But as I said my results went bad so I guess I will just give up from train accuracy information...
x-special/nautilus-clipboard
copy
file:///home/yagmur/Pictures/Screenshot%20from%202022-03-07%2011-43-59.png

As a result we obtain these 2 tensorboard logs one for train loss and acc one for validation acc

And finally I realized the situation...
in datasey.py, the following part causes to lose calib info training dataset as I said. But I understand the reason now: if its in training mode, we apply "data augmentation" in self.data_augmentor.forward() function. And in this function calib info is deleted, only the ground truth boxes are updated according to the augmentation technique. So since I removed data augmentation from training,  my results went kind a bad. To not lose data augmentation and still be able to obtain train time accuracy, I will try to load train data in test mode with some additional control flags
if self.training:
assert 'gt_boxes' in data_dict, 'gt_boxes should be provided for training'
gt_boxes_mask = np.array([n in self.class_names for n in data_dict['gt_names']], dtype=np.bool_)
        data_dict = self.data_augmentor.forward(
            data_dict={
                **data_dict,
                'gt_boxes_mask': gt_boxes_mask
            }
        )

Its done and I will do a pull request but the commits got a little bit complicated since the last 3 commit includes the changes for this part but I dont know exactly how to select the parts to pull request and the parts not to. Maybe you can take a look at the pull request and we can talk about @MartinHahner

I don't know, you need to debug where 'calib' gets added (or not added) to the batch_dict.

https://github.com/open-mmlab/OpenPCDet/blob/a9c66fee5348dcfb5f73ccca71becc2871ce3a78/pcdet/datasets/augmentor/database_sampler.py#L165
https://github.com/open-mmlab/OpenPCDet/blob/a9c66fee5348dcfb5f73ccca71becc2871ce3a78/pcdet/datasets/augmentor/data_augmentor.py#L246


Approximate mode for MICE is only slightly faster

@sergeyf I tried running MICE on a random 1000x200 matrix with ~50% sparsity for 10 imputation rounds (and 10 burn-in rounds). With approximate mode it took about 33s on my Macbook and the full mode took ~50s. I suspect we should be able to get the approximate mode a lot faster than that!
Running again under a profiler, here are the top culprits:
 44001   10.532    0.000   10.532    0.000 {built-in method dot}
       20    5.201    0.260   21.036    1.052 MICE.py:178(perform_imputation_round)
     4000    1.340    0.000    1.843    0.000 MICE.py:111(_sub_inverse_covariance)
     4000    0.980    0.000    5.503    0.001 bayesian_ridge_regression.py:72(predict_dist)
    16604    0.589    0.000    0.589    0.000 {method 'reduce' of 'numpy.ufunc' objects}
     4000    0.390    0.000    2.791    0.001 MICE.py:137(_update_inverse_covariance)
     4000    0.328    0.000    0.343    0.000 numeric.py:1003(outer)
     4000    0.232    0.000    4.790    0.001 bayesian_ridge_regression.py:23(fit)
    12000    0.201    0.000    0.537    0.000 index_tricks.py:28(ix_)
     4000    0.194    0.000    0.273    0.000 {method 'normal' of 'mtrand.RandomState' objects}
    48009    0.173    0.000    0.173    0.000 {built-in method array}
     8000    0.150    0.000    0.150    0.000 {method 'nonzero' of 'numpy.ndarray' objects}
     4001    0.118    0.000    0.258    0.000 linalg.py:458(inv)

(unsurprisingly spending most of our time doing matrix multiplications)

Yeah, I know =(
The np.linalg.inv is really fast. It's a lot faster than svd and various other tricks I tried, so this approximate mode is bottlenecked by a crapload of matrix multiplies that (despite being O(d^2)) are still in aggregate not much faster than a single highly optimized O(d^3) calculation. Do you have any ideas? I'm pretty much out of steam.

Can you make it even more "approximate" by performing blocks of multivariate regressions? Split the columns into random groups of n_cols/10 and fill them all in simultaneously?

Yeah I was thinking of something similar to this: fill in each column only from its nearest neighbor columns. You'll have to figure out nearest neighbor columns once in the beginning, and then pull those in.
The question is how to compute the NN -> just take the most correlated columns?
This would probably make a lot of sense in the Olivetti dataset as uncorrelated columns (pixel from face and pixel from background) indeed have little mutual information.
Do I understand you correctly and that this idea is similar to your last comment? Also, what do you mean by simultaneously? In parallel on multiple-cores?

Also, you refactored stuff and now S and S_inv are not part of the class - but the method _update_inverse_covariance has no return statement. Is that bug?

I was thinking of updating random groups of columns (without trying to find correlated blocks).
Also, doesn't _update_inverse_covariance perform the updates in-place on the elements of S and S_inv? If those changes aren't propagated then it's a bug.

Maybe my knowledge of scope is not so good. If I pass S and S_inv to a function that updates them, but then doesn't return them - are they updated outside of the function as well? That's why I had them as self.S and self.S_inv.
I can try both random nearest columns and best-match nearest columns next week!

OK, I removed approximate mode, and have added nearest column mode, so this issue no longer makes sense =) Stay tuned for the push.

For "nearest columns" are you using the magnitude of the correlation
between columns or does it have to be positive?
On Sun, Jan 10, 2016 at 5:58 PM, Sergey Feldman<EMAIL_ADDRESS>wrote:

Closed #4 https://github.com/hammerlab/fancyimpute/issues/4.
—
Reply to this email directly or view it on GitHub
https://github.com/hammerlab/fancyimpute/issues/4#event-510617110.


add picture of a quote

It would be nice if one could have a picture of a quotes i.e. for sharing or download.

Instead of a real image, a static page could also suffice


List conversion API in ffi crate

Codecov Report

Merging #972 (ab998f9) into main (5207132) will decrease coverage by 0.02%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #972      +/-   ##
==========================================
- Coverage   84.15%   84.13%   -0.03%
==========================================
  Files         390      390
  Lines       41292    41303      +11
==========================================
  Hits        34750    34750
- Misses       6542     6553      +11

Impacted Files
Coverage Δ

lib/ffi/src/any.rs
62.83% <0.00%> (-5.05%)
:arrow_down:

Continue to review full report at Codecov.

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


When hosts stops or changes episodes. Same episodes restarts for others.

When the hosts stops playing (exit the what is currently playing) or changes to previous or next episode, the clients (other people than the host) in the plex together room simply restart the same episode instead of exiting/changing episode.
I tested this with Plex Media Player so far.

This is somewhat fixed in the dev branch; if the host quits what they're watching everyone else does as well. Its not perfect but there isn't a clear way to have the best of both worlds.

How would I proceed to build the dev branch. Sorry im a noob, I have no idea how git and compiling works.

Easiest way would be to just access it through http://dev.plextogether.com - it's not an automatic build but I update it every couple of days.

What server should I use while on this version?

US1, EU1 and AU1 should all be compatible at the moment

Fixed with v1.1


Include exit code in accessible buffer for failed commands

Sighted users can determine if a command failed via the color of or by hovering the command decoration. That's tedious for a screen reader user, so we should include this info in the accessible buffer.

Is content that is written the accessible buffer available in a screen reader?

To verify, in the normal terminal buffer, run a command that fails IE fake command. When you have audioCues.terminalCommandFailed enabled, you should hear a sound


Timestamp is not check the correct way

Line 145: if ($this->login_ticket_timestamp >= (time() + 7200)) {
The timestamp is always expired this way. It should be:
if ($this->login_ticket_timestamp <= (time() - 7200)) {

@danhunsaker - what do you think here? It seems okay as-is though I'm in-between test machines.
https://github.com/CpuID/pve2-api-php-client/blob/76fabeb2d6446932930179cc27bb7ab03ba9c8c2/pve2_api.class.php#L146


[MERGE] Merge 1.7 to master

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/18808/
Test PASSed.


Graph viewing from multiple nodes .

Is there a way to view a graph starting from multiple nodes? Or a potential feature for the next version ?

Hello,
at the moment it is not possible, but we will implement that feature as soon as possible. I think it should be integrated within 1-2 weeks (devel).

You can now start your graph within the graph viewer from multiple nodes. To use that feature, just enter a space-seperated list of valid node id's (instead of a single id). This feature was added to devel and 3.1 branch. So it will be included in 3.2+ and 3.1.14+ releases.


Is there anyway to disable the Spread Mode options on the UI?

Hi,
I know that we can set the default Spread mode option to be loaded like this:
    defaultPreferences = Promise.resolve({
      "cursorToolOnLoad": 0,
      "defaultZoomValue": "",
      "disablePageLabels": false,
      "enablePermissions": false,
      "enablePrintAutoRotate": false,
      "enableWebGL": false,
      "externalLinkTarget": 0,
      "historyUpdateUrl": false,
      "ignoreDestinationZoom": false,
      "pdfBugEnabled": false,
      "renderer": "canvas",
      "renderInteractiveForms": true,
      "sidebarViewOnLoad": -1,
      "scrollModeOnLoad": -1,
      "spreadModeOnLoad": 1,
      "textLayerMode": 1,
      "useOnlyCssZoom": false,
      "viewOnLoad": 0,
      "disableAutoFetch": false,
      "disableFontFace": false,
      "disableRange": false,
      "disableStream": false
    });

But I wonder, are there any ways to completely disable or hide the Spread Mode options on the toolbar?

But I wonder, are there any ways to completely disable or hide the Spread Mode options on the toolbar?

Not without modifying the HTML (and JavaScript) code; please note http://mozilla.github.io/pdf.js/getting_started/#introduction (emphasis mine):

The viewer is built on the display layer and is the UI for PDF viewer in Firefox and the other browser extensions within the project. It can be a good starting point for building your own viewer. However, we do ask if you plan to embed the viewer in your own site, that it not just be an unmodified version. Please re-skin it or build upon it.


Ability to teleport without pointer hitting an object

First, thanks for this great toolkit!
I am trying to get a function where you can teleport without having to hit an object, so that you can travel the distance of your pointer length in any direction, including into the air without an object beneath you. Any ideas how to get this function?

Do you need to use the straight (Simple) pointer? If you use the bezier pointer then it always projects the beam to the ground.
If you do require the simple pointer, one thing you could do is always check the max length of the ray and if it's at full length and not hitting anything then you could create a temp game object (with a collider) to appear at the position of the pointer cursor then it will always have something to collide with.

Yes, I require the simple pointer, because I want to teleport into the air. The idea being you are not limited to teleporting to a ground plane or object, but have the capability to travel in open space (ie, if you were in water you could "swim" anywhere, not just to an object/ground). It sounds like your suggestion could be perfect to accomplish this. I'll test it out. Thanks!


Image editor

Add a very basic image editor that allows users to draw a rectangle on the image and include that in the package of files to upload to the integrations.

I wonder if we can take inspiration from this code to implement image editor of some sort: https://github.com/callstack/react-native-image-editor/blob/master/ios/RNCImageEditor.m

or we have to have use react-native-art


in query empty start_cursor option throws error

hi,
I try to make a query:
next_cursor = None
results = notion.databases.query(
        **{
            "database_id": DB_GMB_ID,
            "start_cursor": next_cursor
        }
    )

I receive the error:
APIResponseError: body failed validation: body.start_cursor should be a string or `undefined`, instead was `null`.

"" produces the same result.
What value should be used to satisfy undefined start_cursor?

Hello @rzylius, that's quite a funny one and I've no idea what Notion is expecting from us. I'll investigate eventually, please tell me if you find anything new in the meantime!

Removing that pick thing and using proper arguments would probably help.

I don't think this is an issue with notion_client. In the notion API documentation it states that start_cursor must be a string.
From https://developers.notion.com/reference/post-database-query

start_cursor
string
When supplied, returns a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results.

It seems that it must either be specified as a string, or not  specified at all. null (or None, in Python), is not a valid value of start_cursor.

It seems that start_cursor must either be specified as a string, or not specified at all. null (or None, in Python), is not a valid > value of start_cursor.

The error thrown "APIResponseError: body failed validation: body.start_cursor should be a string or undefined" says, that the value can be 'undefined'. This makes sense in javascript, but how 'undefined' works in Python?

The error thrown "APIResponseError: body failed validation: body.start_cursor should be a string or undefined" says, that the value can be 'undefined'. This makes sense in javascript, but how 'undefined' works in Python?

There is no undefined in Python. Python has None, which is equivalent to null.
In Python, we have the concept of an optional value, where something can either be a value or None. For example, x = 1 or x = None.  But, in both cases, a variable named x exists (i.e. x is not undefined).

I see two possible fixes here:

Remove usage start_cursor=None from your code
Modify pick(...) so that it will remove start_cursor=None for you

I'm not sure which one of these is the best solution... Perhaps others have an opinion.

@nicobako , option 1 is clearly a workaround, as then you need to differentiate if this is a first run of the query or the next page.
Can you elaborate on option 2?

In the meantime, I would do:
next_cursor = None
...
query = {"database_id": DB_GMB_ID}
if next_cursor:
    query["start_cursor"] = next_cursor
results = notion.databases.query(**query)
...

@rzylius ,
Option 2 is about changing the behaviour of notion_client.helpers.pick. This function is used throughout the code to help pick only the keyword-value pairs that are of interest. See the source code here
For example, the endpoint databases.query accepts the following keywords: filter, sorts, start_cursor, page_size. You can see how the pick function is used to extract only the pertinent keyword-value pairs for this API endpoint here

@ramnes , would a good solution to this problem be to change the implementation of pick a little? We can change it so that, if any keyword-value pair has a value that is None, it could be removed:
def pick(base: Dict[Any, Any], *keys: str,) -> Dict[Any, Any]:
    """Return a dict composed of key value pairs for keys passed as args."""
    return {key: base[key] for key in keys if key in base and base[key] is not None}

Here's an example of its usage:
>>> base = {"start_cursor":None}
>>> pick(base, "start_cursor")
{}
>>> base = {"start_cursor": "start"}
>>> pick(base, "start_cursor")
{'start_cursor': 'start'}

Not sure if this would always work with the Notion API. This assumes that if a value in None, then we can just remove it, but maybe sometimes we have to keep values that are None.
O maybe you have an idea for a better solution.

I stumbled on this issue today as well, it is so annoying when fetching a whole database:
I had to write:
    results = []
    query = notion.databases.query(database_id=database_id, page_size=page_size)
    results.extend(query['results'])
    while query['next_cursor']:
        query = notion.databases.query(database_id=database_id, start_cursor=query['next_cursor'], page_size=page_size)
        results.extend(query['results'])

Instead of something a tad more elegant, such as:
    results = []
    query = {'next_cursor': None}
    while query['next_cursor'] or query['next_cursor'] is None:
        query = notion.databases.query(database_id=database_id, start_cursor=query['next_cursor'], page_size=page_size)
        results.extend(query['results'])

or
    results = []
    query = {}
    while not query or query['next_cursor']:
        query = notion.databases.query(database_id=database_id, start_cursor=query.get('next_cursor', None), page_size=page_size) # doesn't work because the api error when None is passed
        results.extend(query['results'])

Not sure how to code that elegantly now

Maybe it would be nice to have a new release ? So it is possible to have the right version of notion-sdk-py as requirement for tools that need this change ? :)

Really good point @thomashirtz ,
In the meanwhile, you can pip install directly from GitHub. Here is a link to the pip documentation on vcs support:
https://pip.pypa.io/en/stable/topics/vcs-support/
Here's another blog post which might be easier to read and extract useful information:
https://adamj.eu/tech/2019/03/11/pip-install-from-a-git-repository/

I just released 0.9.0. Thanks!

how I can write this in javascript? I stuck on start_cursor


How to activate rendering in human mode?

Habitat-Lab and Habitat-Sim versions
Habitat-Lab: master
Habitat-Sim: master
Docs and Tutorials
I checked them, but I couldn't find anything for 'render' and 'human'.
❓ Questions and Help
I would like to render environments in human mode, to see something like Fig. 1 and 2 of your paper, and your demo video.
If I try to render with mode='human' I get the error below, saying that human sensor is not active.
It seems that human mode is not available here, but here there is something about it.
~/.local/lib/python3.8/site-packages/gym/core.py in render(self, mode, **kwargs)
    238
    239     def render(self, mode='human', **kwargs):
--> 240         return self.env.render(mode, **kwargs)
    241
    242     def close(self):

~/habitat-lab/habitat/core/env.py in render(self, mode)
    419
    420     def render(self, mode: str = "rgb") -> np.ndarray:
--> 421         return self._env.render(mode)
    422
    423     def close(self) -> None:

~/habitat-lab/habitat/core/env.py in render(self, mode)
    304
    305     def render(self, mode="rgb") -> np.ndarray:
--> 306         return self._sim.render(mode)
    307
    308     def close(self) -> None:

~/habitat-lab/habitat/sims/habitat_simulator/habitat_simulator.py in render(self, mode)
    396
    397         output = observations.get(mode)
--> 398         assert output is not None, "mode {} sensor is not active".format(mode)
    399         if not isinstance(output, np.ndarray):
    400             # If it is not a numpy array, it is a torch tensor

AssertionError: mode human sensor is not active

CC: @ASzot

Hello, it sounds like what you want will be provided in our Gym adapter here: https://github.com/facebookresearch/habitat-lab/blob/268fa779ec6bcaa39c36d58faa60cd6bd815e340/habitat_baselines/utils/gym_adapter.py#L167. Currently, only the RGB format is supported. We haven't released the nicer-looking ReplicaCAD scenes yet from Figures 1 and 2 of the paper and supplementary video for a "human" mode. The current scenes are without the baked lighting. Once this data is available, there will be an option to render nicer-looking scenes with shadows and baked lighting.

Hi, thanks for your reply!
I managed to render RGB images with a custom viewer (similar to your utility). I asked for the third-person view because this gives a better idea of what the agent is doing, and allows to check if it is learning something meaningful (regardless of the increasing trend of the reward).
RGB images are ok-ish for that, so I guess I will just wait for future rendering features :)
Thanks again!

Yes, the current gym wrapper I linked to should render in this 3rd person POV. Here is an example of a video I just generated of an agent trained to reach target end-effector locations in a minimal scene. The render() method from HabGymWrapper was used to generate this.
https://user-images.githubusercontent.com/10453381/127584176-99aa3d4e-9d73-4b0f-a374-c8e02bf9cb6e.mp4

(I updated both sim and lab to the latest version).
The video you uploaded doesn't load/play (gray screen stuck at 0:00).
I tried using HabGymWrapper, but it gave me some errors.
If I try it like in this examples, I do
# ... parse config
env_class = get_env_class(config.ENV_NAME)
env = make_env_fn(env_class=env_class, config=config)
env = HabGymWrapper(env)

and get
2021-07-31 07:13:07,430 Initializing task Nav-v0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/private/home/sparisi/mushroom-rl/mushroom_rl/environments/habitat_env.py", line 163, in __init__
    env = HabGymWrapper(env)
  File "/private/home/sparisi/habitat-baselines/habitat-lab/habitat_baselines/utils/gym_adapter.py", line 113, in __init__
    "Cannot convert this action space, more than one action"
ValueError: Cannot convert this action space, more than one action

The task is a custom pointnav YAML that I modify to return top-down maps and to use Replica scenes (action and observation spaces are default).
Anyway, I saw that the render function simply calls observations_to_image after saving the last observation, so I did the same with my wrapper
    def render(self, mode='rgb_array'):
        if mode == "rgb_array":
            frame = observations_to_image(
                self.env._last_full_obs, self.env.unwrapped._env.get_metrics()
            )
        else:
            raise ValueError(f"Render mode {mode} not currently supported.")

_last_full_obs works like _last_obs in your adapter.
I then can use a viewer to render the frame, and this is what I get

Still a 1st person image, not 3rd person. Am I missing something? Should I add measurements somewhere to the YAML?
(Also, is there a viewer in sim or lab that I can use? Couldn't find one).
Thanks!

I am having the same problem, did you solve it?

I am having the same problem, did you solve it?

No sorry, I didn't. I am using the 1st person rendering at the moment.

This issue should now be resolved on main.
Also, the hab_suite branch now contains most of the functionality from the paper and we are slowly merging this into main. We made this tutorial to help get started with Habitat 2.0.
Please let me know if you have any more questions!

Hi @sparisi @jadkins99, have you managed to resolve the issue as @ASzot suggested?

Closing the issue because it has not had recent activity.


Investigate why TypeScript Azure Cosmos DB trigger is missing from 4.4.0 templates

Upstream issue: https://github.com/Azure/azure-functions-templates/issues/1391

Tracking https://github.com/Azure/azure-functions-templates/pull/1401

Tracked issue is closed and reverting hard-coded template version here: https://github.com/microsoft/vscode-azurefunctions/issues/3711


Add line height config option

Add a lineHeight configuration parameter. Not sure if what I did is the appropriate way to check that the type is correct, so please let me know if there is a different way that it's normally done and I will update it.
This will fix #75 and fix #2850.

Awesome! Thank you! I'll merge it ASAP

I've built the canary build and this is working really well. Thanks for the hard work @bdougherty!

@chabou I prefer to keep the cursor size unchanged. Do you think it's reasonable to make it configurable?

Line height is awesome!!!
But now we need cursor height option!

Yall crazy, love the tall cursor.  Wouldn't a shorter cursor look funny next to background highlighted text?

No, it's not in stable yet @Azzhoe https://github.com/zeit/hyper/releases/tag/2.1.0-canary.1

Any update on this? When will 2.1.0 be stable?

I tried canary.2 but I was not able to set a lineHeight below 1.0. Is this a bug or a technical limitation? I want to reduce line height because my favourite font has too much spacing. In iTerm2 I have set line height to 85% and it looks perfect.


Improve docs

Issue
The project can now only be setup by who know python.
Write comprehensive docs on how to setup, how things work and how to use the project.
A usage gif would work wonders

closed by https://github.com/OWASP/common-requirement-enumeration/pull/235 and https://github.com/OWASP/common-requirement-enumeration/pull/226


[SDK BUG] Visualizer layz load frame size

Describe the bug
As the visualizer gets frame size from the setting instead of the actual frame (lazy loading), you can get an error if the selected resolution isn't actually supported.
Minimal Reproducible Example
Using OAK-D-Lite, this will crash:
with OakCamera() as oak:
    stereo = oak.create_stereo('800p', fps=30)
    oak.visualize(stereo.out.disparity)
    oak.start(blocking=True)

With:
Traceback (most recent call last):
  File "C:\Users\Erik\Documents\Work\Luxonis\depthai\depthai_sdk\src\depthai_sdk\oak_outputs\xout\__init__.py", line 15, in on_click_callback
    self.buffer = ([0, param[0][y, x], [x, y]])
IndexError: index 603 is out of bounds for axis 0 with size 480

Resolved in newest SDK version.


Update jetty to resolve CVE-2020-27218

Codecov Report

Merging #1199 (2f5512d) into master (39ddaca) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1199   +/-   ##
=========================================
  Coverage     99.50%   99.50%
  Complexity     3081     3081
=========================================
  Files           470      470
  Lines          9054     9054
  Branches        480      480
=========================================
  Hits           9009     9009
  Misses            5        5
  Partials         40       40

Flag
Coverage Δ
Complexity Δ

unittests
99.50% <ø> (ø)
0.00 <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

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


react-native-svg could not be found

Bug

Environment info

Library
Version

@gorhom/animated-tabbar
^2.1.0

react-native
0.63.3

react-native-reanimated
^1.13.0

react-native-gesture-handler
^1.8.0

react-native-svg
^12.1.0

Steps To Reproduce

I have installed the module.
pod install
npx react-native link
I started app.

@gorhom : Shouldn't it be a dev dependencies?

hi @Angelk90 , in Installation, i mentioned

Also, you need to install react-native-reanimated, react-native-gesture-handler & react-native-svg, and follow their installation instructions.

it seems you did not install react-native-svg correctly , please try to install it again and install pod again


refactor: Simplify verifyVersion()

This PR adds tests and benchmarks for verifyVersion() and refactors verifyVersion() to call only binary.Read().  This saves some lines of code and make the code clearer and easier to understand.

[ ] Well-formatted commit messages
[ ] Rebased/mergeable
[ ] Tests pass

I added tests to ensure the old functionality was preserved.


Move BouncyCastleNodeKey into a local Plugin

In order for the crytographic operations/nodeKey to be plugin-able, the default implementation of NodeKey (BouncyCastleNodeKey) must become a local plugin - which is enabled either by default, or if a commandline argument requests it.

PR #713.


Linked List

A simple linked list maker would be handy.

Done. Could have more methods added in the future


Service parameter name n is converted to boolean

Description:
I have created an IVCAP Service based on the primitive command line tool, which has a parameter n to define the number of shapes that should be used to reproduce the input image. When attempting to define a service Parameter called n it gets converted to a boolean, resulting in the ivcap cli tool rejecting the defined service.
Environment
ivcap-sdk-service==0.3.1
Steps to Reproduce
Create a service.py that contains an ivcap_sdk_service.Service object. An example of the relevant section is:
SERVICE = Service(
    description = 'Reproduce images with geometric primitives.',
    name = 'primitive',
    parameters = [
        .
        .
        Parameter(
            name = 'n',
            description = 'number of shapes',
            type = Type.INT,
            default = 100,
            optional = True
        ),
        .
        .
    ],
    workflow=PythonWorkflow(script='/primitive/service.py', min_memory='2Gi')
)

Print the service description via the command (making sure to use the appropriate provider and account identifier):
env IVCAP_PROVIDER_ID=urn:ivcap:provider:e91bb525-83b7-4641-9fb8-b61d084a9b81 \
    IVCAP_ACCOUNT_ID=urn:ivcap:account:e91bb525-83b7-4641-9fb8-b61d084a9b81 \
    IVCAP_CONTAINER=localhost:5000/ivcap.test/primitive_service:6fb5281 \
    python service.py --ivcap:print-service-description

The above command generates the following output (only the relevant output has been copied here):
account-id: urn:ivcap:account:e91bb525-83b7-4641-9fb8-b61d084a9b81
description: Reproduce images with geometric primitives.
id: '@SERVICE_ID@'
name: primitive
parameters:
  .
  .
- default: '100'
  description: number of shapes
  name: n
  optional: true
  type: int
  .
  .

provider-id: urn:ivcap:provider:e91bb525-83b7-4641-9fb8-b61d084a9b81
workflow:
  basic:
    command:
    - python
    - /primitive/service.py
    image: localhost:5000/ivcap.test/primitive_service:6fb5281
    memory:
      request: 2Gi
  type: basic

So far, so good. Now try to create a service with this yaml:
env IVCAP_PROVIDER_ID=urn:ivcap:provider:e91bb525-83b7-4641-9fb8-b61d084a9b81 \
                IVCAP_ACCOUNT_ID=urn:ivcap:account:e91bb525-83b7-4641-9fb8-b61d084a9b81 \
                IVCAP_CONTAINER=localhost:5000/ivcap.test/primitive_service:97e52f2 \
        python service.py --ivcap:print-service-description \
        | ivcap service update --create ivcap:service:53d4033f-8e34-5f9e-9925-df5bb88134e4:primitive-service --format yaml -f - --timeout 600

Which yields the following output:
Error: json: cannot unmarshal bool into Go struct field ParameterDefT.parameters.name of type string
make: *** [service-register] Error 1

Proposed Solution
So the first question: is the problem occurring a) during the generation of the yaml in the ivcap_sdk_service, or b) in the consumption of the yaml in the ivcap cli tool?
The short answer: this can be fixed in the generation of yaml in the ivcap_sdk_service tool.
IVCAP cli
IVCAP unmarshalls the YAML above via ivcap-cli/pkg/adapter/payload.go, converting the name from a value of n to false as seen below:

From what I understand of the yaml package we use, we can fix this issue in the ivcap cli tool by defining a struct that represents the Service yaml. But then we'd have to define structs for all yaml we send the ivcap cli...
Looking at this from another angle, if we put the value of name into single quotes, the problem disappears.
# This fails:
- default: '100'
  description: number of shapes
  name: n
  optional: true
  type: int

# This passes:
- default: '100'
  description: number of shapes
  name: "n"
  optional: true
  type: int

So if all string values are enclosed in double quotes, this may resolve the issue.
Proposed ivcap_sdk_service fix
YAML is generated in src/ivcap_sdk_service/service.py:
def to_yaml(self) -> str:
    return yaml.dump(self.to_dict(), default_flow_style=False)

The proposed solution is to change this to:
def to_yaml(self) -> str:
    as_dict = self.to_dict()
    as_yaml = yaml.dump(as_dict, default_flow_style=False, default_style='"')
    return as_yaml

The change sets the default_style parameter in yaml.dump, which controls how strings are formatted when they are converted to YAML format. In this case, the default_style parameter is set to '"', which means that all strings in the output YAML will be enclosed in double quotes. This is useful because it ensures that any special characters in the strings are properly escaped, which can prevent errors when the YAML is parsed.
The following yaml is produced when implementing this fix:
"account-id": "urn:ivcap:account:e91bb525-83b7-4641-9fb8-b61d084a9b81"
"description": "Reproduce images with geometric primitives."
"id": "@SERVICE_ID@"
"name": "primitive"
"parameters":
- "description": "input file"
  "name": "input_image"
  "type": "artifact"
- "default": "100"
  "description": "number of shapes"
  "name": "n"
  "optional": !!bool "true"
  "type": "int"
- "default": "1"
  "description": "mode: 0=combo, 1=triangle, 2=rect, 3=ellipse, 4=cirle, 5=rotatedrect,\
    \ 6=beziers, 7=rotatedellipse, 8=polygon"
  "name": "m"
  "optional": !!bool "true"
  "type": "int"
- "default": "0"
  "description": "add N extra shapes each iteration with reduced search (mostly good\
    \ for beziers)"
  "name": "rep"
  "optional": !!bool "true"
  "type": "int"
- "default": "1"
  "description": "save every Nth frame (only when %d is in output path)"
  "name": "nth"
  "optional": !!bool "true"
  "type": "int"
- "default": "256"
  "description": "resize large input images to this size before processing"
  "name": "r"
  "optional": !!bool "true"
  "type": "int"
- "default": "1024"
  "description": "output image size"
  "name": "s"
  "optional": !!bool "true"
  "type": "int"
- "default": "128"
  "description": "color alpha (use 0 to let the algorithm choose alpha for each shape)"
  "name": "a"
  "optional": !!bool "true"
  "type": "int"
- "default": "avg"
  "description": "starting background color (hex)"
  "name": "bg"
  "optional": !!bool "true"
  "type": "string"
- "default": "0"
  "description": "number of parallel workers (default uses all cores)"
  "name": "j"
  "optional": !!bool "true"
  "type": "int"
"provider-id": "urn:ivcap:provider:e91bb525-83b7-4641-9fb8-b61d084a9b81"
"workflow":
  "basic":
    "command":
    - "python"
    - "/primitive/service.py"
    "image": "localhost:5000/ivcap.test/primitive_service:6fb5281"
    "memory":
      "request": "2Gi"
  "type": "basic"

Which is successfully consumed by the ivcap cli:
{
  "account": {
    "id": "urn:ivcap:account:e91bb525-83b7-4641-9fb8-b61d084a9b81"
  },
  "description": "Reproduce images with geometric primitives.",
  "id": "urn:ivcap:service:53d4033f-8e34-5f9e-9925-df5bb88134e4",
  "links": {
    "self": "http://ivcap.minikube/1/services/53d4033f-8e34-5f9e-9925-df5bb88134e4"
  },
  "name": "primitive",
  "parameters": [
    {
      "description": "input file",
      "label": "",
      "name": "input_image",
      "optional": false,
      "type": "artifact",
      "unit": ""
    },
    {
      "default": "100",
      "description": "number of shapes",
      "label": "",
      "name": "n",
      "optional": true,
      "type": "int",
      "unit": ""
    },
    {
      "default": "1",
      "description": "mode: 0=combo, 1=triangle, 2=rect, 3=ellipse, 4=cirle, 5=rotatedrect, 6=beziers, 7=rotatedellipse, 8=polygon",
      "label": "",
      "name": "m",
      "optional": true,
      "type": "int",
      "unit": ""
    },
    {
      "default": "0",
      "description": "add N extra shapes each iteration with reduced search (mostly good for beziers)",
      "label": "",
      "name": "rep",
      "optional": true,
      "type": "int",
      "unit": ""
    },
    {
      "default": "1",
      "description": "save every Nth frame (only when %d is in output path)",
      "label": "",
      "name": "nth",
      "optional": true,
      "type": "int",
      "unit": ""
    },
    {
      "default": "256",
      "description": "resize large input images to this size before processing",
      "label": "",
      "name": "r",
      "optional": true,
      "type": "int",
      "unit": ""
    },
    {
      "default": "1024",
      "description": "output image size",
      "label": "",
      "name": "s",
      "optional": true,
      "type": "int",
      "unit": ""
    },
    {
      "default": "128",
      "description": "color alpha (use 0 to let the algorithm choose alpha for each shape)",
      "label": "",
      "name": "a",
      "optional": true,
      "type": "int",
      "unit": ""
    },
    {
      "default": "avg",
      "description": "starting background color (hex)",
      "label": "",
      "name": "bg",
      "optional": true,
      "type": "string",
      "unit": ""
    },
    {
      "default": "0",
      "description": "number of parallel workers (default uses all cores)",
      "label": "",
      "name": "j",
      "optional": true,
      "type": "int",
      "unit": ""
    }
  ],
  "provider": {
    "id": "urn:ivcap:provider:e91bb525-83b7-4641-9fb8-b61d084a9b81"
  }
}

#9


Replace all torch.jit.annotations with typing annotations

🚀 Feature
The use of torch.jit.annotations was necessary to be compatible with Python 2, nevertheless now we only support Python 3. Thus we should replace all torch.jit.annotations with typing annotations.
Examples:
https://github.com/pytorch/vision/blob/83171d6ac95e6bf633bcba3fdd1606f1c8c6bf8b/torchvision/transforms/autoaugment.py#L6
https://github.com/pytorch/vision/blob/83171d6ac95e6bf633bcba3fdd1606f1c8c6bf8b/torchvision/transforms/functional.py#L12
There are more cases across the code-base. We should replace as many as possible.

Hi @datumbox , I had submit a PR to fix this issue.


ClusterExtension's condition HasValidBundle is False when Resolved, Installed and Unpacked are all True

It looks like something is wrong with ClusterExtension's HasValidBundle condition. I noticed that in this test:
https://github.com/operator-framework/operator-controller/blob/cab41aaa6764f9413a58d52efe80dca9b8bdf651/test/e2e/cluster_extension_install_test.go#L82-L94
HasValidBundle reports False with the following message while other conditions such as Resolved, Installed and Unpacked are all report True:
error fetching bundles: error fetching catalog "test-catalog" contents: error performing request: Get "https://catalogd-catalogserver.olmv1-system.svc/catalogs/test-catalog/all.json": dial tcp <IP_ADDRESS>:443: connect: connection refused

This can be reproduced by adding spew.Dump(clusterExtension.Status.Conditions) before this line:
https://github.com/operator-framework/operator-controller/blob/cab41aaa6764f9413a58d52efe80dca9b8bdf651/test/e2e/cluster_extension_install_test.go#L85
You should see something like this:
([]v1.Condition) (len=8 cap=9) {
 (v1.Condition) &Condition{Type:Resolved,Status:True,ObservedGeneration:1,LastTransitionTime:2024-06-28 11:19:20 +0200 CEST,Reason:Success,Message:resolved to "docker-registry.operator-controller-e2e.svc.cluster.local:5000/bundles/registry-v1/prometheus-operator:v2.0.0",},
 (v1.Condition) &Condition{Type:Installed,Status:True,ObservedGeneration:1,LastTransitionTime:2024-06-28 11:19:31 +0200 CEST,Reason:Success,Message:Instantiated bundle clusterextension-c75hzgnn successfully,},
 (v1.Condition) &Condition{Type:HasValidBundle,Status:False,ObservedGeneration:1,LastTransitionTime:2024-06-28 11:19:20 +0200 CEST,Reason:ResolutionFailed,Message:error fetching bundles: error fetching catalog "test-catalog" contents: error performing request: Get "https://catalogd-catalogserver.olmv1-system.svc/catalogs/test-catalog/all.json": dial tcp <IP_ADDRESS>:443: connect: connection refused,},
 (v1.Condition) &Condition{Type:Deprecated,Status:False,ObservedGeneration:1,LastTransitionTime:2024-06-28 11:19:20 +0200 CEST,Reason:Deprecated,Message:,},
 (v1.Condition) &Condition{Type:PackageDeprecated,Status:False,ObservedGeneration:1,LastTransitionTime:2024-06-28 11:19:20 +0200 CEST,Reason:Deprecated,Message:,},
 (v1.Condition) &Condition{Type:ChannelDeprecated,Status:False,ObservedGeneration:1,LastTransitionTime:2024-06-28 11:19:20 +0200 CEST,Reason:Deprecated,Message:,},
 (v1.Condition) &Condition{Type:BundleDeprecated,Status:False,ObservedGeneration:1,LastTransitionTime:2024-06-28 11:19:20 +0200 CEST,Reason:Deprecated,Message:,},
 (v1.Condition) &Condition{Type:Unpacked,Status:True,ObservedGeneration:1,LastTransitionTime:2024-06-28 11:19:20 +0200 CEST,Reason:UnpackSuccess,Message:unpack successful: ,}
}

Alternatively, modify the test with the following patch (apply on top of main which is currently at cab41aaa6764f9413a58d52efe80dca9b8bdf651):
diff --git a/test/e2e/cluster_extension_install_test.go b/test/e2e/cluster_extension_install_test.go
index 3308c03..23d31e1 100644
--- a/test/e2e/cluster_extension_install_test.go
+++ b/test/e2e/cluster_extension_install_test.go
@@ -117,6 +117,19 @@ func TestClusterExtensionInstallRegistry(t *testing.T) {
 		assert.Contains(ct, cond.Message, "Instantiated bundle")
 		assert.NotEmpty(ct, clusterExtension.Status.InstalledBundle)
 	}, pollDuration, pollInterval)
+
+	t.Log("By eventually reporting valid bundle")
+	require.EventuallyWithT(t, func(ct *assert.CollectT) {
+		assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
+		cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeHasValidBundle)
+		if !assert.NotNil(ct, cond) {
+			return
+		}
+		assert.Equal(ct, metav1.ConditionTrue, cond.Status)
+		assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
+		assert.Empty(ct, cond.Message)
+		assert.NotEmpty(ct, clusterExtension.Status.InstalledBundle)
+	}, pollDuration, pollInterval)
 }

 func TestClusterExtensionInstallReResolvesWhenNewCatalog(t *testing.T) {

It looks like this is related to https://github.com/operator-framework/operator-controller/pull/846#discussion_r1604734413:

2. If we do need it - as far as I see we only set this condition to False in case of an error from r.Storage.Load(ctx, ext) and never set it to True.


AzureAppConfiguration Import/Export wording

Task name: AzureAppConfigurationImport@10 and Export@10
Description: Update task description initial wording
Documentation changes required: (Y/N) No as it will be automatically picked up by the task doc system
Added unit tests: (Y/N) No
Attached related issue: (Y/N) None
Checklist:

[x] Task version was bumped - please check instruction how to do it
[ ] Checked that applied changes work as expected

/azp run

/azp run


Support .NET 6 to run natively on Mac ARM

Hello, I run a Mac ARM (M1). .NET 6 is the only version which supports ARM.
There seems to be a workaround using Rosetta but I haven't tried it yet

We don't support .NET 6  on Mac ARM yet, but we can do some investigation on this feature.

I managed to make the extension work with .NET 3.1 and Rosetta (just install it and x64 binaries just work, it's magic). I think this issue is still relevant but its lifecycle is up to you

I was unsuccessful getting this to work on an M1 Mac.  Also does not work in a github Codespace.  I would like to see the issue reopened.


Screen issue when the app is in the background

When the app is in the background the displayed screen seen is blank. Instead, display the screen that the user had last left on or display a screen with a static logo without animation, whichever is possible.
When the user returns back to the app by tapping on the app screen in the background, display a screen with static logo. In the current situation it opens the splash screen but the animation doesn't complete. This issue is inconsistent as follows:

When the user returns to the app instantly or within 1 or 2 minute then no splash screen is seen.
When the user returns to the app after 5 min then a blank screen(without any animation on it) splashes for a fraction of a second and user is landed on the login screen.
When the app in on the automated cloud backup error popup then in that case when you return to the app the splash screen with incomplete animation appears. But not always.

Issue 1 is not consistent across various devices.

On Samsung Galaxy M21 with 4Gb Ram size, blank screen not seen when app is in the background.

Verified this issue on dev app v1.9.5(330)

The app is not locking when it comes from the background. It should get locked after 10 seconds


Client Allocation Request for: Picturegenetics

Client Allocation Questions
Core Information

Name: Picturegenetics
Website / Social Media: https://www.picturegenetics.com/
Region: North America
DataCap Requested: 5TiB
Addresses to be Notarized: f14nfcod3atlveig2tya5yghbfwapntjtxqoacxoy
Notary Requested: dannyob

@DonnaBryant0 Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Here's your datacap. Please remember that datacap should be used for material that is unencrypted and licensed to be distributed to the public. Please use your datacap to make deals with more than one miner. And please don't use a miner you have a pre-existing relationship with. Spread the love! Use your datacap for the public good! Any questions, mail me at<EMAIL_ADDRESS>or @dannyob on the Filecoin Project slack

Request Approved
Your Datacap Allocation Request has been approved by the Notary
Message sent to Filecoin Network

bafy2bzacedeuu4hsrm5tmvgqonm4gvr736i6kqd77fkth2vg3o57pvmoplo3g

Address

f14nfcod3atlveig2tya5yghbfwapntjtxqoacxoy

Datacap Allocated

5TiB

You can check the status of the message here: https://filfox.info/en/message/bafy2bzacedeuu4hsrm5tmvgqonm4gvr736i6kqd77fkth2vg3o57pvmoplo3g


Installing Crypt::Eksblowfish failed.

Fedora 27 (new build)
Installed Perl
sudo dnf install perl-core
Ran first install command for Convos
curl https://convos.by/install.sh | sh -
Error returned:
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1186    0  1186    0     0   1186      0 --:--:-- --:--:-- --:--:--  3240
which: no git in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
> /usr/bin/curl -s -L https://github.com/Nordaaker/convos/archive/stable.tar.gz                                                                                | /usr/bin/tar xz -C convos --strip-components 1
> /usr/bin/perl convos/script/convos install
>>> /usr/bin/perl /root/convos/script/cpanm -n -l /root/convos/script/../local -                                                                                M https://cpan.metacpan.org Crypt::Eksblowfish
--> Working on Crypt::Eksblowfish
Fetching https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Crypt-Eksblowfish-0.00                                                                                9.tar.gz ... OK
Configuring Crypt-Eksblowfish-0.009 ... OK
==> Found dependencies: Class::Mix
--> Working on Class::Mix
Fetching https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Class-Mix-0.006.tar.gz                                                                                ... OK
Configuring Class-Mix-0.006 ... OK
==> Found dependencies: Params::Classify
--> Working on Params::Classify
Fetching https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Params-Classify-0.015.                                                                                tar.gz ... OK
Configuring Params-Classify-0.015 ... OK
Building Params-Classify-0.015 ... OK
Successfully installed Params-Classify-0.015
Building Class-Mix-0.006 ... OK
Successfully installed Class-Mix-0.006
Building Crypt-Eksblowfish-0.009 ... FAIL
! Installing Crypt::Eksblowfish failed. See /root/.cpanm/work/1520333734.3401/build.log for details. Retry with --force to force install it.
2 distributions installed
cpanm failed!

Log file:
/root/.cpanm/work/1520333734.3401/build.log
[](`cpanm (App::cpanminus) 1.7042 on perl 5.026001 built for x86_64-linux-thread-multi
Work directory is /root/.cpanm/work/1520333734.3401
You have make /usr/bin/make
You have /usr/bin/wget
You have /usr/bin/tar: tar (GNU tar) 1.29
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching Crypt::Eksblowfish on mirror https://cpan.metacpan.org ...
Downloading index file https://cpan.metacpan.org/modules/02packages.details.txt.gz ...
Uncompressing index file...
--> Working on Crypt::Eksblowfish
Fetching https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Crypt-Eksblowfish-0.009.tar.gz
-> OK
Unpacking Crypt-Eksblowfish-0.009.tar.gz
Entering Crypt-Eksblowfish-0.009
Checking configure dependencies from META.json
Checking if you have ExtUtils::Install 1.46 ... Yes (2.14)
Checking if you have Module::Build 0.38 ... Yes (0.4224)
Checking if you have strict 0 ... Yes (1.11)
Checking if you have warnings 0 ... Yes (1.37)
Configuring Crypt-Eksblowfish-0.009
Running Build.PL
Can't exec "gcc": No such file or directory at /usr/share/perl5/vendor_perl/ExtUtils/CBuilder/Base.pm line 342.
Warning: ExtUtils::CBuilder not installed or no compiler detected
Proceeding with configuration, but compilation may fail during Build

Checking prerequisites...
  requires:
    !  Class::Mix is not installed

ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions
of the modules indicated above before proceeding with this installation

Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Crypt-Eksblowfish' version '0.009'
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have XSLoader 0 ... Yes (0.27)
Checking if you have warnings 0 ... Yes (1.37)
Checking if you have Test::More 0 ... Yes (1.302103)
Checking if you have ExtUtils::CBuilder 0.15 ... Yes (0.280230)
Checking if you have Class::Mix 0.001 ... No
Checking if you have Carp 0 ... Yes (1.42)
Checking if you have MIME::Base64 2.21 ... Yes (3.15)
Checking if you have strict 0 ... Yes (1.11)
Checking if you have Exporter 0 ... Yes (5.72)
Checking if you have parent 0 ... Yes (0.236)
Checking if you have Module::Build 0 ... Yes (0.4224)
==> Found dependencies: Class::Mix
Searching Class::Mix on mirror https://cpan.metacpan.org ...
--> Working on Class::Mix
Fetching https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Class-Mix-0.006.tar.gz
-> OK
Unpacking Class-Mix-0.006.tar.gz
Entering Class-Mix-0.006
Checking configure dependencies from META.json
Checking if you have ExtUtils::Install 1.46 ... Yes (2.14)
Checking if you have Module::Build 0.38 ... Yes (0.4224)
Checking if you have strict 0 ... Yes (1.11)
Checking if you have warnings 0 ... Yes (1.37)
Configuring Class-Mix-0.006
Running Build.PL
Checking prerequisites...
  requires:
    !  Params::Classify is not installed

ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions
of the modules indicated above before proceeding with this installation

Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Class-Mix' version '0.006'
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have if 0 ... Yes (0.0606)
Checking if you have Carp 0 ... Yes (1.42)
Checking if you have Exporter 0 ... Yes (5.72)
Checking if you have parent 0 ... Yes (0.236)
Checking if you have Module::Build 0 ... Yes (0.4224)
Checking if you have strict 0 ... Yes (1.11)
Checking if you have constant 0 ... Yes (1.33)
Checking if you have Params::Classify 0 ... No
Checking if you have Test::More 0 ... Yes (1.302103))
                                                          `

Seems like you're missing "gcc" ?


Detect when command arguments are not used and do not fail silently in such cases

Consider MyConract:
function initialize(address sender)  initializer public {...}

Right now, if you call a command like:
npx zos create MyContract --init initialize 0x90f8bf6a479f320ead074411a4b0e7944ea8c9c1 --network development
zOS will report the succesful creation of a proxy for MyContract. BUT, notice that the command above is incorrect, because it lacks the --args token. The correct way would be:
npx zos create MyContract --init initialize --args 0x90f8bf6a479f320ead074411a4b0e7944ea8c9c1 --network development
Depending on what's inside the initialize function, a user could spend hours trying to find what went wrong from within Solidity... If only zOS could notice that the argument 0x90f8bf6a479f320ead074411a4b0e7944ea8c9c1 was never used and fail with an error like "Unused command token 0x90f8bf6a479f320ead074411a4b0e7944ea8c9c1" or something.
Ideally, the solution should not only apply to the creation of proxies and arguments, but whenever a command syntax has "loose elements".
Another useful thing would be to trace out what initialize was called with when verbose is enabled.
In the case of the mistake above, it would have reported:
... initilize called with parameters: 0x0...

@ajsantander does the contract have another function initialize() which receives no params, somewhere up in the inheritance chain?

Yes, MyContract is Ownable, whose initialize function receives no parameters.

Got it! I was wondering how the tx had succeeded, but it seems that the CLI picked up the other initialize. The problem is specific to what you mention then: properly handling loose args.


Add periodic variable coefficient linear advection equation

This adds a semidiscretization for the periodic variable coefficient linear advection equation.
Closes #176.

Yes, I performed some tests, e.g. with constant velocity and piecewise constant velocity (mostly because the solution is easy to verify). The solutions seemed to be reasonable. If you have a specific velocity function with corresponding reference solution in mind I'd be happy to test that, as well.

There seems to be a problem with the error-based step size controller in my setup. Using a fixed step size as in
sol = solve(ode, SSPRK104(), dt=0.8*D.Δx, adaptive=false, save_everystep=true)

works better. Then, you have a discontinuous coefficient, so any standard high-order finite difference method will result in oscillations - in particular at the periodic boundaries, where the mass is concentrated (instead of flowing out of the domain as in the nonperiodic case).
There is also a problem at the discontinuity at zero. Are you sure that your solution is correct? It does not seem to conserve the total mass $\int u$.

You can find a discussion of related issues in the paper "Accuracy of Stable, High-order Finite Difference Methods
for Hyperbolic Systems with Non-smooth Wave Speeds" (https://doi.org/10.1007/s10915-019-01088-w)

Thanks for the clarification! I expected the oscillations, but was wondering about the discontinuity at 0. I naively assumed the analytical solution would be the same for a piecewise constant coefficient as for a constant one, but you're right. It doesn't conserve the total mass.
So this is fine, I guess?

Yes. Let's go ahead and merge this PR. Thanks!

Coverage: 91.427% (+0.05%) from 91.378% when pulling 86d78844ce9c5cef6722f76ef50472baf74cb719 on JoshuaLampert:periodic-variable-linear-advection into 11e1a6ee1ae3953ab205a1bc11621c862e3a9f7a on ranocha:main.


Fix Text Label Halo/Shadowing for Pro 1.2/Runtime Quartz B2

The way the labels are currently defined are causing some inconsistent behavior between Pro and Runtime. We should recreate the TextSymbol to be simpler and less susceptible to misinterpretation.
Here is how the text symbol draws in Pro (Halo/Shadow first) and the issue we need to fix with the latest mil2525d.stylx:

From what I can tell, this was actually a pretty simple label definition fix. See Functioning label example below

Did you follow MarcO's advice to create(so compatible in runtime also)? Go ahead & share out the test stylx on box & I'll test on Runtime to see if it works both places (I still need to get you your own deployed runtime test app so you can do this)

Runtime before change (has halo):

Runtime after (no halo):

So you may have to re-review MarcO's advice on the best way to make this work in both environments

Shadowing fixed for Pro, but still not compatible with runtime, but deferring until next milestone for now

Just an update - @mbriat was helping Raj work through an issue in Runtime with the halo/outline in our stylx files. He recommends that we switch to "Enable Halo" instead of using an outline symbol for our text symbol to get a consistent behavior for these across both Pro & Runtime.
@Dbarnes1 - we'll want to make this issue the highest priority fix/change for the next set of stylx edits (this problem seems to have gotten worse and the labels aren't really usable in Runtime now since they show up as all white). This should be relatively simple to change for mil2525d (since you reduced the large number of text symbols) but mil2525c and app6b might be harder to fix.

I did not see a white outline anymore in the 2525d style installed in pro

@csmoore Just to clarify, this is now only an issue in Runtime? If so, I'll change the title of this issue so I don't get confused.

@Dbarnes1 - it is both Runtime and Pro - the issue is we would like a text shadow/halo that works in both Runtime and Pro (I know you don't have a way to test these CIM/Pro 1.2 stylxes in Runtime yet so we can also make creating a suitable Runtime test app part of this issue/task).
Of course it can also be your call whether the text halo is even needed, but I think it makes the labels look more readable, and if it is there it should work on all platforms.

Verified with https://github.com/Esri/military-features-data/pull/188


[PORT] update adaptive inputs to set inputHint = expectingInput

close: #1776
At first, LG ActivityFactory use MessageFactory.Text() to generate message activity result from LG output, but MessageFactory.Text() would inject inputhint = expectingInput  into activity, and the prompt of input relies on this feature.
Then we found there is no reason to add inputhint into pure text activity, so we removed it.
At the same time, we should update adaptive inputs to set inputHint = expectingInput whenever we are issuing a prompt or reprompt (unrecognized/ invalid prompt).

Pull Request Test Coverage Report for Build 119815

0 of 8 (0.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.02%) to 67.189%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

libraries/botbuilder-dialogs-adaptive/src/input/inputDialog.ts
0
8
0.0%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-dialogs-adaptive/src/input/inputDialog.ts
1
7.41%

Totals

Change from base Build 119752:
-0.02%

Covered Lines:
10272

Relevant Lines:
14468

💛  - Coveralls


Don't pre-package libs into browser version

Instead of 3eb6b2dc3eee0ba4644b88a5f4d2e0b701166bb5, we can also do https://github.com/defunctzombie/package-browser-field-spec#replace-specific-files---advanced

@rubensworks This did not work; I assume because @trust/webcrypto is a transitive dependency.

Hmm, that's too bad.
Perhaps it can be solved by either:

Add a browser entry to @trust/webcrypto directly. (This assume we have push-access or can PR to https://github.com/anvilresearch/webcrypto)
Or, we can create an isomorphic-webcrypto wrapper package, similar to isomorphic-fetch.

@rubensworks Very probably; however, we don't want to touch the @trust libraries for now. (They seem to have an issue on this though: https://github.com/anvilresearch/webcrypto/issues/57) Maybe I can have a look at getting rid of them altogether in favor of https://www.npmjs.com/package/isomorphic-webcrypto.

…which turns out to be just https://github.com/kevlened/isomorphic-webcrypto/blob/master/src/index.js

Oh, so that's exactly what we need then :-)
isomorphic-webcrypto seems up-to-date with @trust/webcrypto, so it should be low-effort to transition to that.


Documentation fix: change path's and clean some stuff

I change the path of the dist inside items on summary fixing broken links on documentation.
The WrapperArray test is not created, i just scratched from the list, want to create one?

👍


fix: require that c32 addresses start with S

Right now, c32addressDecode() will decode the address bP2CT665Q0JB7P39TZ7BST0QYCAQSMJWBZK8QT35J.  Given that clients of this library are expecting that this method not decode invalid Stacks addresses, this method should be fixed to require that the leading character is S.  This PR addresses this.  Context: https://github.com/blockstack/stacks-utils/issues/21

@jcnelson thanks for this. I'm curious if there is a better solution than requiring that the string start with S? Or are there any number of c32 addresses and they are all "valid" regardless of what it starts with?

So, way back in the day (Stacks 1.0), it was decided that the first letter of the address should simply be S for branding purposes.  It's entirely cosmetic.  But, the code never required this -- if you mistyped the first letter, you'd still have the same address (because the hash160 is encoded in the letters following the S).  However, upstream clients aren't expecting this.

Soooo.....can I merge this?


Add patch api in task service to update any tasks.

Is your feature request related to a problem? Please describe.
I need to update a task priority or task status or any other field for a task there is no such api exists in task service.
Describe the solution you'd like
A patch api should be there in task service to update any task.

@rahulvsf any specific reason why this was not the part the initial draft
cc- @samarpan-b @a-ganguly

@rahulvsf any specific reason why this was not the part the initial draft cc- @samarpan-b @a-ganguly

No specific reason, but we had a POST api which would move the workflow user tasks ahead through a task processor command, which would update the task in db. The whole essence of workflow is to allow for automation and let it update by itself. If the user has to patch then it should be inactive in BPMN engine (after the task has moved from active to inactive state).

@Dinu-1099 why do you wish to manually call the patch API

@Dinu-1099 why do you wish to manually call the patch API

We have a requirement to update the task priority and mark the task as complete under certain conditions. I understand that for completing the task, we have a POST API available, which can be utilized. However, for updating other fields of a task, such as in my case where I need to update the task priority based on certain conditions, we need these APIs in task service.

@samarpan-b @rahulvsf there could be cases where we are doing this as part of a command, but that command is running in different pod/service, and hence it would need a way to update the tasks through an API

Ok thanks.


Add unmanaged k8s on cs

Issue #, if available:
Description of changes:
Testing performed:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Tests were aborted.

Tests were aborted.


[wstool] Option to convert URL entries from http to git

In private repos where only ssh access is permitted, .rosinstall file entries with https don't work. Easy workaround is to duplicate .rosinstall file with entries using git, which also doubles the maintenance effort. Having http entries by itself has a benefit as some users may not bother setting ssh keys. So a good solution to this might be to add an option to automatically convert http to git.

Not ideal but adding entries below to ~/.gitconfig has been good enough for now.
[url "git@github.com:"]
        insteadOf = git://github.com/
[url "git@github.com:"]
        insteadOf = https://github.com/
[url "git@gitlab.com:"]
        insteadOf = https://gitlab.com/


chore: move scaler layout to partial directory instead

Provide a description of what has been changed
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO)

Fixes #892

cc: @chalin


Error in toc extent calculation

If a TOC entry does not have an ID, that entry an all of its descendants will be skipped when computing the extent of the TOC. However, by the time the TOC is inked in the main document, this entry will have a pdf-anchor attribute, which will cause it to be included in the TOC. As a result, the TOC extent calculation will be incorrect and it will overrun the first page of content in the body.
This is a regression introduced by f8fa537b8763253b5b0f4ae2a9ea70c966baaa16.
There is still a larger issue here, which is that entries that were not included in the extent calculation end up being included when the TOC is added to the primary document. This issue only deals with the fact that the children were excluded in the TOC extent calculation.

This issue can only be observed when the sectids attribute is turned off for parts of a document, which is not a typical usage of AsciiDoc.


Does not accept login credentials

Using Pyload in Vivaldi to access a locally hosted Pyload instance running on docker.
I have copied and pasted the url and port number to the YAPE options page however when I click login and add my credentials I constantly get a message saying 'Login failed, invalid credentials'.
These credentials work fine when I access the Pyload URL directly.
I have tried logging in and out of Pyload before entering credentials in YAPE but it makes no difference.
Default credentials of pyload/pyload do not work either (as expected).
My docker instance is using HTTP however I have tried toggling HTTPS support in YAPE too with no effect.

Hi @souperM, thank you for opening an issue !
I have updated the option page so that it gives you a feedback of your login status. Can you pull the latest version and let me know what is displayed ? The extension should use your browser session cookie so if the origin (IP, port and protocol) are correct it should work automatically.

Hi @souperM !
The store version of Yape has officially been released, it will be easier for you to check if your issue is solved. You can get it here. Let me know how it goes.


1102: $route returns consistent value across all Vue instances

Allow injecting router to discrete Vue instances and ensure the $route (getter) returns consisten value

Maintainers - not expecting for this PR to get accepted right away as I'm guessing it violates the coding standards somewhere. If feedback can be provided on what needs to be fixed for it to be accepted it'd be great.
Note - instead of going the path of trying to treat the router instance like a singleton, the simpler fix was to keep track of all the app instances and just set the private _route property on all of them. That effectively accomplishes keeping the $route value in sync across all instances.


Unattended Install Using IIS Plugin source Does Not Apply Cert To Site

Describe the bug
Issue is when i run the unattended command to create a certificate on the machine and apply it to the default website. It will not automatically apply the certificate to the binding of the website even when associating it to site 1. This is also the same when renewing. When a new certificate is loaded into the certificate store, it will not automatically replace the certificate on the bindings requiring manual intervention.
To Reproduce

Run with CMD wacs.exe  --baseuri [URI] --accepttos --emailaddress [EMAIL] --eab-key-identifier 09klka92-123415 --eab-key 09klka92 --source iis --siteid 1 --sslport 443 (Assumed you have CD to the location where win-acme is installed)
Certificate is loaded within the store, but binding appears empty

Bindings:
protocol bindingInformation            sslFlags
-------- ------------------                  --------
http     *:80:foodmenu                          None
https    *:443:foodmenu                        None

Expected behavior
Ran command wacs.exe  --baseuri [URI] --accepttos --emailaddress [EMAIL] --eab-key-identifier 09klka92-123415 --eab-key 09klka92 --source iis --siteid 1 --sslport 443 and certificate has bound to the site and hostnames within that site. At the end of the expiry, the certificate will update when the ACME scheduled task has run and re-apply the binding with the new certificate without needing manual intervention.
Log
WINACMELOGS.txt
Platform:

OS: Windows Server 2019
Version: <IP_ADDRESS>1

Additional context
No Firewall present on the host.

Your log doesn't show anything relevant to your issue as it doesn't contain the creation or renewal of the certificate. Also your reproduction steps are incomplete because we don't know which bindings exist on your website, which is kind of important.
Please also check https://www.win-acme.com/reference/plugins/installation/iis - win-acme is purposely conservative in updating bindings because IIS/http.sys is brittle especially when manipulated through its API. But it should always update all bindings that you manually link to the certificate after initial setup (e.g. if you have multiple port bindings etc.).

Hello Wouter, I have updated the binding values. Will provide the details on the cert creation shortly.

Here is my creation example:
A simple Windows ACMEv2 client (WACS)
Software version <IP_ADDRESS>1 (release, pluggable, standalone, 64-bit)
Connecting to https://acme.certhost.com/...
Connection OK!
Scheduled task not configured yet
Please report issues at https://github.com/win-acme/win-acme
Running in mode: Unattended
Source generated using plugin IIS: foodmenu
Overwriting previously created renewal

Plugin IIS generated source foodmenu
Plugin Single created 1 order
Renewing [IIS] Default Web Site, (any host)
[foodmenu] Authorizing...
[foodmenu] Authorizing using http-01 validation (SelfHosting)
[foodmenu] Authorization result: valid
Downloading certificate [IIS] Default Web Site, (any host)
Store with CertificateStore...
Installing certificate in the certificate store
Adding certificate [IIS] Default Web Site, (any host) @ 2024/7/2 in store WebHosting
The previous certificate was detected in IIS. Configure the IIS installation step to auto-update bindings.
Adding Task Scheduler entry with the following settings
- Name win-acme renew (acme.certhost.com)
- Path C:\Program Files\win-acme
- Command wacs.exe --renew --baseuri "https://acme.certhost.com/"
- Start at 09:00:00
- Random delay 04:00:00
- Time limit 02:00:00
Next renewal due after 2024/8/25
Certificate [IIS] Default Web Site, (any host) created

Ah now I see, you're missing --installation iis in your command line.

Hello WouterTinus, That Worked! Thank you very much. Would the documentation have to be updated with this example? There are 2 IIS plugins mentioned and the IIS installation does not mention that both --installation iis and --source iis need to be used together.
Otherwise thank you very much for the assistance.


How do I specify the desired filesize/type?

The extension is not found in the dropdown menu -> extensions. I can see it in the addon browser, but there is no UI that I can find. Also, the YAML file does not seem to have a clear way to specify this information.
Apologies if this is the wrong forum to answer these questions.

Thanks so much, I completely misunderstood that interface.

Thanks so much, I completely misunderstood that interface.


Introduce UidModel subclass of HasProperties

UidModel primarily exists to improve serialization. By adding a uid to all objects, they can be serialized into a flat dictionary that only contains each object once, with all references done by uid (as opposed to the nested structure of HasProperties serialization). This also allows recursive self-references to be serialized. This is based on a class written for the OMF library: https://github.com/GMSGDataExchange/omf/blob/v0.9.0/omf/base.py#L12 - see #128
HasProperties serialization:

UidModel serialization:

Codecov Report

Merging #149 into master will decrease coverage by 1.17%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master     #149      +/-   ##
==========================================
- Coverage   96.64%   95.46%   -1.18%
==========================================
  Files          14       14
  Lines        1756     1788      +32
==========================================
+ Hits         1697     1707      +10
- Misses         59       81      +22

Impacted Files
Coverage Δ

properties/__init__.py
80% <ø> (ø)
:arrow_up:

properties/base/base.py
90.11% <50%> (-8.53%)
:arrow_down:

Continue to review full report at Codecov.

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

A similar but updated implementation is found in #234


BinExport assertion fail for immediate (unexpected child expression)

like #2528, same file, different instruction.

instruction at 0x61930c.
ove
pretty complex operand:

which seems to be: sreg(3, 0, c.0, c.4, 4)
which I guess is related to system registers/MSRs: https://www.reddit.com/r/ghidra/comments/1f0tih1/can_i_teach_ghidra_arms_msrs/
Unfortunately the structure of this thing is really weird:
1: "sreg(3" is encoded as "s - r - e - g - ( 3", which is totally unexpected, since "sreg" is probably a single "term", and the parenthesis is not treated as an operator.
2: the "4)" is encoded as "4 - )" rather than using a parenthesis as an operator (see above).
This means that the immediate int "4" has a child ")" that seems to be used for rendering. It's a mess.
I guess we can relax our validation and just walk the tree as given.


address feedback from allen baum on mailing list dated oct 29, 2024

PTAL @allenjbaum

thanks @SiFiveHolland


[HUDI-5851] Improvement of data skipping, only converts expressions to evaluators once

Change Logs

Refactor ExpressionEvaluators. Split into 2 phase: convert expression to evaluators, tests whether it's possible to match based on the column stats for each evalautors.
Improve data skipping to avoid conversion from expression to evaluators frequently.

Impact
NA
Risk level (write none, low medium or high below)
NA
Documentation Update
NA
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Thanks @beyond1920  nice pr

conversion from expression to evaluators frequently

Thanks, which part do you mean for the frequency.

@danny0405 Please see FileIndex#candidateFilesInMetadataTable.
There is no need to convert filters to evaluators every time this method is executed.
BTW, the main goal of this pr is actually to refactor ExpressionEvaluators,  split into 2 phase: convert expression to evaluators, evaluate whether it's possible to match based on the column stats.


Update -fileobj.md

Are there any plans to move documentation such as for the FILE_OBJECT structure from MSDN to docs.microsoft.com?
I didn't find anything on docs, so I created a link pointing to MSDN.

Thanks @alfredmyers - we're still actively moving content from MSDN (and TechNet) to Docs, but I don't have a date I can share as to when the FILE_OBJECT page might be moved.


Switch / Close keyword improvements

[ ] Support SeleniumLibrary style Latest argument in Switch / Close keywords

Should this technically be the second to last one since the last one is current?
Add a new data structure that contains all the pages / contexts besides the stack. Stack if for tracking the usage history

[ ] Implement ALL keyword
[ ] Document the options at a single place or keyword specifically?

 Will commit the changes by the next pull request.


Handle doorsense in "init" state (should be set to false)

This is a new door state that was not previously seen when doorSense has not yet been fully configured

Thanks!


java.lang.IndexOutOfBoundsException: ... UnpooledUnsafeHeapByteBuf on server, and didn't call handleMessage()

I've tried to properly sending message from client to server for quite long time without success.
I did read document on Raknet, and saw a few sample code here of JRakNet in issues section as I cannot find it anywhere. But still I cannot make it through. I believe it might due to I didn't do it properly and correctly in the way of Raknet.
From testing, as soon as client connected and then sent message, server has the following error (but not crash)
java.lang.IndexOutOfBoundsException: readerIndex(19) + length(1) exceeds writerIndex(19): UnpooledUnsafeHeapByteBuf(ridx: 19, widx: 19, cap: 19)
	at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1413)
	at io.netty.buffer.AbstractByteBuf.readByte(AbstractByteBuf.java:687)
	at net.marfgamer.jraknet.Packet.readTriadLE(Packet.java:239)
	at net.marfgamer.jraknet.protocol.message.EncapsulatedPacket.decode(EncapsulatedPacket.java:107)
	at net.marfgamer.jraknet.protocol.message.CustomPacket.decode(CustomPacket.java:76)
	at net.marfgamer.jraknet.server.RakNetServer.handleMessage(RakNetServer.java:607)
	at net.marfgamer.jraknet.server.RakNetServerHandler.channelRead(RakNetServerHandler.java:128)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:332)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1319)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:904)
	at io.netty.channel.nio.AbstractNioMessageChannel$NioMessageUnsafe.read(AbstractNioMessageChannel.java:93)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:571)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:512)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:426)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:398)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:805)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
	at java.lang.Thread.run(Thread.java:748)

it didn't receive any message, it didn't call handleMessage(). Right after that client will be timeout.
I have the following quick testing code for both server and client.

What did I do wrong here? Please kindly point me out to the proper and correct way to send message from client to server. Thanks!
PS: Not for minecraft server, just normal server/client setup.

Problem solved.
The catch is that I need to use Reliability constants that not include ACK and RECEIPT i.e. UNRELIABLE_SEQUENCED_WITH_ACK_RECEIPT, RELIABLE_ORDERED_WITH_ACK_RECEIPT etc. But I still wonder why?

Why were you reading the documents for RakNet? Those are outdated and no longer kept up with, you need to read them for JRakNet. But this is interesting, I will look into it to make sure you weren't actually causing the glitch before closing the issue. :)

It seems that this is a JRakNet glitch, I will look into this.

@haxpor Good news, I found a solution! Indeed, it was not your fault but rather a glitch in JRakNet. While I have fixed said bug, I do regret saying that I have not yet implemented actual support for _WITH_ACK_RECEIPT reliabilites as I am not sure how to. I will implement support for it as soon as possible, thank you for reporting this bug!

Good to hear. No problem at the meantime I use those without WITH_ACK_RECEIPT. But although without such ack, if I send it with RELIABLE, I have no need and it's alright to operate with _WITH_ACK_RECEIPT if I don't do anything after another end ACK back?
On a side, could you please point me out to JRakNet documentation? I can find only simple demo code that client/server connects with each other but not send/receive any packets. I might miss something. Thank you Marf!

At the moment, I have no server to post it so I use HTML Preview, the link is in the top of the ReadMe where it says "You can also read the JavaDocs" right above the versions of RakNet supported.
About the reliabilites that end in _WITH_ACK_RECEIPT, I believe those are supposed to be used to let a server know whether or not a packet was sent or lost but I'm not sure how to implement that functionality, however this should not cause a glitch when sending packets. The glitch was being caused due to incorrect bitshifting causing ID's like -1 to be returned when being decoded, resulting in an ArrayIndexOutOfBoundsException due to the length of the packet being incorrectly decoding or a NullPointerException due to the ID not being used by any of the reliabilites.
I'm not sure what you're asking about the RELIABLE reliability, are you asking if it's safe to not use _WITH_ACK_RECEIPT and not check if the packet was sent? If that is the case, then yes. Here, I will list out how each Reliability behaves for packets and I will also include these definitions in the documentation later before release :)

Reliabiities

UNRELIABLE: The packet will be sent, however there is no guarantee it will even come in.
UNRELIABLE_SEQUENCED: Same as UNRELIABLE, however it will not be handled if a newer packet with this reliability on the channel has already been received.
RELIABLE: Guarantees the packet will be sent at some point
RELIABLE_SEQUENCED: Same as RELIABLE, however it will not be handled if a newer packet with this reliability on the channel has already been received
RELIABLE_ORDERED: Same as RELIABLE, however it will not be handled until every packet in the channel has been sent and they can be handled in the order they were sent. This is why there is no UNRELIABLE_ORDERED, as if it were UNRELIABLE to whole channel would stop working if even one of the packets got lost and the slot could not be filled.
UNRELIABLE_WITH_ACK_RECEIPT: Same as UNRELIABLE, however I am unsure how ACK Receipts work, so am unable to say what the _WITH_ACK_RECEIPT is responsible for.
RELIABLE_WITH_ACK_RECEIPT: Same as RELIABLE, however I am unsure of how ACK receipts work, so I am unable to say what the _WITH_ACK_RECEIPT is responsible for.
RELIABLE_ORDERED_WITH_ACK_RECEIPT:

Same as RELIABLE, however I am unsure of how ACK receipts work, so I am unable to say what the _WITH_ACK_RECEIPT is responsible for.

So since I am unsure of how to do implement the _WITH_ACK_RECEIPT functionality, I would suggest you stay away from those 3 reliabilites. :)

Thank you for detailed answer for how this stuff works! Also I did indeed miss your example code there in Javadocs although I clearly saw the link at the top of README, I thought it's just API Doc only for reference which normally doesn't include example code. But after I clearly look at it, I saw example package then it leads me to browsing through JRakNet's codebase locally. Thanks for that in pointing me out in the right direction.
Also clearer for me now for Reliabilities. 👍

@MarfGamer Just to be clear, is 8f6f134 fixed this issue?

@haxpor It is fixed but the verison with the fix has not yet been released. I will release it as soon as possible. However, the actual _WITH_ACK_RELIABILITY functionality has not yet been implemented. I will make a TODO issue now.

@haxpor Good news! I have implemented the _WITH_ACK_RECEIPT functionality that originally caused this glitch :)
An example of how to use it can be found in the RakNetServerSession class. In order to use it properly, cache the EncapsulatedPacket that was returned when you sent the packet using the sendMessage() method. Next, in the onAcknowledge() method, compare the record with the record found in the cached Encapsulated packet (the variable name for it is ackRecord). If you are sending an unreliable packet that requires an ack receipt, there is also the possibility that it will be lost. If you want to see if it's lost, just do the same but change the method name from onAcknowledge() to onNotAcknowledge() which has all of the same parameters and behavior with the exception that it's letting you that a packet was lost instead of received.

Thank you for great work @MarfGamer . Noted. I'll try it out.


flask-ext-catkin: 0.1.0-1 in 'indigo/distribution.yaml' [bloom]

Increasing version of package(s) in repository flask-ext-catkin to 0.1.0-1:

upstream repository: https://github.com/asmodehn/flask-ext-catkin.git
release repository: https://github.com/yujinrobot-release/flask-ext-catkin-release.git
distro file: indigo/distribution.yaml
bloom version: 0.5.20
previous version for package: 0.1.0-0

I will close this due to lack of response and since it is not mergable with the current master anymore. Please feel free to create a new PR.


Add Nether Star Shards

Nether Star shards will replace skull drop.
8 shards + 1 nether star can be crafted in two Nether Stars (the original one and the new one)
Chance for dropping:
+2% for each wither killed up to 50% to drop a shard (killed_wither_times / 2 + 1, up to 9 times possible shards drop). That means that at 10 withers killed the wither will have 50% to drop a shard, another 50% chance to drop a second one, another 50% to drop a third one, etc. up to 6 shards.

Closed with 761855e


update style.css to fix images spilling over page

Closes #371.
#root img { is at the top for minimum specificity, allowing it to be overridden.

Thanks for the contribution, but this was fixed by #408 already :-)


Support to install atest in Docker and Kubernetes

atest could install as a Linux or macOS service according to the OS until v0.0.12. See also the following output. See the code lines of this sub-command
# atest service
Error: not support action: ''
Usage:
  atest service [flags]

Aliases:
  service, s

Flags:
  -a, --action string        The action of service, support actions: install, start, stop, restart, status
  -h, --help                 help for service
      --script-path string   The service script file path

atest could run in Docker or Kubernetes as well. So, it's good to support installing in Docker and Kubernetes. You could find the Kubernetes manifest files.
In order to specify the target environment, we could add a new flag --target. For example:
atest service install --target (os | docker | kubernetes)
Considering the compatibility, we could make the default value of --target to be os.

Hi, I'm a learner of go language and full stack and I'm interested in this repo, so I'd like to start with this GOOD FIRST ISSUE, what I can understand is: you need me to add download options for linux and docker. But how do I add them? I was starting to think it should be added in a file like make.sh, but I realized I didn't find anything like that.

First, I need to say sorry about this issue. Consider this feature can be independent. I already moved it to a new repository go-service. Please go ahead if this situation does not bother you.
As you can see from the following document. There are multiple ways to install atest. For example:

Linux, Windows, macOS service
Run as a single container or docker-compose
Run in Kubernetes as helm chart or other ways

https://linuxsuren.github.io/api-testing/#installation
So I'm thinking about how to make it easier. For instance, we can install it like: atest service --target kubernetes --source oci://docker.io/surenpi/api-testing --source-opt key=value. Hopefully, it's clear enough for you.
Finally, I guess this issue relates to two repositories.


TB Management - initial & subsequent encounters

Diagnosis activity appears only at initial.
Medication activity:

Prescribed medications task only appears in initial.
At initial encounter at first only Prescribed medications task appears. When completed, other 2 tasks should appear

Symptom review activity appears only at subsequent encounters.

QA Review
Checked and approved:

Medication activity logic was confirmed in report here:
https://github.com/TIP-Global-Health/eheza-app/issues/1002#issuecomment-1985571284

Prescribed medication doesn't display at subsequent encounters.

Symtptom review icon displays only at subsequent encounter.


Issue with team tag and repo creation in application

the application creation does still mess with the pteam team tag when multi repo are created, and sometimes the JAVA tag get associated when sending a multi rule

Bug on the yaml file


Make use of polling functionality in 16-ev3dev kernel

Kernel Release Cycle 16 restores support for polling the status attribute of the tacho motor class for EV3 (see ev3dev/ev3dev.github.io#284). This may be used to wait for changes in motor state efficiently, so we should provide an interface for this feature.

Something like
motor.wait_while('running') # wait while `'running'` is in the motor's `state`.
motor.wait_until('holding') # wait until `'holding'` is in the motor's state

should be doable.

Keep in mind that we'll need to account for race conditions. I don't believe we're guaranteed that the state will change to "running" immediately.

I am not sure I understand. I was thinking of something along these lines:
class Motor:

  def wait(self, is_done):
    while True:
      wait_for_polling_event()
      if is_done(self.state): break

  def wait_while(self, s):
    self.wait(lambda state: return s not in state)

Would that be more error prone that what we have to do currently (while 'running' in m.state: sleep(0.01))? Or do you say that polling event could come later that that state has actually changed?

No, it's not more error-prone than the loops we currently use; however now that we are building it into the library itself we need to make sure it's not going to fail on edge cases.


⚠ Secret Website 2 has degraded performance

In af66014, Secret Website 2 ($SECRET_WEBSITE_2) experienced degraded performance:

HTTP code: 200
Response time: 4019 ms

Resolved: Secret Website 2 performance has improved in abe34b7.