Parameter ocean_level was not passed to platec.

I took a look into the problem of the inability to create oceans with differing depths.
According to the following comment from https://github.com/Mindwerks/plate-tectonics/blob/master/src/lithosphere.cpp
// Find the actual value in height map that produces the continent-sea ratio defined be "sea_level".
I assume that said sea_level is indeed what is responsible for the depth of the ocean and hence isomorphic to the variable ocean_level used in https://github.com/Mindwerks/worldengine/blob/master/worldengine/plates.py
That variable, however, was not passed to generate_plates_simulation() and thus not to platec (line 42 of the commit).
I am still unable to run the worldengines source-code, therefore I cannot guarantee that this fixes the problem described here:
https://github.com/Mindwerks/worldengine/issues/114
https://github.com/Mindwerks/worldengine/issues/116
At the very least this looks like a sensible change and one that is simple enough to not cause problems.
This is my very first pull request. Feedback on its style is appreciated.

One thing left to mention:
I renamed the parameter "sea_level" in the Python code to make it consistent. That might be considered bad style, though.

Looks like the smoke-test went up in flames.
======================================================================
ERROR: test_smoke_full (tests.cli_test.TestCLI)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/build/Mindwerks/worldengine/tests/cli_test.py", line 61, in test_smoke_full
    raise e
RuntimeError: maximum recursion depth exceeded in cmp

Why did you just rename the sea_level variable to ocean_level?
Why did you set the default value to 1.0?

I renamed the variable for the sake of consistency. The same goes for the default value - ocean_level is handed down through half a dozen functions, all of which default to 1.0, and as long as it is set anywhere along that chain the final default value will not have an influence anyway.
@psi29a I noticed that your commit didn't pass that final check at first - is there any trick to apply?

I now understand. sea_level refers to the ratio of the surface-areas of land and sea. Terribly named variable.
What exactly does ocean_level refer to and, if it is something different, how to translate it to sea_level?

What do you mean, my commit? This is your commit. :)
I suggest running the tests on your machine locally until you find out what the problem is and fix it. It is what we do and why we have tests to begin with. Unless of course, the test is faulty somehow. ;)

@ftomassetti this is your field, what does ocean_level mean and how does it relate to sea_level?

I think I know what the problem is:
So:
ocean_level as used in the worldengine-code refers to some height relative to the geometry of the world. (Which is a bit problematic since the meaning of a value of "1.0" is seems mysterious.)
sea_level refers to the amount of surface covered by oceans, and that is how platec uses it.
The two are very similar, and there actually is a method in simulations/basic.py that could probably be used for mapping one to the other.
Which course of action would be the better one now: Completely eliminating ocean_levels meaning in favour of the sea_level one (new name: e.g. ocean_coverage), or mapping ocean_level to sea_level when communicating with platec? The latter way seems really difficult to implement, the first one should come with renaming a variable, which might be bad.

Normally, 0.0 means the lowest possible float point (when dealing with positive numbers) and 1.0 is the highest possible value. So basically the heightmap is made of floating points between 0.0 and 1.0
so a sea-level of 1.0 would mean that everything is sea! :)

I would have expected something like "1.0 refers to an ocean level that is 1 meter above the lowest point of geometry". That would allow for an ocean that covers the whole planet (and even goes above the highest mountains).
I am now looking into replacing ocean_level with sea_level. (And into virtualenv, thank you. :) )

Sadly we can't deal in infinity (positive and negative), so we deal with 0.0 to 1.0 which is actually common practice in random number generation (and by extension security/cryptography).
Here (and in most other terrain generation applications) would 0.0 be the equivalent to Mariana Trench and 1.0 would be Everest's summit.
https://en.wikipedia.org/wiki/Diamond-square_algorithm <-- easy to implement using positive real numbers 0.0 >= X >= 1.1

I will remove this pull request as soon as possible. For now I think it is useful as a reference for me (and maybe for others to read).

The CI build failed again due to a problem comparing floats. Maybe this is a case for assertAlmostEqual() ?

