GroupedBarChart

Description of Change
Add a new chart (GroupedBarChart) managing multiple series (multiple bar by label).

Bugs Fixed

Fixes #94

API Changes
New chart GroupedBarChart with new properties :

Series
ValueLabelSize
MinBarHeight

New ChartSerie class describing a serie of entries for SeriesChart :

Name : Name of the serie
Color : Color of the serie
Entires : IEnumerable of the entries for the serie

Changes in chart BarChart :

Factorisation method with GroupedBarChart
New property MinBarHeight

Changes come with a new Chart inheritance :
                   Chart
                /         \
              /             \
         SimpleChart    SeriesChart
          /                     \
 [Actual charts]        GroupedBarChart

I do see a value in having this in the library for sure

I do see a value in having this in the library for sure

@eman1986  i've made some changes (i've updated the PR description with more explanation of my updates).
I think of adding caption for Series like DonutChart and RadialGaugeChart, but at Top or Bottom (instead of right/left, cause it result in shrink the width of the chart).
Did you agree with that ?

Yeah that makes sense

I've added a legend with a new property to choose the position (Top, Bottom, None). Default is bottom.
I've updated the forms sample to add the possibility for having multiple example per chart type.

Rebase to Delvelop branch. Added example for Y axis :

I've added YAxis and made some factorisation to use same calculation method for both simple and series chart.
@eman1986 I'm thinking of a better naming convention for Series chart. Maybe XXXSeriesChart (in my case BarSeriesChart) ?
I think i'm done with this one. If you are ok to review it, i'll able to do other PR for PointSeriesChart and LineSeriesChart when this one will be approved.

I like the idea of naming them series charts, I'll take another glance at this today.

Hi @eman1986. I found a more elegant way than create a new chart (i.e BarSeriesChart). I've manage to implement Simple & Series chart in the same chart (for now named BarSeriesChart).
If user fill the Entries property i auto generate a ChartSerie with this Entries (and with some auto update properties to reproduce the same behavior as BarChart) and lets generate the single bar by label.
So with some more tests we can replace the old BarChart by this new one a be able to handle Simple (for continuity) and Series sets.
How do you feel about this ?

I've added some "Badge" to the sample app to show chart that manage Series, and to describe example.

I'm working on PointSeriesChart too. It's work prety well (like the BarSeriesChart), good candidate too for replace PointChart.
Need some polishing (common ancestor for BarSeriesChart & PointSeriesChart who share almost the same code), and i'll commit that (maybe tomorow).

Sounds good, I'm up for streamlining things if we can, I appreciate your help and contribution.

I've made a common ancestor for Bar & Point series chart. They work fine in all case that i've tested.
I'm working on the LineSeriesChart (child of the PointSeriesChart). The actual behavior (keeping in mind the streamlining) work the same way as intended.
I'm working on adding the drawing of ValueLabels on top (and over) the point of lines (for series).

@eman1986 for the replacement of the actual charts, did you prefer that we keep them as legacy purpose ? Maybe in another namespace ?
And like that i can rename the newest ones (BarSeriesChart => BarChart, ...).
Or can i drop them directly ?

It's probably not a bad idea to have the legacy charts just so people have time to port over to the nicer charts. This is looking really nice btw.

I've added a new value label drawing for LineChart on top and over points.
Renaming of BarChart, PointChart, LineChart to LegacyXXXChart.
Renaming of BarSeriesChart, PointSeriesChart, LineSeriesChart to XXXChart.
Made lots of comments of public method of property.
Evolution of the sample xamarin app.
I think i'm done with it @eman1986 . If you can take a look to merge it, it'll be realy cool !
My PR target the main branch do you want me to close that one and repopen it for the develop ?
Here is some screen of the sample app :

You can keep it at main. I'll take a look at it tonight.

You can keep it at main. I'll take a look at it tonight.

Hey @eman1986 any news about this ? I want to make some others PR on the project, and this must be merge before

I'll look today, I took a break for the holiday week.


[Feat] Simple editting

Would be really cool if there was some very simple way to just click on a field and allow to edit it online. Nothing complicated, nothing fancy. Even a javascript:alert() prompt works 😅

See https://github.com/rvdende/surrealreact/pull/5
Clicking on a table row now opens the data entry in a monaco editor in the browser, this then allows json editing of the row however saving changes still need to be implemented. Just need to add a simple save button I guess.

https://github.com/rvdende/surrealreact/pull/6

can now click on a table row and edit the json and save back to update.


Add single precision support for RRTMGP

Add single precision support for RRTMGP
Trying: https://github.com/earth-system-radiation/rte-rrtmgp/pull/39 per issue https://github.com/CliMA/RRTMGP.jl/issues/337

[ ] I have read and checked the items on the review checklist.

We may want to try to do https://github.com/CliMA/RRTMGP.jl/blob/9997abad1060ef899e3d8755b5dad9fcaa01c36c/src/optics/GasOptics.jl#L38C33-L38C41 at higher precision.

With the above changes, there is a significant reduction in single precision flux errors to less than 1 to 2 W/m^2 compared to double precision results, depending on the test case. However, we are not yet seeing the differences of about 0.1 W/m^2 we are expecting.
I need to dig deeper, check if there are any differences in tests or lookup data,  compared to the FORTRAN code, since we haven't updated these in a couple of years!
Since these changes do not effect the double precision cases, I was thinking of merging this PR with the current changes and pursue remaining changes a differnt PR. @simonbyrne @charleskawczynski @szy21

bors try

I'm ok with merging this. @charleskawczynski What do you think?

I’m definitely onboard with incremental changes, is there anything we can/should to to the test suite? (e.g., can any tests be changed from broken to unbroken?)

I’m definitely onboard with incremental changes, is there anything we can/should to to the test suite? (e.g., can any tests be changed from broken to unbroken?)

Not yet. This change is just to source code. We need to relax the failure tolerance to about 0.35 W/m^2 for single precision tests, per https://github.com/earth-system-radiation/rte-rrtmgp/pull/222/files#diff-c471496bcb3ed47397b73d2e3e3aa41a8a679c86accaed9e05676fd9d5987434R39 ,
but that can be done later

bors r+

bors r+

I started a draft PR here to try out these changes! cc: @szy21 @tapios


Quest doesn't work with wooden logs

If I create a quest and as target i insert "17-0", "LOG-0" or anything like this it doesn't register the action and the quest remains at 0%

  1:
    Name: "Rompi Oak Wood"
    Action: Break
    Target: "17-0"
    Amount: 60
    RewardCommands:
    - "acb [playerName] 50"
    - "msg [playerName] Quest completata!"
    RewardDesc:
    - "Rompi 60 blocchi di legno grezzo"
    - "Ottieni 50 blocchi di claim!"
    Chance: 100

Do not type -0 after the ID.
I mean that:
17

I would refrain from using the numeric ID's as they are being phased out.  1.13 removed tons and most developers are moving to Material ID's instead (names) which is where we've been trying to get to for years.  https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html

If I set Target: "OAK_WOOD" it says [Jobs] Loaded 0 quests for Woodcutter and it doesn't load the quest.
PS I am using Jobs 4.7.4 on Spigot 1.12

Did you try to replace OAK_WOOD with OAK_LOG?
Otherwise, you can look at material IDs and names: https://minecraft-ids.grahamedgecombe.com/

It doesn't work neither with OAK_LOG nor with minecraft:log (with this last one it doesnt load the quest)
I also tried something like POTATO-7 and doesn't work, the only things that works are stone and ores (STONE, COAL_ORE...)

And with "17-0" the job works, just the quests don't

@Zrips - any update on this issue?  Thanks, Steve

This should be working with next update.


Updated TimeSync configuration script

Updated time sync configuration script to address issue #764

@lixuemin2016 can you please also verify these changes and let us know if you have any feedback.
Thank you!

@chvalean @ilenghel  we are checking these changes, will update the feedback in recent two days. Thank you so much.

Thank you for the feedback. Regarding "return $ptp", it shall be removed. LinuxPTP provides ptp4l and that is why we need to install it. About moving some of the lines to separate functions, because we have to handle different distributions, some of the lines will still repeat. Thank you.

Thank you, base on comment from developer,  he suggests that we no need to cover linuxptp/ptp4l here -  "these are for 'real' PTP devices and their configuration and we're just piggy-backing on PTP protocol." Could you please set the install linuxptp/ptp4l as optional, or not add this part to RHEL case? Thank you so much.

Hi Li,
The ptp4l appeared in the initial commit with the chronny off new tests.
If we don't rely on linuxptp/ptp4l, then we need to remove all the installation and configuration for that.

@chvalean, agree to remove all the installation and configuration for ptp4l based on developer Vitaly's comment.
Thank you so much.


SSM Parameter /org/core/ManagementAccountId is not defined

When applying the customization, the CfCT pipeline will fail in "CloudformationResource" stage.
Error message seen in the logs is quite clear. Seems like this SSM parameter is not created.
{"time_stamp": "2022-06-21 19:32:47,249","log_level": "ERROR","log_message": Unhandled Exception: The SSM Parameter /org/core/ManagementAccountId was not found}

solved on #18 , thank you!


[BZ-1319808] reproducer for resolving LATEST artifact from remote repo

Closing, as there is no easy solution right now to fix this.


Fix the assertion error in output transformer

Codecov Report

Merging #2321 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             master   #2321      +/-   ##
===========================================
- Coverage     86.81%   86.8%   -0.01%
+ Complexity     5169    5168       -1
===========================================
  Files           454     454
  Lines         20511   20511
  Branches       2209    2209
===========================================
- Hits          17806   17805       -1
  Misses         1932    1932
- Partials        773     774       +1

Impacted Files
Coverage Δ
Complexity Δ

...gle/api/codegen/transformer/OutputTransformer.java
86.54% <0%> (-0.45%)
31% <0%> (-1%)

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 5e9af86...c1927cd. Read the comment docs.


Add Kamal deploy

https://dimagi.atlassian.net/browse/CCCT-317
I have deployed using this on a test server and it mostly works.
The main difference in the way this works and commcare-connect deploy works is that this uses kamal setup to do initial setup while the commcare-connect uses ansible.
Similarly for initial .env setup, commcare-connect uses ansible, here we have to setup the .env by hand. I will add automation for this in a latter PR.

@calellowitz bumping for review

I am merging this into sr/docker https://github.com/dimagi/connect-id/pull/17/files


How to set schedule to save checkpoints of best epoch in mmdetection3.x

I know that in mmdetection2.x I can set the evaluation in the schedule to save the best checkpoints, but in mmdetection3.x how do I set it to save the best checkpoints as well?

@LittleWhitemi how did you trained model using mmdetect 3x, what is your installation setup?im not able to run scipt provided by readme, some dependencies issue

@akashAD98 I am using mmrotate1.x, which is dependent on mmengine as well as mmdetection3.x. You can check if you have the correct version of mmengine. The environment I am looking for is
python3.9+pytorch12；
mmcv                      2.0.0                    pypi_0    pypi
mmcv-full                 1.7.1                    pypi_0    pypi
mmdet                     3.0.0                     dev_0
mmengine                  0.7.2                    pypi_0    pypi

@LittleWhitemi thank,i want to train custom segmentation model but not able to install , getting mmcv error

@LittleWhitemi thank,i want to train custom segmentation model but not able to install , getting mmcv error

Please do not install mmcv using mim, instead, install it manually. Use the following link:
https://mmcv.readthedocs.io/en/v1.4.1/get_started/installation.html
Scroll down, you will find a table describing the compatible cuda, torch and mmcv versions (of course you would have to install the version you want of pytorch first!)
Trust me, this will work as charm ^_^


✨ Add support for .adoc files for security policies

checks/security_policy_test.go: updated unit tests
checks/raw/security_policy.go: add support for .adoc policies
Add support for .adoc files.
No breaking changes
closes https://github.com/ossf/scorecard/issues/1347

Codecov Report

Merging #1590 (c17209e) into main (24842de) will decrease coverage by 0.00%.
The diff coverage is 50.00%.

:exclamation: Current head c17209e differs from pull request most recent head 69a6c50. Consider uploading reports for the commit 69a6c50 to get more accurate results

@@            Coverage Diff             @@
##             main    #1590      +/-   ##
==========================================
- Coverage   54.12%   54.12%   -0.01%
==========================================
  Files          70       70
  Lines        6169     6175       +6
==========================================
+ Hits         3339     3342       +3
- Misses       2620     2623       +3
  Partials      210      210


Cli

Follow up on the previous PR: https://github.com/uber/cadence/pull/1304

Words/format updates.
print stack trace.

BTW thanks for fixing this, and good job!


iOS support

https://www.hackingwithswift.com/example-code/uikit/how-to-localize-your-ios-app
projectType: apple/ios

Ready in https://github.com/simplelocalize/simplelocalize-cli/pull/31

Ready in https://github.com/simplelocalize/simplelocalize-cli/pull/31


Error when no configuration file

I'm getting the following error when there's no configuration file...
I0228 13:32:46.805145     293 versioner.go:58] invalid configuration: no configuration has been provided

Should this be shown or silently skipped?

@mattfarina - were you able to quiet this alert? I'm experiencing the same thing. I expected that creating a valid $HOME/.kuberlr/kuberlr.conf file would silence it, but that does not seem to be the case.

This error occurred for me when there was no current-context set in my .kube/config file. It does not appear to be related to kuberlr's config file.
This should probably be handled the same way as #18


how can i rename the chromium process name in task manager!

How, exactly, is this an issue?

@tangalbert919  I mean that how i can modify the process name of the browser application(chromium).

I think you'll need to change the source code in order to do that. There are several other Chromium forks that do this; you should be able to apply their patch and rebuild the browser yourself.


order_page_name

Hello,
I am having a small issue with the new version. We use a small piece of code to "hide" the menu in the checkout:
{if {$request} == "{$base_dir_ssl}authentication?back=my-account"}
{include file="$tpl_dir/header-order.tpl"}
{elseif (($page_name == "order") && ($order_page_name == "order-summary"))}
{include file="$tpl_dir/header-order.tpl"}
{else}
When installing the new version 3.0+ i am having this issue in the top of the website.
Notice: Undefined index: order_page_name in /public_html/cache/smarty/compile/a2/29/be/a229be2c69f6ae48834f06cad35a6fdad48c5f03.file.header.tpl.php on line 81
Notice: Trying to get property of non-object in /public_html/cache/smarty/compile/a2/29/be/a229be2c69f6ae48834f06cad35a6fdad48c5f03.file.header.tpl.php on line 81
Is the new version using the header or some kind of hook in a different way?

Hi @basemedia ,
This doesn't sound like Mollie related issue. It looks cache related. Maybe if you clear the cache, it might solve this issue. Please let us know if this solves the problem.
Regards

Thanks for the fast response:
I am getting this message then:
Notice: Undefined index: order_page_name in /var/www/.nl/public_html/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()'d code on line 81
Notice: Trying to get property of non-object in /var/www/.nl/public_html/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()'d code on line 81

Hi @basemedia ,
Which hook did you use to assing $order_page_name to smarty? And could you please show me the code?

Well we removed some code in a different header file. Override is like this OrderController.php:
It only happens in the checkout pages.
step == 0) || ((int)$this->step == -1))
	self::$smarty->assign('order_page_name', 'order-summary');
   parent::initHeader();
  }
}
}
?>

Looks like the module always enables error reporting from version 3.0.0 on. If you remove the following lines from the main module file it will no longer show those error messages: https://github.com/mollie/PrestaShop/blob/9a5a6526150ef2710b71c1d7277eb11559e51c2b/mollie.php#L35-L37

Working thanks Michael!

@basemedia ,
We are very sorry for the inconvenience this has caused, we just released a new version in which the error reporting has been removed.
Regards


DoGetApplicationsAsync Failed

When a service is registered without instanceId I have following error
System.ArgumentNullException: Value cannot be null.
Parameter name: key
   at System.Collections.Concurrent.ConcurrentDictionary`2.ThrowKeyNullException()
   at System.Collections.Concurrent.ConcurrentDictionary`2.set_Item(TKey key, TValue value)
   at Steeltoe.Discovery.Eureka.AppInfo.Application.FromJsonApplication(JsonApplication japp)
   at Steeltoe.Discovery.Eureka.AppInfo.Applications.FromJsonApplications(JsonApplications japps)
   at Steeltoe.Discovery.Eureka.Transport.EurekaHttpClient.DoGetApplicationsAsync(String path, ISet`1 regions)

PR was merged. Closing issue


[Framework] Refactor RoochFramework with Object style

[x] #1067
[x] ChainID to Singleton Object
[x] Timestamp to Singleton Object
[x] AddressMapping to Singleton Object
[x] CoinInfo to Object or make it to CoinInfo and become Singleton object.

#1138


Github wiki style markdown issue

As an experiment, I took the wiki from http://github.com/osmdroid/osmdroid, cloned it and ran it through the commonmark and ran into a few issues.

it appears that relative links to another wiki page isn't resolved...

2. Walk through the [tutorial](How-to-use-the-osmdroid-library)

The target page is generated but the extension .html is missing. Not sure if there's anything that can be done to work around this.
2. The double bracket syntax isn't appear to be handled at all
[[osmdroid thirdparty|osmdroid thirdparty]]

If necessary, I can go back and alter all of the wiki pages to use full urls, but as always, I'll look for less painful solution

Yes. We use the destination of a link as it appears in the source. The library doesn't know how documents relate to each other or that in your particular use case, pages have an additional .html at the end.
You can get the result you want by writing a Visitor that looks at all the Link nodes and appends an .html to the destination if it is a relative link. See Link.setDestination and getDestination.

There's currently no extension to handle that syntax in the parser.
What you can do to handle this is to have another Visitor that looks at Text nodes and tries to find [[. If it does, it can split the Text node into two and insert a Link node.
Let me know how that works for you, and feel free to paste your code here in case you get stuck.

I think if I follow your pattern and look for links that don't start with http or https or have any protocol for that matter. That should be an indicator that it's a relative link. In my case, I would just append the html extension and be off the races. I'll give it a shot.

An easier fix was just remove the double bracket syntax. Turns out it was only on one page. Someone should fire the guy that put it there! (it was me and i don't get paid for this)

Update on 1. I wrote the visitor and was able to alter the destination urls rather painlessly, but I noticed that my visitor didn't hit any of the link nodes when there was whitespace within the destination link. Probably something that's easier to fix by fixing the markdown, but i figured this fact was worth sharing with you all. It may be something that can be 'fixed' however it's clearly happening in the parsing phase

Good to hear. For others looking at this, appending .html was done in a PostProcessor, see here: https://github.com/chrisdoyle/gradle-fury/commit/2155f4273e3de7f798017b804849248b833e2b62#diff-03707e81bf9b997cacb37e8e1d38d2b3R240

I noticed that my visitor didn't hit any of the link nodes when there was whitespace within the destination link

Yes, this works as intended. Spaces are not allowed in link destinations in the CommonMark spec: http://spec.commonmark.org/0.26/#link-destination


ci: update circle CI config to build sample and run e2e tests

Example of Cypress dashboard output for test run:
https://dashboard.cypress.io/#/projects/so64kq/runs/8/specs
Currently the tests only pass with Chrome, but Cypress recording only works with electron which means we don't have recordings yet.  I'm still trying to find out why they're broken on Electron.

:tada: This PR is included in version 0.292.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Implement Redirects in Gitbook for legacy developers.gnosischain.com pages

We may be able to specify the basepath as the new docs.gnosischain.com site, and redirect developers.gnosischain.com to the new site
https://github.com/getgauge-contrib/gitbook-plugin-bulk-redirect/blob/master/README.md#redirects-in-redirectsjson

Old website still hosts Optimism on GC information. We need to transfer those first, then generate HTTP permanent redirects and deprecate gitbook.

Dependency: https://github.com/gnosischain/documentation/issues/190

I was actually thinking of doing the migration 1-by-1, and defining custom 302 rules for each page that we migrate.
I was trying to find an old page from the Gitbook yesterday (regarding ETHDenver 2019). Unfortunately the page got redirected, even though the content was not migrated.
We can probably use the lull after the Merge to re-pick up on the docs effort, hopefully with more contributors this time from the community. There's a lot of resources in the old docs (news articles, etc), and it'd be a great way for new contributors to learn more about the chain's history.

URL Planning tab redirects developers

Dependencies:

[ ] https://github.com/gnosischain/documentation/issues/72
[ ] https://github.com/gnosischain/documentation/issues/327


bottom center and right edge shifted to the right

On certain songs -I only caught this bug in mozart's orchestra , maybe other songs have the same thing- the bottom center right edge are shifted to the right and that part aren't visible (off screen). However , the left side is still the same.
To Reproduce
Play Wolfgang Amadeus Mozart - Lecrimosa

OS: Windows 10
Version 20H2

can you reproduce this with original Dribbblish theme?

idk why but original Dribbblish doesn't work for me.

Then you should report this to @khanhas


Documentation typo in the "Downsampling and Data Retention" page

URL for relevant page?
https://docs.influxdata.com/influxdb/v1.0/guides/downsampling_and_retention/
In the Results section, instead of name: cpu and name: downsampled_cpu this should be name: orders and name: downsampled_orders

Thank you, @fabricedesre! This will be fixed by  https://github.com/influxdata/docs.influxdata.com/commit/2c52a037764861bda5e74cd9eddc3eefa49bfdce.


Persists catalogue tags filter in URL

Persist the catalogue tags in the URL - so that pages can link to the catalogue with tags.

Feature Suggestion
Because we can filter pretty much everything with tags - for our case I recommend using tags in the schema for defining what languages/frameworks etc. were used in a service/component/website.
In the Techradar we could then automatically deeplink a certain language to a filter with the tech/language already selected - allowing developers to explore the services directly from the techradar

Possible Implementation
component schema:
...
  tags:
    - go
    - redis
    - mux
...

Catelogue filter url
/catalog?tags=go,redis,mux
/catalog?tags=go

And what page you are on, if paging is used on the table :)

Also, some sort of page/offset for the entity table (when added) should also be reflected in the URL.

Hi @Fox32 @freben , I would like to work on this. How would you want me to implement this?

Hi,
This one may be a bit involved... What I can say to get going is that you want to look into the EntityFilterGroupsProvider. It stores all of the currently selected filters. Among them you will see for example selectedFilterKeys and selectedTags that hold the state of what's selected by the user.
Somehow, that (and possibly other info) would travel to and from the location bar.

@freben  According to my understranding, entities in catalog should be filtered by using tags in URL. When filters are selected in catalog page, they should persist even after navigating to another page and backwards. Other filters like owned or starred, page in table should also be stored in the state. Please correct me if I'm wrong.

@BA1RY seems right to me, will assign it to you!

@benjaminr Will work on it :smile:

@freben I'm made a PR. Please check it out and let me know about the changes/optimizatons to be made. Thanks :smile:
I'm not sure about the naming conventions or types declared by me. I've tried to implement this feature similar to the one being implemented in cost-insights plugin.

Still open, only implemented in the API explorer so far.


[OFFICIAL] Generated Issue: ErrorException

Please fill out the details below.
Summary:
Steps to reproduce:
Additional Details
Jikan Parser Version: 3.0.0.x-dev@126aee66219a1586bbce5bf2a9f8cccf8cb88420
PHP: 7.4.20
Redis: Connected
Exception: ErrorException
Code: 0
Message: Undefined index: url
Trace: /var/www/jikan-rest/vendor/symfony/http-client/Response/TransportResponseTrait.php on line 129
Request: GET /v4/anime/48569/episodes?page=1

Please refer to the following issue:
https://github.com/jikan-me/jikan-rest/issues/177


Add build status and contributors badge

 You should sign our Contributor License Agreement in order to get your pull request merged.

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io


Fix timeout, add Closable::onClose()

Thanks! You don't need to close this PR and open another one, you can just edit your branch further. We can always squash the commits at the end.

We can always squash the commits at the end.

Okay, thanks for the tip!

Thanks!


docs(vote): redirect voting page in sidebar to v4 instead

Changes:
Redirecting the sidebar link for the Vote page to open the v4 version instead of a blank page. (#6002)

Weird, it works just fine in this pull request. https://webpack-js-org-git-fork-mhnaeem-bug-vote-pa-f14bfa-webpack-docs.vercel.app/vote

The only difference is hosting, Github pages vs Vercel

So I spent some time troubleshooting the problem, seems the placeholder Vote.mdx is overriding the real Vote page. I've filed another pull request here https://github.com/webpack/webpack.js.org/pull/6017 to see if it fixes the problem.

I believe it was fixed in that pull request now, check https://webpack.js.org/vote/. @mhnaeem Thank you for raising this issue and your help to fix it!


Subtitle (and title) notification attributes don't seem to work with communication notification

Hello, I have followed the PR https://github.com/invertase/notifee/pull/526 from @helenaford and set up Communication Notifications. Thank you so much @helenaford 🥳
The only problem I'm running into is that I want a subtitle to display. I'm using communication notifications primarily for group chats and want to follow the same layout as a WhatsApp group chat notification. I've gotten around this by putting a \n at the start of the body  text which leaves an unbolded "subtitle" workaround for now. Any ideas why subtitle might not be displaying properly?

await notifee.displayNotification({
      id: 'communication-id',
      body: 'Your Team\nMain body content of the notification', // <---- using \n as a workaround
      title: 'Why you no work', // <--- this doesn't work
      subtitle: 'Your Team', // <---- this doesn't work either
      ios: {
        categoryId: 'communicationId',
        communicationInfo: {
          conversationId: '123',
          sender: {
            id: 'abcde',
            avatar: 'https://avatars.githubusercontent.com/u/******?v=4',
            displayName: 'B****** ******d',
          },
        },
      },
    });

Thanks!

you need to implement it on the native level

Did you find out how to do this? I'm trying to display a subtitle with comm notifications and it's not working.


[Proposal] Use square brackets to specify an array index instead of assuming numbers as indexes

This would be great. Not only does it match how you would access an actual JS object (socialGraph.users[0]), but libs like Formik use this notation as well for its paths.

to add 2p., bracket notation could be used interchangeably and also, it could be used to escape dots in key names — if you pass a[0] you mean { a: [x] } but if you pass string, it means it's escaped object key name — a["b.c"] means {a: { "b.c": "x" }}

Numbers as indexes - that's the natural way of resolving array elements, i.e. natural because indexes can be treated as indexes directly, without any extra work.
Adding support for [] isn't just an extra parsing, but a heavy one, with most likely use of RegEx. As a result, it will be quite an impact on performance.


Remove skipLibCheck when possible

Currently, there are several typing errors in our dependencies that block having full type check of our dependencies, so had to enable the skipLibCheck. Some of the issues:

[ ] https://github.com/ffMathy/FluffySpoon.JavaScript.Testing.Faking/issues/241

Release v8.3.0 addresses this.


Reduce memory usage for interaction values in large trees.

Hey everyone,
while looking at the source code I noticed a small optimization in memory usage for the calculation of the interaction values in C++.
The array for the unique features used in calculating the interaction values in tree_shap.h allocates max_nodes integers per tree to save the unique features used in a tree. For big trees, this is too much, as the number of overall features is an upper bound for the number of unique features used in any tree.
Hope that this will help, thank you for your fantastic work.
Best,
Morris

Excellent. Thanks for this! It LGTM so I will merge.


Error when trying to add Notebook from Model Builder

I get this error when trying to add to solution from Consume page in MB:

And then when I close out of the error dialog, this happens and doesn't go away:

@briacht Can you upload your mbconfig file?

TaxiFareModel mbconfig.zip


Remove dependency on .js.erb and puppet for loading our analytics

Hi @andysellick / @JamesCGDS - would you be able to approve this if all is OK? Thanks :+1:
This change creates a JavaScript file which will load in our analytics variables depending on the current domain that the user is on. The previous implementation would grab environment variables from the servers machine, and then pass them through to JavaScript using a .js.erb file. We cannot use puppet anymore due to the new infrastructure. As well as this, .js.erb is a deprecated filetype.
Therefore I have created load-analytics.js which:

Grabs the current domain that the code is running on using window.location.hostname.

Sets the correct environment variables for both Universal Analytics, and Google Analytics 4 depending on the environment you are on. These are also hardcoded now.
Kick off the initialisation of analytics by running their respective init() functions, which will then run their govuk_publishing_components code.
The govuk_publishing_components code then makes use of these environment variables. It can access them as they are set on the JavaScript window object.

I have removed getting the gemVersion in this PR. Now that we can't use .js.erb, it's not possible to get the gem version via static. Therefore we will need to to make the gem version a meta tag in our page's header. So I'll do some work in govuk_publishing_components to add that meta tag to our page header. Then I will also write some JS in govuk_publishing_components which stores that meta value as a global variable that we can use for our dataLayer pushes.
If you'd like to check the environment variables to see I've hardcoded the right ones, these are the sources:

Production
Staging
Integration
Universal Analytics' Production value
Universal Analytics' "UA-UNSET" value
The dev GTM environment variables are from Ian

Thanks

I'll see if it's feasible in govuk_publishing_components so you don't need to worry about reviewing this for now @andysellick @JamesCGDS - thanks

As it's feasible to achieve this in govuk_publishing_components, this branch is just removing the code we no longer need. https://github.com/alphagov/govuk_publishing_components/pull/3145

@andysellick I've pushed the fix for failing the Jasmine tests in static. It's failing on GitHub as we haven't published the load-analytics.js change in the components gem yet so it can't see it.
To test it you'll need to have your static pointed to your local publishing components, with the load-analytics branch checked out in your local publishing components repo.
Thanks :+1:

@AshGDS latest changes look good, well done figuring this out. I guess in order to get this PR to be mergable we'll need to get your gem changes into a release, get it in static and then rebase this PR? I think you said it was safe to do that, as the code can still be initialised by static, it just ignores the new stuff you've written?

Thanks @andysellick - the branch has the latest publishing components now :+1:


[BCHDCC-81] - Issue with map and search in the dev site

Description
Issue found on the dev site the map is not working and the search is not triggered when the user changes the filters on the left menu.
Motivation and Context

BCHDCC-81 - Issue with map and search in the dev site

Screenshots

Libraries Added

N/A

Migrations to Run: No
Tests to Run

N/A

Internal Checklist

[ ] My code follows the code style of this project (https://rubystyle.guide/).
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@anna-dorigo Looks good, nice find!


add default response format for when the 'Accept' header is missing

Summary
Implementation of #2332 providing a configurable default response type to be used when the Accept header is not present in the request.
Full changelog

Add response_format Kong configuration property.

Issues resolved
Fix #2332

Hmm, this didn't trigger a CI build. @therealgambo is there anything odd about this PR or your fork that would stop Travis from executing?

Updated with changes.
@p0pr0ck5 , this covers any Nginx error response / Kong error that makes its way into the error_handlers.lua.  The specific case I was encountering was when a configured upstream is no longer accessible, upstream server is essentially offline.

Make a dummy upstream that will never respond to simulate an offline server.
curl -X POST http://localhost:8001/apis -d 'name=example' -d 'hosts=example.com' -d 'upstream_url=http://<IP_ADDRESS>:3333'

Make a request - response will be in the format of that specified in the kong config.
curl -v -H 'Accept:' -H 'Host: example.com' http://<IP_ADDRESS>:8000/

@thibaultcha tests added. Please let me know if I have missed something in them or if you would like any additional checks.

This seems okay to me, ran the full test suite against it without problems. Should we target master instead of next as this isn't a breaking change?

I'm fine with it going into either.

@thibaultcha updated. lgtm

Merged to master in b73717902793ba5796edaea7c93446d15c3fd24b with the appropriate changes. Thank you for your contribution!


Moving sequelize and node to peerDependencies

Moving sequelize and node to peerDependencies
This makes it a lot easier to fix/patch type issues that sequelize-typescript depends on.

Hey @dancrumb thanks for contributing. To really give the user of sequelize-typescript the ability to install their own typings, the typings dependencies also have to be less strict. Nevertheless this would mean a major change, which is already done with<EMAIL_ADDRESS>https://github.com/RobinBuschmann/sequelize-typescript/blob/1.0.0/package.json#L73

That's fair.
I wonder - since Promises have been supported since 0.12 (https://node.green/#ES2015-built-ins-Promise) and the recommended level these days is 10.15, perhaps it's time to drop the references to bluebird and rely on native Promises?

@dancrumb that's up to sequelize whether or not bluebird or native promises are used. I think sequelize uses features that native promises do not offer - that's why they don't switch. But this is nothing we from sequelize-typescript can decide. But thanks for your hint :)


fht-fixed-column, fht-fixed-body height problem

Assume we have 4 rows and 4 columns.
The first row is header, and we freeze row 1 and column 1.
We set the div's height 50px in row 2 and column 4, while the other cell's height is auto.

Then the height of cell in "fht-fixed-column fht-tbody" is 1px larger than the height of cell in "fht-fixed-body fht-tbody".
When the number of row is much larger, the row in "fht-fixed-column fht-tbody" and "fht-fixed-body fht-tbody" can not align in vertical, such as:

The problem was corrected

how do we remove vertical scroll?


Php::eval() is not worked

void helloWorld ()
{
    Php::eval("echo 'called';");
}

when i try with this function, i get an error:
Parse error: syntax error, unexpected 'echo' (T_ECHO) in  on line 1

with version for fix #149 , it was worked well.

Difficult problem. The fix that you mentioned was necessary to solve that eval() crashed when a value was returned from it. However, by fixing it, we now have this different problem which comes from the fact that the Zend engine modifies the code if you're interested in the return value of an eval() call (and the Php::eval() function does want to know the return value). In that case the Zend engine puts a "return" statement in front of the to-be-evaluated code. Your code is thus turned into "return echo 'called';", which is indeed invalid.
However, I've decided to fix it. This may break programs that use programs like auto result = Php::eval("3 + 5");, but it now is more compatible with the builtin eval() function of PHP.

@EmielBruijntjes  Thanks

Hi @EmielBruijntjes
i tried with
Php::eval("echo 'called';");

i got error:
500 Internal Server Error
This is log on server:
[Fri Mar 20 16:03:39 2015] [error] [client <IP_ADDRESS>] Premature end of script headers: test.php

I am using PHP-CPP version 1.3.1, g++ 4.8.2. Please check and fix it. Thanks!


Cannot extract encrypted files when the password contains a german umlaut

Hi,
I've the problem that zip4j does not like umlauts (ä, ö, and ü) in a password. A normal password without any umlauts works fine. The zip-file can be extracted with all normal programs. Only zip4j cannot use the password.

Hi, I just tried with password "hällö-wörld" and it seems to work with v2.11.5. Can you verify?

Yes. Now it seems to work. Maybe the zip-file i've tested had some issues.


custom layout pages missing from sitemap

As a side-effect from #2, any page that is not a post and doesn't use the page layout doesn't show up in the sitemaps.
This is a problem whenever custom layouts are defined.
Using the following check here should solve the problem:
if (page.layout === 'false') {

instead of
if (page.layout !== 'page') {

well spotted. I will fix this problem. thanks

Check fixed


feat: Rremove old market part client from nuget package

Codecov Report
Attention: 153 lines in your changes are missing coverage. Please review.

Comparison is base (65fc4fb) 9.67% compared to head (2cba42b) 17.12%.
Report is 2 commits behind head on main.

Files
Patch %
Lines

...h/api-dh/source/DataHub.WebApi/GraphQL/Mutation.cs
0.00%
27 Missing :warning:

...s/dh/api-dh/source/DataHub.WebApi/GraphQL/Query.cs
0.00%
23 Missing :warning:

...Controllers/MarketParticipantUserRoleController.cs
0.00%
22 Missing :warning:

...Api/Controllers/MarketParticipantUserController.cs
0.00%
20 Missing :warning:

....WebApi/Controllers/MarketParticipantController.cs
16.66%
15 Missing :warning:

....WebApi/GraphQL/DataLoaders/UserBatchDataLoader.cs
0.00%
8 Missing :warning:

...ntrollers/MarketParticipantPermissionController.cs
0.00%
7 Missing :warning:

...Controllers/MarketParticipantGridAreaController.cs
0.00%
6 Missing :warning:

...pi/Controllers/MarketParticipantActorController.cs
0.00%
4 Missing :warning:

...pi/GraphQL/Resolvers/MarketParticipantResolvers.cs
0.00%
3 Missing :warning:

... and 13 more

Additional details and impacted files
@@            Coverage Diff            @@
##            main    #2356      +/-   ##
=========================================
+ Coverage   9.67%   17.12%   +7.45%
=========================================
  Files         87      101      +14
  Lines       4258     4601     +343
  Branches     792        0     -792
=========================================
+ Hits         412      788     +376
+ Misses      3837     3798      -39
- Partials       9       15       +6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


ER Diagram don't save tables size

If I resize one or more tables in a ER diagram and save, when I reopen it all tables are maximized loosing resize information.

Thanks for the report @kata32

Closed as a duplicate of https://github.com/dbeaver/dbeaver/issues/14988


Fix Issue #2652 concerning V8 decodeURIComponent().

Hi,
This Error throwed by V8 Engine using decodeURIComponent() Was Very Disturbing To Me.
It is easy to reproduce. Just send an URI with gt/lt like (/un/known/route/<%= this what i used %>) in an unknown route and you will get the issue.
This Could also lead to a DoS issue because I was not able to catch the throwed error then the process goes down and that why i made the modification.
I Replaced the decoding by the Native Nodejs URL Parser.
Cheers
Michael

@mykiimike I'm not sure why you couldn't catch it, but the error is forwarded on and always handled (either by the default Express error handler or your custom one).

@blakeembrey Yes i just catch the real problem. So, yes url.parse() does not make sense. It fixs my problem and create new one. But this stills a problem. Just adding % in the request URI and the express process downs.
This is just because express tests must accept % without encoding (%25). It is a strange behavior of decodeURI()-like that does not catch % is an invalid unicode. BUT in the same way you will have problem if you put % followed of a valid unicode that the coder did not except :].
@blakeembrey i will look at the error handler

Thanks

Can you create a reproduction of the issue crashing? I can't replicate the behaviour. I used:
var express = require('express')
var app = express()

app.get('/:param', function (req, res) {
  res.send('success')
})

app.listen(3000)


ProfilingPlugin output file crashes Chrome devtools

Bug report

What is the current behavior?
After running ProfilingPlugin and dragging the events.json file into Chrome devtools Performance tab, devtools crashes and closes after "Processing profile..." This seems to happen on larger builds where the JSON file is 116 MiB, but not on smaller builds where it is < 70 MiB.
I'm not sure if this is a bug in Chrome devtools or the webpack plugin (or both) so I figured I'd start here.
If the current behavior is a bug, please provide the steps to reproduce.

Enable ProfilingPlugin on a large build and run webpack. In my scenario, the generated file is 116.6 MiB.
Drag events.json into Chrome devtools Performance tab.
Wait for the file to be loaded and processed.
Devtools closes without showing the results.

What is the expected behavior?
Devtools Performance tab shows flame charts instead of closing.
Other relevant information:
webpack version:  4.15.1
Node.js version: 8.9.1
Operating System: macOS 10.13.5
Additional tools: Chrome 67.0.3396.99 (Official Build) (64-bit)
cc @samccone (let me know if you want my events.json file and I can send you one privately)

Please send me the file samccone at google.com

@sokra can you close this, I am following up with this bug internally, thanks!

Thanks @samccone!

@samccone Is there an issue link where we can track this as well?

Was there an official solution for this? even with the args and --no-sandbox, I have a 600M file 😬 that crashes the dev tools.

@samccone I think this is the same issue: https://github.com/webpack/webpack/issues/9108
In my case dev tools does not crash, but profiler just resets and does not show the result.

I used the chrome://tracing tool to open and analyse a 186MB file covering a 8.5 minute build, to avoid this issue. The mouse navigation didn't work well at this scale so used the keyboard shortcuts. Yes it's big/slow but that's why I want to profile it.

Webpack performance issues are mostly topical for bulky unoptimised apps and ironically it's impossible debug the output due to its enormous size 😅
Indeed.

This is still an issue but doesn't look like webpack team can do much about it. Is there a Chromium bug tracker for this?
I have a 640MB events.json generated by webpack that doesn't load in Chrome. Sometimes it crashes DevTools, sometimes it's stuck at "Loading profile...".

@cseas Can you create reproducible test repo?

I was on the Edge team for some time and I'm happy to forward a events.json file if you have one somewhere to at least report the bug. @cseas if you can link one I'll do what I can.

I used some jq to find the most common lines
cat events.json |jq 'group_by(.name) | map({name: .[0].name, len: . | length}) | sort_by(.len)'

and then excluded them to get my events.json down from ~700mb to ~50mb
cat events.json | grep -Ev 'InnerGraphPlugin|SideEffectsFlagPlugin|CompatibilityPlugin|HarmonyImportDependencyParserPlugin' > events2.json

I learned that a good chunk of time was spent in minimization, but other than that it was just thousands of NormalModuleFactory spans, so I didn't learn too much in the end.

You can use https://ui.perfetto.dev/ for opening a big events.json. Size was 800+MB in my case.
P.S. chrome://trace recommends perfetto now :)

Same issue. My events.json file size is 499MB, when I drag and drop to the Edge Browser Performance panel, got below error:

@robatwilliams 's way works for large size file. Instead of chrome://tracing, it's edge://tracing for Edge Browser.


Make the tests binary an artifact of the release

This will ease the consumption of the tests binary.
Signed-off-by: Daniel Belenky<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/cherrypick release-0.30

/cherrypick release-0.31


Date column geocoded as if it were an IP

This file is being geocoded as if the column date contained IP's.

Interestingly, I cannot reproduce it locally nor in staging :(

I managed to reproduce it locally launching resque with ruby v 1.9.3-p0 as in production.

The simplest test for this:
Good:
$ irb
1.9.3-p547 :001 > require 'ipaddr'
 => true
1.9.3-p547 :002 > IPAddr.new("14/08/2014")
ArgumentError: invalid address
	from /home/developer/.rvm/rubies/ruby-1.9.3-p547/lib/ruby/1.9.1/ipaddr.rb:544:in `in6_addr'
	from /home/developer/.rvm/rubies/ruby-1.9.3-p547/lib/ruby/1.9.1/ipaddr.rb:481:in `initialize'
	from (irb):2:in `new'
	from (irb):2
	from /home/developer/.rvm/rubies/ruby-1.9.3-p547/bin/irb:12:in `<main>'

Bad:
$ irb
irb(main):001:0> require 'ipaddr'
=> true
irb(main):002:0> IPAddr.new("14/08/2014")
=> #<IPAddr: IPv6:0000:0000:0000:0000:0000:0000:0000:0000/ff00:0000:0000:0000:0000:0000:0000:0000>

If we take this sample file
# File test.rb
require 'ipaddr'

puts IPAddr.new("14/08/2014")

and run it through strace:
# Bad
$ strace -s 500 ruby /tmp/test.rb 2>&1 | grep ^open | grep ipaddr | grep -v ENOENT
open("/usr/lib/ruby/1.9.1/ipaddr.rb", O_RDONLY) = 5
open("/usr/lib/ruby/1.9.1/ipaddr.rb", O_RDONLY) = 5

and taking a look at the code, it seems to be indeed part of ruby 1.9.1 rather than 1.9.3 (you can check missing constants and stuff alike).

Fixed


Copy headers over in install script

Just realized this is superfluous since the headers are included in the .framework...whoops!


Slowness of Python implementation

OK, I think I know why the Numpy matmul is not performing as expected. Consider the benchmarking loop in the Python code:
for count in range(BENCHMARK_REPEAT):
	for index in range(total):
		a = a_matrices[index]
		b = b_matrices[index]
		c = a * b

On the final line there, the result of a*b (this is not matrix multiplication, that is a @ b), is stored into the temporary variable c. This variable is already initialized with the product of two matrices, but this is not quite how variables work in Python. The value currently held by c is a PyObject* containing a NumPy array. At the start of the line c = a*b the thing that happens is a*b, which creates a new PyObject* pointing to a new NumPy array. Now the assignment operator kicks in, which essentially does the following:
Py_DECREF(c);  // decrease the reference count of the old value
c = tmp; // re-assign the value pointed to by c to be the temporary value containing a*b
Py_INCREF(c); // increase the reference count of the new value

At the first decref, the reference count of c hits zero, triggering the garbage collector and destroying the value (calling PyObject_Free). Then the new pointer is given the variable spot and incremented.Thus this one line of Python code has essentially performed the following:
PyObject* tmp = PyArray_New(...)    //  calling PyMem_Alloc(nbytes), which might have been allocated using Python's arena
matmul(PyArray_DATA(tmp), PyArray_DATA(a), PyArray_DATA(b), ...);     // not actually, because a*b is coordinate-wise, but in principle
PyObject_Free(c)  //  calling PyMem_Free(nbytes) on former c buffer
c = tmp;

To fix this problem, you need to either prevent the garbage collection of c, by pushing the result to a list or something similar instead, or better writing the result of the matmul directly into some already allocated Numpy array. This is my suggestion:
results = np.empty(BENCHMARK_REPEAT, 10, 10)   # allocate an array big enough for the whole lot of results
for i in range(BENCHMARK_REPEAT):
    a = a_matrices[i]
    b = b_matrices[i]
    np.matmul(a, b, out=results[i, :, :])

Notice that I've been quite careful to make sure that the shape of the results array guarantees that results[i, :, :] is a contiguous block of memory in C ordering (row major) so the write should be as efficient as possible. (Actually F ordering and results[:, :, i] would actually be better for the Fortran backend but let's ignore this.)
I hope this makes sense.

Nice analysis, thanks @inakleinbottle! I gave these changes a quick run through and the timing on the Intel i7 was definitely an improvement (22.02 seconds vs. 39.92 seconds).
I had to make some adjustments to get it to work, which I did with minimal thought:
results = []
for i in range(total):
	results.append(np.empty(c_matrices[i].shape))
start_time = time.process_time()
for count in range(BENCHMARK_REPEAT):
	for i in range(total):
		a = a_matrices[i]
		b = b_matrices[i]
		np.matmul(a, b, out=results[i])
end_time = time.process_time()

If you'd like to make a PR against the repo with the correct changes, I'll be happy to run the i7 and M1 Pro benchmarks again (so they're done in the same environment as the benchmarks).


Seller with trailing space causes invalid summary

During HT22 someone entered "H115 " as a seller causing the summary to be displayed incorrectly

Seems its possible to also enter "H 115"


Add and use repository Sury

Since this image is Debian based, you might want to look at the Sury repo for easy to install php packages. It's used quite a lot (you can search for it on github) and can ease installing extensions on the image at laradock stage.

ERROR: Service 'php-fpm' failed to build: The command '/bin/sh -c pecl channel-update pecl.php.net:443' returned a non-zero code: 1 ???


More discussion of homomorphic mapped types

Especially the practical uses and comparison to non-homomorphic types.

👍


[iOS] getInitialNotification returnsthe notification even when the app was opened without tapping it

Steps to reproduce

use iOS 17.0.1+
Kill the app, and put it in the DEAD state
Receive a push notification
Do not tap the notification, open the app from the home screen instead
getInitialNotification() -> returns a notification object

Expected

getInitialNotification() -> returns undefined

@andrejborstnik did you find any solution?

We fixed it like this in our for https://github.com/ExodusMovement/react-native-notifications/pull/4 https://github.com/ExodusMovement/react-native-notifications/pull/7. Not sure if that works for all use-cases or on the latest version of upstream


Dependency tool/bot raises PRs against incorrect base branch

The branch is checked out/updated correctly but when the bot creates the PR it does so against main which is pretty annoying as it then pings ~all codeowners

Where is the code for this bot?

hi @miroswan the code is in the toolshed repo https://github.com/envoyproxy/toolshed
its triggered in Envoy here https://github.com/envoyproxy/envoy/blob/0dede366537171607da9e5a0ff40586e6017e827/.github/workflows/envoy-release.yml#L89-L130
if you were thinking to address this issue, probably worth pinging me on slack


Replace IOPeon with OutputMedium; Improve buffer compression

This PR consists of three sets of fairly independent changes:

Replace IOPeon with OutputMedium
Refactoring of buffer compression, remove unnecessary data copy
Replace some boxing collections with fastutil, and similar things in the serialization part of the codebase

Unfortunately the way how those changes were developed doesn't allow to split them into independent PRs at this point and make them pass tests (I tried). I apologise for the size of this PR and will try to avoid this situation in the future.
Replace IOPeon with OutputMedium
IOPeon interface was used in many serializers and writers to temporarily store the "main volume" of the data:
interface IOPeon {
  OutputStream makeOutputStream(String filename);
  InputStream makeInputStream(String filename);
}

There was a single implementation TmpFileIOPeon, that created a temporary file for each stream of data in the task working directory.
This interface is replaced with OutputMedium:
interface OutputMedium {
  OutputBytes makeOutputBytes();
}

abstract class OutputBytes extends OutputStream implements WritableByteChannel {
 long size();
 void writeTo(WritableByteChannel channel);
 InputStream asInputStream();
 void readFully(long pos, ByteBuffer buffer);
}

OutputBytes is an abstraction of appendable byte stream, that is readable and writable at any time.
This interface change allowed to simplify many serializers and writers, and they don't need to be Closeable anymore.
Also an off-heap memory based implementation of OutputMedium is added, along with tmpFile-based. Everyone who have enough memory on the servers should use this type of OutputMedium. Note that it may require to change -XX:MaxDirectMemorySize JVM parameter.
Type of OutputMedium to use could be configured per-task (in this PR this is implemented for most relevant types of tasks, except Hadoop tasks), via a parameter called outputMediumFactory, with options tmpFile and offHeapMemory, somewhere in "tuningConfig".
Also a generic druid.defaultOutputMediumFactory configuration added, to select the OutputMedium to use for tasks in which outputMediumFactory is not specified. It should work in Hadoop as well. The default value is tmpFile, for backward compatibility.
Refactoring of buffer compression, remove unnecessary data copy
Buffer compression is simplified. Unnecessary data copy is removed at least at two points:

CompressedObjectStrategy.toBytes() (This method is removed and not used anymore, because the code that used it was optimized)
LZ4 compression now uses only direct buffers on the input and the output side, that allows the native implementation to not allocate another buffer internally and use the provided buffers.

Also, this PR now not always compresses blocks of the full block size (which is 64K), if the leftover or the whole column (e. g. if the segment is small) is lesser than that. This doesn't contradict the spec, but is not supported by the current implementation, that is fixed in #4824. I think if #4824 will appear in Druid 0.11 it will be good to apply this PR without bumping segment version.
Removed WIP tag, this PR is good to review.

@jihoonson could you please review this PR?

Sure, I'll review soon.

I finished my first pass review. I'll do another pass in couple of days.

@jihoonson did you have a chance to look at this?

@b-slim or @nishantmonu51 could you please review this PR?

@leventov ok will take look at it.

@b-slim thank you!

@b-slim do you have more comments here?

@leventov did not finish the review and am out of office for personal vacation please do not block this PR on my review

@b-slim could you please take another look?

@b-slim if you are ok about the design of this PR, maybe we could merge it?

Reviewed 116 of 234 files at r1, 41 of 81 files at r2.
Review status: 134 of 236 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

@leventov @b-slim does this patch need any further review or is it ready?

Reviewed 56 of 234 files at r1, 32 of 81 files at r2.
Review status: 219 of 236 files reviewed at latest revision, 3 unresolved discussions.

processing/src/main/java/io/druid/segment/CompressedVSizeIndexedV3Supplier.java, line 92 at r2 (raw file):

  {
    Iterator<IndexedInts> objects = objectsIterable.iterator();
    IntArrayList offsetList = new IntArrayList();

wondering what is the benefits of IntArrayList VS ArrayList?

processing/src/main/java/io/druid/segment/serde/ComplexColumnSerializer.java, line 50 at r2 (raw file):

  }

  @PublicApi

this need to be called out since it is public.

processing/src/main/java/io/druid/segment/writeout/FileWriteOutBytes.java, line 35 at r2 (raw file):

import java.nio.channels.WritableByteChannel;

final class FileWriteOutBytes extends WriteOutBytes

Wondering if we can reuse other projects code, for bytebuffers IO, this pattern is fairly common and usually this kind of code can have some common bugs that are hard to see.

Comments from Reviewable

Reviewed 8 of 234 files at r1, 7 of 81 files at r2, 2 of 2 files at r3.
Review status: all files reviewed at latest revision, 3 unresolved discussions.

Comments from Reviewable

@leventov sorry that this took so long, it was a very good PR thus very hard to review!

@b-slim thanks for taking time to review this PR!

wondering what is the benefits of IntArrayList VS ArrayList?

Memory savings, IntArrayList uses int[] instead of Object[]

this need to be called out since it is public.

To called out where? I think I made this factory method @PublicApi to suppress warning about this method being unnecessarily public instead of package-private. As far as I remember it was mentioned somewhere that this serde API should be considered public.

Wondering if we can reuse other projects code, for bytebuffers IO, this pattern is fairly common and usually this kind of code can have some common bugs that are hard to see.

As I mentioned here: https://github.com/druid-io/druid/pull/4762#discussion_r145227168 I don't think this functionality could be used somewhere else in Druid. Somewhat similar is needed only possibly when making spilling in groupBy

@gianm @b-slim @drcrallen FYI included important note about the downgrade baseline, on top of the first comment in this PR.


Make ledger routines consistent

The ledger routines are currently inconsistent, with a routine returning either boolean status codes, exceptions, or assert.
They should not return boolean status codes and also throw. There was a situation in the code below
https://github.com/bpfkorea/agora/blob/1af3731d063a8b52f1e114a4b31e5ac65ad70869/source/agora/node/Ledger.d#L268-L269
where the assert might not get triggered because saveBlock is not nothrow. saveBlock is now nothrow, but the other routines need to be fixed.
I would like some suggestions on how to structure the routines.
Relates #1083

Ready for review.

Rebase it, please.

Please update the git submodules.
'git submodule update'

Thanks, that was a good start but it prompted bigger discussion. I think we can close this as stale, and address it piece-meal.

Thanks, that was a good start but it prompted bigger discussion. I think we can close this as stale, and address it piece-meal.


VS Code Intellisense suddenly stops functioning correctly (JavaScript)

VSCode Version: 1.13.1
OS Version: Windows 7 professional, 32-bit

Unsure of how to reproduce.
The issue suddenly came to be when intellisense started to think of value types as "any" and even confusing them with other value types rarely, it started right before I updated VS Code to 1.13.1.
This is mainly happening with only one node.js module that I'm using, and I'm unsure if it could be the module itself, since I have not updated the module and the issue came out of nowhere.
Here's an example:

Before, it used to say that the type was "Message", now, it just says "any".
Here's another example:

"get" does not return that type, yet intellisense fails to tell me that, again, it used to never do this before.
With a little testing on other modules, they seem to work fine, and the intellisense on this certain module that I'm having trouble with gets it right on some places, but not all of them.
Again, this could be a problem with VS Code, or the module itself, but the problem is so random I'm unsure of it. I've searched for an answer and I didn't get what I was looking for.
Apologies if this is not supposed to be said here, and I'll be happy to provide info you need.

Reproduces without extensions: Yes

Is this issue consistent? Does it happen when you first start vscode or randomly after a little while?

Consistent, so far. It happens when I start VS Code.

I suspect there is a pattern in your code that we cannot understand. To help investigate, can you please share some sample code or a small sample project. I'm mainly interested in how the modules are being imported and referenced
You can also try enabling type checking in your JavaScript files to track down what may be going wrong


How to use browserify with ionic while cordova.js is dynamically built?

I'm use ionic with browserify. Everything works fine so far except I just cannot browserify cordova.js since it's dynamically built. This maybe a noob question but if anyone knows the answer, please let me know!. I really appreciate it!

Greetings @ravenjam!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Just add cordova.js as a separate entry in your index.html? We've had no
problem with that
On Sun, Oct 11, 2015, 11:33 AM Michael James<EMAIL_ADDRESS>wrote:

I'm use ionic with browserify. Everything works fine so far except I just
cannot browserify cordova.js since it's dynamically built. This maybe a
noob question but if anyone knows the answer, please let me know!. I really
appreciate it!
—
Reply to this email directly or view it on GitHub
https://github.com/driftyco/ionic/issues/4504.

@msevestre Thank you for your reply. However I wanted to use it in browserify. The way you described certainly works but is not what I want.

This isn't really an issue with ionic and not the best place to ask. You'd probably have better luck on the forum. Closing this.


Added bulgarian translation

The translation includes localized versions of month names, short month names, day names, short day names, seasons, constellations, and time duration formats.

#39 Adding Bulgarian translation

Thanks for your contribution


Deparse GRANT statements

This fixes #114
This is a work in progress, Rubocop will find an offense for complexity. But before I fix that, a quick question. In case of parsing a grant on DOMAIN or TYPE, I get an extra array around the objects, which required this hack:
objects = node['objects']
objects = objects[0] if %w[DOMAIN TYPE].include?(objtype)
objects = objects.map do |object|

(Most likely node['objects'].flat_map would work as well) But it feels like there is a bug somewhere in the parse results. Any idea if this could be something in this gem, or maybe something in Postgresql?

Merged this after some manual rebase work. Thanks for the contribution!
I believe the wrapping of arrays in arrays is intentional in Postgres - this seems to occur for some list types. I think its reasonable to special case this for now until we see other cases where this doesn't work.


Pathfinder Simple

Autocalculations for skills are not updating properly sometimes.

False alarm... The values eventually updated. My group must have just hit a bad spike of character sheet server lag.

Yep, same thing here. I came here to report that last week we could not get our stat sheets to properly calculate attack bonuses in the "attacks" section. Today, I went back to try to figure out what's going on and it's working fine. I guess there was just some server connection issues that are not happening at the moment.


Add support for :iter queries

Just took the work from @eivindr here https://github.com/eivindr/sqlc/commit/64043b38bde83656934fb6354eed0711eb3b07a7 and made an MR.

@pcriv Thanks for pulling the code into a PR. Instead of supporting iterators, I encourage folks to write SQL queries that utilize paging. I don't think enough people need iterators to add it as a supported query type.

@pcriv Going forward I'll try to keep https://github.com/eivindr/sqlc/tree/streaming in sync with the latest release (atm its in sync with main). The branch now also contains :iter support for Kotlin

@eivindr cool! A bit disappointed this didn't get merged.
@kyleconroy any chance you would accept the feature if it were behind a specific flag? Like, only generate the iterators if specifically requested via the command line? I get it that it's recommend to use pagination but in this case our only option is to use streams. In any case I respect your decision :)

Kotlin plugin with :iter support is available at https://github.com/eivindr/sqlc-gen-kotlin
You need to manually build it, use "file://" to reference the local wasm file in the plugin "url" config. The sha256 hash outputted by the make build also need to be used in the config.

Hi folks - I had a simiar PR for streaming - the use case is having to stream large datasets to clients which... you could page but is way more efficient in terms of chattiness to stream right from the DB to the API consumer stream without having to allocate massive slices / lists

We're continuing the conversation about streaming here: https://github.com/sqlc-dev/sqlc/issues/720#issuecomment-1731742748. The current plan is to land :iter support once the range-over-func experiment has been accepted and enabled in Go.


A $ref may be a property name and in such cases it's not hashable

This is not a "proper fix" as the proper fix should check if $ref
is used as a name of the property, but this works for the purposes of #123
fixes #123

@arcivanov thank you for the contribution


Docs upate

On this page of the docs, please update  this:
<script<EMAIL_ADDRESS>type="text/javascript"></script>

To this:
<script<EMAIL_ADDRESS>type="text/javascript"></script>

Or to the current version. It causes problems for float32 data and bigEndian data.

I updated the docs repo, but it needs a rebuild from Docusaurus. Might be worth changing to GitHub Pages for auto-rebuilding.

Hi @tigoe, thank you so much for updating the docs! I just rebuilt the website, and now https://itpnyu.github.io/p5ble-website/docs/getstarted.html is updated to 0.0.7.

Might be worth changing to GitHub Pages for auto-rebuilding.

Great idea! I set up these Github actions, and whenever there is a new PR merged to the master branch, it will trigger these Github actions to automatically publish the new website. The status of these actions is here. I tested it once, and it worked.

Good to know, thank you!
Tom
sent from a phone, please excuse mistakes or brevity
On Sat, Dec 17, 2022, 1:08 PM Yining Shi @.***> wrote:

Hi @tigoe
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_tigoe&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=Zzyb7IYxCgyPEmvC9uoVKw&m=eUeQKnv0ZA3plLJlt5vcG-fD6lkBaCLUm1nfHMnNbZXf71TR-8U1Fmt1mkxL91dX&s=vs_S8d_RLZ_9vdNyg2DXDKlsZ0mv_DKAp-MgHJgrg-I&e=,
thank you so much for updating the docs! I just rebuilt the website, and
now https://itpnyu.github.io/p5ble-website/docs/getstarted.html
https://urldefense.proofpoint.com/v2/url?u=https-3A__itpnyu.github.io_p5ble-2Dwebsite_docs_getstarted.html&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=Zzyb7IYxCgyPEmvC9uoVKw&m=eUeQKnv0ZA3plLJlt5vcG-fD6lkBaCLUm1nfHMnNbZXf71TR-8U1Fmt1mkxL91dX&s=qn2z-Uss5jM5x-ZspWmEiNMY_kCSFsGFUpp2F9wAvPk&e=
is updated to 0.0.7.
Might be worth changing to GitHub Pages for auto-rebuilding.
Great idea! I set up these Github actions
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ITPNYU_p5ble-2Dwebsite_tree_master_.github_workflows&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=Zzyb7IYxCgyPEmvC9uoVKw&m=eUeQKnv0ZA3plLJlt5vcG-fD6lkBaCLUm1nfHMnNbZXf71TR-8U1Fmt1mkxL91dX&s=ZB7cgWSSNEmKFW3c6QXuFqTMrEK2jDf90DTzDVn_3T4&e=,
and whenever there is a new PR merged to the master branch, it will
trigger these Github actions to automatically publish the new website. The
status of these actions is here
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ITPNYU_p5ble-2Dwebsite_actions&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=Zzyb7IYxCgyPEmvC9uoVKw&m=eUeQKnv0ZA3plLJlt5vcG-fD6lkBaCLUm1nfHMnNbZXf71TR-8U1Fmt1mkxL91dX&s=dJOdxyXGq9adLk8yEiJj695dZlAuXroDjHFc3cOGkOw&e=.
I tested it once, and it worked.
—
Reply to this email directly, view it on GitHub
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ITPNYU_p5.ble.js_issues_16-23issuecomment-2D1356358220&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=Zzyb7IYxCgyPEmvC9uoVKw&m=eUeQKnv0ZA3plLJlt5vcG-fD6lkBaCLUm1nfHMnNbZXf71TR-8U1Fmt1mkxL91dX&s=U0mnMmSg5G9TF_1X1lMyNNNoT-E7kwjIktiRXgS_Q_U&e=,
or unsubscribe
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AAC45H2OZFP6NRK63IUOGI3WNX6SHANCNFSM6AAAAAASPFGTT4&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=Zzyb7IYxCgyPEmvC9uoVKw&m=eUeQKnv0ZA3plLJlt5vcG-fD6lkBaCLUm1nfHMnNbZXf71TR-8U1Fmt1mkxL91dX&s=QYgIGo0bDNKBw01BEkLD0vQOqKvBtKY64JRkC23dRVQ&e=
.
You are receiving this because you were mentioned.Message ID: <ITPNYU/p5.
@.***>


Setup admin & marketing group email boxes

Group created

https://groups.google.com/d/forum/ncopenpass-admin

Zach, Jason, and Chris have been added.

https://groups.google.com/forum/#!forum/ncopenpass-marketing


Thanks to all authors

Just now i  setted those policies like below
Set-WheaMemoryPolicy -ComputerName "DESKTOP-620M1SS"
Set-WheaMemoryPolicy -DisableOffline $False
Set-WheaMemoryPolicy -DisablePFA $False
Set-WheaMemoryPolicy -PersistMemoryOffline $True
Set-WheaMemoryPolicy -PFAPageCount 64
Set-WheaMemoryPolicy -PFAErrorThreshold 16
Set-WheaMemoryPolicy -PFATimeout 86400

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

ID: 13fe1ac7-aa67-12e6-80f5-790fbc268e0f
Version Independent ID: a345a9b2-0682-a17f-ffac-c8685039d1d5
Content: Set-WheaMemoryPolicy (whea)
Content Source: docset/windows/whea/Set-WheaMemoryPolicy.md
Product: w10
Technology: powershell-windows
GitHub Login: @andreabarr
Microsoft Alias: v-anbarr

And thank you for your ongoing involvement with the improvement with the documentation. Much appreciated. :)


Upgrade language client and remove from webpack

Upgrades the language client which allows us to remove all the externals from mssql's webpack, reducing out file count by ~1000

Yes, let's definitely wait until after the August release to get this in unless we have something going out then that needs this update.


Allow additional inperson/online workshops for each membership

We used to have a field for "additional workshops" in the membership view; I'm not sure what happened to that.
We should now have a field for "additional inperson workshops" and "additional online workshops" in the membership model/view.  This will be used when a member site purchased additional workshops beyond what was allowed in the original member agreement.
This will be used in the declining balance view (#2389), as the total number allowed will increase.

For guidance see #2387 .


Add public cloud cosmos endpoint suffix

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow


Separate management and block signing purposes of the validator signer key

Celo Accounts can currently split their permissions into three signing addresses: validator, voter, and attester keys. The validator key can perform a number of actions including signing blocks to participate in the consensus layer protocol, and can register and manage validator information in the smart contract layer.
These functions, of block signing and on-chain validator management must currently be managed by the same address, but a number of benefits would be gained by allowing these responsibilities to be split.

On-chain actions could be managed by a smart contract, such as a multisig contract, instead of requiring the possession of a private key for the address due to the requirement of block signing.
The block signing key could be generated on the validator machine and never moved or otherwise accessed.

While there is room to improve keys management and keys usage I would be very careful in moving ahead with point 1. Private keys are a more secure approach than any form of smart contracts. And to sustain my point I am just reminding about the multiple parity multisig bugs discovered along the way

Once CIP10 makes it through, this should become easier to do

Once CIP10 makes it through, this should become easier to do

@pranaymohan Would be curious how important you see this ticket?

@pranaymohan Would be curious how important you see this ticket?


In edit mode, bookmarks get 'scrunched' up

The cell should handle edit mode more gracefully.

Also reproducible at stop 565 in Puget Sound on an iPhone X.


Team 18 Review (MIS): Miss use of assignment operator

@CSchank
Summary
The notation of the assignment operator := is described in the notation section as

However, in some MIS sections, the assignment operator is used to specify the type of the variable instead of describing an assignment of value.

Deadline
March 1st, 2024
Estimated Work Hours
10 min

Resolved with 6c918f09c33e8657ef471cd8604ed64ed382f0b2


Stable/5.1

more change

Thank you for contributing to stackforge/fuel-web!
stackforge/fuel-web uses Gerrit for code review.
Please visit
http://docs.openstack.org/infra/manual/developers.html#development-workflow
and follow the instructions there to upload your change to Gerrit.


Asyncautorest

Track Autorest 3.0 branch to have a decent diff, since async work is based on Autorest.Python 3.0

(message created by the CI based on PR content)

Codecov Report

Merging #2085 into autorest_3.0 will decrease coverage by 2.73%.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           autorest_3.0    #2085      +/-   ##
================================================
- Coverage         53.39%   50.65%   -2.74%
================================================
  Files              4774     5250     +476
  Lines            119222   135732   +16510
================================================
+ Hits              63654    68752    +5098
- Misses            55568    66980   +11412

Impacted Files
Coverage Δ

.../mgmt/network/v2017_11_01/operations/operations.py
38.88% <0%> (-4.87%)
:arrow_down:

...erations/available_endpoint_services_operations.py
36.84% <0%> (-4.34%)
:arrow_down:

...ons/network_interface_load_balancers_operations.py
36.84% <0%> (-4.34%)
:arrow_down:

...ons/load_balancer_network_interfaces_operations.py
36.84% <0%> (-4.34%)
:arrow_down:

...1/operations/bgp_service_communities_operations.py
36.84% <0%> (-4.34%)
:arrow_down:

.../mgmt/network/v2017_10_01/operations/operations.py
25% <0%> (-3.13%)
:arrow_down:

.../mgmt/storage/v2017_10_01/operations/operations.py
25% <0%> (-3.13%)
:arrow_down:

.../storage/v2017_10_01/operations/skus_operations.py
23.68% <0%> (-2.79%)
:arrow_down:

...ons/network_interface_load_balancers_operations.py
23.68% <0%> (-2.79%)
:arrow_down:

...etwork/v2017_10_01/operations/usages_operations.py
23.68% <0%> (-2.79%)
:arrow_down:

... and 552 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 2b49f21...74f23d3. Read the comment docs.

See https://github.com/Azure/azure-sdk-for-python/pull/3100


lug: multi-disk support

Currently, we mount /mnt/disk1 directly to /srv. We need to adjust our lug config to be prepared for multi-disk structure.
By now, we could just change all lug sync target to /srv/disk1. cc @BugenZhao should also add support for using /srv/disk1 in caddy config.

Since we are bound to run out of 10T space, we had to put scientific, ubuntu and ubuntu-cd into another disk.


Rust engine

Fixes #66 #65
This PR introduces a Rust engine that handles parsing & evaluation. Primary motivation for doing this now is that this work is already necessary. High-level TODOs:

[ ] Parser

[ ] Ensure that all PC files can be parsed

[ ] Evaluator

[ ] virtual DOM
[ ] virtual CSSOM
[ ] Render to DOM

[ ] React compiler
[ ] paperclip-loader replacement
[ ] Tandem updates

[ ] Read-only rendering

Rough Pseudocode API:
import { Engine as PaperclipEngine }  from "@paperclip-lang/engine";

const engine = new PaperclipEngine({

  // read a file from the file system
  readFile,

  // resolve import
  resolveFile,

});

// load the file into the engine
const { ast, document } = engine.load("/path/to/pc-file.pc");

engine.inspect("/path/to/pc-file.pc");

Considerations:

MVP should only handle rendering since that's the most expensive part
Engine should return AST that can be manipulated in JS
changes in JS should be synced to engine via JSON patch
Need to be considerate of inspector in left side panel. Maybe have this done in VM?

Getting around to the variants API, thinking about doing something like this instead:
component Test {
  variant everyOther enabled triggeredby raw(":nth-child(2n)"), raw("@media screen and (max-width: 200px)")

☝ variants are component-specific and are derived by styles. The trick is to enable these in variant instances:
component Test2 {
  variant everyOther enabled
  Test {
    override {
      variant everyOther triggeredby everyOther
    }
  }
}

☝ contrived, but illustrates how variants shouldn't collide.

Another consideration here is that CSS should be compiled independently from the components so that it can be used in vanilla HTML if the developer wants to go that route. The format should be inspired by BEM: [COMPONENT]-[ID] and [COMPONENT]-VARIANT]. For example:
component TodoItem {
  variant everyOther;
  render div {
    style variant everyOther {
      background: grey;
    }
  }
}


decode without using the entire input

Not sure if this is a bug or not but I'd like to discuss how decode should behave when we feed multiple parts.
Example:
bencode.decode('i123ei123e', 'utf8'); // 123

The input has more data than that. When we use the decode function, it silently returns just the first decoded part. Is this intended?
I saw some cases where a single buffer they wanted to decode had multiple bencoded parts (it was some data received from the network they had no control over). And when they used this lib, it was silently missing parts. So they had to implement some logic to check if the decoded result was everything the input had or not. They managed to get everything working, but I'm wondering if the lib should give a heads up (exception or whatever) when this happens.

Sorry I don't have much experience with parsers and how they usually deal with this. I ended up using another lib that behaves pretty much like json parser - option a).
Since I'm dealing with chunks of data coming from a network connection, I had to expect chunks with incomplete bencode parts as well as chunks with multiple bencode parts.
So I did a method that received a buffer and returned two objects:

an array of successfully decoded parts
a buffer with the rest of the buffer received that didn't get decoded

Could you elaborate on how your potential resume method would be used?

in case we do (b), the parser would work as it currently does. There would be a bencode.decode.resume() function that checks if the internal cursor is at the end of the internal buffer (decode uses global state all over the place anyway) and if there are bytes left to be read it would just start another decode() on the remaining buffer.
repeat until everything is read.
const input = buffer_from_source()

let results = [ bencode.decode(input) ]
while(let more = bencode.decode.resume()) {
  results.push(more)
}

Maybe a "canResume" method could be of good use so you can actually check if theres more data before calling resume.

Oh I understand better your idea now.
Well. If there is any way of getting at least other contributor's opinion, that would be great.
I'm really not sure what's the best decision here.

ignore this issue
stateful resume
exception
other

while strict parser should choose 3., you should currently be able to call decode.next() and get the next result. Thats pretty close to what a resume() would be.
Throwing an exception would also require a new major release since it would change the current behavior in these cases.
@jhermsmeier what do you think about a 2.0 branch that throws an exception and offers a decodeGreedy (name to be fixed) method that returns something clever that contains (or returns) all results. Like an iterator?

Like iterators!


Black pointclouds and unable to read XYZ

Hi, I've been trying to convert a part of a project in LAS format and I went through some issues I've been trying to fix since an hour :
1 - I'm not sure to get what format PotreeConverter can get in input, I tried LAS, LAZ and XYZ but it seems unable to resolve XYZ type, as it find 0 points in the file. Is there any other type ? I think I also saw EPT format
2 - Now the main point, with LAS and LAZ type, all I can get is a fully black point cloud, I tried few things I saw in other topics but nothing seems to be the answer. Does anyone been through this ?

Make sure that your las file actually as rgb data. If it has, also try changing the attribute in the sidebar to "rgba". See https://github.com/potree/PotreeConverter/issues/465
If that doesn't work, please upload a working html web page somewhere.
If I can't find an issue with the web page, please send me the las/laz file. XYZ is not supported.

Hi, for the black pointcloud, the issue #465 was the answer in fact thanks a lot !
Have a good day !


Error loading print page for distributions

Hi there!
When I click "print" on a distribution, I get the following error message:

It should be popping up a nice page with a recap of the order.

I got it to appear the first time I clicked on it and then after that I've gotten the error message. Tried on Mac (my usual) and a PC as well.
Megan

Hi @SCDB! I dug into this today and we are getting an error with our pdf writing component. After much more time than it should have taken it turns out that this is because when creating a receipt the pdf writer was attempting to write the address of your diaper bank on the receipt but you don't have one defined for it to write so it is popping up an error!
The quickest way to fix this is to set an address for your diaper bank (click on your name in the top right, select modify organization and put in an address) -- Even just putting in Cincinnati, OH would fix it. In the long term we'll either change the receipt printing to not require it or to require diaper bank users to have an address set.

@SCDB I just looked and it appears you uploaded a .tif file for your logo. I think the system only accepts png/gif/jpg files. I'm not sure why it allowed that upload (yes, we've also added this to the backlog) but if you upload an image file in the other formats it should work! Sorry about this!

@seanmarcia I uploaded a .jpg (thanks for adding that it shouldn't allow other formats :)) and it's still getting the error message.


Add placeholder slides for my troubleshooting modules

This change is

LGTM, although you have a little typo in the cluster unavailability slides: "problem.s"

Fixed. My left command key has stopped working so I'm accidentally sprinkling typos like this everywhere.

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/bad90e249dce73060247b966a45f97343bb7c014/


azure-mgmt-sql - create sql server is broken

With 0.8.6 (2018-03-22) version of azure-mgmt-sql, create sql server is broken. Getting the following error with Python 3. Downgrading to 0.8.5 (2018-01-18) fixes the issue.
2018-03-29T17:04:29.4238366Z   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/test/miniconda/lib/python3.5/site-packages/azure/mgmt/sql/operations/servers_operations.py", line 394, in create_or_update
2018-03-29T17:04:29.4258486Z     **operation_config
2018-03-29T17:04:29.4277918Z   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/test/miniconda/lib/python3.5/site-packages/azure/mgmt/sql/operations/servers_operations.py", line 318, in _create_or_update_initial
2018-03-29T17:04:29.4297909Z     url = self.create_or_update.metadata['url']
2018-03-29T17:04:29.4316476Z AttributeError: 'function' object has no attribute 'metadata'

Could you precise what version of Python? I can't reproduce the issue.

Python 3.5.4 |Continuum Analytics, Inc.| (default, Aug 14 2017, 12:43:10)

Cannot reproduce it:
> conda create -n env3.5-conda python=3.5
> conda activate env3.5-conda
> pip install azure-mgmt-sql==0.8.6
> python

>>> from azure.mgmt.sql import *
>>> from msrest.authentication import Authentication
>>> client = SqlManagementClient(Authentication(), "subscriptionid")
>>> client.servers.create_or_update("RGNAME", "SERVERNAME", {"location":"westus"})
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\lmazuel\AppData\Local\conda\conda\envs\env3.5-conda\lib\site-packages\azure\mgmt\sql\operations\servers_operations.py", line 394, in create_or_update
    **operation_config
  File "C:\Users\lmazuel\AppData\Local\conda\conda\envs\env3.5-conda\lib\site-packages\azure\mgmt\sql\operations\servers_operations.py", line 351, in _create_or_update_initial
    raise exp
msrestazure.azure_exceptions.CloudError: Azure Error: SubscriptionNotFound
Message: The subscription 'subscriptionid' could not be found.

This message is way later then the exception you get. I can also confirm that the attribute is here:
>>> from azure.mgmt.sql.operations import *
>>> print(ServersOperations.create_or_update.metadata)
{'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}'}

So my guess is you have a corrupted env somehow.

The above steps are not reproducing the problem for me either. However, our tests are failing with the following error even with fresh env.
2018-03-30T17:36:25.2021870Z   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/azure/tests/test_db.py", line 44, in test_create_and_update_sql_server
2018-03-30T17:36:25.2038455Z     self._create_server()
2018-03-30T17:36:25.2053976Z   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/azure/tests/test_db.py", line 54, in _create_server
2018-03-30T17:36:25.2070168Z     self.admin_passwd)
2018-03-30T17:36:25.2086837Z   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/azure/accloud/acazure/operations/sqlserver_operations.py", line 95, in create_sql_server
2018-03-30T17:36:25.2103416Z     administrator_login_password=admin_passwd
2018-03-30T17:36:25.2120192Z   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/azure/miniconda/lib/python3.5/site-packages/retrying.py", line 49, in wrapped_f
2018-03-30T17:36:25.2136862Z     return Retrying(*dargs, **dkw).call(f, *args, **kw)
2018-03-30T17:36:25.2153252Z   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/azure/miniconda/lib/python3.5/site-packages/retrying.py", line 206, in call
2018-03-30T17:36:25.2170003Z     return attempt.get(self._wrap_exception)
2018-03-30T17:36:25.2186668Z   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/azure/miniconda/lib/python3.5/site-packages/retrying.py", line 247, in get
2018-03-30T17:36:25.2203650Z     six.reraise(self.value[0], self.value[1], self.value[2])
2018-03-30T17:36:25.2220244Z   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/azure/miniconda/lib/python3.5/site-packages/six.py", line 693, in reraise
2018-03-30T17:36:25.2236771Z     raise value
2018-03-30T17:36:25.2252935Z   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/azure/miniconda/lib/python3.5/site-packages/retrying.py", line 200, in call
2018-03-30T17:36:25.2269489Z     attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
2018-03-30T17:36:25.2285913Z   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/azure/accloud/acazure/acazure_clients.py", line 97, in wrapped
2018-03-30T17:36:25.2302236Z     return func(*args, **kwargs)
2018-03-30T17:36:25.2319769Z   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/azure/miniconda/lib/python3.5/site-packages/azure/mgmt/sql/operations/servers_operations.py", line 394, in create_or_update
2018-03-30T17:36:25.2337403Z     **operation_config
2018-03-30T17:36:25.2354275Z   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/azure/miniconda/lib/python3.5/site-packages/azure/mgmt/sql/operations/servers_operations.py", line 318, in _create_or_update_initial
2018-03-30T17:36:25.2375132Z     url = self.create_or_update.metadata['url']
2018-03-30T17:36:25.2393874Z AttributeError: 'function' object has no attribute 'metadata'

Looking at the code it has something like this.
    def _create_or_update_initial(
            self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, **operation_config):
        api_version = "2015-05-01-preview"

        # Construct URL
        url = self.create_or_update.metadata['url']

    def create_or_update(
            self, resource_group_name, server_name, parameters, custom_headers=None, raw=False, **operation_config):

    create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}'}

It appears create_or_update is defined as a function as well as a member. May be you should change the member name or get the url in _create_or_update_initial as follows.
        # Construct URL
        url = create_or_update.metadata['url']

Seems you're using a wrapping function:
   File "/mnt/data_disk/vsts/vsts-agent/agent-0/_work/28/s/azure/accloud/acazure/acazure_clients.py", line 97, in wrapped
     return func(*args, **kwargs)

My guess is that in the process of wrapping the function, you lost the metadata dictionary associated to the function. Could you share a little more code about your wrapper?

Here are the details about wrapper.
def count_ops(func, operation_name):
    def wrapped(*args, **kwargs):
        if operation_name not in AZURE_OP_COUNT:
            AZURE_OP_COUNT[operation_name] = 0
        AZURE_OP_COUNT[operation_name] += 1
        return func(*args, **kwargs)
    return wrapped

def wrap_operations_with_retry(azure_client):
    # Wrap every method of the *Operations objects with retry logic
    for attr_name in dir(azure_client):
        if not attr_name.startswith("_"):
            attr = getattr(azure_client, attr_name)
            if attr.__class__.__name__.endswith("Operations"):
                for method_name, method in inspect.getmembers(attr, inspect.ismethod):
                    if not method_name.startswith("_"):
                        operation_name = attr.__class__.__name__ + "." + method_name
                        setattr(attr,
                                method_name,
                                retry(**default_retry_kwargs)(count_ops(method, operation_name))
                               )

Ok, so that's definitely the problem. You replace the method by a new one that doesn't have the attribute. After your setattr, you should do something like:
try:
    wrapped_method = getattr(attr, method_name)
    setattr(wrapped_method, "metadata", method.metadata)
except AttributeError:
    pass  # This version of SDK has no metadata dict

Thank you. I tried this and it works great. Closing this ticket.


Feature Request: Support for parsing INI file

Python standard library has support for parsing (INI files)[https://docs.python.org/3/library/configparser.html#supported-ini-file-structure].
INI files can be a uesful format for storing collections of <environment-variables> = <value> pairs with support for sections as well as interpolation.
P.S. This feature is implemented in (j2cli)[https://github.com/kolypto/j2cli#ini]. Happy to sibmit a PR if I may.

Could you try https://github.com/kblomqvist/yasha/commit/7b92dd49608e97908cedc4cafe9f33a817772ea8? I'm not sure if it works as I hadn't time to try it.