better chart performance

might provide high performance alternative to apex charts.
https://www.zingchart.com/docs/integrations/vue
Good comparison here
https://leeoniya.github.io/uPlot/demos/multi-bars.html

probably not [1] ;)
[1] https://github.com/leeoniya/uPlot#performance

Thank you!
On Thu, 7 May 2020, 18:28 Leon Sorokin<EMAIL_ADDRESS>wrote:

probably not [1] ;)
[1] https://github.com/leeoniya/uPlot#performance
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/liquidlabsio/fluidity/issues/65#issuecomment-625392952,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWVFJIDOHGNC64KSU3RD2TRQLVVDANCNFSM4M3PGKHA
.

@leeoniya  - can you recommend an efficient scatter-plot chart?

Scatter plot: https://github.com/David-Desmaisons/vue-plotly

that specific example has x-aligned data. if this is what you want (or can massage your data to be x-aligned), then uPlot does it out of the box. you may just need to null-pad some series as i do in [1] or as seen in [2]. it's unusual to have a true scatter plot with connected points connected:
https://github.com/leeoniya/uPlot/issues/107#issuecomment-602158244
[1] https://leeoniya.github.io/uPlot/demos/time-periods.html
[2] https://github.com/leeoniya/uPlot/issues/94

Thanks for the examples! I want to build a scatter plot that acts like a timeseries heatmap showing groups of individual transactions. The y axis represents the duration, the colour is a heatmap of how many transactions occur in that x/y bucket range...This approach shows the distribution of transactions by latency and density using color.

something like below?
you can certainly do this in uPlot with a splash of extra code. you'd need to implement a simple custom points renderer. like the draw-hooks, multi-bars and candlestick-ohcl demos do. e.g.
https://github.com/leeoniya/uPlot/blob/8f5eea003ac101b08a9a33cc11d6c6b63ee4cc9c/demos/draw-hooks.html#L119

might actually be a good demo to add to uPlot, if you'd like to take a stab at it :)

Perfect!
On Thu, 7 May 2020, 20:42 Leon Sorokin<EMAIL_ADDRESS>wrote:

something like below?
you can certainly do this in uPlot with a splash of extra code. you'd need
to implement a simple custom points renderer. like the draw-hooks,
multi-bars and candlestick-ohcl demos do. e.g.
https://github.com/leeoniya/uPlot/blob/8f5eea003ac101b08a9a33cc11d6c6b63ee4cc9c/demos/draw-hooks.html#L119
[image: image]
https://user-images.githubusercontent.com/43234/81337032-f5555000-906f-11ea-983b-cf0030dd8a2b.png
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/liquidlabsio/fluidity/issues/65#issuecomment-625457974,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWVFJJ5GG6FTFL4H3E3UV3RQMFJLANCNFSM4M3PGKHA
.

i guess the main difference is that you can't hover the individual points as you can in a true scatter plot. but you can still render out the values in a custom legend or tooltip for display.

Will it support click ability so I can fetch underlying data?
On Thu, 7 May 2020, 20:47 Leon Sorokin<EMAIL_ADDRESS>wrote:

i guess the main difference is that you can't hover the individual points
as you can in a true scatter plot. but you can still render out the values
in a custom legend or tooltip for display.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/liquidlabsio/fluidity/issues/65#issuecomment-625460671,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWVFJMPENEQYIMFNYHXGBDRQMF6RANCNFSM4M3PGKHA
.

well, the points will be static. however, there's an API to get the data index from cursor position, so if you add a click handler you can do whatever you need there, e.g.: https://leeoniya.github.io/uPlot/demos/candlestick-ohlc.html

@leeoniya - I'm prototyping from your demos - just started but it feels promising while I get my head around uPlot. 2 questions....

My RHS Axis is being chopped off - losing the trailing 000s. Im plotting values up to 2m. Alternativeliy - I could use a Y value numbering that drops the 0s in favour of 1m 1.5m 2m etc?

How do I handle click events? I need to register a click handler and then figure out what the underlying data point is. Is there a demo for how I can do this?

hey @bluemonk3y

there's no axis auto-sizing, so you can either change the formatting or set a larger axis.size. i personally prefer the shorter labels.
if you want to click on points, take a look at https://github.com/leeoniya/uPlot/issues/239, if you want to handle arbitrary clicks on the plot, just bind a click handler to u.root.querySelector(".over") and then read off the properties of u.cursor. idx is the index into the data array(s) of the closest hovered x offset. otherwise you can feed left and top to u.posToVal() to get the values along a given scale, e.g. https://leeoniya.github.io/uPlot/demos/tooltips.html

Thanks @leeoniya  - sorted. I have a few more visualizations to prototype now.

Hi @leeoniya  - I'm now trying to build the heatmap data model (to produce similar to your image above). Would you pls advise on how you generated the heatmap image above?
I can see a few options to create uniform arrays for rendering and hoping to get your thoughts on which is best ;)
1). a collection of numeric arrays where the first part of the number represents the Y value and the decimal is used to render the heatmap colour.
 timestamp:   [ t, t+1, t+1, t+3 ... ]
   latency-1:   [ <y-value.heat> 100.100, 200.12, 300.35, 400.56...]
   latency-2:   [ 100.22, 250.22, 300.22, 100.33...]
   latency-3:   [ 100.33, 250.44, 300.55, 100.66...]

in code it end up as:
const data = [
    [1546300800,1546387200,1546473600,etc],
    [100.22, 250.22, 300.22, 100.33 etc,],
    [100.33, 250.44, 300.55, 100.66 etc],
    ];

I would then need to create a uniform series, and zero fill the empty spaces.  This approach is a bit ugly and bloats memory while being kinda complicated.
It would be nice (easier!) to support multi dimension arrays. This would allow a variable number of 'y' values - however Im guessing it also breaks the underlying engine.
 timestamp:   [ t, t+1, t+1, t+3 ... ]
   latency-1:   [ [<y-value.heat>, 100.100, 200.12], [500.3, 300.35], [400.56, etc]...]

Another approach might be to cheat by using a map/index. The plugin then performs a lookup on the Y value decimal to get the index for a lookup. It grabs the lookup value and iterates the the Y-List array - rendering cells as it goes.

 timestamp:   [ t, t+1, t+1, t+3 ... ]
   latency-1:   [ <y-value.y-index>, 100.1, 342.2, 123.3, 133.4..]

Y-List [  1: [123.10, 100.12, 456.12], 2:[100.10], 3:[256.5,1000.5]]

This approach lets me use multiple values for the rendering. BUT - then to support mouse click reverse lookup I can get the 'X' index - and then reverse the 'Y' offset to a value and search for it I guess?
Any thoughts? Im starting to like the index-lookup approach ;)

Would you pls advise on how you generated the heatmap image above?

i did a google image search :D
the nested approach should work fine as long as you handle the rendering and don't hand it off to uPlot to stumble over. you'll probably want to have two non-rendered high/low series w/ series.paths = () => null; to establish y scale range at each x, and then another array to pull the y values from.
having the decimal portion be the color is a bit weird, but certainly space-efficient for packing the data. i'd probably keep the colors in a different array until you have perf issues, but that's up to you.
something like this:
let data = [
  [t, t+1, t+1, t+3],
  [low1, low2, low3],  // y lows (for scale ranging)
  [high1, high2, high3],  // y highs (for scale ranging)
  [[100, 200], [300, 400], [400, 500]],  // y values (offsets)
  [[1, 2], [56, 25], [99, 13]],  // y weights (colors)
];

let opts = {
  series: [
    {},
    {
      paths: () => null,
      points: {show: false},
    },
    {
      paths: () => null,
      points: {show: false},
    },
  ],
  hooks: {
    draw: [
       u => {
        const ctx = { u };
        // use u.data[0], u.data[3], u.data[4] to draw colored rects
      }
    ]
  }
};

[1] https://github.com/leeoniya/uPlot/blob/master/demos/candlestick-ohlc.html

Nice, yes that makes sense - thank you!
On Thu, 4 Jun 2020, 22:05 Leon Sorokin<EMAIL_ADDRESS>wrote:

Would you pls advise on how you generated the heatmap image above?
i did a google image search :D
the nested approach should work fine as long as you handle the rendering
and don't hand it off to uPlot to stumble over. you'll probably want to
have two non-rendered high/low series w/ series.paths = () => null; to
establish y scale range at each x, and then another array to pull the y
values from.
having the decimal portion be the color is a bit weird, but certainly
space-efficient for packing the data. i'd probably keep the colors in a
different array until you have perf issues, but that's up to you.
something like this:
let data = [
[t, t+1, t+1, t+3],
[low1, low2, low3],  // y lows (for scale ranging)
[high1, high2, high3],  // y highs (for scale ranging)
[[100, 200], [300, 400], [400, 500]],  // y values (offsets)
[[1, 2], [56, 25], [99, 13]],  // y weights (colors)];
let opts = {
series: [
{},
{
paths: () => null,
points: {show: false},
},
{
paths: () => null,
points: {show: false},
},
],
hooks: {
draw: [
u => {
const ctx = { u };
// use u.data[0], u.data[3], u.data[4] to draw colored rects
}
]
}};
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/liquidlabsio/fluidity/issues/65#issuecomment-639115799,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACQLJJQUM2OYP5TC4F4JQCDRVAEBBANCNFSM4M3PGKHA
.

you can probably avoid the scale-ranging series too, and find the min/max yourself:
let data = [
  [t, t+1, t+1, t+3],
  [[100, 200], [300, 400], [400, 500]],  // y values (offsets)
  [[1, 2], [56, 25], [99, 13]],  // y weights (colors)
];

let opts = {
  series: [
    {},
  ],
  scales: {
    y: {
      auto: false,
      range: u => {
          let [i0, i1] = u.series[0].idxs;
          // ...walk u.data[1] from i0 to i1 & accumulate min/max for current x range
          return [min, max];
      }
    }
  },
  hooks: {
    draw: [
       u => {
        const ctx = { u };
        // use u.data[0], u.data[1], u.data[2] to draw colored rects
      }
    ]
  }
};

Hi @leeoniya  - I made a first pass and have a basic heatmap ladder working (nothing fancy - yet!) - but got stuck on the scale.min/max not being calculated even though I provided a range. I had to manually set min/max however, it also breaks zoom functionality (as expected)...... any thoughts - is it because of the 2d array?
 scales: {
        y: {
          auto: false,
          min: 0,
          max: 100,
          range: [0, 60 * 1000],
      }

scale.min/max are initial values (yeah i know, it's not terribly intuitive until you realize that they're the active/realtime min/max when reading back from u.scales.y.min/max). if you're providing scale.range, you don't need to set scale.min/max - they will get set with the output of scale.range.
as my example shows, your scale.range needs to be a function which calculates the min/max of the zoomed x range (which is the data between i0 and i1 indices, inclusively). this will allow zooming to work normally because the y scales will re-range to the visible data.
something like this: https://jsfiddle.net/4vkqraed/
uPlot's ranging does more though. it gives 0 special affinity and adds y-padding based on the detected min/max values, etc. uPlot does expose its ranging function that accounts for this which you can use to replicate & tweak the original behavior:
https://github.com/leeoniya/uPlot/blob/5b985552618ab4539df6ea5b50f93d1710a66016/dist/uPlot.d.ts#L105-L106
honestly though, you're probably better off just generating the faux/unrendered min/max series and allowing uPlot to do its thing.

Ok that makes sense - I completely missed the point of it being a function. ;-)  Thanks - Ill give it a spin.

actually, you may still want to implement scale.range to always include zero, as i do in the bars plugin:
https://github.com/leeoniya/uPlot/blob/3c51eb084205006f9f9b59410b1cfa5617e66177/demos/multi-bars.html#L92-L95

I feel like Im missing something. Adding the min/max data doesn't resolve the scale.infinity problem.  Here is my commit - see line:177

you're missing the series defs:
  series: [
    {},
    {
      paths: () => null,
      points: {show: false},
    },
    {
      paths: () => null,
      points: {show: false},
    },
  ],

Thanks - my bad - trying to prune previous code and presumed the series would have a default behaviour. This makes sense though and I feel like Im now getting the API (and liking it!).

Hey @leeoniya  - what are your thoughts on building a horizontal, stacked, bar chart? A bit like a gant chart? or am I stretching it? I want to show a series of distributed traces layered on top of each other. A single bar will use a colour breakdown to show its individual components. Clicking on a single bar will open another chart which is then exploded where each component is in its own lane. Each component is offset by the start-time and length is duration. Each component is clickable to retrieve more data for another drilldown.

A bit like a gant chart? or am I stretching it?

aside from slight visual similarity, gantt and hz bar charts are very different.
gantt represents a timeline, where the length of the bar is along an [axial] temporal axis, which is never the case for bar charts - which instead may have time along the cross-axis. i have some preliminary thoughts on gantt & timeline charts in https://github.com/leeoniya/uPlot/issues/188.

what are your thoughts on building a horizontal, stacked, bar chart?

my opinion of stacked charts in general is that they're terrible at everything except saving space:
https://github.com/leeoniya/uPlot#non-features
https://everydayanalytics.ca/2014/08/stacked-area-graphs-are-not-your-friend.html
https://leeoniya.github.io/uPlot/demos/stacked-series.html
another recent rant of mine: https://old.reddit.com/r/javascript/comments/gnffx5/if_cops_can_watch_us_we_should_watch_them_i/
they have the same misleading & compounded problem of charts that should, but don't start at 0.
i'm open to being convinced otherwise.

A single bar will use a colour breakdown to show its individual components. Clicking on a single bar will open another chart which is then exploded where each component is in its own lane. Each component is offset by the start-time and length is duration. Each component is clickable to retrieve more data for another drilldown.

this does actually sound like a timeline plot, and the "stack" is not a sum but kind of like a group of sub-tasks also along the same time axis? i that case i can see some value - it's one of those few cases where the stack is not a sum-trend.
i think a plugin for this would be most useful in the DOM layer rather than on canvas. this way you can get hover-ability for free by using plain css/js instead of having to hack that it by coordinate probing. perf should not be an issue since the amount of data is probably < 500 total elements. zooming, however, could turn out to be tricky if you dont want to completely destroy and recreate the dom each time.

Thanks, I agree - generally stacked bars suck - however in this case, due to the time-basis and the component breakdown they make sense.

btw, any progress on the timeline heatmap? would be cool to get that added as a demo if you got it working and willing to share :)

Sure - happy to share although its still a little rough. It supports click events on individual ladder entries, hovering on a ladder entry displays the 'y' value as well as the 'count' - where the count is used to show the number of entries in that cell.
I broke out the data series as you suggested - this helped simplify the code. I added more data entries, but the alignment isnt ideal. It will look better when I capture real data.

The demo code is the bar-heatmap.js and html in:
https://github.com/liquidlabsio/fluidity/tree/dataflow-page/web/src/main/webapp/trial/uplot

I will create a PR in uPlot tomorrow then see what you think (Im in London)

@bluemonk3y i see most of your code is Apache-licensed. would you be okay releasing any PRs to uPlot under MIT? i really don't want to deal with license compat concerns.

Yeah, no worries.
On Tue, 9 Jun 2020, 18:06 Leon Sorokin<EMAIL_ADDRESS>wrote:

@bluemonk3y https://github.com/bluemonk3y i see most of your code is
Apache-licensed. would you be okay releasing any PRs to uPlot under MIT? i
really don't want to deal with license compat concerns.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/liquidlabsio/fluidity/issues/65#issuecomment-641451563,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACQLJJWRMA2V6JAQMUKECR3RVZTYNANCNFSM4M3PGKHA
.


[R]Command 'mingw32-make.exe' not found @win/processx.c:994

Summary:
Please provide a short couple sentence summary.
Description:
Describe the issue as clearly as possible.
Reproducible Steps:
Please report steps to reproduce the issue. If it's not possible to reproduce, please include a description of how you discovered the issue.
If you have a reproducible example, please include it.
Current Output:
The current output. Knowing what is the current behavior is useful.
Expected Output:
Describe what you expect the output to be. Knowing the correct behavior is also very useful.
Additional Information:
Provide any additional information here.
Current Version:
v2.25.0

file <- file.path(cmdstan_path(), "examples/bernoulli/bernoulli.stan")
mod <- cmdstan_model(file)
Compiling Stan program...
Error in rethrow_call(c_processx_exec, command, c(command, args), stdin,  :
Command 'mingw32-make.exe' not found @win/processx.c:994 (processx_exec)
Type .Last.error.trace to see where the error occured

Sorry we missed this issue. Please see this guide https://www.maxmantei.com/2020/05/16/cmdstanr-windows/
You need to add
C:\RTools\RTools40\usr\bin
C:\RTools\RTools40\mingw64\bin

to PATH
and then run
pacman -Sy mingw-w64-x86_64-make


feat: vertical additional space, header slot, scroll top and bottom event, linter added, removed less

containerStyle is now the calculated height, plus the optionally injected spacer height
header slot added sitting within the vue-virtual-collection but out of the vue-virtual-collection-container
the vue-virtual-collection scroll at top and bottom event triggered allowing for pagination (infinite scroll) and fetch latest to occur
less removed as the css is trivial thus less is overkil
eslint added to ensure styles are uniform
package.json scripts updated
position by translateX and Y opposed to position top/left

There appears to be a bug when using the header slot - as the slot pushes down the content, the in view measure meant of the cards is at times off in chrome. In FF however no issue :/

There appears to be a bug when using the header slot - as the slot pushes down the content, the in view measure meant of the cards is at times off in chrome. In FF however no issue :/

@starkwang any chance of getting this PR reviewed soon, could do with it published to npm for me CI pipes :)

@starkwang any chance of getting this PR reviewed soon, could do with it published to npm for me CI pipes :)

@starkwang any chance of getting this PR reviewed soon, could do with it published to npm for me CI pipes :)

I'll review this PR ASAP.

@starkwang any chance of getting this PR reviewed soon, could do with it published to npm for me CI pipes :)

I'll review this PR ASAP.

Thanks for your contribution! @johndcarmichael

Thanks for your contribution! @johndcarmichael

Landed in 1.5.0

Landed in 1.5.0


refetch query after it's been gc'eed if a component is re-loaded

would be useful to add refetch slot on the handler as well.

false alert, just didn't updated to latest version :smile:


populate_db: Make Iago staff.

Will make it easier to test the /activity page.

Automated message from Dropbox CLA bot
@rishig, it looks like you've already signed the Dropbox CLA. Thanks!


Corrupted User-Interface (on AMD?)

Hi,
i've just installed and used screentogif on my new HP Elitebook 835 G7 which features an AMD Renoir APU (4750U).
The only other noteworthy non-standard software I'm using is Romex PrimoCache to speed up the SSD for certain workloads which hasn't created any other issues so far.
My Windows version is: Microsoft Windows 10 Professional (x64) Build 19041.508 (2004/May 2020 Update)
I'm getting a corrupted UI in the Editor, something which I don't see in any other program, here is a screenshot:

This changes in behaviour when I use the window:

Usually this means that the video driver is not dealing well with rendering the window.
Disabling hardware acceleration should help you a bit.

Options > Application > Disable hardware acceleration.

Options > Application > Disable hardware acceleration.

Thank you! This solved the issue!

Same issue here, I'm using Ryzen 4800u with latest driver.
It also affect the WPF editor in Visual Studio 2019. Seems an AMD driver issue.


bug: Update LLVM version in contributing doc

Ref: https://github.com/microsoft/retina/blob/9f455ca581af8b5355386d55ed0a70e2ee86ef20/docs/contributing/developing.md?plain=1#L14
Need LLVM version 16 for local compilation.

shall I make a PR for this refactor ?

@4rivappa please feel free, assigning it to you


Save & Load Feature

Simple Saving and Loading mechanism for our game
when the player exits a current level, save their location and moves amount.
If the player wins, save their moves amount and the level number they will be transferring to as their current level.

The save functionality gets called when the player wins the current level.
The game is loaded when the player clicks "Play".
I don't think we need to store the player's level position or give an option to save during the gameplay.


About the environment

When I run test.py, why does it stop？
Jitting Chamfer 3D
Loaded JIT 3D CUDA chamfer distance
Random Seed:  42
grid_size: 8
2024-03-27 18:09:57,042 : Resume Path:checkpoint/checkpoint.pth
(base) root@ubuntu1804:~/DiT-3D#

I run with python test.py --dataroot data/ShapeNetCore.v2.PC15k/    --category chair     --model_type 'DiT-S/4'     --voxel_size 32     --model checkpoint/checkpoint.pth

I'm using a 4090 card, may I ask what your device is?

You have to provide --generate to generate images and --eval_gen to evaluate the generate results.

You must provide methods for --generate to generate images and --eval_gen to evaluate the results.

Thanks. The default is False, do I need to change both to True?

When I run test.py,anaconda prompt shows the error: subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.,how can I solve this problem? I have already installed ninja.

Yes, the bash command will look as following:

python eval.py \
    --dataroot $DATASET_DIR \
    --category chair \
    --model_dir $EXPERIMENT_DIR \
    --experiment_name $EXPERIMENT_NAME \
    --model_type 'DiT-S/4' \
    --voxel_size 32 \
    --model pre_trained_weights.pth \
    --generate \ # To generate samples
    --eval_gen \ # To evaluate generated samples

I hope this helps :)


[Question] LLaVA-1.6 Training/Finetunning Code

Question
Any updates when is going to be release? Thanks!

Hope to publish it as soon as possible


Send-us an email should be the first item in the Contact screen

Hi everyone,
I plan to release some videos and other kinds of documents to help people to use the app.
However, access to the email form is tough to find because it's the last item in the contact form.
Clearly, it should be the first one!

We could move the whole section, newsletter + email?

@g123k , @teolemon
Hey! Hope you're doing well.
I've submitted a pull request for this. Please met me know if any modifications are required.
https://github.com/openfoodfacts/smooth-app/pull/5111


"Setup extra files for travis releases"

Is anyone qualified to comment on this? Examination reveals no obvious copy/paste errors, so I guess LGTM.

Master isn't passing so probably not related to this. Let's see if we can't get the tests green before release.

Ah, good thinking, I guess you should also add some augeas gem to the bundle.

Let's see if we can make this work.

Shucks. I had hoped that the libaugeas-dev package would take care of the gem installation issues.

@raphink ping ^

You need a newer version of Augeas than the one in Ubuntu 12.04 (which Travis runs still, I think) for the current version of ruby-augeas.
Add this to the Travis setup: https://github.com/hercules-team/ruby-augeas/blob/master/.travis.yml#L10

mumbles something about modulesync https://github.com/puppet-community/plumbing/issues/3

@nibalizer would you mind rebasing this?

closing in favour of #120.


Moving django-extensions forward

The project development seems to have slowed down, new issues and pull request are unanswered, so at this point it's showing all the signs of being unmaintained. I love some of the tools in this project, and would miss them if they stopped working. I think it's one of the main Django 3rd party packages, so I would hate to see it turn stale.
I'm not throwing any shade at the current maintainers, maintaing a project of such magnitude over time is no small feat and it's still working pretty well despite the lack of love in the past few months. However, by providing so many integrations with other libraries beyond Django (Jupyter notebook, 3.13 REPL, Werkzeug, watchdog, ..), if it's not kept up to date, the ecosystem keeps moving and cracks start to appear...
So I'd like to start a discussion to see how can we move this project forward. Do the current maintainers still have the energy and interest to pick this up (could be a temporary hiatus)? Does the project need new ones to be added? Would it help to be under a new organisation like @django-commons?
I hope this doesn't come across negatively.
PS: I've opened a discussion in the google group earlier, but it didn't show up, I assume new messages are hidden until moderated.

It's true that work on Django Extensions (from me) has been slowed down to
a crawl in recent times. Leading to PR's remaining open and it slowly
drifting from meanline Django and other dependencies/related projects.
The reasons for this are mostly typical for open source projects, many
articles and blogs [1] have been written by other projects and maintainers
and a lot of that applies for Django Extensions as well.
I definitely don't consider the project to be abandoned and therefore this
should be a temporary hiatus, however I cannot tell exactly when work will
pick up in a significant way.
The easiest and quickest way would be when an entity would spend some
actual money on the project allowing me (and ideally even others) to work
on it during our working hours. While none have any (other than moral)
obligation to do so, I know that projects like Django Extensions (and there
are many others too) are valuable to me when working on corporate or client
projects so that does not seem like that big of an ask.
I want to make crystal clear that I cannot understate how much I appreciate
all the people that donated to me or the project and companies like Sentry
that recently donated money (
https://blog.sentry.io/we-just-gave-750-000-dollars-to-open-source-maintainers/
) to keep the project going and to allow me to spend time on it. Though in
all earnest those never amounted to anything more than tens of dollars, the
biggest one being github's one time $500 donation, not close to anything
enough to pay the bills.
I hope this doesn't come across negatively.
No worries :-)
*PS: I've opened a discussion in the google group earlier, but it didn't

show up, I assume new messages are hidden until moderated.*

Your post should be approved now.
The Django community is a great community.
It might be taking a little longer than anybody would hope for but at some
point development will pick up again :-)
[1] For example you can search for them on HN:
https://hn.algolia.com/?q=maintainers
Op di 12 nov 2024 om 23:17 schreef Bruno Alla @.***>:

The project development seems to have slowed down
https://github.com/django-extensions/django-extensions/graphs/contributors,
new issues and pull request are unanswered, so at this point it's showing
all the signs of being unmaintained. I love some of the tools in this
project, and would miss them if they stopped working. I think it's one of
the main Django 3rd party packages, so I would hate to see it turn stale.
I'm not throwing any shade at the current maintainers, maintaing a project
of such magnitude over time is no small feat and it's still working pretty
well despite the lack of love in the past few months. However, by providing
so many integrations with other libraries beyond Django (Jupyter notebook,
3.13 REPL, Werkzeug, watchdog, ..), if it's not kept up to date, the
ecosystem keeps moving and cracks start to appear...
So I'd like to start a discussion to see how can we move this project
forward. Do the current maintainers still have the energy and interest to
pick this up (could be a temporary hiatus)? Does the project need new ones
to be added? Would it help to be under a new organisation like
@django-commons https://github.com/django-commons?
I hope this doesn't come across negatively.
PS: I've opened a discussion in the google group earlier, but it didn't
show up, I assume new messages are hidden until moderated.
—
Reply to this email directly, view it on GitHub
https://github.com/django-extensions/django-extensions/issues/1892, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAQAEBG6P7TZFD5CRBKGYL2AJ46RAVCNFSM6AAAAABRVCMPGSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGY2TGNBWGEYTAOI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

It's true that work on Django Extensions (from me) has been slowed down to a crawl in recent times. Leading to PR's remaining open and it slowly drifting from meanline Django and other dependencies/related projects.
The reasons for this are mostly typical for open source projects, many articles and blogs [1] have been written by other projects and maintainers and a lot of that applies for Django Extensions as well.
I definitely don't consider the project to be abandoned and therefore this should be a temporary hiatus, however I cannot tell exactly when work will pick up in a significant way.
The easiest and quickest way would be when an entity would spend some actual money on the project allowing me (and ideally even others) to work on it during our working hours. While none have any (other than moral) obligation to do so, I know that projects like Django Extensions (and there are many others too) are valuable to me when working on corporate or client projects so that does not seem like that big of an ask.
I want to make crystal clear that I cannot understate how much I appreciate all the people that donated to me or the project and companies like Sentry that recently donated money ( https://blog.sentry.io/we-just-gave-750-000-dollars-to-open-source-maintainers/ ) to keep the project going and to allow me to spend time on it. Though in all earnest those never amounted to anything more than tens of dollars, the biggest one being github's one time $500 donation, not close to anything enough to pay the bills.

I hope this doesn't come across negatively.

No worries :-)

PS: I've opened a discussion in the google group earlier, but it didn't show up, I assume new messages are hidden until moderated.

Your post should be approved now.
The Django community is a great community.
It might be taking a little longer than anybody would hope for but at some point development will pick up again :-)
[1] For example you can search for them on HN: https://hn.algolia.com/?q=maintainers


Errors building examples (specifically notebook and terminal)

From gitter on Friday:
I've played around with the examples a bit more and I think they are making more sense. Will take a swipe at a doc with a few screenshots for the examples. One issue: console, filebrowser, and lab examples work fine. However, notebook and terminal are throwing 404 errors when trying to GET /build/bundle.js
Tried npm run clean:examples @jasongrout's suggestion. Still issue with notebook and terminal running after npm run build:examples.  No happiness :-(
Let me know if you want me to retest anything.

Hi @willingc, does the examples/terminal/build/bundle.js file itself exist?

Nope.

What is the output of running npm run update && npm run build from examples/terminal?

Missing rimraf?

Ah, you had blown away your node_modules folder,  please try npm install && npm run build.

@blink1073 Ok that resolved the terminal issue. The similar process did not work for the notebook. It just comes up with a blank screen when going to localhost:8765.

Can you try a hard refresh (clearing the cache on the page)?

The hard refresh didn't help on Chrome and Safari.
I did a new clone in an experiments directory on my system. Receiving this when running npm install && npm run build:
> jupyterlab-example-notebook@ build /Users/carol/experiments/jupyterlab/examples/notebook
> tsc --project src && webpack --config webpack.conf.js

src/index.ts(109,56): error TS2345: Argument of type 'MimeData' is not assignable to parameter of type 'MimeData'.
  Types have separate declarations of a private property '_types'.

npm ERR! Darwin 15.5.0
npm ERR! argv "/Users/carol/anaconda/bin/node" "/Users/carol/anaconda/bin/npm" "run" "build"
npm ERR! node v4.2.6
npm ERR! npm  v2.14.12
npm ERR! code ELIFECYCLE
npm ERR! jupyterlab-example-notebook@ build: `tsc --project src && webpack --config webpack.conf.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the jupyterlab-example-notebook@ build script 'tsc --project src && webpack --config webpack.conf.js'.
npm ERR! This is most likely a problem with the jupyterlab-example-notebook package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     tsc --project src && webpack --config webpack.conf.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls jupyterlab-example-notebook
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/carol/experiments/jupyterlab/examples/notebook/npm-debug.log


If the SGF says W+R (or B+R), who wins?

On the top of a sfg file, the result is:
Result[Black]: W+R
Result[White]: W+R
I think this means white wins. However, if I use the command:
gnugo --score estimate -l sgf_file_name
it says: Black wins by 1.5 points
So who wins by W+R?
Thank you very much.

W+R = White by Resignation.
Gnugo might be wrong :)


500 on tool refresh

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Try to refresh a tool (GET /containers/17072/refresh). Might need to use that specific tool
See something like

ERROR [2021-09-30 18:32:22,251] io.dockstore.webservice.resources.DockerRepoResource: Could not parse Git URL: Unable to refresh tool!

Expected behavior
If it's a tool that already exists, there should be no reason for the Git URL to be unparseable.
Additional context
Webservice - 1.11.8
UI - 2.8.2
Compose Setup - 1.11
Deploy - 1.11.1
┆Issue is synchronized with this Jira Story
┆Issue Number: DOCK-1933
┆Sprint: Backlog
┆Issue Type: Story

Is there anything special about the tool?


exclusion list/pattern

We need to be able to ignore/exclude CSS classes from being modified. If they're being dynamically generated, we'll never be able to ruin them safely.

:smile:  true


[Umbrella] Enhance dashboard capabilities.

Code of Conduct

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

Search before asking

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

Describe the proposal
You can configure one dashboard to manage multiple clusters, and add dashboard management functions for Coordinators and ShuffleServer.
Task list

Added the ability for the dashboard to connect to multiple coordinators and shuffle servers.
Add sorting and search functions to the dashboard list area for ease of use.
Added the dashboard account password login function.
Dashboard added functions for adding and deleting ShuffleServer nodes offline and blacklist.
Added monitoring status indicators of the ShuffleServer node.

Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

@zuston @jerqi @lifeSo Let's see if these functions make sense.

@zuston @jerqi @lifeSo Let's see if these functions make sense.

OK, I am new to dashboard, let's me see seee first and will try.

Is the current dashboard functioning correctly? I see many 404 error requests on the shuffle server page.

@yl09099 @lifeSo @jerqi

Is the current dashboard functioning correctly? I see many 404 error requests on all dashboard pages.    @yl09099 @lifeSo @jerqi

Is the code up to date?

It's up to date. I don't know why this is happening. Am I missing something? @yl09099

It's up to date. I don't know why this is happening. Am I missing something? @yl09099

Is the Coordinator interface access address correctly configured? The error is that the interface cannot be accessed，Refer to configuration here：https://github.com/apache/incubator-uniffle/blob/master/docs/dashboard_guide.md.

It's up to date. I don't know why this is happening. Am I missing something? @yl09099

Is the Coordinator interface access address correctly configured? The error is that the interface cannot be accessed，Refer to configuration here：https://github.com/apache/incubator-uniffle/blob/master/docs/dashboard_guide.md.

All we do is update the code to the latest. The config file dashboard.conf hasn't been changed at all. @yl09099

So I am just wondering, if the latest code works fine?

So I am just wondering, if the latest code works fine?

You should have no problem using the latest version of the code.

Can we display usedDirectMemory on the Dashboard's shuffle server page? Maybe add a column? If you think there are too many columns and it doesn't look nice, can we remove the first column Id? Displaying Id on the page doesn't serve any purpose, right? Id can be composed of the values in the following columns (IP + GrpcPort + NettyPort).
PTAL @yl09099

I personly do not think add usedDirectMemory is necessary if your company have other monitor system like:

If I want to see the metric, I will use mtric system.

Id can be composed of the values in the following columns (IP + GrpcPort + NettyPort).
@yl09099  What do you think ?

usedDirectMemory has already become a very important metric in the latest Uniffle(especially when enabling Netty).
I'm just making a suggestion for your reference. Since the Id is not very useful anymore(actually useless), you might as well  conveniently replace it with usedDirectMemory.
@lifeSo

It is my  personal opinion， if you persist it.
I just think dashboard is the place to operate server， and there is monitor system to see metric.
@jerqi   @yl09099  What's your idea?

Can we display usedDirectMemory on the Dashboard's shuffle server page(which is very useful in my opinion)? Maybe add a column? If you think there are too many columns and it doesn't look nice, can we remove the first column Id? Displaying Id on the page doesn't serve any purpose, right? Id can be composed of the values in the following columns (IP + GrpcPort + NettyPort).
PTAL @yl09099

I don't think it's useful either. We can change it.

I personly do not think add usedDirectMemory is necessary if your company have other monitor system like:

If I want to see the metric, I will use metric system instead of dashboard.

I also do not have what good idea, document change inside, https://docs.google.com/document/d/1pR-pTn3aIZHpKSYDmFVdTijDwaT7INFVXJd5VG0WVpg/edit

Id can be composed of the values in the following columns (IP + GrpcPort + NettyPort).
@yl09099 What do you think ?

I think it's useless. We can change it.


Pomodoro bar widget

Hi! I've created a simple pomodoro widget for the bar for my own use and figured it might be good for others too!
Let me know if this is something you'd like to merge or if there are some changes you'd like to see made. I'm not very familiar with C# development and I'm open to constructive comments.

Looks simple enough. No objections per se.
As I see this PR has votes from the community, I think it's fair to include it by default as well.
Consider it merged!

Thank you :)


RDM: Added additional logic to Swiftcast/Acceleration/Grand Impact

RDM now uses Acceleration/Swiftcast when moves.
Also, RDM now use Grand Impact after each acceleration.

Gonna add aditional checks


Block-scoped declarations not yet supported outside strict mode

This might be a problem because of an outdated node js version on aws lambda (4.3.2)

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object. (/var/task/node_modules/eve_swagger_interface/src/index.js:1:75)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)

With the 0.2 release I switched to ES6.  I am using node 6.9.1.  It should be possible to transpile it to older versions of JS with babel, but I haven't automated that.  Is that something you can just do on your end?

I upgraded my node from v4.6.1 to v6.9.5 and after that I'm getting a lot of different errors. My guess is some of the packages I use do not support v6.9.5 :(
module.js:471
    throw err;
    ^

Error: Cannot find module '../internal/Names'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/ubuntu/workspace/node_modules/eve_swagger_interface/src/api/Alliances.js:4:16)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/ubuntu/workspace/node_modules/eve_swagger_interface/src/Api.js:22:19)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/ubuntu/workspace/node_modules/eve_swagger_interface/src/index.js:1:75)
    at Module._compile (module.js:570:32)

Process exited with code: 1

Part of my package.json
  "dependencies": {
    "body-parser": "~1.16.0",
    "config": "^1.25.1",
    "cookie-parser": "~1.4.3",
    "debug": "~2.6.0",
    "ejs": "^2.5.6",
    "express": "^4.14.1",
    "express-session": "^1.15.1",
    "mongoose": "^4.8.2",
    "mongoose-findorcreate": "^1.0.0",
    "morgan": "~1.7.0",
    "passport": "^0.3.2",
    "passport-eve": "^1.0.2",
    "request": "^2.79.0",
    "serve-favicon": "~2.3.2",
    "eve_swagger_interface": "git://github.com/lhkbob/eve-swagger-js.git#0.2.1"
  },

Any chance you could maintain a version compatible with Node 4 versions

I accepted a pull request the other day fixing this but haven't put out a new release yet. Turns out my filesystem is case insensitive so it didn't affect me.
If you depend on the latest instead of using a version tag it'll be fine. Although I also need to update to the latest ESI version so once that's done I'll do a proper release.

I have not yet decided how to distribute a transpiled version for older engines. Most backend things should be able to run with a version of node that supports es6. On the other hand babel is pretty easy to setup and then it's just a matter of pushing two versions instead of one for a release.

Just merged, and will push a new release soon for it, but babel now converts the ES6 code to target node v4, which should help in these situations. PR #31


submission_recipient empty

Hello,
1st of all, thank you for developing this. Exactly what I was looking for.
Unfortunately, postfix-build-submission-recipients.sh runs without any error, the file submission_recipient is created in /etc/postfix but it is empty.
The script finishes in ~ 1 second.

The correct maillog file is set in config.xml and it contains data (at noon was about 5 MB)
Using Postfix on Ubuntu Server with perl  5.18
Any hints as to how I can debug this?
Thank you

Editing the file postfix-build-submission-recipients.sh and changing f 6 to f 5 seems to populate the file submission_recipient
NEW=$(grep sasl_username= $MAILLOG | cut -d " " -f 6 | perl -pe 's/://g' | xargs -I MSGID grep MSGID $MAILLOG | grep to=< | grep -v cleanup | perl -pe 's/^.+to=<(.+)>,.+$/$1/g' | perl -ne 'print lc' | sort | uniq)
Now, this might be something on my end. I might have modified how Postfix logs to file, but sincerly I cannot recall.

Hi, the script is based on the standard Postfix log format. If something has been changed, the statements will no longer work. I will try to help you with an example - debugging on console.
# Define MAILLOG variable manually
MAILLOG=/var/log/maillog

The script is based on SASL authentication. Authentication based on IP subnet, Dovecot-Auth are not considers in this script.
# Search for sent emails with SASL-Auth
$NEW = grep sasl_username= $MAILLOG
echo $NEW
Nov  9 14:25:50 mx.domain.de postfix/smtps/smtpd[455898]: 15FDE183E7146: client=unknown[<IP_ADDRESS>], sasl_method=PLAIN, sasl_username=max.mustermann

# Search for the message ID
echo $NEW | cut -d " " -f 6 | perl -pe 's/://g'
15FDE183E7146

# Search the logfile by the message ID, filtered by "to=<"
echo $NEW | cut -d " " -f 6 | perl -pe 's/://g' | xargs -I MSGID grep MSGID $MAILLOG | grep to=\< | grep -v cleanup
Nov  9 14:25:58 mx.domain.de postfix/smtp[455906]: 15FDE183E7146<EMAIL_ADDRESS>relay=none, delay=8.3, delays=8.3/0.01/0.01/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=any-domain.de type=AAAA: Host not found)

# Output everything between the "to=<" and the following ">".
echo $NEW | cut -d " " -f 6 | perl -pe 's/://g' | xargs -I MSGID grep MSGID $MAILLOG | grep to=\< | grep -v cleanup | perl -pe 's/^.+to=\<(.+)\>,.+$/$1/g'
<EMAIL_ADDRESS>
# At the end convert to lowercase
| perl -ne 'print lc'
# Sort
| sort
# Remove duplicates if several identical values exist
| uniq

I hope this helps you.

Since the request is now two weeks old and unanswered, I assume a configuration problem with your mail server and close this issue.


Feature: Function or Dataset for Metric Spec Data

Feature Details
For gsm.app, I'd like to be able to easily tie a given MetricID to the DomainIDs ("AE", "SUBJ", "PD", etc) that are used to calculate it. That way I can filter domains when they appear by the selected metric, to make it easier to drill down. Ultimately I'd want a table or list, but it's ok if I have to create it using something like ExtractSpec(). TECHNICALLY I could get here already with CombineSpecs() or even just yaml::read_yaml(), but it'd be nice if it were pre-compiled for me.
Example Code

Possible Implementation

Additional Comments

To capture Teams chat: This would probably live in {gsm.kri}, since that's where the metrics would be defined.


Relax MPI compatibility problem

The way mock_observables is currently written, the test suite automatically fails if the platform does not have MPI installed. But MPI should be optional. The way to handle this is

Step 0: Do all development in a virtual environment which does not have MPI installed, so that package-dependency errors such as this are caught from the get-go.

Step 1: Follow astropy's try/except-based pattern of implementing a global variable HAS_MPI, and add a py.test decorator marker. This is implemented throughout astropy with HAS_SCIPY, HAS_MATPLOTLIB, etc, so that is the place to look to see how to do it.

@duncandc - can you handle this?

Yeah man.  Super swamped right now.  This has been on my list for a little while...

Not that time-sensitive, obviously, since this is a long-standing bug. Mostly I just wanted to raise an Issue so I know you're aware of it, and will take care of it eventually.

Mock_observables has been wiped clean.


max98373/max98927 topology

These 2 devices seem to be smart amps that need a special topology to work. Can one be provided for these?

These 2 devices seem to be smart amps that need a special topology to work. Can one be provided for these?

@ryans-lee I am not sure what your plan is for the DSM in the Linux world

@coolstar Not everything can be shared. Unfortunately, cannot comment on usage of some of the 3rd party modules outside of supported set of configurations.
What we can do is provide a base-firmware-based workaround i.e.: a Peakvol instead of DSM.

@crojewsk-intel figured as much; in that time I've already figured out how to get it working in my own driver with IPC messages dumped from the legacy skylake driver (combined with module extracted from CrOS), so don't need the topologies anymore

Your description is very vague, it's hard to grasp what exactly you are talking about.
Note: some payloads sent to the 3rd party modules are tailored for specific configuration. applying them in generic fashion may load into unexpected behavior.
FYI:

peakvol support has been provided in avsdk with avstplg: Add volume kcontrol support
example of usage has been provided in avs-topology-xml with dmic: Update topology to expose volume control

Closing as parts of the request are N/A and the proposed workaround has been provided.

Reference topologies for max98373 and max98927 devices with 3rd party smart-amplifier replaced by PeakVolume module have been provided with #14 and #15 respectively.


cmd/cgo: cgo is broken ("cgo argument has Go pointer to Go pointer")

The implementation of the Cgo pointer passing rules seems to be broken. This Go/cgo program, using ffmpeg via cgo, panics on line 72 at seemingly random timestamps / loop iterations given a path to an .mp4 video file as a first argument. You may need to run it several times to get a panic - about 50% of the runs are successful.
$ go version
go version go1.6 linux/amd64

Because @opennota thought "Unplanned" meant we weren't going to fix it, I'll assume the worst that this is a bad regression and tag it Go 1.6.1. I don't know anything other than @ianlancetaylor is the person to evaluate this. I was simply giving it any Milestone so it showed up as looked at.

For the same input file, it reliably crashes, although it takes a different amount of loop iterations, and changing the code changes the amount if iterations.
https://ffmpeg.org/doxygen/2.8/structAVPacket.html is the definition of the AVPacket struct. The pointer checker is complaining about the priv field, a void*. The values of priv, for my input file, look something like this:
0x400f6f
0x7ffdc93fd4e0
0x7ffdc93fd4e0
0x7ffdc93fd4e0
0x7a4f00

The last value is considered a valid Go pointer, as it points into the bss section.
I haven't looked into the meaning of the priv field or how ffmpeg comes up with the values. However, I do wonder if it demonstrates a more general problem with the way cgo checks for Go pointers. C can put arbitrary values in those fields (or simply not initialize them), and may not necessarily intend to ever access them as pointers.

FFmpeg developer and Gopher here (who uses CGO unfortunately too much).
Can you say which version of FFmpeg you tested this with? The code in av_read_frame may do something akin to *pkt = *queued_packet, which may have set the priv filed to initialized data. That field has been removed, and has long been deprecated for a reason, and I'm not confident that all the internal packet functions properly initialized that field or zeroed the structure — you may be seeing unitialized data there. priv should be NULL in that example (it was mostly only set for e.g. Video4Linux2 capture device). I would love to try and repo/look into it, and save @ianlancetaylor some time if it's our fault. It should be easy to test.
Sorry if this is noise!

I tested it with 2.6.3 and (just a moment ago) with 2.8.6. Both are crashing.

It looks as if my assumption was correct: priv is uninitialized.
I ported your example to C, added a touch to priv, and ran it under valgrind:
==42866== Conditional jump or move depends on uninitialised value(s)
==42866==    at 0x400AC3: process_pkt (bug.c:7)
==42866==    by 0x400CFB: main (bug.c:74)
==42866==  Uninitialised value was created by a stack allocation
==42866==    at 0x68D6FA8: read_frame_internal (utils.c:1317)

My guess is that the when the packet is statically allocated in the library, it uses some memory that once was used by Go, perhaps, and by chance ends up with a pointer-like value, causing the CGO analysis to catch it and panic.

I added pkt.priv = nil before the call to process_pkt and the crashes are gone.
However, like @dominikh I also wonder if this enforcing of the pointer passing rules will be a source of random, even if rare, crashes.

@opennota, I'm having a similar problem with cgo and ffmpeg (C.sws_scale), so I agree with your concerns.
Specifically, I'm having trouble calling C.sws_scale.

@dwbuiten, thanks for helping.

Thanks for looking into this.
  I have not looked at the code, but it sounds like C++ is taking uninitialized memory and copying it into Go memory, and that some of that uninitialized memory has a pointer type.  If that is what is happening, then you have a big problem, and it's a good thing that the cgo pointer check is catching it.  The garbage collector is not going to work properly if it can see invalid values with pointer types.

@ianlancetaylor This is correct, since he/she is allocating the AVPacket struct in Go. Nothing bad would actually happen in this particular case since priv is unused, but I agree it's bad in general (again, I'll fix it upstream). A very good point about GC; I didn't think of that!

OK, closing as not a Go problem.


Changes for LLT case

Expansion includes:

adding TimeWindowCreatorTools class with... tools for time window creation.
methods were extracted to tools class, including modifications of the Unpacker
application of flagging Signal Channels with RecoFlags - repeated Leadings are Corrupted
updating Signal Finder, Signal Transformer, Hit Finder and Event Finder with parameter reading for use/not use corrupted lower class structures
few new control histograms
more comments and descriptions

How to make it build with develop branch of Framework?

ad. 1. In this PR I added only changes for detection and handling of LLT problem. Order of thresholds is a different issue, which I would like to solve otherwise. I my opinion we should rely on configuration files for proper description of the setup, and this is the case. Changing the thresholds is a change of setup, so new json file should be produced and applied. Inside the json file indices of threshold should follow increasing values of set voltage. I am not a supporter of changing the universal code for single cases, right now the signal finding methods (and others) are general enough so just proper configuration is required.
ad. 2 and 3. I think this is a case for separate PR, which would include mentioned optimization ideas. So 1) substitute (?) maps in UniversalFileLoader and methods for finding calibration values 2) proper distribution of data to PM or slots in the modules 3) smarter usage of TOMB channels?

Also I would like to get some feedback after tests and about the logic of setting the reco flags.

Ad. 1. Thank for the clarification. I was confused because in HitFinder and SignalTransformer you are already using sorting of SigChs by threshold value.
I don't fully like the idea of doing it at the configuration level only- as you said, this requires to change the local threshold number corresponding to a particular DAQ channel in the configuration file, but this would lead to having config files not reflecting the true state of the DAQ system. The local channel number is not just a convention - it corresponds to a particluar and fixed output channel of the front-end board, having e.g. specific time delays. Mixing those numbers can lead to possible confusion.
@wictus has already prepared the JSON files where the local threshold numbers are unchanged by the actual set threshold values are adaoted to match the settings of particular sub-runs:
http://koza.if.uj.edu.pl/petwiki/index.php/Default_settings_and_parameters_used_in_the_analyses
I think this is the right way to go.
Anyway, SignalFinder can be adapted to this solution with minimal modification only - I think is is enough to create a permutation of the channel numbers based on the increasing threshold values and then in lines 88-90 do something like (if P is the permutation):
    thrLeadingSigCh.at( P(sigCh.getThresholdNumber()) - 1 ).push_back(sigCh);
 ...
    thrTrailingSigCh.at( P(sigCh.getThresholdNumber()) - 1 ).push_back(sigCh);

We can do it in a separate PR.

Ad. 2. Ok, this indeed is a minor optimization and we can do it separately.
Ad. 3. This, however, is a more serious problem. Changing the maps to vectors in the current way we would break the universality of the code we had until now and I think we should not do it. It is better not to change the old solution in a partial way, so I propose to leave the use of maps for now.
Then in a separate PR we can carefully optimize such cases.

Yes Alek, you are right, it is not worth it to make partial changes. Lets make some optimization PR later. Now I will commit these minor changes and go back to maps.

I added suggested corrections and more:

returned to mapping PM/Slots with maps, not simple vectors <- main (un)change
small typos, but not with "control histograms" -> other small PR upcoming
slight modification of LLT histograms
two multiplicity histograms in Event Finder before and after cut
adding new parameters descriptions

I have tested usage of reco flags and i.e. in files from Run 5 less than 1% of SigChs are corrupted, and it propagates also to less than 1% of signals, hits and events. I set default values for UseCorrupted flags to false, and this indeed cuts all corrupted objects.

P.S. I will commit today one more time - small corrections to tests

Hi, Do you know why the tests are not currently passing?

PR updated, please check if framework submodule now points to proper branch/commit.


Problem with onboarding Photon in some environments

Hi,
we are developing product based on particle platform and we are using Photon device, which is integrated into our hardware. We have problems with onboarding using Android devices, iOS ones are mostly fine. This onboarding problem happens in approx 80% of tries when in specific environment so it actually succeeds sometimes. This problem happen only on specific wifi networks and can not be reproduced everywhere. Result is that process fails on step 5 - checking if device was claimed. Problem probably occurs earlier - if we watch successful onboarding in Particle console, we can see that device comes online around step 2 in newly added graphical event log. In case that onboarding fails, we can not see any activity in Particle console.
During the onboarding we can se various error logs in logcat. Some of them are "normal" for us and we know, that even if they happen, onboarding can succeed. One stacktrace, which is repeating during step 5 when device fails to set up is this:
 I/CheckIfDeviceClaimedStep: Running step CheckIfDeviceClaimedStep  E/ParticleCloudException: best msg: Permission Denied  W/System.err: io.particle.android.sdk.cloud.ParticleCloudException  W/System.err:     at io.particle.android.sdk.cloud.ParticleCloud.getDevice(ParticleCloud.java:525)  W/System.err:     at io.particle.android.sdk.cloud.ParticleCloud.getDevice(ParticleCloud.java:316)  W/System.err:     at io.particle.android.sdk.devicesetup.setupsteps.CheckIfDeviceClaimedStep.onRunStep(CheckIfDeviceClaimedStep.java:73)  W/System.err:     at io.particle.android.sdk.devicesetup.setupsteps.SetupStep.runStep(SetupStep.java:54)  W/System.err:     at io.particle.android.sdk.devicesetup.setupsteps.SetupStepsRunnerTask.runSteps(SetupStepsRunnerTask.java:76)  W/System.err:     at io.particle.android.sdk.devicesetup.setupsteps.SetupStepsRunnerTask.doInBackground(SetupStepsRunnerTask.java:40)  W/System.err:     at io.particle.android.sdk.devicesetup.setupsteps.SetupStepsRunnerTask.doInBackground(SetupStepsRunnerTask.java:13)  W/System.err:     at android.os.AsyncTask$2.call(AsyncTask.java:305)  W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)  W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)  W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)  W/System.err:     at java.lang.Thread.run(Thread.java:761)
We wonder what might cause this inconsistency (that onboarding is sometimes working and sometimes not). It would be best if you would be open to call to discuss this problem. Let me know, if you want to see full logs form onboarding.
Thanks,
Ondrej

Hi @Komoi,
Which version of device setup library are you using?

Hi, I am using version 0.4.3. We have used static copy of library code because we needed to customise UI quite a lot. Logic is basically untouched.

@Komoi Well you are using older version, latest setup library version is 0.4.9, although issue is likely still there.
You mentioned "specific environment" and "specific wifi networks", could you tell me more about wifi connections a bit more, do they have anything in common, firewalls, any kind of configuration. Trying to reproduce bug so full logs would be useful as well.

Also, the "permission denied" part of the error is probably coming from the Particle API, meaning the device may be owned by another user, may not be a part of the requested product, or another similar permission error.

We have trouble to reproduce the issue consistently even on mentioned specific wifi networks. We are not even sure if this lead is correct. We think that this might be caused because wifi is dualband and phone is connected to 5GHz network before pairing. I am not sure about firewall or other configuration, because I do not have physical access to that network. You can see onboarding logs here (but some of them may be our custom ones)
Permission denied would mean that device was no unclaimed correctly, but it should be part of claiming process. We also experienced increased fail rate when onboarding right after unclaiming.
https://pastebin.com/riS9mAPA
https://pastebin.com/NJg1Hqnu

Also, now I experienced problem with unclaiming during the onboarding process. If I try to claim already claimed device with same account it belongs to, it works, because claim is checked by listing devices from you account and checking, if one you are onboarding is there. When I try to do this with another account (one which does not own the device) it fails every time. This is probably different issue than one I was referring to originally, I just found it worth mentioning.

Moved: https://github.com/particle-iot/particle-android/issues/60


don't use watchman in MPR test

this test always fails if watchman is installed on the machine (true for facebook laptops)

this is obviously a monkeypatch.
would jest be open to adding an env variable check?
like
const watchmanEnabled = !!process.env.JEST_USE_WATCHMAN;

this will remove the rest of the noise (we have a few dozen warnings during the full test run).
we can't easily remove them by passing --no-watchman because most of the tests run in the subprocess

Codecov Report

Merging #5678 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #5678   +/-   ##
=======================================
  Coverage   63.16%   63.16%
=======================================
  Files         216      216
  Lines        7913     7913
  Branches        3        4    +1
=======================================
  Hits         4998     4998
  Misses       2914     2914
  Partials        1        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 e12cab6...4126047. Read the comment docs.

Can we instead just finally check in an empty .watchmanconfig into the repo? That should make watchman pick up the Jest repo and it will work just normally?

@cpojer i have a .watchmanconfig file in the root that i gitignored globally. it works for the master process, but all individual jest subprocesses will need their own .watchmanconfigs as well

I'm closing this because I'm assuming the other PR is supposed to fix the same thing, right?

no. those are two separate things! the other PR only solves the noise when
we run ./jest
this one actually fixes a broken test (the project in this test is created
in tmp folder and has completely different structure)
On Tue, Feb 27, 2018 at 9:08 AM Christoph Nakazawa<EMAIL_ADDRESS>wrote:

Closed #5678 https://github.com/facebook/jest/pull/5678.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/facebook/jest/pull/5678#event-1494885814, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA5YZZKEuTpbGLgtaB7hb6HnGPawZ5JPks5tZDZ2gaJpZM4SUPlM
.

That @cpojer closing your issues like crazy!

Alright.


What is this? Notional value is less than the minimum notional value. Do not place an order.

I know below 10usdt the bot will ignore this coin.
But you have profit will be +/- 11 USDT maby a count/margin issue?

for buy

for sell

Current price = 0.07237
(0.07237 * 0.70) * 163 = 8.257417 this is below 10 usdt :)
(0.07237 * 0.70) = 0.050659
Last buy price = 0.06745
0.70 seems a little low. With this value`s you make no profit only losses :)

After the coin I bought at $10 made 3.5% profit, I thought it should take 0.5 of that profit (with * 0.7) :)
so my account for $ 10 was:
10 * 3.5% profit = 0.35
0.35 * 0.70 = 0.245
0.245 + 10 dollars = 10.245 limit price
thank you.


Update AST to hold const generics

The Generics struct now needs to hold lifetimes, ty_params, and const_params.
https://github.com/rust-lang/rust/issues/44580
struct RectangularArray<T, const WIDTH: usize, const HEIGHT: usize> {
    array: [[T; WIDTH]; HEIGHT],
}

That's not how we're doing it in the compiler, see https://github.com/rust-lang/rust/pull/45930.

Implemented in #261.


Changes to keep go vet happy.

Various minor syntactic changes, no change in behavior.
Removed TestUnmarshal_nilEvent(t *testing.T)
Calling json.Unmarshal with a nil argument is always an error as
per the json package doc. go vet even reports it statically.
There is no need to verify that here, it's not special to cloudevents.
Signed-off-by: Alan Conway<EMAIL_ADDRESS>

LGTM

Thanks @alanconway for the cleanup and the explanations.


[RHCLOUD-18655] feature: add tenant translation endpoints

We were initially going to perform another migration to translate the
leftover tenants which don't have an associated "OrgId" value, but after
a stand up meeting we decided upon creating a couple of endpoints to be
able to do it on demand.
These endpoints will help at:

Fetching all the "translatable" tenants.
Initiating the "EBS account number to OrgId" process.

Of course, these endpoints go on the internal routes, so they will only
be able to be hit from inside the cluster.
Links
[RHCLOUD-18655]

Who will call this ? Will it be in cronjob ?

OT: It looks that CI failure is sporadic and unrelated - It is about improper matching same arrays.

Who will call this ? Will it be in cronjob ?

More like CronJacob, since he'll be the one sending the requests internally to run the translations

CronJ(ac)ob can be activated.


feat: use page and api extension

Description & Technical Solution
Typography, heading defaults to averta, the rest is inter.
Typography autocomplete bug solved by changing to componentpropswithout ref

Checklist

[x] I have commented my code, particularly in hard-to-understand areas.
[x] Already rebased against main branch.


[BEAM-8481] Fix a race condition in proto stubs generation.

The installGcpTest task is installing SDK in developer mode (aka editable mode via pip install -e), which creates a race condition with the task  :sdk:python:sdist, because the order of execution is not established, and both tasks modify the SDK sources at proto stub generation step, see BEAM-8481 for pointers.
This change establishes a depends-on relationship, which enforces that sdist must finish before installation. Installing SDK from a tarball would provide a better isolation and be closer to the typical installation scenario.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

Run Python 3.7 PostCommit

R: @udim
cc: @markflyhigh

Opened https://issues.apache.org/jira/browse/BEAM-8966 for :sdks:python:test-suites:direct:py37:hdfsIntegrationTest failure

There are other errors though which I haven't triaged, such as beam-runners-flink-1.9-job-server-2.19.0-SNAPSHOT.jar not found

Filed and assigned self BEAM-8968 for missing jar issue.

Thanks, @ibzib  and @udim. Precommits have timeout after 3 hrs. Looking at https://builds.apache.org/job/beam_PreCommit_Python_Cron/, 1 in 10 precommit jobs times out, but most finish under an hour. Opened https://issues.apache.org/jira/browse/BEAM-8973.

Run Python PreCommit

Another precommit error: https://issues.apache.org/jira/browse/BEAM-8977

run python precommit

Run Python 3.6 PostCommit

[BEAM-8979] Remove mypy-protobuf dependency

Run Python 3.7 PostCommit

New errors: https://issues.apache.org/jira/browse/BEAM-8988.
Overall, postcommits are running and no longer timing out. I suggest we merge this PR since it will help reduce flakiness, which in turn will help verify fixes for BEAM-8988. @udim could you please review and/or merge if that sounds good to you?

Run Python 3.6 PostCommit

Looked at this together with @ibzib. Portable postcommit errors are caused by this PR. Since this PR switches from installing Python SDK in developer mode to installing the SDK from a tarball, it changes the path on Jenkins workers where the SDK sources will be located after the installation. In particular, after installing the SDK from a tarball into a virtual environment, the SDK source files will be located in a location like $path_to_virtual_env/lib/python2.7/site-packages/apache_beam/.
It appears that the default path for job service jar is defined by the location of SDK sources: https://github.com/apache/beam/blob/7346cf201e847fc7596389ff8406f8352859495e/sdks/python/apache_beam/utils/subprocess_server.py#L162. Therefore with this PR, Portable Flink Runner tests look for flink-job-server.jar in a different location and cannot find it.
The error can be reproed via: gradlew :sdks:python:test-suites:portable:py37:postCommitPy37

Run Python 3.7 PostCommit

Run Python 3.6 PostCommit

Run Flink ValidatesRunner

Run Python 3.5 Flink ValidatesRunner

Run XVR_Flink PostCommit

Run Python 3.5 Flink ValidatesRunner

Run XVR_Flink PostCommit

PTAL @udim or @ibzib

Thanks, @ibzib for the fix for BEAM-9070!


Improving UI of Navbar

I can improve the UI of Navbar by providing margin and changing the font style so as to make it more appealing to the users.

okay will review once you create a PR @DivyanshiNarang

Hey Anandsg can you assign this issue to me >?

hey @Anandsg  I'd be happy to take ownership of this issue. Please assign it to me.

@DivyanshiNarang Are you working that or you want me to assign it other developers?

@Anandsg I am working on this issue.


Handle Upload of Consent Signature

Need to determine the best way to handle uploading the signature image when the user consent and subsequently attempts to authenticate. Possible options include:

Uploading the image inline with the signup call; this would add a third nested network request that must be completed (after account creation and consent data upload) that must be completed before a user is signed up
Create a queue system to upload the image in the background eventually; if it fails, the user could continue, and the app would attempt to upload at a later point automatically; is this actually acceptable from a data integrity standpoint? We know the user consented but might not immediately have their signature image on file

from @geoffrey-young

Save the consent signature first
Set the ID somewhere in the Consent data structure
Save the data secon


Measure model updates

Pull requests into Cypress require the following. Submitter and reviewer should :white_check_mark: when done. For items that are not-applicable, note it's not-applicable ("N/A") and :white_check_mark:.
Submitter:

[ ] This pull request describes why these changes were made.
[ ] Internal ticket for this PR:
[ ] Internal ticket links to this PR
[ ] Code diff has been done and been reviewed
[ ] Tests are included and test edge cases
[ ] Tests have been run locally and pass

Reviewer 1:
Name:

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Reviewer 2:
Name:

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Is there a consensus around renaming the development DB to cypress_v5_development, if none of the other dbs (test, prod, etc.) are renamed?


Could you provide the problem statement associated with each task?

Hi,
Thanks for the great work! Could you provide the problem statement associated with each task as shown in the Figure 1?

Thanks,
Jiachen

Hello,
As far as I remember that is not directly available. You need to use the problem_list.csv file and create a link for each of the problems that crawl from the website or use the api's (not sure if the oj's used here provide API's) to get that.

Got it. Thank you for your timely response!

Btw, do you think if you could crawl these problem statement for us : )
I think it would significantly increase the impact of your work if you could provide the problem statement associated with the buggy and correct codes.

@Ji4chenLi Traditional bug fixing tasks do not use any problem statement, so we skipped mining it. But since all the data are public, you should be able to collect it pretty easily.


Request: Adding pitch accent from Yomichan, in Anki export

@jhyl22 Can you elaborate on how exactly a feature like this would work? What would you like that Yomichan with a dictionary like スーパー大辞林 doesn't provide?

I am not too familiar with スーパー大辞林, but I am aware that with other other sentence mining workflows, such as using animebook, there is the possibility of adding pitch patterns (via the Kanjium pitch accents library imported into Yomichan) to cards, as well as changing the colour of the word depending on the pitch pattern.
I suppose that in order for this feature to work, there would need to be the option to add words and definitions automatically in asbplayer (for example this can be done in animebook).
Here is a demo of animebook for reference:

@jhyl22 I think the only feature in that gif that asbplayer doesn't implement already is a keyboard shortcut to update the last card with media.
This is what's happening in the gif:

Word is highlighted with Yomichan.
Card is exported using the + button next to the definition.
Keyboard shortcut is used to update last exported card with screenshot and audio.

I'm not exactly sure how the pitch accent is being rendered so nicely in the card, but that should be possible to setup entirely with Yomichan and Anki.
A similar flow that's possible with asbplayer:

Word is highlighted with Yomichan.
Keyboard shortcut is used to open Anki export dialog.
Card is exported using the + button next to the definition.
'Update last card' button is used to update the last exported card with screenshot and audio.

Ah, I never knew about the 'Update last card' feature, thank you so much for raising that to my attention! With that, I'm completely happy with asbplayer, because now I can add pretty much everything I need with two clicks. Thank you so much!


Move multires_image plug-in into multires_image package.

Move the multires image plug-in into multires_image package to simplify dependencies.
This should be merged after #343

Merged in with pull request #343


[MacOS] display has a problem with the scaled MacOS monitor

My monitor max size is 3840 * 2160

But best size is 1080 * 1920,

MacOS only supports accessing the display according to the largest size, and then zooming to the best size. GL rendering still uses the largest size, This is not what we want.
MacOS settings are so rigid that users can't change the real size
The text is too small to see clearly. There is also a problem with GUI size.

Hover doctor

➜  wax git:(main) ✗ Hover doctor
hover: Hover version v1.47.0 running on darwin
hover: Sharing packaging tools
hover: darwin-bundle is supported
hover: darwin-dmg is supported
hover: darwin-pkg is supported
hover: Packaging linux-appimage is not supported on darwin
hover: To still package linux-appimage on darwin you need to run hover with the `--docker` flag.
hover: Packaging linux-deb is not supported on darwin
hover: To still package linux-deb on darwin you need to run hover with the `--docker` flag.
hover: Packaging linux-pkg is not supported on darwin
hover: To still package linux-pkg on darwin you need to run hover with the `--docker` flag.
hover: Packaging linux-rpm is not supported on darwin
hover: To still package linux-rpm on darwin you need to run hover with the `--docker` flag.
hover: Packaging linux-snap is not supported on darwin
hover: To still package linux-snap on darwin you need to run hover with the `--docker` flag.
hover: Packaging windows-msi is not supported on darwin
hover: To still package windows-msi on darwin you need to run hover with the `--docker` flag.
hover:
hover: Sharing flutter version
Flutter 2.10.3 • channel unknown • unknown source
Framework • revision 7e9793dee1 (3 months ago) • 2022-03-02 11:23:12 -0600
Engine • revision bd539267b4
Tools • Dart 2.16.1 • DevTools 2.9.2
hover: Flutter engine commit: https://github.com/flutter/engine/commit/bd539267b42051b0da3d16ffa8f48949dce8aa8f
hover: ⚠ The go-flutter project tries to stay compatible with the beta channel of Flutter.
hover: ⚠     It's advised to use the beta channel: `flutter channel beta`
hover: Finding out the C compiler version
Apple clang version 13.0.0 (clang-13<IP_ADDRESS>)
Target: arm64-apple-darwin21.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
hover: Sharing the content of go.mod
module wax/go

go 1.16

require (
        github.com/go-flutter-desktop/go-flutter v0.44.0
        github.com/go-flutter-desktop/plugins/url_launcher v0.1.3
        github.com/go-gl/glfw/v3.3/glfw v0.0.0-20211024062804-40e447a793be
        github.com/golang/protobuf v1.5.2
        github.com/miguelpruivo/flutter_file_picker/go v0.0.0-20220310123445-443808b9cd35
        github.com/pkg/errors v0.9.1
        golang.org/x/image v0.0.0-20220413100746-70e8d0d3baa9
        google.golang.org/protobuf v1.28.0
        gorm.io/driver/sqlite v1.3.2
        gorm.io/gorm v1.23.5
)

require github.com/PuerkitoBio/goquery v1.8.0
hover: Sharing the content of hover.yaml
application-name: ""
executable-name: ""
package-name: ""
organization-name: com.wax
license: ""
target: lib/main_desktop.dart
branch: ""
cache-path: ""
opengl: ""
engine-version: ""
hover: Sharing the content of go/cmd
go/cmd/init.go  go/cmd/main.go  go/cmd/options.go
➜  wax git:(main) ✗

Error output

Using hover build [...] --XXX to build my application, I get the following
error:
No error
[...]

Does hover run -b '@fix/contentscale' work ?
#458


Decide how to distinguish ScienceMesh-based from regular search results in OC-10

In NC we distinguish ScienceMesh-based from regular search results by share type. the share type in the sharee search result object is set to IShare::TYPE_SCIENCEMESH to indicate that the selected share recipient (the "sharee") is a ScienceMesh contact.
But in our OC-10 code we use SHARE_TYPE_REMOTE for both regular and ScienceMesh-based sharee search result objects, see https://github.com/pondersource/nc-sciencemesh/blob/oc-10-take-2/lib/Plugins/ScienceMeshSearchPlugin.php#L45
We could try if we can make it work with a custom share type in the sharee search result object, while still using SHARE_TYPE_REMOTE in the database. This might work, since we control both the ShareeSearchPlugin and the ShareProviderFactory.

I think our best option is to try that out and if it doesn't work, we'll think of a plan B. We should add good warnings in the code, explaining that this custom share type only exists to distinguish sharees and when the share actually gets created, it's mapped onto SHARE_TYPE_REMOTE.


Remaining docs updates

geoarrow::array
More examples in geoarrow::io.
Example in geoarrow::io::wkb. Say which WKB readers/writer APIs should be used.
More text in the chunked_array mod that says the API may change.

Add readme:


Remove uuid key cache from here, moving to Crayfish

Partially cleans up my mess of https://github.com/Islandora-CLAW/CLAW/issues/185

[Current coverage][cc-pull] is 44.64%

Merging [#49][cc-pull] into [master][cc-base-branch] will increase coverage by 0.06%

@@             master        #49   diff @@
==========================================
  Files             5          4     -1
  Lines           314        271    -43
  Methods          51         42     -9
  Messages          0          0
  Branches          0          0
==========================================
- Hits            140        121    -19
+ Misses          174        150    -24
  Partials          0          0

Powered by Codecov. Last updated by [240844d...61df1b7][cc-compare]
[cc-base-branch]: https://codecov.io/gh/Islandora-CLAW/chullo/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/Islandora-CLAW/chullo/compare/240844d205419a2b39b3f607e5396e9157cac1da...61df1b7719e82178a37cb2abaaaf90206f1a380d
[cc-pull]: https://codecov.io/gh/Islandora-CLAW/chullo/pull/49?src=pr


Failure to store binary cache on all installs

Describe the bug
All of my installs are getting this warning (with a different cache file each time)
Failed to store binary cache /Users/xxx/.cache/vcpkg/archives/8d/8d7a5482fcf0387ce6322a672f28b7a72262bbc0b2372e5757d19f18e265ed6b.zip
No such file or directory

Environment

OS: MacBook Air M1, Sonoma 14.1.2
Compiler: Apple clang version 15.0.0 (clang-15<IP_ADDRESS>.5)
vcpkg: vcpkg package management program version 2023-12-12-1c9ec1978a6b0c2b39c9e9554a96e3e275f7556e

To Reproduce
Steps to reproduce the behavior:

./vcpkg install anything

Expected behavior
Is this a problem?
Failure logs
Here is an example from installing CImg.
 % vcpkg install cimg:arm64-osx
Computing installation plan...
The following packages will be built and installed:
<EMAIL_ADDRESS>  * vcpkg-cmake:arm64-osx@2023-05-04
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet arm64-osx...
Restored 0 package(s) from /Users/thurmangillespy/.cache/vcpkg/archives in 879 us. Use --debug to see more details.
Installing 1/2<EMAIL_ADDRESS>Building<EMAIL_ADDRESS>warning: -- Using community triplet arm64-osx. This triplet configuration is not guaranteed to succeed.
-- [COMMUNITY] Loading triplet configuration from: /Users/thurmangillespy/Projects/vcpkg/triplets/community/arm64-osx.cmake
-- Installing: /Users/thurmangillespy/Projects/vcpkg/packages/vcpkg-cmake_arm64-osx/share/vcpkg-cmake/vcpkg_cmake_configure.cmake
-- Installing: /Users/thurmangillespy/Projects/vcpkg/packages/vcpkg-cmake_arm64-osx/share/vcpkg-cmake/vcpkg_cmake_build.cmake
-- Installing: /Users/thurmangillespy/Projects/vcpkg/packages/vcpkg-cmake_arm64-osx/share/vcpkg-cmake/vcpkg_cmake_install.cmake
-- Installing: /Users/thurmangillespy/Projects/vcpkg/packages/vcpkg-cmake_arm64-osx/share/vcpkg-cmake/vcpkg-port-config.cmake
-- Installing: /Users/thurmangillespy/Projects/vcpkg/packages/vcpkg-cmake_arm64-osx/share/vcpkg-cmake/copyright
-- Performing post-build validation
Failed to store binary cache /Users/thurmangillespy/.cache/vcpkg/archives/b6/b6432545c52e65066991bd8871cebb3083e52711d9b6cea94c9b7faabe5fa9a0.zip
No such file or directory
Stored binaries in 0 destinations in 7.01 ms.
Elapsed time to handle vcpkg-cmake:arm64-osx: 47.6 ms
vcpkg-cmake:arm64-osx package ABI: b6432545c52e65066991bd8871cebb3083e52711d9b6cea94c9b7faabe5fa9a0
Installing 2/2<EMAIL_ADDRESS>Building<EMAIL_ADDRESS>warning: -- Using community triplet arm64-osx. This triplet configuration is not guaranteed to succeed.
-- [COMMUNITY] Loading triplet configuration from: /Users/thurmangillespy/Projects/vcpkg/triplets/community/arm64-osx.cmake
-- Downloading https://github.com/dtschump/CImg/archive/v.3.3.2.tar.gz -> dtschump-CImg-v.3.3.2.tar.gz...
-- Extracting source /Users/thurmangillespy/Projects/vcpkg/downloads/dtschump-CImg-v.3.3.2.tar.gz
-- Using source at /Users/thurmangillespy/Projects/vcpkg/buildtrees/cimg/src/v.3.3.2-ebb0c3ad69.clean
-- Found external ninja('1.11.1').
-- Configuring arm64-osx
-- Building arm64-osx-rel
-- Performing post-build validation
Failed to store binary cache /Users/thurmangillespy/.cache/vcpkg/archives/c1/c15e5b54a98b74da91b9a44a2b04767973e49146dc5257bf66262eaa90942ed9.zip
No such file or directory
Stored binaries in 0 destinations in 104 ms.
Elapsed time to handle cimg:arm64-osx: 6.2 s
cimg:arm64-osx package ABI: c15e5b54a98b74da91b9a44a2b04767973e49146dc5257bf66262eaa90942ed9
Total install time: 6.2 s
cimg provides CMake targets:

  # this is heuristically generated, and may not be correct
  find_package(CImg CONFIG REQUIRED)
  target_link_libraries(main PRIVATE CImg::CImg)

Additional context
The install otherwise succeeds.
A previous ticket (which I can't find) had a similar problem with non-ASCII characters in the file path, but that's not an issue here.

I haven't reproduced this issue locally.

Perhaps try on an Apple Silicon Mac?
Your system.
The following packages will be built and installed:
<EMAIL_ADDRESS>Detecting compiler hash for triplet x64-osx...

My system.
The following packages will be built and installed:
<EMAIL_ADDRESS>  * vcpkg-cmake:arm64-osx@2023-05-04
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet arm64-osx...

The arm64-osx triplet is only supported via the user community, where x64-osx triplet is the official Microsoft supported triplet for Apple Hardware at this time.
I believe they are working on remedying this in the near future, but until then here are a few things to check:

It may be a permissions issue on the directory structure vcpkg is trying to write to...
/Users/thurmangillespy/.cache/
/Users/thurmangillespy/.cache/vcpkg/
/Users/thurmangillespy/.cache/vcpkg/archives

It may also be an antivirus setting... holding an open file handle or deleting the file...

Maybe someone in the user-community who has arm64-osx Apple Silicon can look into the possible causes of the issue shortly?

I can't reproduce on my arm64-osx mac

The arm64-osx triplet is only supported via the user community, where x64-osx triplet is the official Microsoft supported triplet for Apple Hardware at this time.
I believe they are working on remedying this in the near future - see #19454, but until then here are a few things to check:

It may be a permissions issue on the directory structure vcpkg is trying to write to...
/Users/thurmangillespy/.cache/
/Users/thurmangillespy/.cache/vcpkg/
/Users/thurmangillespy/.cache/vcpkg/archives
It may also be an antivirus setting... holding an open file handle or deleting the file...

Maybe someone in the user-community who has arm64-osx Apple Silicon can look into the possible causes of the issue shortly?

All the directories listed have the same permissions, which seem correct:
drwxr-xr-x
No antivirus.
I suspect my vcpkg install, or the computer, is somehow corrupted.

All the directories listed have the same permissions, which seem correct:
drwxr-xr-x

You can try rm -Rf /Users/thurmangillespy/.cache/vcpkg nevertheless.

All the directories listed have the same permissions, which seem correct:
drwxr-xr-x

You can try rm -Rf /Users/thurmangillespy/.cache/vcpkg nevertheless.

I got Permission denied for every file and folder in the /.cache/vcpkg directory. I could override by executing the command with sudo, but does this response give us a clue?

It confirms that the problem is the directory, not vcpkg...
When you looked for directory permissions, did you also look for the owner?

It confirms that the problem is the directory, not vcpkg... When you looked for directory permissions, did you also look for the owner?

Bingo. Owner was root (!). A bit of chown fixed the problem. Many thanks.