From what I recall there is one value passed to plate-tectonics and it is the value it attributes to sea-level while performing the simulation. I think that the sea-level affects the erosion calculated during plate-tectonics and how the clashes between plates are handled.
Then there is the value we used during normalization: we cover with water the required percentage of the world. Note that we start from the lowest point in the world and we grow the oceans until we have covered enough space. This approach permits to have depressions (land with elevation inferior to the sea level). During the plate-tectonics simulation instead what is below the sea level is just ocean.
To get a more precise answer I think we should dig into the plate-tectonics code.
About breaking the deterministic result: that is ok, some changes affect the final result. In these case I look at the result, decide if it is good enough and use it as a new reference. Depending on the tests that is broken you could have to generate new "blessed images" (see https://github.com/Mindwerks/worldengine/blob/master/tests/blessed_images/generated_blessed_images.py)

The deterministicness is broken in a bad way: When using the same seed twice, the results differ wildly. I am currently trying to trace the seed-value and see where this might happen. Should I figure out the problem, I will update this patch and reopen it.

I would love to see 'blessed images'  be smaller in size... because it takes so long on Travis to test.  If that is undesirable, we can just not run that particular test during CI and only when manually running the test-suite.

We could reduce a bit the blessed images but the larger they are the most probable it is that we cover all the possible weird situations that can happen. Of course we could write more unit tests and reduce the need for this sort of functional test.

I think this branch is almost finished. Here some images - 95% ocean, 65% ocean and 30% ocean, in that order:

The worlds all used the seed 7049 but they seem quite different - as far as I understand things this should be platecs doing (otherwise the geometry should be the same and the following steps would differ, right?).
The only thing that is missing is a small fix to one of the test-files (comparing serialized and original ocean_level float currently gives an error due to floating point imprecisions). Since I for sure modified that file in the perf_opt-branch I don't know if I can make changes to it here (I think git would consider the changes a conflict).

Why did you delete and recreate the branch?
You can just do what I suggested:
git rebase -i master

At some point I did git fetch upstream to get the latest changes to master and I wasn't able to push the ocean-branch afterwards. At that point I thought that it might not be useful anyway and... well, I think it is too late for a rebase.
I did use your suggestion for the accidentally committed World_pb2.py, though. It worked and I will remember it for next time. Sorry if my commits are a bit messy at the moment, I only ever used git for private projects so there were a lot less cables to stumble over.

You're doing fine! :)
Great work!


cannot run hello-param.cwl unless --non-strict

What's going on with --strict mode, please? Please find my example below
When --restrict is on by default
$ cwl-runner  hello-param.cwl#main params.json

/home/zxue/trial_learning/trial_cwl/venv/bin/cwl-runner 1.0.20160316204054
Tool definition failed validation:
Validation error in object file:///home/zxue/trial_learning/trial_cwl/workflows/workflows/hello/hello-param.cwl#main
  Could not validate as `CommandLineTool` because
    could not validate field `outputs` because
      At position 0
        could not validate field `source` because it is not recognized and strict is True, valid fields are: secondaryFiles, format, streamable, type, label, description, id, outputBinding

    missing required field `baseCommand`
    could not validate field `steps` because it is not recognized and strict is True, valid fields are: id, inputs, outputs, requirements, hints, label, description, cwlVersion, class, baseCommand, arguments, stdin, stdout, successCodes, temporaryFailCodes, permanentFailCodes
  Could not validate as `Workflow` because
    could not validate field `steps` because
      the value `[{'id': 'file:///home/zxue/trial_learning/trial_cwl/workflows/workflows/hello/hello-param.cwl#step0',
        'inputs': [{'id': 'file:///home/zxue/trial_learning/tria[...]`
       is not a valid type in the union, expected one of:
      - array of <WorkflowStep>, but
         At position 0
          could not validate field `outputs` because
            At position 0
              could not validate field `defaul` because it is not recognized and strict is True, valid fields are: id
  Could not validate as `SaladEnumSchema` because
    missing required field `type`
    missing required field `symbols`
    could not validate field `inputs` because it is not recognized and strict is True, valid fields are: type, symbols, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, extends
    could not validate field `steps` because it is not recognized and strict is True, valid fields are: type, symbols, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, extends
    could not validate field `description` because it is not recognized and strict is True, valid fields are: type, symbols, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, extends
    could not validate field `outputs` because it is not recognized and strict is True, valid fields are: type, symbols, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, extends
    could not validate field `requirements` because it is not recognized and strict is True, valid fields are: type, symbols, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, extends
    could not validate field `class` because it is not recognized and strict is True, valid fields are: type, symbols, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, extends
    could not validate field `label` because it is not recognized and strict is True, valid fields are: type, symbols, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, extends
  Could not validate as `Documentation` because
    missing required field `name`
    missing required field `type`
    could not validate field `inputs` because it is not recognized and strict is True, valid fields are: name, doc, docParent, docChild, docAfter, type
    could not validate field `steps` because it is not recognized and strict is True, valid fields are: name, doc, docParent, docChild, docAfter, type
    could not validate field `description` because it is not recognized and strict is True, valid fields are: name, doc, docParent, docChild, docAfter, type
    could not validate field `outputs` because it is not recognized and strict is True, valid fields are: name, doc, docParent, docChild, docAfter, type
    could not validate field `requirements` because it is not recognized and strict is True, valid fields are: name, doc, docParent, docChild, docAfter, type
    could not validate field `class` because it is not recognized and strict is True, valid fields are: name, doc, docParent, docChild, docAfter, type
    could not validate field `label` because it is not recognized and strict is True, valid fields are: name, doc, docParent, docChild, docAfter, type
  Could not validate as `ExpressionTool` because
    could not validate field `outputs` because
      At position 0
        could not validate field `source` because it is not recognized and strict is True, valid fields are: secondaryFiles, format, streamable, type, label, description, id, outputBinding

    missing required field `expression`
    could not validate field `steps` because it is not recognized and strict is True, valid fields are: id, inputs, outputs, requirements, hints, label, description, cwlVersion, class, expression
  Could not validate as `SaladRecordSchema` because
    missing required field `name`
    missing required field `type`
    could not validate field `inputs` because it is not recognized and strict is True, valid fields are: name, type, fields, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, abstract, extends, specialize
    could not validate field `steps` because it is not recognized and strict is True, valid fields are: name, type, fields, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, abstract, extends, specialize
    could not validate field `description` because it is not recognized and strict is True, valid fields are: name, type, fields, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, abstract, extends, specialize
    could not validate field `outputs` because it is not recognized and strict is True, valid fields are: name, type, fields, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, abstract, extends, specialize
    could not validate field `requirements` because it is not recognized and strict is True, valid fields are: name, type, fields, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, abstract, extends, specialize
    could not validate field `class` because it is not recognized and strict is True, valid fields are: name, type, fields, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, abstract, extends, specialize
    could not validate field `label` because it is not recognized and strict is True, valid fields are: name, type, fields, doc, docParent, docChild, docAfter, jsonldPredicate, documentRoot, abstract, extends, specialize

Turn off --strict with --non-strict
$ cwl-runner --non-strict  hello-param.cwl#main params.json

/home/zxue/trial_learning/trial_cwl/venv/bin/cwl-runner 1.0.20160316204054
[job step0] /tmp/tmpotbWy_$ echo -n -e 'Hello, CWL !
Hello World !' > /tmp/tmpotbWy_/useroutput.txt
[step step0] completion status is success
[workflow main] outdir is /home/zxue/trial_learning/trial_cwl/workflows/workflows/hello
Final process status is success
{
    "output": {
        "path": "/home/zxue/trial_learning/trial_cwl/workflows/workflows/hello/useroutput.txt",
        "checksum": "sha1$e8bb28df025c10299db8e73281fbf96d402a1bc0",
        "class": "File",
        "size": 26
    }
}

Hello @zyxue ,
Thank you for your report. This will be fixed in https://github.com/common-workflow-language/workflows/pull/70


Dataset

Great work! Thank you so much for your contribution.
Could you  please provide the enhanced dataset for research?

Hello, My research group does not allow the final sample data to circulate, so I can only provide your relevant data enhancement python code. You can use it as a reference.:
import imageio
import numpy as np
import imgaug as ia
import imgaug.augmenters as iaa
import os
import cv2
def makedir(path):
os.makedirs(path) if not os.path.exists(path) else None
a1 = iaa.Affine(rotate=(-90, 90))  # 旋转±90度之间
水平镜面翻转
a2 = iaa.Fliplr(p=1, name=None,  deterministic="deprecated", random_state=None)
上下镜面翻装
a3 = iaa.Flipud(p=1, name=None,  deterministic="deprecated", random_state=None)
随机裁剪图像
a4 = iaa.Crop(percent=(0, 0.2))
将图像中所有像素与特定值相乘，从而使图像更暗或更亮。
a5 = iaa.Multiply(mul=(0.4, 1.6), per_channel=False, name=None,  deterministic="deprecated", random_state=None)
高斯模糊
a6 = iaa.GaussianBlur(sigma=(0, 7.0), name=None,  deterministic="deprecated", random_state=None)
调整图像饱和度
a7 = iaa.imgcorruptlike.Saturate(severity=3)
'''
sigma: 高斯变换的标准差。可为float, float tuple。常见的有0,不扰动。3,强扰动。
'''
a8 = iaa.GaussianBlur(sigma=(3.0, 7.0), name=None,  deterministic="deprecated", random_state=None)
a9 = iaa.imgcorruptlike.Brightness(severity=2)
图像锐化：补偿图像的轮廓，增强图像的边缘及灰度跳变的部分，使图像变得清晰
a10 = iaa.Sharpen(alpha=(0, 1.0), lightness=(0.75, 1.5))
定义的一系列变换每次选择一个应用于图像
seq = iaa.OneOf([
a1,
a2,
a3,
a4,
a5,
a6,
a7,
a8,
a9,
a10
])
Target_Image_folder = "res/JPEG/"
Target_label_folder = "res/PNG/"
makedir(Target_Image_folder)
makedir(Target_label_folder)
读取图片和标签文件，并转换为numpy数组
image_folder = "VOC2007/JPEGImages/"
label_folder = "VOC2007/SegmentationClass/"
image_file_list = os.listdir(image_folder)
"""
test
"""
image = imageio.imread(os.path.join(image_folder, "img22.jpg"))
label = imageio.imread(os.path.join(label_folder, "img22.png"))
images_aug, labels_aug = a1(images=[image], segmentation_maps=[label])
imageio.imwrite(os.path.join(Target_Image_folder, "img22_aug_a1.jpg"), images_aug[0])
imageio.imwrite(os.path.join(Target_label_folder, "img22_aug_a1.png") , labels_aug[0])
for i in range(len(image_file_list)):
if os.path.basename(os.path.join(image_folder, image_file_list[i]))== ".DS_Store":
continue
image = imageio.imread(os.path.join(image_folder, image_file_list[i]))
number = os.path.splitext(image_file_list[i])[0]
label_name = number + ".png"
label = imageio.imread(os.path.join(label_folder, label_name))
image = np.array(image)
label = np.array(label)
# 对图片和标签进行批量增强，并保存到指定的路径
images_aug, labels_aug = seq(images=[image], segmentation_maps=[label])
imageio.imwrite(os.path.join(Target_Image_folder, "img%d.jpg" % (i + 2897,)), images_aug[0])
imageio.imwrite(os.path.join(Target_label_folder, "img%d.png" % (i + 2897,)), labels_aug[0])

If there is no other problem, I will turn off the issue.
If you are interested in my research, you can star my “FastSeggFormer” repository , and you are also welcome to cite my paper.

Great work! Thank you so much for your contribution. Could you please provide the enhanced dataset for research?

The original 1.5k data set has been provided in the repository. You can obtain the enhanced dataset according to the original data set and data enhancement python code.
dataset url：https://github.com/caixiongjiang/FastSegFormer/releases/download/v1.0.0/Orange_Navel_1.5k.zip

Thanks! I have already got it.
---Original---
From: "Jarson @.>
Date: Sat, Jun 29, 2024 00:37 AM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [caixiongjiang/FastSegFormer] Dataset (Issue #1)
Great work! Thank you so much for your contribution. Could you please provide the enhanced dataset for research?
The original 1.5k dataset has been provided in the repository. You can obtain the enhanced dataset according to the original data set and data enhancement python code.
dataset url：https://github.com/caixiongjiang/FastSegFormer/releases/download/v1.0.0/Orange_Navel_1.5k.zip
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Unable to launch

Selected game from my NAS. The following screen shows up. The game does not launch

(Very interested in deploying this locally on my home server for friends and family using docker.)

This app is still a work in progress


CSS, JS not combing & Images are not rewriting

Hi,
I'm very new to this pagespeed game and I do admit that I do not have much experience with it. I've recently moved my site to a nginx vps and asked my host to install page-speed in it, so he did. But even after reading most google pagespeed docs, and adding various filters in my pagespeed.conf, when I look at the source code of my site, I do see some pagespeed features are working but most things are not working, like css/js combination, image rewrite, webp rewrite etc. though I have all the proper filters set on my config.
I have posted this issue to my host but I don't think they have much intensive pagespeed knowledge either. That is why you guys are my last beacon of hope. I know it is annoying to help out a noob, but please do if you can. Also I may not have much server config knowledge but I'm not a total noob that I can vouch for.
Anyways here is my website link: https://www.isaumya.com (running on wordpress)
Here is the pagespeed admin console link: http://vps.isaumya.com/pagespeed_admin/
Here is my pagespeed.conf settings:
pagespeed on;

#######################################################
# File cache settings
######################################
# needs to exist and be writable by nginx

 pagespeed FileCacheSizeKb          102400;
 pagespeed FileCacheCleanIntervalMs 3600000;
 pagespeed FileCacheInodeLimit      500000;

######################################################
# Mapping domain for HTTPS & Enabling HTTPS Fetch
######################################################

 #pagespeed MapOriginDomain "http://<IP_ADDRESS>" "https://www.isaumya.com";

#######################################################
# By default, ngx_pagespeed adds an X-PageSpeed header with a value of the version of
# ngx_pagespeed being used. This directive lets you specify the value to use instead:
# pagespeed XHeaderValue "ngx_pagespeed";

#######################################################
# let's speed up PageSpeed by storing it in the super duper fast memcached
# Ensure Memcached server installed http://centminmod.com/memcached.html
# default install for centmin mod is on port 11211, so localhost:11211 is correct
# uncomment - remove hash # in front of below 2 lines to enable
# timeout set at 100 milliseconds
#  pagespeed MemcachedThreads 1;
#  pagespeed MemcachedServers "localhost:11211";
#  pagespeed MemcachedTimeoutUs 100000;

#######################################################
## https://developers.google.com/speed/pagespeed/module/admin#virtual-hosts-and-stats
######################################
# pagespeed UsePerVhostStatistics on;

#######################################################
## <IP_ADDRESS> beta defaults
######################################
pagespeed PreserveUrlRelativity on;
pagespeed MaxCombinedCssBytes -1;
pagespeed ImageResolutionLimitBytes 16777216;
# pagespeed EnableFilters inline_google_font_css;

#######################################################
## <IP_ADDRESS> beta defaults
######################################
pagespeed AvoidRenamingIntrospectiveJavascript on;
pagespeed ImageInlineMaxBytes 3072;
pagespeed CssImageInlineMaxBytes 0;
pagespeed MaxInlinedPreviewImagesIndex -1;
pagespeed MinImageSizeLowResolutionBytes 3072;

#######################################################
## ngx_pagespeed filters settings below ##
######################################

  # show half the users an optimized site, half the regular site
  # change UA-XXXXXXXXXX-1 to your GA unique id
  # uncomment - remove hash # in front of below 5 lines to enable
#  pagespeed RunExperiment on;
#  pagespeed AnalyticsID UA-XXXXXXXXXX-1;
#  pagespeed ExperimentVariable 1;
#  pagespeed ExperimentSpec "id=1;percent=50;level=CoreFilters;enabled=collapse_whitespace,remove_comments;";
#  pagespeed ExperimentSpec "id=2;percent=50";

  # Filter settings
  # filters outlined at http://ngxpagespeed.com/ngx_pagespeed_example/
  pagespeed RewriteLevel CoreFilters;
  pagespeed EnableFilters collapse_whitespace,remove_comments;

  # make_google_analytics_async
  # https://developers.google.com/speed/docs/mod_pagespeed/filter-make-google-analytics-async
  pagespeed EnableFilters make_google_analytics_async;

  # make_show_ads_async
  # https://developers.google.com/speed/pagespeed/module/filter-make-show-ads-async
  pagespeed EnableFilters make_show_ads_async;

  # responsive_images, responsive_images_zoom
  # https://developers.google.com/speed/pagespeed/module/filter-image-responsive
  pagespeed EnableFilters responsive_images;
  pagespeed EnableFilters responsive_images_zoom;

  # convert_to_webp_animated
  # https://developers.google.com/speed/pagespeed/module/filter-image-optimize#convert_to_webp_animated
  pagespeed EnableFilters convert_to_webp_animated;

  # inline_google_font_css
  # https://developers.google.com/speed/pagespeed/module/filter-css-inline-google-fonts
  pagespeed EnableFilters inline_google_font_css;
  # require FetchHttps if using https site
   pagespeed FetchHttps enable;

  # inline_css
  # https://developers.google.com/speed/pagespeed/module/filter-css-inline
#   pagespeed EnableFilters inline_css;
#   pagespeed CssInlineMaxBytes 2048;

  # prioritize_critical_css
  # https://developers.google.com/speed/docs/mod_pagespeed/filter-prioritize-critical-css
   pagespeed EnableFilters prioritize_critical_css;

  # move_css_to_head
  # https://developers.google.com/speed/docs/mod_pagespeed/filter-css-to-head
  pagespeed EnableFilters move_css_to_head;

  # move_css_above_scripts
  # https://developers.google.com/speed/docs/mod_pagespeed/filter-css-above-scripts
  pagespeed EnableFilters move_css_above_scripts;

  # combine_css
  # https://developers.google.com/speed/docs/mod_pagespeed/filter-css-combine
  pagespeed EnableFilters combine_css;

   # Uncomment this if you want to prevent mod_pagespeed from combining files
   # (e.g. CSS files) across paths
   #
#  pagespeed CombineAcrossPaths off;

  # combine_javascript
  # https://developers.google.com/speed/docs/mod_pagespeed/filter-js-combine
  pagespeed EnableFilters combine_javascript;
  pagespeed MaxCombinedJsBytes 122900;

  # extend_cache
  # https://developers.google.com/speed/docs/mod_pagespeed/filter-cache-extend
  pagespeed EnableFilters extend_cache;

  # rewrite_css
  # https://developers.google.com/speed/docs/mod_pagespeed/filter-css-rewrite
  pagespeed EnableFilters rewrite_css;

  # rewrite_javascript
  # https://developers.google.com/speed/docs/mod_pagespeed/filter-js-minify
  pagespeed EnableFilters rewrite_javascript;

  # inline_preview_images
  # https://developers.google.com/speed/pagespeed/module/filter-inline-preview-images
  pagespeed EnableFilters inline_preview_images;

  # lazyload_images
  # https://developers.google.com/speed/docs/mod_pagespeed/filter-lazyload-images
  pagespeed EnableFilters lazyload_images;

  # rewrite_images
  # https://developers.google.com/speed/docs/mod_pagespeed/filter-image-optimize
  pagespeed EnableFilters rewrite_images;
  pagespeed EnableFilters inline_images;
  pagespeed EnableFilters recompress_images;
  pagespeed EnableFilters jpeg_subsampling;
  pagespeed EnableFilters convert_png_to_jpeg;
  pagespeed EnableFilters resize_images;
  pagespeed EnableFilters convert_jpeg_to_webp;
  pagespeed EnableFilters convert_to_webp_lossless;
#   pagespeed EnableFilters insert_image_dimensions;
#   pagespeed DisableFilters rewrite_images;
#   pagespeed DisableFilters recompress_images;
#   pagespeed DisableFilters convert_png_to_jpeg;
#   pagespeed DisableFilters extend_cache_images;
#   pagespeed EnableFilters convert_png_to_jpeg;
#  pagespeed EnableFilters convert_jpeg_to_webp;
#  pagespeed EnableFilters convert_to_webp_lossless;

  # sprite_images
  # https://developers.google.com/speed/docs/mod_pagespeed/filter-image-sprite
 pagespeed EnableFilters rewrite_css,sprite_images;

  # insert_dns_prefetch
  # https://developers.google.com/speed/docs/mod_pagespeed/filter-insert-dns-prefetch
  pagespeed EnableFilters insert_dns_prefetch;

  # InPlaceResourceOptimization
  # https://developers.google.com/speed/pagespeed/module/system#ipro
  # Enabled by default as of <IP_ADDRESS>
  pagespeed InPlaceResourceOptimization off;
#######################################################

Now even after having all these filters in my config I still don't know why the js is not combining, why css is not combining and why pagespeed is not showing it's magic on the images.
I've shared all these things with you guys so that any of you can take a look and let me know what is wrong with my config that is making all these issues. Also if you guys think I should add any more filters in my config to make my site faster.
Thanks in advance.

Via
curl -H "PageSpeedFilters: +debug" https://www.isaumya.com/

I see a lot of these comments from pagespeed, which explains why there's almost no optimization going on:
...
<!--4xx status code, preventing rewriting of https://www.isaumya.com/wp-content/plugins/array-toolkit/includes/css/social-style.css-->
<!--4xx status code, preventing rewriting of https://www.isaumya.com/wp-content/plugins/array-toolkit/includes/css/social-style.css-->
...

It  looks like pagespeed is not able to fetch files from your server and receives 404 responses.
Do you see requests in the access logs from a user-agent that mentions pagespeed? I see you commented MapOriginDomain,  I think mapping https->http fails because http redirects to https on your website.
First, could you try what happens when you add this?:
pagespeed Domain "https://www.isaumya.com";

That explicitly authorizes fetching from your domain and should bypass the loopback fetching that is used by default.
If that does not work you could consider configuring pagespeed to load files from disk using LoadFromFile, which has an additional benefit which is that changes to the original files will trigger re-optimization immediately:
https://developers.google.com/speed/pagespeed/module/domains#ModPagespeedLoadFromFile
As you are running https this is also relevant:
https://developers.google.com/speed/pagespeed/module/https_support

Hi @oschaaf,
Thanks for your reply. I have no idea why it is getting 404 on the css files. If you open the the css path, you can clearly see the files exists
Also I disabled pagespeed MapOriginDomain "http://<IP_ADDRESS>" "https://www.isaumya.com"; is because after adding it, nothing was changed. Now I've added the pagespeed Domain too but still nothings happening. The reason I dont wanna fetch files from disk is because in this server I also have some subdomains and I don't juts want to run pagesped on the root domain but for the subdomains too.
Can you please check now and let me know what should I do next?

pagespeed MapOriginDomain "http://<IP_ADDRESS>" "https://www.isaumya.com";

Fetching from http://<IP_ADDRESS> would not work, because that lands on the default host for the server.
But even when you would correct that, the http://www.isaumya.com cannot be used to fetch from as it redirects all requests to https. PageSpeed's fetcher will not be able to understand and follow these redirects(yet).
So it's either setting up LoadFromFile or debugging the SSL fetch failures. serf_fetch_cert_errors on http://vps.isaumya.com/pagespeed_global_admin/statistics is incrementing. Could you read https://developers.google.com/speed/pagespeed/module/https_support#configuring-ssl-certificates and see if that is set up ok on your machine?

You are right. After doing this following pagespeed is working fine in both my main doamin with ssl and the subdomains. All features are working quite fine.
# pagespeed MapOriginDomain "http://www.isaumya.com" "https://www.isaumya.com";
 pagespeed LoadFromFile "https://www.isaumya.com" "/home/nginx/domains/isaumya.com/public/";
 pagespeed Domain https://www.isaumya.com;
 pagespeed Domain *.isaumya.com;

But I do see some anomalies. Like in my website the images that are used within srcset are not getting rewrited or changed to webp. Also at the footer of the website the image I have of Bigscoots it is also showing in png instead of webp.
Any idea why?
Thanks a ton for your help.

@isaumya Great to hear on your progress - but:
Please take a good look at https://developers.google.com/speed/pagespeed/module/domains#risks and restrict what gets loaded via LoadFromFile. You want to make sure only static files can be loaded in this manner.
E.g. I would suggest doing something like:
pagespeed LoadFromFileMatch "^https?://www.isaumya.com/" "/home/nginx/domains/isaumya.com/public/";
pagespeed LoadFromFileRuleMatch disallow .*;
pagespeed LoadFromFileRuleMatch allow \.css$;
pagespeed LoadFromFileRuleMatch allow \.jpe?g$;
pagespeed LoadFromFileRuleMatch allow \.png$;
pagespeed LoadFromFileRuleMatch allow \.gif$;
pagespeed LoadFromFileRuleMatch allow \.js$;
# add more extensions of you need them

# I don't think you need these when you have LoadFromFile set up
# pagespeed Domain https://www.isaumya.com;
# pagespeed Domain *.isaumya.com

Thanks for your help again. But have you checked that the images under srcset are not getting rewrited by pagespeed. Also the image at the footer is not getting rewrited by pagespeed. Any idea why?

srcset attibributes can be generated  by pagespeed but the attribute's value does not (yet) get parsed and optimized.
Assuming you are referencing bigscoots_logo_250.png, it is optimized now. PageSpeed sometimes needs a few browser refreshes before the page is fully optimized.

Seems we're all set, closing this.

Thanks for all your help :smile:


[SPARK-29061][SQL] Prints bytecode statistics in debugCodegen

What changes were proposed in this pull request?

This pr proposes to print bytecode statistics (max class bytecode size, max method bytecode size, and max constant pool size) for generated classes in debug prints, debugCodegen. Since these metrics are critical for codegen framework developments, I think its worth printing there. This pr intends to enable debugCodegen to print these metrics as following;
scala> sql("SELECT SUM(a + b), AVG(a + b + c) FROM VALUES (1, 1, 1) t(a, b, c)").debugCodegen
Found 2 WholeStageCodegen subtrees.
== Subtree 1 / 2 (maxClassCodeSize:3689 maxMethodCodeSize:226 maxConstantPoolSize:167) ==
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*(2) HashAggregate(keys=[], functions=[sum(cast((a#0 + b#1) as bigint)), avg(cast(((a#0 + b#1) + c#2) as bigint))], output=[sum((a + b))#5L, avg(((a + b) + c))#6])
+- Exchange SinglePartition, true, [id=#13]
   +- *(1) HashAggregate(keys=[], functions=[partial_sum(cast((a#0 + b#1) as bigint)), partial_avg(cast(((a#0 + b#1) + c#2) as bigint))], output=[sum#12L, sum#13, count#14L])
      +- *(1) LocalTableScan [a#0, b#1, c#2]
...

Why are the changes needed?

For efficient developments
Does this PR introduce any user-facing change?

No
How was this patch tested?

Manually tested

How about this? @cloud-fan @rednaxelafx @viirya @mgaido91

Test build #110493 has started for PR 25766 at commit 1b27080.

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/testing-k8s-prb-make-spark-distribution-unified/15469/
Test PASSed.

Test build #110493 has finished for PR 25766 at commit 1b27080.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class ByteCodeStats(maxClassCodeSize: Int, maxMethodCodeSize: Int, maxConstPoolSize: Int)
   * Returns the bytecode statistics (max class bytecode size, max method bytecode size, and

Merged build finished. Test PASSed.

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

I like this feature, thanks to @maropu for this good idea!

Merged build finished. Test PASSed.

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

Test build #110579 has started for PR 25766 at commit be268de.

Test build #110579 has finished for PR 25766 at commit be268de.

This patch fails to build.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class ByteCodeStats(maxMethodCodeSize: Int, maxConstPoolSize: Int, numInnerClasses: Int)

Merged build finished. Test FAILed.

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

Test build #110581 has started for PR 25766 at commit dfc6a4c.

Merged build finished. Test PASSed.

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

Test build #110581 has finished for PR 25766 at commit dfc6a4c.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class ByteCodeStats(maxMethodCodeSize: Int, maxConstPoolSize: Int, numInnerClasses: Int)

Merged build finished. Test PASSed.

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

thanks, merging to master!

Thanks for the reviews, all!


Modify agent initialization file for v2

@richbrowne @mattgreene @jputrino
What issues does this address?
Fixes #70
What's this change do?
Removes unused agent ini options.
Any background context?
LBaaS v1 code allowed using iApps and BIG-IQ for configuring BIG-IPs, but
LBaaS v2 does not.
Issues:
Fixes #70
Problem: Agent ini file contains options that are not used in LBaaS v2.
Analysis: Removed unused options (BIG-IQ, etc.). Fixed some spelling
errors.
Tests:

Looks fine to me, but I'll let Rich review and merge the commit.

I have a few comments; once those are addressed this should be good to go (from a doc standpoint).


Automatically tag patch releases

Story
As contributor, I want my code changes to be available as quickly as possible to the wider community.

Duplicate


centerOnNode and centerOnPosition should have a scale/radius

Currently the scale of the node being centered on isn't factored in.

good point!
since these methods do a "smooth cam move", I would also love to incorporate, depending on the distance the scene has to rewind to center the chosen object/position, a sort of zoom-out+move+zoom-back-in, the amount of zoom shall be a function of the distance
(perhaps as an optional thing in turn-able on/off from a menu "control behaviour" that we shall add at some point later)

This isn't essential, but it does need to get done at some point. However, the animation code isn't completely straightforward (see here), so I'm taking it off of 1.0.0.


signals with different 'time' axes in the same container

Some groups of signals, like filterscopes, have different time axes.  It seems as if containers/signals/axes are designed for 1 time axis per container level.  I think we need a mechanism to specify multiple time axes in a single container level.  Maybe we need a mechanism to distinguish between axis name ('time') and axis label ('time_baye_haifa')?  This way, baye_haifa and bayg_haifa can be signals with a 'time' attribute in the same container, but the time attributes point to different time axes.  Thoughts?

This already has been implemented. Not sure if one of the xml files shows
how. There is a tag either axis_ref or something similar that specifies the
name of the axis you want to use.
On Nov 7, 2015 8:39 AM, "David R. Smith"<EMAIL_ADDRESS>wrote:

Some groups of signals, like filterscopes, have different time axes. It
seems as if containers/signals/axes are designed for 1 time axis per
container level. I think we need a mechanism to specify multiple time axes
in a single container level. Maybe we need a mechanism to distinguish
between axis name ('time') and axis label ('time_baye_haifa')? This way,
baye_haifa and bayg_haifa can be signals with a 'time' attribute in the
same container, but the time attributes point to different time axes.
Thoughts?
—
Reply to this email directly or view it on GitHub
https://github.com/Fusion-Data-Framework/fdf/issues/36.

Looking at the code, I think the xml uses 'axis_refs' to refer to the name
of the axis. So you would use it like this:

that way the signals te1 and te2 would both have a .time axis that would
point to a different axis signal.

Thanks, and a small correction for your example:

'name' in axis element should match 'axes' in signal element
'axis_refs' needs to be in both axis and signal elements
For example:

    <axis name='time' axis_ref='time1' units='s' mdsnode='dim_of(\bayg_dalpha_eies)'></axis>
    <signal name='bayg_dalpha_eies' units='AU' axes='time' axis_ref='time1' mdsnode='\bayg_dalpha_eies' desc='midplane tangential'></signal>

This needs to make it into the XML doc.
On Nov 10, 2015 6:35 PM, "David R. Smith"<EMAIL_ADDRESS>wrote:

Closed #36 https://github.com/Fusion-Data-Framework/fdf/issues/36.
—
Reply to this email directly or view it on GitHub
https://github.com/Fusion-Data-Framework/fdf/issues/36#event-460743031.

Hmm, I don't remember it being like that. I'll have to take a closer look
at the code bc
On Nov 10, 2015 6:35 PM, "David R. Smith"<EMAIL_ADDRESS>wrote:

Thanks, and a small correction for your example:

'name' in axis element should match 'axes' in signal element

'axis_refs' needs to be in both axis and signal elements
For example:

—
Reply to this email directly or view it on GitHub
https://github.com/Fusion-Data-Framework/fdf/issues/36#issuecomment-155602499
.


RTL Support

Sometimes I want to use orchid for RTL based apps, but it needs some effort to do that, what I do to build and rtl app?

create a dir attribute of the html tag with rtl value
when some content fails to be rtl compatible I use rtlcss tool

but there are still some other glitches,
I know that rtl isn't your top priority, but at least what is the best option to do that from my side?

I may not correctly estimate the result, but this is how the RTL version looks like now with the correct indication of the attribute:

The most obvious problem I see is incorrect indentation. But we have an issue with updating bootstrap #1152
As far as I understand, switching to it should partially solve this problem, since they changed the name of the styles for margin and padding:

Renamed .left-* and .right-* to .start-* and .end-*.

They also use the tool that you do: https://getbootstrap.com/docs/5.0/getting-started/rtl/

when some content fails to be rtl compatible I use rtlcss tool

We need to make the transition to bootstrap 5.
And also write a simple function that, depending on the language used, returns LTR or RTL
<HTML dir="{{ Orchid\Platform\Support\Locale::currentDir() }}">

I started working on porting my codebase to bootstrap 5 in the master branch.
I would be glad if you work on adding this feature.

Resolved in #2155.


Adding Fairplay content-key-policy fails due to problems with 'ask' parameter

Package Name:  @azure/arm-mediaservices
Package Version: 7.1.0
Operating system: Ubuntu 18
[x] nodejs

version: 10.19.0

Describe the bug
Similar issue to https://github.com/Azure/azure-cli/issues/12469 -- the Azure API seems to expect a 16-byte ASk when the ASk is actually supposed to be 32 bytes long.
When I try adding a content key policy for Fairplay, I get an error
FairPlay configuration must have ASK. ASK must be 16 bytes.

To Reproduce
Steps to reproduce the behavior:
Call client.contentKeyPolicies.createOrUpdate with this option:
{
              "name": "FairPlayRestrictedOption",
              "configuration": {
                "odatatype": "#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration",
                "ask": Buffer.from("[32-character ASk string]"), // Uint8Array format
                "fairPlayPfx": "...",
                "fairPlayPfxPassword":  "...",
                "rentalAndLeaseKeyType": "PersistentUnlimited",
                "rentalDuration": 60 * 60 * 24
              },
              "restriction": ...
            }

Expected behavior
The createOrUpdate call should succeed -- instead, it fails with the above error.

@ramya-rao-a @joheredi  Hi, I am not sure whether it's a codegen issue or swagger definition error?  Could you please take a look?
Here's the swagger definition https://github.com/Azure/azure-rest-api-specs/blob/8911f4e6dd0582c4c9246adff0d25d2205835ab1/specification/mediaservices/resource-manager/Microsoft.Media/stable/2018-07-01/ContentKeyPolicies.json#L614-L618
and here's the js sdk definition
https://github.com/Azure/azure-sdk-for-js/blob/7e1b40045b35467c3c70b41e408f0810b70e2667/sdk/mediaservices/arm-mediaservices/src/models/index.ts#L986

@epicfaace, is the string you are using in the example above an hex string? If so I think you could try doing:
Buffer.from("[32-char Hex string]", "hex")

By specifying "hex" as the character encoding, a 32 char long hex string would result in a 16 byte array.
Can you please give it a try and let me know if that works?

Here a link to the content protection for FairPlay sample.
https://github.com/Azure-Samples/media-services-v3-java/blob/master/ContentProtection/OfflineFairPlay/src/main/java/sample/OfflineFairPlay.java
In the exammple, hex string is converted to bytes by using
private static byte[] hexStringToBytes(String hexString) {
if (hexString == null) {
return null;
}
    byte[] bytes = new byte[(hexString.length() + 1) / 2];
    for (int i = 0; i < bytes.length; i++) {
        bytes[i] = (byte) Integer.parseInt(hexString.substring(2 * i, 2 * i + 2), 16);
    }

    return bytes;
}

Please let us know if either this solution or the suggestion from @joheredi worked for you.

@epicfaace, is the string you are using in the example above an hex string? If so I think you could try doing:
Buffer.from("[32-char Hex string]", "hex")

By specifying "hex" as the character encoding, a 32 char long hex string would result in a 16 byte array.
Can you please give it a try and let me know if that works?

Yes, this worked -- thank you!


Add support for Object.defineProperties to type-based renaming passes

Improves renaming opportunities for ES6 getters/setters who share names with extern properties.

This change is

I'll leave this to someone else to review, but thanks for the contribution


[Bug] 2.02 streamload 异常

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
2.0.2
What's Wrong?
升级到2.0.2后， 将数据导入创建了物化视图的表， 当导入数据未完全覆盖所创建物化视图时， 导入失败。
表结构 ：
CREATE TABLE test (
a tinyint(4) NULL DEFAULT "0" ,
b int(11) DEFAULT "0" ,
c int(11) DEFAULT "0" ,
t DATETIMEV2 COMMENT "时间",
d bigint(20) SUM NULL DEFAULT "0",
e bigint(20) SUM NULL DEFAULT "0"
)
AGGREGATE KEY(a, b, c, t)
PARTITION BY RANGE(t) ()
DISTRIBUTED BY HASH(a) BUCKETS AUTO
PROPERTIES
(
"dynamic_partition.enable" = "true",
"dynamic_partition.time_unit" = "DAY",
"dynamic_partition.start" = "-3",
"dynamic_partition.end" = "3",
"dynamic_partition.prefix" = "p",
"dynamic_partition.time_zone" = "Asia/Shanghai",
"dynamic_partition.create_history_partition" = "true",
"dynamic_partition.history_partition_num" = "3",
"dynamic_partition.replication_num" = "2",
"light_schema_change" = "true"
);
创建物化视图：
CREATE MATERIALIZED VIEW mv_test AS
SELECT a,b,t,SUM(d) FROM test GROUP BY 1,2,3
导入列 a,c,t,d,e, 发生异常 ：
{
"TxnId": 4160958,
"Label": "7b68ce49-2ad6-41d2-8706-a0b18cd4d897",
"Comment": "",
"TwoPhaseCommit": "false",
"Status": "Fail",
"Message": "[ANALYSIS_ERROR]errCode = 2, detailMessage = unknown reference column, column=mv_b, reference=b\n0. StackTrace::tryCapture() @ 0x000000000ba70197 in /opt/apache-doris/be/lib/doris_be\n1. doris::get_stack_traceabi:cxx11 @ 0x000000000ba6e72d in /opt/apache-doris/be/lib/doris_be\n2. doris::Status doris::Status::Error(int, std::basic_string_view<char, std::char_traits >) @ 0x000000000af07e2b in /opt/apache-doris/be/lib/doris_be\n3. doris::Status::create(doris::TStatus const&) @ 0x000000000b747e3e in /opt/apache-doris/be/lib/doris_be\n4. doris::StreamLoadAction::_process_put(doris::HttpRequest*, std::shared_ptrdoris::StreamLoadContext) @ 0x000000000bec85d5 in /opt/apache-doris/be/lib/doris_be\n5. doris::StreamLoadAction::on_header(doris::HttpRequest*, std::shared_ptrdoris::StreamLoadContext) @ 0x000000000bec60aa in /opt/apache-doris/be/lib/doris_be\n6. doris::StreamLoadAction::on_header(doris::HttpRequest*) @ 0x000000000bec51f2 in /opt/apache-doris/be/lib/doris_be\n7. doris::EvHttpServer::on_header(evhttp_request*) @ 0x000000000bee35d1 in /opt/apache-doris/be/lib/doris_be\n8. ? @ 0x00000000131f3d8a in /opt/apache-doris/be/lib/doris_be\n9. bufferevent_run_readcb @ 0x00000000131d6421 in /opt/apache-doris/be/lib/doris_be\n10. ? @ 0x00000000131f82c3 in /opt/apache-doris/be/lib/doris_be\n11. ? @ 0x00000000131df229 in /opt/apache-doris/be/lib/doris_be\n12. ? @ 0x00000000131df8a7 in /opt/apache-doris/be/lib/doris_be\n13. ? @ 0x00000000131e1ed8 in /opt/apache-doris/be/lib/doris_be\n14. ? @ 0x000000000bee3aa7 in /opt/apache-doris/be/lib/doris_be\n15. doris::ThreadPool::dispatch_thread() @ 0x000000000baacdaf in /opt/apache-doris/be/lib/doris_be\n16. doris::Thread::supervise_thread(void*) @ 0x000000000baa2d3c in /opt/apache-doris/be/lib/doris_be\n17. start_thread @ 0x0000000000007dc5 in /usr/lib64/libpthread-2.17.so\n18. __clone @ 0x000000
What You Expected?
希望bug能得到修复
How to Reproduce?
No response
Anything Else?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

补充图片

I tested it on 2.0.3 and there was no problem. Please upgrade after the version is released.

<IP_ADDRESS>会有问题吗？ 2.0.3看起来有点遥远

this week will release


Fix memory leak in TabPageSelector

Part of https://github.com/flutter/flutter/issues/141198
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] I followed the breaking change policy and added Data Driven Fixes where supported.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

cc @polina-c

@chingjun Sorry for that. What can I do / check to make sure no internal tests fail ? (ex: what does "see b/338159496 for details" mean? )

OK thank you for the insights. I created a new PR: https://github.com/flutter/flutter/pull/147689. Let's see what is happening there


Update invalid max amount for MI-65

Issue reported here: https://rewiringameri-g3x1100.slack.com/archives/C04E4THEGMT/p1717445434575539
Incentive link: https://www.consumersenergy.com/residential/save-money-and-energy/rebates/heating-and-cooling

Maybe worth a unit test somewhere that amount.maximum >= amount.number (in isIncentiveAmountValid in schemas.test.ts)?

Good call! I just added the test and found a couple others that were out of spec.


Add "add task" command

Add AddTaskCommand #16

Add AddTaskCommandParser #22

Add model.task.Task #27

Add model.TaskList #28

Modify Model (Interface)

Modify ModelManager

include TaskList in constructor

Codecov Report

Merging #26 (4ea0f23) into master (d617ce1) will decrease coverage by 2.13%.
The diff coverage is 18.36%.

@@             Coverage Diff              @@
##             master      #26      +/-   ##
============================================
- Coverage     72.15%   70.02%   -2.14%
- Complexity      399      403       +4
============================================
  Files            70       74       +4
  Lines          1232     1281      +49
  Branches        125      128       +3
============================================
+ Hits            889      897       +8
- Misses          311      351      +40
- Partials         32       33       +1

Impacted Files
Coverage Δ

...edu/address/logic/parser/AddTaskCommandParser.java
0.00% <0.00%> (ø)

.../seedu/address/logic/parser/AddressBookParser.java
88.88% <0.00%> (-11.12%)
:arrow_down:

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

src/main/java/seedu/address/model/task/Task.java
0.00% <0.00%> (ø)

...a/seedu/address/logic/commands/AddTaskCommand.java
13.04% <13.04%> (ø)

...rc/main/java/seedu/address/model/ModelManager.java
94.11% <25.00%> (-5.89%)
:arrow_down:

src/main/java/seedu/address/model/TaskList.java
50.00% <50.00%> (ø)

...ain/java/seedu/address/logic/parser/CliSyntax.java
87.50% <100.00%> (+4.16%)
:arrow_up:

Continue to review full report at Codecov.

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


cannot load underlying module for 'XCTest'

when running "swift test" from command-line:
Compile Swift Module 'HelloWorldTests' (1 sources)
/Users/xiangwei/开发/Exercism/swift/hello-world/Tests/HelloWorldTests/HelloWorldTests.swift:1:8: error: cannot load underlying module for 'XCTest'
import XCTest
^
error: terminated(1): /Library/Developer/CommandLineTools/usr/bin/swift-build-tool -f '/Users/xiangwei/开发/Exercism/swift/hello-world/.build/debug.yaml' test
Test succeeded in XCode.
I manully add XCTest.framework to HelloWorldTests target, still wrong.

what version of xcode?

running tests on xcode 9, 9. and 9.2
https://github.com/exercism/swift/pull/328

Those tests are passing. Let’s me know.

Reopen if you are still having issues.


Segmentation fault with ext-event

This library is causing a segfault for me when I try to use ext-event as the loop driver. I reported it here and Ruslan Osmanov fixed it just now. But he is wondering about how the situation could occur in the first place which I unfortunately can't answer since I'm not familiar with the internals of \Amp\Loop\EventDriver.
@kelunik @trowski Perhaps you might have an idea what's going on?
https://bitbucket.org/osmanov/pecl-event/issues/60/segmentation-fault-on-alpine#comment-57357616

Never mind, it seems it was a different issue and the bug in ext-event is still not fixed. I'll reopen this if needed.


LSNBLDR-500; conversion needed in master

This script was already added in https://jira.sakaiproject.org/browse/SAK-31237 to 10.7_10.8 files I guess is not needed in 11 scripts.

@juanjmerono I think you're right, this should be dropped from both master and 11.x as it's in an earlier upgrade script.


Pretty slow first Deserialize() on Xamarin.Android

Hey there!
We use Newtonsoft.Json all over the place in our App and love it! However, we recently wanted to optimize our App startup time and found out by measuring various things that whenever for the first time we deserialize some JSON, there's a huge lag of about 800ms to 1s. It doesn't really matter if we use JsonConver.DeserializeObject() or a new JsonSerializer, the lag is always noticeable on the first time.
I made a small repo case here: https://github.com/monostefan/json.net_android_slow_start
My guess is this has something to do with internal initialization. However, does anybody know why this is so slow on Xamarin.Android (Xamarin.iOS seems not affected)?

I don't know, I've never used Xamarin.Android. The same code executes on both platforms. I suggest you raise this issue with the Xamarin guys.


Only prefetch an image if its full dimension is undetermined at load time

Currently the view updates every time a new image finishes loading.
But this is not needed when we already know all dimensions of an image such as through:

width + height
width + ratio
height + ratio

In these cases, leave the view alone even when these images finish loading.

Commit https://github.com/Jasonette/JASONETTE-iOS/commit/07bac174b0b07c2dae4816246ff6bdb7f6403029

fixed with https://github.com/Jasonette/JASONETTE-iOS/pull/244


Items Support

ItemTypes or Item Prototypes are loading ok. But now we need basic of items to be able to finish the map part

#25

This was from deprecated code. Jlnunez implementation already bring items


wrong treatment of video-audio offers

reported by @dagingaa.
If you call addTrack(audioTrack), addTrack(videoTrack) and then set an offer containing a video mline followed by an audio mline the answer will be wrong. This happens with offers from safari, other browsers
Fiddle with repro data:
https://jsfiddle.net/mu6kcxrw/1/
There is a test for a similar issue here ('keeps the order from the remote offer') but it did not catch this behaviour, possibly due to the assertion being too weak.

seems fixed in master (future-but-will-never-happen-2.x) but not the 1.x version adapter uses :-|


feat(services/persy): add a basic persy service impl

This PR has initially implemented support for the persy backend, and added corresponding CI and documentation.
# persy
OPENDAL_PERSY_TEST=false
## That path to the persy data file. The directory in the path must already exist.
OPENDAL_PERSY_DATAFILE=/tmp/opendal/test.persy
OPENDAL_PERSY_SEGMENT=data
OPENDAL_PERSY_INDEX=index

Fixes: #2522

also cc @Anakin100100 , sorry for the delay, but perhaps you would be willing to help review.


Does it work on windows ?

Hello, just asking if it work on windows because i got this error

Win11
The terminal was run in admin mode.
and i did not run sudo setcap cap_net_raw+ep ~/.cargo/bin/rping because i m on windows

After several investigation and trys i have found this
https://learn.microsoft.com/en-us/windows/win32/winsock/tcp-ip-raw-sockets-2?redirectedfrom=MSDN#limitations-on-raw-sockets
It 's seems that we cannot do anything with windows..


username validation and lock out from modification

This ticket needs to address two items:

Make sure username validation rule on Django side is the same as that on iRODS side so that there will be no potential issues with iRODS user zone account creation with the same username created in Django.

Lock out username from subsequent modification, i.e., users cannot modify their username after initial creation, and inform users properly.

Tested it on beta and it works, so closing.


feat: sendRemoteMessage get Localization Value

⚠ This Plugin is deprecated and no more work will be done here! I recommend using this one instead: Capacitor Firebase


[Feature Request] Public status page, configurable

Currently, I have to be admin to view stats about the server though I would like to be able to publish some stats publicly.
What I propose:
Public_Stat_Page

Open - Anybody can see the public stat page, regardless of whether the user is logged in or not
Logged in - Only logged in users can see the public stat page
Off - There is no public stat page

The stat page can have a section within app.ini where certain stats can be marked as true or false as to whether the admin wants this stat to be published on the public stat page
Feel free to add or comment below

This is related to #2751. Personally I would prefer it to be published out to an external tool rather than baking this customization into Gitea itself. GitLab publishes their prometheus dashboards, but not everyone does.

Hmm, I didn't know that there was a "standard" for this already. That being said, I'd like to be able to decide which metrics to expose to the endpoint using the settings(app.ini) file

Having an example grafana dashboard would be really nice, as prometheus metrics are already there O:-)

seems someone has already pulled a sample grafana dashboard for gitea.


Guild pipeline features and issues

I would like to give my feedback on pipeline operation in guildai.

Every step in pipeline requires defining the flags again, even if they are already defined in steps. For example, if you define flag x in prepare step and flag y in train step, you have to 'copy-paste' those flags in pipeline.
When I call pipeline it saves scalars in different folders, so it is hard to inspect simply which flags from first step was used to get result (scalar) in second step. Following above example if you have x=[1,2] you will see different result in second step, but it wouldn't be immediately clear what was the flag for that result.
Very often, during the run, I get the message:

 Skipping because the following runs match this operation (--needed specified):
  [81798154]  prepare-data  2020-09-15 19:39:42  completed  correlation_threshold=0.95 include_ta=yes input_data_path=D:

It says the run was already executed, but it was executed for different prepare step which precedes train step. So the pipeline doesn't recognize the difference step1(argument=1) > srep2(argument=2) and step1(argument=2) > srep2(argument=2).
4. Sometimes I have to click space/enter or something else to continue training.

Sorry for the late reply - and thank you for the feedback!
The pipeline pass-through requirement is indeed painful and will be addressed in 0.8.
Regarding your second point, can you not use the pipeline run to track these results? While painful (your first point) the benefit of passing through the scalar values is that you can see what inputs to the pipeline effect scalars, which are also rolled up.
Regarding point three, if I understand your issue correctly, your pipeline has two prepare-data steps with the same set of flag values, but somehow you need to run it twice? What about these two runs is different? Guild should detect any flag value difference, including different upstream run IDs, and consider the second run "needed" if anything is different. Otherwise, Guild should skip the second run. If you want to force a second run, you can use a dummy flag to trick Guild into running the second time. If Guild is skipping when there is a difference, that's a bug.
Regarding number 4, Guild does not pause it's pipeline ops but your code might be stopping and waiting for user input. Can you track down what is asking for user input? Is there a prompt message that gives a clue?


Workaround for Issue #1695

An app I've been working has been crashing as described in issue #1695, with a SIGTRAP on line 333 or SIGSEGV on line 329 of GPUImageFramebuffer.m in the newCGImageFromFramebufferContents method (based on version 0.1.5 source), but I was never able to reproduce the issue while debugging. I saw JensDee's comment about the value of renderTarget being either 0 or 5, and was able to reproduce the SIGTRAP by manually setting renderTarget to 0, and the SIGSEGV by setting renderTarget to 5. That got me thinking in terms of stray memory writes, which in turn got me to realize that I was only getting crash reports from 32-bit versions of the app, and that in 64-bit builds there should be four bytes of padding between the framebuffer (a GLuint) and renderTarget (a pointer) fields to maintain their natural alignments.
As a longshot, I added padding between the two fields (with a bit extra just because) to ensure the fields were separated even in 32-bit builds, and that seems to have cleared up the issue for me.
Obviously this isn't a proper fix since it's just patching over the symptom, but hopefully this will get someone more familiar with the code base than I am looking in the likely spots where a pointer might be getting typecast to point to the wrong size of integer, or something along those lines.

You workaround fascinates and confuses me at the same time. Have you been able to verify that this workaround does indeed clear up the issue? Have you released an update with that added byte padding and do not get crashes for 32bit anymore?
It would be brilliant to finally have a solution as I am still running and old version of GPUImage before the new render buffer architecture. Would be great to update to the latest version eventually.
I don't believe that Brad will merge your pull request as it is no proper fix. However I am more than curious what he will say.
I think it's brilliant that you found a workaround (given that it actually works) and your ideas are very inspiring. I think I might have been debugging a dead end after reading your thoughts.
I havent been investigating this issue for a long time, but I can now think of new possible issues that lead to these weird crashes.

Since I've never been able to reproduce the crashes in my own dev environment, all I have to go by are crash logs from end users of the app, so I'm not as certain as I'd like to be that the workaround clears up the issue. However, since the workaround was pushed out to our users in the last two builds, we've seen 115 crash reports, none of which involve GPUImageFramebuffer. From the three builds prior to making the fix, we have 149 crash reports, with 14 of those in newCGImageFromFramebufferContents. That at least made me confident enough to share the fix upstream, in case it helps someone else out or (even better) provides the insight needed to find the root cause.
I got the impression from your comments in the bug report that you had at least some success reproducing the crashes on demand -- if that's the case is there anything you can share about how you managed that? I'm as eager as anyone to fix the actual bug instead of just papering it over.
I also expect that Brad won't merge this pull request, as I said I made it to share what I found out about the bug, not because I thought it's a reasonable long-term solution. :smiley:


improve how MSFT Fabric describes dbt & the dbt-fabric adapter

Contributions

[X] I have read the contribution docs, and understand what's expected of me.

Link to the page on docs.getdbt.com requiring updates
For the firt time, dbt is now given as an option on their docs site: see Fabric: Data Warehouse: Connectivity: Connect using dbt .
I opened https://github.com/MicrosoftDocs/fabric-docs/pull/25/ to do some ad-hoc, low-lift improvements, but I'd love for our docs team to give it their trusty TLC.
What part(s) of the page would you like to see updated?
specifically the dbt heading
Additional information
similarly, Starburst has another example on how to connect
https://docs.starburst.io/data-consumer/clients/dbt.html

Thanks Anders! This would be nice to improve.


OPTIONS requests with none OK statusCode are breaking promise

I'm submitting a bug report

Library Version:
1.0.1

Please tell us about your environment:

Operating System:
OSX 10.12

Node Version:
6.4.0

NPM Version:
3.10.3

JSPM OR Webpack AND Version
webpack 2.1.0-beta.22

Browser:
all

Language:
TypeScript

Current behavior:
If I try to request a URL path which does not exist the OPTIONS call will return with 404. This will break the promise chain.
I have the following setup of the fetch client:
this.restClient.getHttpClient().configure(config => {
      config
        .useStandardConfiguration();
    });

If I do the following:
this.httpClient.fetch('https://google.ch/7');

then I get this type error in the catch handler as reason passed:
TypeError: Failed to fetch
    at applyInterceptors (http://localhost:9000/app.bundle.js:32332:14)
    at processResponse (http://localhost:9000/app.bundle.js:32315:10)
    at http://localhost:9000/app.bundle.js:32230:16
From previous event:
    at http://localhost:9000/app.bundle.js:32229:22
From previous event:
    at HttpClient.<anonymous> (http://localhost:9000/app.bundle.js:32217:62)
    at HttpClient.fetch (http://localhost:9000/app.bundle.js:32201:21)
    at RestClient.fetchGet (http://localhost:9000/app.bundle.js:83603:40)
    at RestClient.findAll (http://localhost:9000/app.bundle.js:83580:21)
    at PoiRestService._callee$ (http://localhost:9000/app.bundle.js:83447:78)
    at tryCatch (http://localhost:9000/aurelia-bootstrap.bundle.js:10085:40)
    at Generator.invoke [as _invoke] (http://localhost:9000/aurelia-bootstrap.bundle.js:10359:22)
    at Generator.prototype.(anonymous function) [as next] (http://localhost:9000/aurelia-bootstrap.bundle.js:10118:21)
    at http://localhost:9000/app.bundle.js:83427:65
From previous event:
    at __awaiter (http://localhost:9000/app.bundle.js:83407:12)
    at PoiRestService.getAll (http://localhost:9000/app.bundle.js:83442:16)
    at http://localhost:9000/app.bundle.js:82662:42
From previous event:
    at PoiDistributionEntityService.getPoisFuzzy (http://localhost:9000/app.bundle.js:82661:52)
    at Selectize.load (http://localhost:9000/app.bundle.js:78929:57)
    at Selectize.<anonymous> (http://localhost:9000/app.bundle.js:80086:8)
    at Selectize.load (http://localhost:9000/app.bundle.js:80242:7)
    at Selectize.onSearchChange (http://localhost:9000/app.bundle.js:80085:9)
    at http://localhost:9000/app.bundle.js:79274:8

Expected/desired behavior:
I would expect to get the Response of the OPTIONS request. As the normal fetch implementation does => https://jsbin.com/kokaledita/edit?js,console
Most backends don't respond with a 404 from a OPTIONS request.

We are facing this problem also. Can't react on response interceptor.
.withInterceptor({response: that.rejectOnError})
rejectOnError(response){
// Exception thrown before this line.
console.log('response status', response.status);
if(!response.ok){
debugger;
throw response;
}
return response;
}

@bryanrsmith Any thoughts on this?

config.useStandardConfiguration(); adds an interceptor that causes unsuccessful responses to result in a rejection. Try using a responseError interceptor, or stop using that configuration if that's not the behavior you want.

Thanks @bryanrsmith !


A custom globalHandler set on ErrorUtils is not called in release mode.

Environment
React Native Environment Info:
System:
OS: macOS High Sierra 10.13.5
CPU: x64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz
Memory: 556.82 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.6.0 - ~/.nvm/versions/node/v10.6.0/bin/node
Yarn: 1.6.0 - /usr/local/bin/yarn
npm: 6.1.0 - ~/.nvm/versions/node/v10.6.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 11.4, macOS 10.13, tvOS 11.4, watchOS 4.3
Android SDK:
Build Tools: 23.0.1, 24.0.2, 25.0.0, 25.0.2, 25.0.3, 26.0.0, 26.0.1, 26.0.2, 26.0.3, 27.0.0, 27.0.1, 27.0.2, 27.0.3, 28.0.0
API Levels: 23, 24, 25, 26, 27, 28
IDEs:
Android Studio: 3.1 AI-173.4819257
Xcode: 9.4.1/9F2000 - /usr/bin/xcodebuild
npmPackages:
react: 16.4.1 => 16.4.1
react-native: 0.56.0 => 0.56.0
Description
A custom globalHandler set on ErrorUtils is not called in release mode. This prevents the capture of JavaScript errors in production applications, impacting use-cases such as error monitoring libraries.
I believe this has been introduced recently in v0.56, as we were not able to reproduce the same behaviour in previous versions.
I've included a reproducible demo, as well as a link to the scenario where we first encountered this problem. If you require any additional information or have trouble reproducing the issue, please reach out and I'll be happy to help.
Reproducible Demo

Clone the repository at: https://github.com/bugsnag/react-native-error-utils
Run the app in debug mode via react-native run-android
Click the button
Observe that there are two logged values under "Bugsnag Test App", via Android Studio logcat
Run the app in debug mode react-native run-android --variant=release
Click the button
Observe that there is only one logged value under "Bugsnag Test App".

This is also reproducible on the following branch in the bugsnag-react-native repository, which contains setup instructions within.

Is any more information required for this report? We're happy to spend a bit more time looking into this if that's the case, so please let us know.

Please let us know if any further information is required for this.


Rename network module and move/clean up types

This PR has grown.

Rename the network module to p2 (fix: #1855)
add BorrowMut to prelude
Move the Network, ChainHash, Magic, and Params structs to a newly create p2p::network module
Do a few cleanups

And BTW @apoelstra, epic win on the recent fuzzing changes, I was able to catch required changes to the fuzzing code during my normal dev workflow instead of getting a red CI job.

Fair points re naming, I would have used network but could not have a network.rs file in the same directory as the current network/ directory. I'm not sure there is a good name, even in spoken language its annoying/hard to find a term to use since "network" and "chain" are both so heavily overloaded.
Agree module name and type name Network being different is odd but changing one ambiguous name to another Network to Chain seems like churn and just makes users of the lib learn a new name for no benefit. Thoughts?

I am tempted actually to pull these things into the existing network/ module (which maybe will be renamed to p2p) rather than creating a new one. The Magic structure definitely seems like it should be in the network module. For Network itself I'm less sure. Maybe it should just live directly in lib.rs.

@tcharding how about if we add a cargo-public-api check as in #1875 -- we add a .txt file to the repo with the existing API, CI-check that it's consistent, and then any API changes are required to change the .txt file so we can debate them independent of the code.
This PR seems like a good test case for this workflow.
But concept ACK everything here.

Sounds good, I'll have a play with it.

Check out #1880, thanks for prodding me to do that, it was actually very enjoyable and got me a bit excited that we can actually have a stable API and not mess it up accidentally.

If we decide to leave #1880  open for a while I'd pref to let this in, there will be plenty of chance to see how 1880 effects workflow, we change the API daily.

If we're still debating #1880 by end of Monday then sure, let's start pushing forward on this. But I think it's in good shape other than the warning thing which is a pretty minor issue.

Changes in force push:

rebased on master
minor improvement of module level docs for p2p module
improved p2p::network module level docs (mention network vs chain terminoligy)

Changes in force push, fix sloppy work in f20d4bb5 Create p2p::network module:

Remove duplicate PROTOCOL_VERSION const declaration
Fix the commit log to mention removal of constants module

In light of recent discussion I broke the code move patch up into a whole bunch of patches so that the review is easier.

This PR now leaves, IMO, the p2p module in a pretty good state. I have one API question:
In ServiceFlagse::add and ServiceFlags::remove we take a mutable reference and return a copy of self. This seems klunky.
    /// Adds two [`ServiceFlags`] together, mutates self and returns a copy.
    pub fn add(&mut self, other: ServiceFlags) -> ServiceFlags {
        self.0 |= other.0;
        *self
    }

This seems klunky.

That looks like builder pattern made completely wrong.
It should either return mutable reference or take self, I can't check which is better right now, gotta go.

Will investigate, thanks.

Draft while I have another go at making this trivial to review.

All right crew, check this one out. If this isn't the most pleasurable PR to review in your entire life then I'll eat my hat.

Only patches 2 and 3 should require any brain power at all.
If you don't like the changes in patch 3 there is no need to review any of the following patches.
Any patch that has "Move" as the first word of the git brief log is code move only, may include re-orde and whitespace, no other changes.

Please give feed back on this methodology, if it works I'll continue to use it.
Thanks

All right crew, check this one out. If this isn't the most pleasurable PR to review in your entire life then I'll eat my hat.

Only patches 2 and 3 should require any brain power at all.
If you don't like the changes in patch 3 there is no need to review any of the following patches.
Any patch that has "Move" as the first word of the git brief log is code move only, may include re-orde and whitespace, no other changes.

Please give feed back on this methodology, if it works I'll continue to use it.
Thanks

314a7e5a88cf7a09d67b6ca5a10d4ed767da270f bitcoin does not build; cargo test fails with
error[E0432]: unresolved import `crate::p2p::constants::as_core_arg`
  --> bitcoin/src/p2p/network.rs:35:33
   |
35 | pub use crate::p2p::constants::{as_core_arg, Magic, Network};
   |                                 ^^^^^^^^^^^ no `as_core_arg` in `p2p::constants`

   Compiling bincode v1.3.3

314a7e5 bitcoin does not build; cargo test fails with
error[E0432]: unresolved import `crate::p2p::constants::as_core_arg`
  --> bitcoin/src/p2p/network.rs:35:33
   |
35 | pub use crate::p2p::constants::{as_core_arg, Magic, Network};
   |                                 ^^^^^^^^^^^ no `as_core_arg` in `p2p::constants`

   Compiling bincode v1.3.3

face palm

Oh perhaps you were reviewing a previous version while I was working? I fixed that as_core_arg thing yesterday, double phew.

Perhaps, but the offending commit is still part of the history of this PR.

https://github.com/rust-bitcoin/rust-bitcoin/commit/314a7e5a88cf7a09d67b6ca5a10d4ed767da270f bitcoin does not build; cargo test fails with

duh, the patch you linked to - I totally did not read that part of the message yesterday. Its a special form of dyslexia I am blessed with :)

7d3ec5b3 bitcoin does not build with no-std:
error[E0412]: cannot find type `String` in this scope
   --> bitcoin/src/p2p/network.rs:293:30
    |
293 | pub struct ParseNetworkError(String);
    |                              ^^^^^^ not found in this scope
    |
help: consider importing one of these items
    |
31  | use alloc::string::String;
    |
31  | use crate::prelude::String;
    |

This is a total process fail, you are having to act as my personal CI.  And unfortunately I don't think it's sensible to try to run the test matrix on every commit in github CI. It takes ~20 minutes per commit on my machine which is fully dedicated to doing this.
The easiest way to do it locally is to run git rebase -x 'cargo test && cargo test --no-default-features --features no-std' master.

Cool git rebase -x TIL

What if we had CI just run those two build commands for each commit and not the whole matrix?

Just some quick 2 cents:

this MR (or at least the OP of it) seems to conflate consensus and p2p, which are actually entirely unrelated. Params is consensus, and in fact shouldn't even have the network field, though each params is probably related to one Network that's just not really inherent.

isn't chainhash a lightning concept?

I would say, keep Param in consensus and wire can have Magic

Network could be more general, doesn't necessarily have to occur in either consensus nor wire/p2p

Thanks man, I'll go back over the types and process your message when I'm thinking clearly.

Just some quick 2 cents:

this MR (or at least the OP of it) seems to conflate consensus and p2p, which are actually entirely unrelated. Params is consensus, and in fact shouldn't even have the network field, though each params is probably related to one Network that's just not really inherent.

My bad, the PR description was stale, this PR does not touch Params.

isn't chainhash a lightning concept?

Yes, good point. I will remove any changes to ChainHash from this PR.

I would say, keep Param in consensus and wire can have Magic

I'm going to put Magic in p2p/mod.rs as suggested (excl. p2p/wire naming thing)

Network could be more general, doesn't necessarily have to occur in either consensus nor wire/p2p

Cool, so I'm going to add a network module at the crate root that holds just the Network type.
Thanks man!

Cool, so I'm going to add a network module at the crate root that holds just the Network type.

I think it can just be defined directly in lib.rs, we don't need a module for it.

WTF cargo test --no-default-features --features=no-std in the crate root does not pass the features options to bitcoin when building??? Is this a feature or a bug or my set up, how have I written Rust this long and not known this. (That command passes in rust-bitcoin/ but not in rust-bitcoin/bitcoin/.

I think it can just be defined directly in lib.rs, we don't need a module for it.

  I'm not totally against it but I don't see any benefit.

Cheers bro

Friendly bump, I believe all review suggestions have been addressed. Thanks

Rebased on master (to pick up #1927). No other changes.

Rebased, no other changes.

Merging based on new one-ack-2-weeks policy in https://github.com/rust-bitcoin/rust-bitcoin/pull/1945


Code problem

Hi:
I found there is a problem exist in you code.
In st_gcn.py line 110,  a tensor named self.A , stands for three adjacency matrix of Kinetics.
In unit_agcn.py,  line 47 and 48
self.PA = torch.nn.Parameter(A)
torch.nn.init.constant_(self.PA, 1e-6)
The problem is when A is tensor type,  after the initialization, the formal parameter A and the actual parameter self.A will be
changed to the initialized result 1e-6 . That means the next agcn(gcn) adjacency matrix will all be a tensor of (3, 18, 18) shape
and 1e-6  value, so this caused adjacency matrix information is useless in gcn state.
I found when line47 variable A is array type, it will be consistent after torch.nn.paramter.init operation.

In st_gcn.py
line 196 and line 222, there are two same variable self.backbone which is assigned two times, is it right ?

In st_gcn.py
line 196 and line 222, there are two same variable self.backbone which is assigned two times, is it right ?

Oh, I think you're right! The first assignment was useless! Thanks ;)

Hi:
I found there is a problem exist in you code.
In st_gcn.py line 110, a tensor named self.A , stands for three adjacency matrix of Kinetics.
In unit_agcn.py, line 47 and 48
self.PA = torch.nn.Parameter(A)
torch.nn.init.constant_(self.PA, 1e-6)
The problem is when A is tensor type, after the initialization, the formal parameter A and the actual parameter self.A will be
changed to the initialized result 1e-6 . That means the next agcn(gcn) adjacency matrix will all be a tensor of (3, 18, 18) shape
and 1e-6 value, so this caused adjacency matrix information is useless in gcn state.
I found when line47 variable A is array type, it will be consistent after torch.nn.paramter.init operation.

Thanks! I noticed that if I initialize as self.PA = nn.Parameter(torch.from_numpy(A.astype(np.float32))) the problem does not occur.
Chiara


Update README_doxygen.md

test19

@jonastest3 has been requested to review this pull request as specified in the REVIEWERS file.


ImportWarning & DeprecationWarning using builtin aiohttp client for tests

I have both ImportWarning and DeprecationWarning when I use the built in aiohttp test client with unittest.
Code:
import unittest
import sanic
app = sanic.Sanic()
class Test(unittest.TestCase):
    def test(self):
        _, res = app.test_client.get("/")
        self.assertEqual(res.status, 404)
unittest.main()

Warnings:
venv/lib/python3.6/importlib/_bootstrap.py:219: ImportWarning: can't resolve package from __spec__ or __package__, falling back on __name__ and __path__
  return f(*args, **kwds)
venv/lib/python3.6/site-packages/sanic/testing.py:24: DeprecationWarning: verify_ssl is deprecated, use ssl=False instead
  conn = aiohttp.TCPConnector(verify_ssl=False)

i guess you are using newer version of aiohttp, as verify_ssl is deprecated after v2.3. However, it supposed to use a very old version of aiohttp https://github.com/channelcat/sanic/blob/master/tox.ini#L16. I can take a look this later when i get some time.

verify_ssl is deprecated after 2.3 as @yunstanford already said. I'm proposing the following patch - if everybody agrees on this I can make a pull request so this warning wold go away.
if aiohttp.__version__.startswith("2."):
    conn = aiohttp.TCPConnector(verify_ssl=False)
else:
    conn = aiohttp.TCPConnector(ssl=False)

Maybe there is a better way of checking versions without importing distutils and using version parsing from there.
The other option would be to increase the aiohttp required version to minimum 3 and then we don't have to build this version checking at all.

I can confirm the warning I see when running pytest in my project goes away when verify_ssl=False is changed to ssl=False (changing this line: https://github.com/huge-success/sanic/blob/9092ee9f0e65d38a65ac1d506af65d06e5f86652/sanic/testing.py#L26 on my machine.)

There is PR #1155. This seems like such a small little change that we ought to make.
The bigger question, however, is about testing in general and whether the testing client itself should be moved to its own repo to be able to trim down the requirements.

There is PR #1155. This seems like such a small little change that we ought to make.
The bigger question, however, is about testing in general and whether the testing client itself should be moved to its own repo to be able to trim down the requirements.

Came here as I was similarly getting this error with latest sanic/aiohttp. I'm not a contributor, but I'd agree with the idea of keeping the repo lean (a lot of folks actually build their own testing for http apis anyway), so it would be a nice way to say "Well if you need it, go add this testing requirement package"

@ralston3 we'd welcome your contributions, and if not, we welcome your opinions!


syn 0.12 / quote 0.4

Would be nice if you could update to those. We are performing upgrade of them in Fedora and scroll_derive is one of not many packages still relying on old versions ;)

I can work on this, if no one has started already.

Ok this is now published as 0.9.2 thanks for everyones work here :+1: