Window: Full Size and Mini Player

Hello.
I got the following issues with the window on Ubuntu 16.04.2 LTS:
Mini Players is not mini:

And when I come back to the Full Size Player:

This appears to be a window manager issue, you set the window to be fullscreen right?

Yes. It works fine when I let the fullscreen window. The problem is when I want to set the mini player,
I get the issue detailed in the first image. Then, when I want to come back to the fullscreen I get the issue detailed in the second image.
After a few tries the fullscreen normalizes but I am not able to set the miniplayer. Not a big deal for me but I want to report it in case somebody has the same issue.
Overall, it works really well and fluid.
I need to install it on my Windows 10 and test it.
And by the way, if you need a spanish translation for the app and add this language, I could help you if you want. :)
Cheers and thanks for this great work.

Hi,
I have a similar issue on W10, after switching to the mini player and back and then switching to a different view (e.g. select a album), the content appears zoomed in.
I've only noticed this since 2.4.0, though I wasn't using the mini player too much before.
Switcing to fullscreen and back several times did not help.
Restarting the programm did not help with "Automatically load last viewed page on startup" on, but with option off, it helps.

Thanks for your great work.

Same on Ubuntu 16.10.  Miniplayer fills the entire screen and does the jitterbug.   Music plays.   This is a recent feature.  Use your app every day... kudos.

I don't have an Ubuntu machine to test on at the moment, seems like a zoom issue, which iirc was an issue with a particular electron release?

Played with it more and it looks like the same problem DanielNautre is facing on W10.  "Settings" is only zoomed if I was previously on miniplayer.  Switching to full screen and back does not help.  For me clicking full screen twice in succession gets things back to normal.

I have the same issue running Linux Mint 18.1 - Issue happens whenever I want the use the mini player it scales automatically 100% in height and then all scaling of the elements are off. I have to shutdown and reboot the player to fix.

I am getting this behavior now too. Definitely a new feature.
On W10 if I switch to the mini player it actually starts 'growing' (the mini player window keeps getting bigger) and the contents zoom.
from this ->

to this ->

Sometimes switching to normal mode again the UI is also way zoomed in and stays so until I kill the app and restart it.
I'm using W10 and just updated to GPMD 4.20 tonight. Thanks

I have the above "growing" issue as well, on windows 7. I haven't had the "zoom" issue (if I'm understanding it correctly) however when I toggle out of the growing mini-player, the full size player is shrunk to the size the mini player last was. The above comment by bioe007 seems similar to mine.

I'm glad I'm not the only one with this issue. I ran into the growing mini player yesterday and now everytime I try to switch to the miniplayer it starts growing. I also have the 'Settings' zoomed in issue as well. Though I'm sorry I do not have anything truly constructive to add to the conversation.

Everyone in this issue can you post your screen resolution, your screen DPI and exactly what screen this starts occurring on 👍

Hi, This happens with a Dell 2009W resolution is 1680x1050. Not sure where to find the DPI

Ive got it on my laptop: HP Pavilion 15-ab000, resolution is 1920x1080 at 125% scale, 141.21 PPI.

This happens for me on two systems:

Laptop - Windows 10, local display is native 3840x2160: scale = 150%
External monitors are both 1920x1080, no scaling

Dekstop - Windows 10,
Monitor 1: 3840x2160 - scaling = 150%
Monitor 2: 2560x1440 - scaling = 125%

I can't find the actual DPI value in Windows anywhere, only the scaling UI in the settings menu.
also, I've got a new quirk for this issue. Using my Laptop and going from laptop display only to external monitors gave me the opposite problem, where everything in the UI got tiny:

Album art still scaled correctly:

and the mini player worked fine (no 'growing' problem):

I put it back into normal->mini mode a few times and it worked again until I resized the window. Toggling again a few times and it seems to have fixed it more permanently.

Windows 7
1920x1080
Custom Scaling of 110%
100 DPI

The scaling never occurred to me - I set it back to 100% and the mini player no longer grows. Hope that helps.

Okay, I had the same "growing" behavior, and was able to figure out how to stop it.  I am running Google Play Music Desktop Player 4.3.0 on Window 10 Version 1703 build 15063.250
The "fix" for me was to turn off "Use system window borders" under the General Tab.  (right click the GPMDP system tray icon, select "Desktop Settings")
After turning that setting, right click the system tray program and "Exit" and reload.  By switching the setting on and off, I am able to duplicate the "growing" behavior.
Enjoying the music and the GPMDP UI once again!!  Thanks for all your work on the program.

Well, I've never set the 'Use system borders option" but I figured I would try anyway.
Toggling this makes no difference here.
I'm now on GPMD 4.3.0 and actually the UI is getting worse, now even the UI is chronically mis-shaped and so the mini-player button doesn't show unless I full-screen GPMD.

Before you toggled it it, was it set on?    I actually toggled everything off except for "minmize to tray" under general, and "always on top" under mini player.  Then I close the app and "Exit" the systray app.  Once closed, I reopened it, checked the settings to make sure all the toggles are off, and launch and test the mini player.  Problem is gone.

No, it has never been turned on. Exactly what I tried:

Open settings
Turn on 'Use system borders'
quit & restart GPMD
Open settings, turn off 'Use sys borders'
quit & restart GPMD
growing mini-player still happens, ui slightly more jacked up than ever

No luck for me trying to switch system borders on & off.
I've tried reducing the size of the mini player so that the UI doesn't seem scaled up compared to the standard interface, that does resolve the problem.
I haven't experienced the growing mini-player symptom for now.

This issue is observed when the mini-player is resized from its original size.
When we restart the application, the scaling is fine. Open the mini player and if its large compared to the original mini player size, the main window is zoomed in. Fix is to restart the player, goto the mini player and resize it to a small window.
Im running Win10, 1080p

Whenever I switch to the mini-player, it tries to go to full height of my monitor, but then needs to rescale to square, but then the height is too large. This behavior keeps causing the mini-player's size to change until I make it small enough. It is defaulting the mini-player to open in fullscreen, which cannot be square.
I also occasionally encounter the super-large interface when I switch back to the regular interface. Toggling the system borders hasn't helped either of these issues.
[Linux Mint 18.1 with Cinnamon 3.2.7 on 2 1680x1050 monitors]

Same on Mac OSX El Capitan. Neither checking nor unchecking System Borders and restarting the application has helped.

I'm having the same issue with the mini player growing and then the main window zoomed in.
However, for me this only happens if I move the mini player to a different monitor than it was started on. If I move it back to the monitor that I started it on, the growing stops and returning to the main window results in the normal view.
Windows 10 (Creator's Update)
Laptop Native Monitor 1920x1080 scaling=125%
Additional Monitor 3840x2160 scaling=150%
Great app!

@IrksomeZeus Which monitor does it grow on, or is it just always the one it didn't start on?

@MarshallOfSound Whichever it doesn't start on.

I have a similar issue in Win10 with opening the mini player causing ui elements to resize, but it happens regardless of in which screen the main player is launched or the mini player opens. I have included a video of the behavior:
video
Monitor shown in video: 1600900, 100% scaling.
Second monitor (not shown, but experiences identical issue): 19201080, 150% scaling.

4.3.0 works fine on Win 7 at work.  All sorts of scaling problems in basic app and in miniplayer (worst there) on Ubuntu Gnome 17.04 at home.

I have a similar issue under Win 7 with 4.3.0.

Open mini player
Resize mini player (enough to cause text scaling in either direction)
Close mini player (UI will be scaled normally)
Press back button
UI is now scaled to however the mini player was scaled

Here's a GIF

Ya, me too. I've just restarted G.P.M.D.P. and its gone.

@rgrauphics LOL so funny how its zoomed

moymike!!! Your answer solved the growing issue for me! I thought that I had tried that before, but on this go it confirmed work. Bravo!

Nice work around Alutman

Running the latest version 4.4.0 and the scaling issue is happening on my system also.
Windows 10 Home build 1563
I tried the Windows border work-around and it didn't work.

I'm actually having the reverse problem. I'm not sure what triggers it, but suddenly the app is very zoomed out -- I can barely read anything the font is so small. The mini-player button also seems to disappear ... or I just kind find it because it's so tiny.
Win 10
Monitor 1 - 1920 x 1080
Monitor 2 - 1920 x 1200

I find to fix it, pressing CTRL-minus or CTRL-+ works fine to scale back to normal.

This is occurring for me as well with the latest build, cntrl - and cntrl + do not work on mac.  The UI gets broken and can not be resolved without a restart.  The player once in this state, loses its scale and mind about it's scale of its UI.

Hello. I'm getting the growing issue in the mini player with 4.4.1. Ctrl+0 works to reset the zoom on the interface, but because the mini player resizes right away, the interface zooms up again. When going back to the regular player, Ctrl+0 works to reset the zoom but I still need to manually resize the full player. I'm not using the full player in full screen.
My system is Windows 10 with a 2160x1440 monitor and 125% scaling on it.

Hi, I just wanted to let you know that I am also having the issue where the Mini Player is slowly growing. My build is Windows 10 Home, Version 1709, OS Build 16299.19. My display is 3840x2160 and I'm using 200% scaling.

Had the mini player problem on Ubuntu Gnome 17.04 but it appears to have resolved when I upgraded to 17.10 even though I did not do a fresh install.  That was a surprise.

Same issue on Ubuntu 16.04 LTS

I had the same issues discussed above on Windows 10. When switching to Mini player the Mini player window begins to grow slowly in the direction of the bottom-right corner.
Monitors:

3840 x 2160, 125% scaling
1920 x 1080, 100% scaling
900 x 1440, 100% scaling

And whenever I switched back away from the Mini player, the scaling on the main window's scaling would be way off. Could basically only see the top two buttons of the sidebar filling the whole window.
@moymike 's suggestion of turning off "Use System Window Borders" fixed it. Very grateful for that. But just adding another data point to this issue because I'd like to be able to use that setting in the future.
Thanks for all your hard work y'all!

I found a work-around for this on Windows 10.
I'm using version 4.5 of the music player.

Right click the desktop icon and select properties.
Select the compatibility tab.
Select "Override high DPI scaling behavior" and "Scaling performed by: System (Enhanced).

The only set back is that fonts are slightly blurry, but they are still readable. Hopefully this gets fixed soon.
This has worked for me so far.

Also experiencing this on Linux with 4.5.0. If I have the full size player window maximized when I click on the icon on the lower right to switch to the mini player, then the mini player window starts maximized in width and immediately enlarges in height to keep aspect ratio. On a common laptop screen this results in the lower third of the mini player window being drawn off the screen.

A few more information and maybe a few workarounds.
Running GPMDP 4.5.0 on Ubuntu 17.10 with KDE (it's actually kubuntu) and using 2 monitors at 1366x768 and 1280x1024.
The bug happens when the window is forced to keep a size. The default behavior of the mini-player seems to try to resize itself to always keep a 1:1 (or near) ratio. When you click the mini-player buttom and the window is maximized, tiled (when I'm using quicktile on KDE) or something similar, it will fail and either jitter trying to resize or just assume the new resizing without being able to resize the window and thus everything will be too big.
The workaround I'm using at the moment is just not tilling/maximizing the window. Resizing it by hand when I need to and it works as intended. It's not ideal but this app is too good to stop using over this.
Some observations that may help people with this problem:

"ctrl +", "ctrl -" and "ctrl 0" seems to work (as suggested by @fredphoesh ). Sometimes they don't (maybe it's my old computer, I don't know) but spamming them brings the resolution back to normal without needing to restart the app
the mini-player remembers it's position and size so if it screwed up once and you turned it of it will remember and keep itself distorted but this is easily fixed by manually resizing and moving the window to a normal size.

Can confirm that it's an issue on Arch Linux with Gnome-shell 3.30.:
https://gfycat.com/EnchantedDimElkhound


I lost some of the runs. Is there any way to get them back?  - paragraph

While troubleshooting a case, i have stumbled upon the misunderstanding that can come out of the paragraph mentioned in the title.
I would like to make clear differentiation between the fact that runs that have been deleted by retention policies they cannot be recovered and the fact that if the pipeline deletion has passed a week it is also not possible to have it recovered.
Also, an important aspect to note is that pipeline deletions that have passed a week, must be manual, otherwise the retention policy not being able to recover gets trumped by the fact that only one week has passed. For this reason i have added the "manually" , in the phrase addressing this.
Please correct me if i am wrong.

@latudor : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@latudor Thanks for your contribution! I'm checking on this with the product team.

Thanks @latudor.
#sign-off


how to have different settings for different nodes?

I have a list of nodes, for which i dont want the label to be displayed. For others, i want to display the labels. So i cannot change the global "drawLabels" setting.
So i want to change "drawLabels" to false for specific nodes.
How do i do this?

you can have two attributes to store message('realLabel' and 'label'). 'realLabel' store the message, label controls the display. set label = '' to control display or not. Also you can edit the 'sigma.canvas.labels,def.js'


SceneProcessors could have an ArrayPlug input

Consider changing SceneProcessor to provide an array of input ScenePlugs, rather than a single plug. Even if most of them have an ArrayPlug with max size of 1, others (Group, SceneSwitch, etc) could take advantage of the array behaviour.

Closing this, since it was done in #1434.


Update --deps-list format

PR Checklist

[x] Tests are added
[x] Documentation, if applicable

Description
Close #24
Make --deps-list clearer, and step to arbitrary dependencies.

So ; separates different runs of the benchmark, and , separates dependencies within a run? Looks good to me.

So ; separates different runs of the benchmark, and , separates dependencies within a run? Looks good to me.

Yes. I found this would be much better.
And I also found if it's better, why can I support multiple dependencies for --baseline and --target... also mentioned in #24

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@3a7a617). Click here to learn what that means.
Patch has no changes to coverable lines.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #25   +/-   ##
=======================================
  Coverage        ?   36.89%
=======================================
  Files           ?        4
  Lines           ?      187
  Branches        ?        0
=======================================
  Hits            ?       69
  Misses          ?      118
  Partials        ?        0

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

In addition, this PR refines benchmark/runbenchmarks-cli.jl.
Now, we cannot judge two BenchmarkResults and generate the report any longer. But on the other hand, it supports to pass multiple sets of dependencies to run benchmarks, which means that the following operation will be feasible:
> # NOTICE! DEPS_LIST contains THREE sets of dependencies
> DEPS_LIST="https://github.com/FluxML/NNlib.jl#backports-0.8.21,Flux;https://github.com/skyleaworlder/NNlib.jl#dummy-benchmark-test,Flux@0.13.12;NNlib,Flux"
>
> # Still only Flux-MLP
> # gonna generate 3 files: result-1.json, result-2.json and result-3.json
> julia --project=benchmark benchmark/runbenchmarks-cli.jl --enable="flux(mlp)" --deps-list=$DEPS_LIST


fix fix hive view NPE and external meta cache refresh issue

Proposed changes

Fix bug that when there are Hive views, show table status will throw NPE
Should skip Hive view when iterating tables for show tables status operation.
The table's getRowCount() method will try to visit all partitions from cache, which may invalid all previous cache entries.
when doing show table status, do not get partitions from cache.

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 48.63 seconds
stream load tsv:          508 seconds loaded<PHONE_NUMBER>9 Bytes, about 140 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          29.4 seconds inserted 10000000 Rows, about 340K ops/s
storage size:<PHONE_NUMBER>3 Bytes


ERROR  Cannot start nuxt:  Cannot read properties of undefined (reading 'options')

Environment
vue js project
Reproduction
npm run dev
Describe the bug
While migrating nuxt 2 to nuxt 3 on a vue js project getting the below error
ERROR  Cannot start nuxt:  Cannot read properties of undefined (reading 'options')
node js : 18.x
vue : 3
nuxt: 3
webpack: 5
bootstrap: 5
I updated all the dependencies to the latest version. Also nuxt.config.ts is with new configurations.
Using '@nuxtjs/axios' -> Is this the problem ?
Additional context
No response
Logs
No response

Yes, @nuxtjs/axios is not compatible with Nuxt 3.

Thank you. Let me try

This still throws the same error even after removing @nuxtjs/axios. Still does not work @danielroe

@Foddie2 I am happy to take a look if you open an issue with a minimal reproduction.


Users should not be able to start benchmarks on other users algorithms

Currently even an anonymous user can start benchmarks. This should be prevented.

My Algorithms - view where user is redirected after starting a benchmark is protected. This might create some confusion.


Add #[track_caller] for use_context

This makes it much easier to debug "context not found for type" errors.

Codecov Report

Merging #306 (71a6d2e) into master (31050ae) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #306      +/-   ##
==========================================
+ Coverage   72.70%   72.73%   +0.03%
==========================================
  Files          38       38
  Lines        5143     5146       +3
==========================================
+ Hits         3739     3743       +4
+ Misses       1404     1403       -1

Impacted Files
Coverage Δ

packages/sycamore-reactive/src/context.rs
89.18% <100.00%> (+0.95%)
:arrow_up:

packages/sycamore-reactive/src/lib.rs
95.31% <0.00%> (+1.56%)
:arrow_up:

Continue to review full report at Codecov.

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


Fixed XCode project in order to support auto linking

Auto linking (via 'react-native init' command) should work now

This fix works. Please merge

fix pushed to v1.1.7


⚠ Bofrost.es has degraded performance

In 28d7211, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1914 ms

Resolved: Bofrost.es performance has improved in 4f5dc4d after 41 minutes.


pip official package compiled differently with package in docker image?

I am working on filesystem plugin, a .so file, which works fine with official tensorflow pip package, but with tensorflow in tensorflow/tensorflow:1.7.0, i got error  _ZN10tensorflow10FileSystem10FilesExistERKSt6vectorISsSaISsEEPS1_INS_6StatusESaIS6_EE
Seems tensorflow from pypi package is different from package in docker image?
I checked docker hub image history tensorflow/tensorflow:1.7.0 with docker history
/bin/sh -c pip --no-cache-dir install /tensorflow-1.7.0-cp27-cp27mu-manylinux1_x86_64.whl

seems tensorflow is install from local wal, and tensorflow size is 16533200 and symbol i want to find missing
-rwxr-xr-x  1 root staff 16533200 Mar 29 17:04 libtensorflow_framework.so*

nm libtensorflow_framework.so|grep _ZN10tensorflow10FileSystem10FilesExistERKSt6vectorISsSaISsEEPS1_INS_6StatusESaIS6_EE

But if i uninstall tensorflow an reinstall in again
pip uninstall -y tensorflow
pip install tensorflow==1.7.0

i get different tensorflow library with size 16337456, and symbol i want to find  appears
16337456 Sep 20 02:45 libtensorflow_framework.so*

 nm libtensorflow_framework.so|grep _ZN10tensorflow10FileSystem10FilesExistERKSt6vectorISsSaISsEEPS1_INS_6StatusESaIS6_EE
0000000000553240 T _ZN10tensorflow10FileSystem10FilesExistERKSt6vectorISsSaISsEEPS1_INS_6StatusESaIS6_EE
```

So why and how to solve this? How can i compile a filesystem plugin compatible to tensorflow/tensorflow:1.7.0

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce
Mobile device

@u2takey Could you try TensorFlow 1.10? Also make sure you completely uninstall TensorFlow before reinstalling. Please provide more information by filling out the above template .

duplicate: https://github.com/tensorflow/tensorflow/issues/22339, closed


Fix the rules overwriting

Fixes #77
when a rule exists in the selected preset (e.g. single_import_per_statement) and separately inherits from another preset containing the same (e.g. @PSR12) along with overwriting that [single_import_per_statement] rule, the value from @PSR12 is eventually used instead of the value specified by the user.
meaning what with the following config for Pint:
{
    "preset": "laravel",
    "rules": {
        "@PSR12": true,
        "single_import_per_statement": false
    }
}

the final value of the single_import_per_statement rule will be ['group_to_single_imports' => false] instead of just false.
this is caused by using array_merge to combine the preset for Pint and the rules specified by the user, because if there is a matching key, it changes the value of that key without moving it to the end of the config. And  PHP-CS-Fixer gets the following config:
{
    // Laravel Preset ...
    "single_import_per_statement": false,
    // ...

    // User rules with ruleset that overwrite anything above
    "@PSR12": true
}

Can you add tests to that pull request? An unit test that checks the result "preset" on those given conditions, and a feature that actually checks the behavior while fixing coding style.


Poor credits message when no rewards are left to claim

The Issue
See below:

Steps to Reproduce

Claim all rewards
Access content that you don't have enough credits for

System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

Sounds like this is the behavior on Windows, but not Linux (not sure about Mac).


Fix deadlock in race condition

Ryan Molden analyzed a deadlock and the docs for Monitor.Wait and found that our call that includes a timeout means when the other lock holder takes more than 3 seconds to do its work and call Monitor.PulseAll that we'll still get false from Monitor.Wait. Then when we loop around to Monitor.Wait again, it will block for a PulseAll that may never recur.
The fix is to double-check the state before re-entering the Wait to see if we just missed the PulseAll call. If we did, we break out of the loop immediately.
I also add more to another code comment discussing thread concerns to make it clearer that it's doing what it is supposed to.

This fixes devdiv-1357805.

Codecov Report

Merging #294 (db1c9fd) into main (59feab4) will decrease coverage by 0.47%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #294      +/-   ##
==========================================
- Coverage   89.62%   89.15%   -0.48%
==========================================
  Files          87       87
  Lines        6053     6111      +58
==========================================
+ Hits         5425     5448      +23
- Misses        628      663      +35

Impacted Files
Coverage Δ

...crosoft.VisualStudio.Composition/ExportProvider.cs
96.39% <100.00%> (-0.01%)
:arrow_down:

....Composition.AppDomainTests/OpenGenericExport`1.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...mposition.AppDomainTests/ExternalExportOnMember.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...mposition.AppDomainTests/ExternalExportWithLazy.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...osition.AppDomainTests2/CustomMetadataAttribute.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...dTypeReceiver/PartThatImportsLazyOfEmbeddedType.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...rtThatLazyImportsExportWithMetadataOfCustomType.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...atLazyImportsExportWithTypeMetadataViaTMetadata.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...tLazyImportsExportWithTypeMetadataViaDictionary.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...alStudio.Composition.Analyzers/Strings.Designer.cs
0.00% <0.00%> (-54.55%)
:arrow_down:

... and 11 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 6b01962...db1c9fd. Read the comment docs.


[WIP] Shuffle-based groupby aggregation for high-cardinality groups

Note: Related to performance challenges described in #9292
Dask uses apply-concat-apply (ACA) for most DataFrame reductions and groupby aggregations.  This algorithm is typically effective when the final output fits comfortably within a single DataFrame/Series partition. However, performance often degrades quickly as the size of the output grows (and split_out is set to something greater than ~4-8). We can refer to the case where split_out must be >1 as a "high-cardinality" groupby aggregation.
The high-cardinality case is currently handled by splitting the intial blockwise groupby aggregation by hash. A distinct ACA tree reduction is then performed for each hash-based "split".  For example, the groupby-aggregation graph for a 6-partition DataFrame with split_out=2 will look something like this:

This PR improves the performance of high-cardinality groupby aggregations by leveraging the fact that a shuffle operation will typically require fewer overal tasks than a duplicated tree reduction once split_out becomes large enough. That is, for cases where a rough task-count estimate begins to favor a shuffle, the task graph will now look something like this:

import time
import dask.dataframe as dd
from dask.datasets import timeseries

from dask.distributed import LocalCluster, Client, wait

cluster = LocalCluster(local_directory="/raid/my-dask-space/")
client = Client(cluster)

ddf = timeseries(
    id_lam=int(1e18),
    start='2000-01-01',
    end='2017-01-01',
    freq='1s',
    seed=15,
)
agg = ddf.groupby(
    "id",
    dropna=False,
).agg(
    {"x": "sum", "y": "mean"},
    split_every=16,  # Note that the default split_every is a bit small when split_out>1
    split_out=8,
)
result = agg.persist()

t0 = time.time()
wait(result)
total_time = time.time() - t0
print(total_time, len(result))

This PR: 42.99, 53101633 (24354 tasks)
Main: 71.16, 53101633 (53016 tasks)
(Note that this algorithm makes it possible to sort the global order of groups, while the current approach does not. However, sorting isn't targetted in this PR.)
Another Alternative
Although it is clear that the shuffle-based groupby is superior to "split-then-tree reduce" for large values of split_out, it should require even fewer tasks to perform a single-split tree reduction down to ~split_out partitions, and then perform the shuffle:

I have been exploring this algorithm in a seperate branch, but have not had any luck outperforming the shuflle-based groupby yet.

Another fun note: The shuffle-based groupby algorithm can use the "p2p" option. For example:
ddf.groupby(
    "id", dropna=False
).agg(
    {"x": "sum", "y": "mean"},  split_every=16, split_out=8,  shuffle="p2p"
)

This is awesome @rjzamora, great thinking!
This seems vaguely related to https://github.com/dask/dask/issues/8361.
It also makes me wonder if we could simplify/do away with the split_out (and maybe split_every?) parameters with this approach, since it seems like shuffling is almost always going to be better when split_out > 1, so perhaps we don't even need to support multi-output tree-reduction cases anymore. Maybe we could just have a flag like high_cardinality: bool = False or single_partition_output: bool = True, to switch between shuffle-based and tree-agg based. That would be so much easier to document and explain to users.

This seems vaguely related to https://github.com/dask/dask/issues/8361.

Good call - Thanks for linking that!

It also makes me wonder if we could simplify/do away with the split_out (and maybe split_every?) parameters with this approach, since it seems like shuffling is almost always going to be better when split_out > 1, so perhaps we don't even need to support multi-output tree-reduction cases anymore. Maybe we could just have a flag like high_cardinality: bool = False or single_partition_output: bool = True, to switch between shuffle-based and tree-agg based. That would be so much easier to document and explain to users.

Right - I was thinking that something like an estimated (or optionally inferred from the first partition) ‘cardinality_ratio’ could be used to set reasonable defaults for everything. A ratio of unique records to all records gives you a rough idea of how much your data should “compress” after the global aggregation.

Cool.  Do you have a sense for how this performs in a few relevant scenarios?  I'd be curious about high cardinality / low cardinality and larger than memory / not larger than memory.

Cool. Do you have a sense for how this performs in a few relevant scenarios? I'd be curious about high cardinality / low cardinality and larger than memory / not larger than memory.

Good question. This is not a silver bullet by any means, and is primarily a performance booster for the “high-cardinality & smaller than memory” case. It may also be effective for “high-cardinality & larger than memory” in some cases, but I would expect heavy spilling to be an issue for task-based shuffling. I suppose the “p2p” option could make things “work” in this case. However, I was hoping that something like the “ACA-then-shuffle” alternative mentioned above would be a better option for both smaller- and larger-than memory.
For any case where cardinality is low enough that you don’t need to use split_out>1, the existing ACA algorithm is often better (even if you do use something like split_out=2-4).
Overall, it seems that the shuffle-based groupby probably has a place, but this PR will need to remain WIP until we can figure out exactly what that place is.

I don't mean to slow down progress here.  I think that we should be full
steam ahead on this.  Mostly I would like for changes like this to come
with some amount of experimentation to see where they do and don't work to
inform the discussion.
This doesn't have to be perfect to be useful.  Please don't take my
comments as negative.
On Tue, Jul 26, 2022 at 7:47 AM Richard (Rick) Zamora <
@.***> wrote:

Cool. Do you have a sense for how this performs in a few relevant
scenarios? I'd be curious about high cardinality / low cardinality and
larger than memory / not larger than memory.
Good question. This is not a silver bullet by any means, and is primarily
a performance booster for the “high-cardinality & smaller than memory”
case. It may also be effective for “high-cardinality & larger than
memory” in some cases, but I would expect heavy spilling to be an issue for
task-based shuffling. I suppose the “p2p” option could make things “work”
in this case. However, I was hoping that something like the
“ACA-then-shuffle” alternative mentioned above would be a better option for
both smaller- and larger-than memory.
For any case where cardinality is low enough that you don’t need to use
split_out>1, the existing ACA algorithm is often better (even if you do
use something like split_out=2-4).
Overall, it seems that the shuffle-based groupby probably has a place, but
this PR will need to remain WIP until we can figure out exactly what that
place is.
—
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/pull/9302#issuecomment-1195436657, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKZTBCJRMU4MCBWXMDU73VV7M4PANCNFSM54TA7O2A
.
You are receiving this because you commented.Message ID:
@.***>

This doesn't have to be perfect to be useful.  Please don't take my
comments as negative.

No worries at all - I'm pretty sure we are on the same page here :)

This maybe stalled?  Anything we can do to unstall it?

@ian-r-rose's mentioned he's going to take a detailed look at this PR (also just FYI @rjzamora is OOO this week)

This maybe stalled? Anything we can do to unstall it?

Apologies for not leaving a note in this PR - I was distracted by other groupby improvements, and then took some time off.
I do think it is worthwhile (and easy) to add the shuffle approach to groupby aggregations. However, I would like to roll back any changes in this PR that use the shuffle algorithm automatically. My reasoning is that the shuffle algorithm is typically slower for larger-than-memory data, and so the user should probably need to opt in explicitly for now.
Side Note: I intend to submit something separate for larger-than-memory groupby aggregations that essentially closes the gap between the algorithms used by dask-dataframe and dask-cudf. It seems that the dask-cudf algorithm is typically more efficient for large-scale/large-memory data (but slower in most other cases).  I am not completely sure of the reason for this yet, but I do know that one "low-hanging fruit" is that Dask will currently use sort=True (the pandas default) during intermediate aggregations, even if the global setting is sort=False.

I did some experiments on this PR yesterday to try to draw out a bit more when using a shuffle-based approach is a good idea (warning: highly-faceted charts incoming to capture multiple dimensions). I ran a number of groupby-aggs on a ~60GiB timeseries-based dataset where I dialed the number of unique groups up and down to investigate the effects of cardinality on the outputs.
Rough code, based on @rjzamora's above :
@pytest.mark.parametrize("shuffle", [False, "tasks", "p2p"])
@pytest.mark.parametrize("n_groups", [1000, 10_000, 100_000, 1_000_000, 10_000_000])
@pytest.mark.parametrize("split_out", [1, 4, 8])
def test_groupby(groupby_client, split_out, n_groups, shuffle):
    ddf = timeseries_of_size(
        cluster_memory(groupby_client) // 4,
        id_maximum=n_groups,
    )
    print(len(ddf))
    agg = ddf.groupby("id").agg(
        {"x": "sum", "y": "mean"},
        split_every=16,  # Note that the default split_every is a bit small when split_out>1
        split_out=split_out,
        shuffle=shuffle,
    )
    wait(agg, groupby_client, 180)

Constants:

Overall dataset size (~60 GiB, ~650 million rows)
Overall dataset structure
Aggregation (sum/mean on some non-grouped-by columns)

Variables:

Shuffle method (False, "tasks", "p2p")
split_out: (1, 4, 8)
Number of unique groups (1e3, 1e4, 1e5, 1e6, 1e7, 1e8)

I ran the above on a 15-worker, 60 worker-thread, 240 GiB cluster on AWS, and tracked duration, peak memory usage, and average memory usage.
Duration

Peak memory

Average memory

So, some interpretation:
First of all, from a broad perspective, ACA-based groupbys/aggs (shuffle=False) are faster for low-cardinality (when groups << len(ddf)) cases with split_out=1.  When split_out > 1, however, or when groups starts to approach the same order of magnitude as the dataframe length, then the story changes, and shuffle-based approaches start to win. The difference is not drastic for cases where they all fit nicely in memory. It's on the 20% level, which is nice!
However: ACA-based groupby-aggs start to fall over pretty dramatically for high-cardinality cases because the last few partitions are really large and can knock over workers. This worker-killing is not super visible in the average/peak memory charts, as those are cluster-wide, rather than an acute problem on one or a few workers. But this worker-killing predictable, and it's easy to see there is a problem in the duration charts for the 1e8 case. Normally, the advice here would be to tune split_out, but it's also easy to see in the duration and memory charts that higher split_out for ACA-based groupby/aggs run into their own problems with due to the much more complex graphs with more intermediate results in memory. So that's not a hugely satisfying approach for this case.
There is also some useful structure in the memory charts as well. As @rjzamora mentioned above: task-based shuffling generally has worse memory usage than ACA-based grouby/agg. But in the high-cardinality case, that advantage disappears. So at least in that case, I think we can call it an unambiguous win. Also, it's very nice to see that p2p shuffling does indeed have roughly constant memory usage, beating the other two hands-down in the high-cardinality cases.
TL;DR
This largely confirms @rjzamora's points above and in conversations I've had with him:

ACA-based groupby/aggs do fine for low-cardinality cases (say, where the number of groups is less than 1% of the dataframe size).
Once the cardinality gets larger, it does indeed make sense to start using the shuffle-based algorithm. To me, the range where split_out > 1 and where it's still better to use ACA looks pretty darn narrow. A rule of thumb where shuffle is on-by-default when split_out>1 doesn't sound like the worst idea in the world to me.
Memory-usage is indeed higher for task-based shuffling than ACA in the lower-cardinality cases. But that advantage is wiped out in higher-cardinality cases, so it actually doesn't worry me much. And task-based shuffling is less likely to knock over a worker in the last few aggs of the ACA-based approach.
p2p shuffling has much better memory performance. I ran into a couple of problems when using it here that I'll open as separate issues, but the results are encouraging.

Thank you for working through these benchmarks and writing this up @ian-r-rose !
It seems safe to conclude that we should add a shuffle= option to GroupBy.aggregate, and that we may be able to use the shuffle-based algorithm by default for larger values of split_out in the future. I would prefer if we kept shuffle=False as the default for this PR, but I am also open to the default behavior changing in follow-on work.

Note that I added support for sort=True when split_out>1 (and shuffle is not False).  I mostly did this here to check that the current design doesn't prevent global sorting in any way.  Therefore, I can roll back sort-related changes if it makes this PR easier to review.

Cool results.  I encourage us to move forward with this quickly.

Also, major kudos to @rjzamora for the work and to @ian-r-rose for the additional perspective

Everything looks green except for gpuCI, which is unrelated: #9391

Woo -- great work @rjzamora @ian-r-rose


feat(editors/binding): Allow filtering of subscribed/unsubscribed data in binding editors

Closes #1062
Draft until we agree if any of this is a good idea, and I will add some tests.
I'm not comfortable with the filter button being somewhat shaded when the section is selected, and the background colour darkens.  I have tried to deal with it as best I can, but perhaps there is a better way.
It also doesn't entirely play nicely when "Not Subscribed" is selected and the user does subscriptions (the activated item becomes hidden). Maybe we don't need this option?

Thank you @danyill for your wonderful contribution to that thing that we are all working on.

when no FCDA is viable also do not show the control block. With many control blocks in the file this effect of this filter is lost. This could be possible with simple CSS rule I feel

The CSS is kind of simple but for my weak mind it was not so simple...
I take a moment to pity my reviewer. :pray:
This table may help my reviewer! It helped me...

OTOH although it seems complex to me it is blindingly fast which I like. :heart_on_fire:

OK, after making the review changes I am much happier with the outcome.
I have implemented local storage so the filter selection isn't ephemeral.
Part of using a boolean attribute means I must default to false so the states must be inverted which can be confusing to think about.
I use accessors for holding the filter state so I can use other properties to create a unique identifier for local storage.

Thank you for these review comments, the product is greatly improved. :tada:
This is ready for some more testing and review.
If we are happy, then I can add some brief integration tests for the four plugins where it is used.
I'll also do something similar to this in #1187 for the subscriber-oriented view.

I have tried to add some initial tests, but they are not working - and so far I cannot see why. Could I ask you to take a look at these please?

I have tried to add some initial tests, but they are not working - and so far I cannot see why. Could I ask you to take a look at these please?

I have figured out the reason for this -- the integration test has to include the ExtRef section as well otherwise the counting is never present. I will do some more work. Please do nothing! :wink:

I have finally resolved the issues with tests and would be grateful for a review of this.
Sorry for the messy commit history. There were a few mis-steps made amid some confusion but eventually I straightened myself out :wink:
I will be happy to take another review and make further improvements as required.

I think Jakob is unavailable for some time. I'd be very pleased to receive a review on this so I can incorporate it into my subscriber view which will be similar.
I've nominated a few people and I would be happy to discuss/go through it if anyone is interested or available to look at this.

hey @danyill please merge main back into your branch 😬

Thank you for the assistance on this PR and the detailed review. :clap:


V8 beta 1 : div#ccm-toolbar > ul > li > a

div#ccm-toolbar > ul > li > a
font-size = 0;
Font size wasn't set in previous versions, custom toolbar buttons do not display fonts unless 'Increase Toolbar Font Size'  is selected in settings

Can you post a custom toolbar add-on that I can test with?
On Wed, Aug 3, 2016 at 10:49 AM, pvernaglia<EMAIL_ADDRESS>wrote:

div#ccm-toolbar > ul > li > a
font-size = 0;
Font size wasn't set in previous versions, custom toolbar buttons do not
display fonts unless 'Increase Toolbar Font Size' is selected in settings
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/concrete5/concrete5/issues/4092, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAgNwQ368jP1bT_jHVnX5VA5xNsNOvizks5qcNTAgaJpZM4Jb5jV
.

Granted you a license for Enhanced Toolbar on concrete5.org


Fix API returning non-200 status, timeouts, non-JSON

cc/ @neilmiddleton

Test coverage isnt great as this is mocked out in the tests. I tested in a test app locally and it works, so happy path is good. :sparkles: Not sure about error handling code.

LGTM

Shipped in 0.7.1.
https://rubygems.org/gems/heroku-bouncer/versions/0.7.1


not able to add Scandit.BarcodePicker.Xamarin <IP_ADDRESS>' - Visual studio for Mac

Hi team,
When we are trying to add scandit.barcodepicker.xamarin into Xamarin iOS Native project getting below error:
Could not install package 'Scandit.BarcodePicker.Xamarin <IP_ADDRESS>'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile111', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

Hi Ankit,
Thank you for your interest in our package. Please note that package 'Scandit.BarcodePicker.Xamarin' is dedicated to platform project in Xamarin which is iOS or Android only. This project contains platform specific implementation of our BarcodePicker.
From the error message you posted I assume you were trying to add this package into the shared project in Xamarin. Please use Scandit.BarcodePicker.Unified package instead.


upgrade to 5.0.0-alpha5-SNAPSHOT

A few additional change to keep up with 5.0.0 development.

LGTM.


docker pull   is very slowly

Description
(A clear and concise description of what the feature is.)
Will this change the current api? How?
Who will benefit from this enhancement?
References

list reference and related literature
list known implementations

djl-serving docker image is only 300M, see: https://hub.docker.com/r/deepjavalibrary/djl-serving/tags
The slow might be either on dockerhub side or your network. There is nothing we can do.

Of you are using dockerhub in China, try this:
https://github.com/Azure/container-service-for-azure-china/blob/master/aks/README.md#22-container-registry-prox
dockerhub.azk8s.cn/deepjavalibrary/djl-serving:latest

thanks


willOpen didOpen for tap gesture added

spotted that today.
Originally it works for swipe-gestures, but tapping on PinShape does not have those callbacks in place.

Thanks @ronanamsterdam !! 🥇


Reverting Register calls

Location  [client], [channel], [backend/eth/channel].
Discussed in  DST/dev chat.
Context  When both users try to close a finalized channel at the same time, one of their transactions can revert with channel already concluded.
This results from both parties sending the conclude transaction Thanks to @manoranjith for finding this.
channel.Settle has a secondary flag which can be used to prevent this from happening.
A makeshift solution is to let one party wait two block duration.
Changes
There are at least two possibilities here:

Add a Secondary flag to channel.Register which is only used for final states.
Add some kind of wait function that would be called before Register.

I think we should keep settle and register consistent, so either use two wait functions or two secondary flags.
Acceptance criteria  The user can prevent go-perun from sending a reverting register transaction.
Testing  All of our Two-party tests use a simulated ETH-chain which makes this unlikely to trigger.
It is still be worth trying it out though.
Implementation hints  A sleep can be added here to make it more likely to fail.

The second possibility seems more interesting to me compared to the first one.
Because in the first case, the secondary flag has to be received at the top level API and should be propagated across different methods in the core of go-perun as well as the backend.
Whereas, in the second case, the user of the go-perun calls the wait function before Register/Settle as necessary. Also the secondary logic need to be included in any part of the go-perun (both core & backend). This also means the same objective achieved with lesser number of lines of code.

The second possibility seems more interesting to me compared to the first one.

Im not sure if a waitNBlocks function instead of a secondary flag makes it less block chain agnostic.
In an instant-finality (but high TX fee) chain for example, this would complicate things.
What do you think @matthiasgeihs ?

I don't see a big problem with having a transaction revert. If the transaction reverts because the channel has already been registered, that's ok, because the goal was to register the channel. The framework should just acknowledge that the channel has been registered, log the transaction error, but do not return the error to the user, as the goal of registering the channel has been fulfilled.

I don't see a big problem with having a transaction revert.

Well it is not directly a "problem" because everything works as expected.
It is more of an optimization. We tried to build go-perun to be as gas efficient as possible.
This also means to prevent reverting transactions, hence why we introduced the secondary flag on the Settle call.
It is sure up for discussion on how far we should go here.


NullReferenceException Caused by changing placement of page

I moved a child page from one parent to another, deleted the parent and recreated it with the same title but different page type.
When I moved the child page back to the parent I got the below error and was no longer able to access the page from the manager
I believe this issue is being caused by the fact that the dropdowns for placement had not be repopulated and therefore it was allowed to move the page to a nonexistent parent.
[NullReferenceException: Object reference not set to an instance of an object.]
Piranha.Models.Manager.PageModels.EditModel.GetRelated() +1807
Piranha.Models.Manager.PageModels.EditModel.GetById(Guid id, Boolean draft) +160
Piranha.Areas.Manager.Controllers.PageController.Edit(String id) +71
lambda_method(Closure , ControllerBase , Object[] ) +104
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary2 parameters) +157    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters) +27
System.Web.Mvc.Async.AsyncControllerActionInvoker.b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +22
System.Web.Mvc.Async.WrappedAsyncResult2.CallEndDelegate(IAsyncResult asyncResult) +29    System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32
System.Web.Mvc.Async.AsyncInvocationWithFilters.b__3d() +50
System.Web.Mvc.Async.<>c__DisplayClass46.b__3f() +225
System.Web.Mvc.Async.<>c__DisplayClass33.b__32(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) +10    System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34
System.Web.Mvc.Async.<>c__DisplayClass2b.b__1c() +26
System.Web.Mvc.Async.<>c__DisplayClass21.b__1e(IAsyncResult asyncResult) +100
System.Web.Mvc.Async.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) +10    System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27
System.Web.Mvc.Controller.b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +13
System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +29    System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +36
System.Web.Mvc.Controller.b__15(IAsyncResult asyncResult, Controller controller) +12
System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +22    System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
System.Web.Mvc.MvcHandler.b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +21
System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +29    System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +28
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9721605
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

Hi there! Are you using IE cause I know there has been some issues in the past with certain AJAX-calls being cached in IE just like you say.

Using latest version of Chrome.
I think the issue may be that I deleted and recreated a new page with the same Title? (The short version is I created a new page type for the top level of my nav and needed to relocate the pages), and that the drop down may not have had a chance to repopulate?
Would it be better to do a full check serverside to ensure that the parentID being saved still exists? I fixed it by going into the DB and null-ing out the ParentID, as it no longer existed.


Schedule events which are aligned to the calendar

The Periodic Interval of Time (PIVL) data type has an 'alignment' property which specifies if and how the repetitions are aligned to the cycles of the underlying calendar (e.g., to distinguish every 30 days from "the 5th of every month"). A non-aligned periodic interval recurs independently from the calendar, whereas an aligned one is synchronized with the calendar.
As I understand it, events scheduled by schedule are currently of the non-aligned type (similar to cron). Enhancing it to include calendar-aligned periodic intervals might be useful.

Propose for closing? @dbader

Hi @khpeek, thanks for teaching me something :) Calendar alignment seems like quite an advanced topic that only a few users would benefit from. Schedule is a simple library and adding something like this doesn't fit well in that philosophy.


Common "login.inf" credentials file

Recursively search for a common "login.inf" credentials file starting at the project root directory. If found, use it as login credentials for the current API command. It will still check for the presence of a "login.inf" file within the same directory as the ad folder and if found it will use that credential file instead, overwriting any existing login credentials.
With this change, you can keep a single "login.inf" file somewhere within the project root directory and not have to always specify the "-u" and "-p" arguments and not have the need to keep a duplicate of the same credential file in every ad folder.

I'm not 100% certain if this is a change that everyone will like, but I know that it was certainly something that I wanted to have. Let me know your thoughts.

I think recursively searching might cause some problems.
I understand searching the current directory and maybe the project root directory. Is this a specific case where you need the recursive search instead of just searching in the current directory and/or the project root directory?

I guess my reasoning behind doing a recursive search was to allow more flexibility as to where the user wants to place the login.inf file. I'm taking the assumption that any files within the project root directory are related to the project and not part of anything else that could be confused with the intended credentials file.
A modification could be to only look in the project root or within the ad listing folder.
For me personally, I create a "listings" directory within the project root directory and place all of my other ad listing folders within it. I then have my global credentials file in that "listings" directory.

dont touch too much stuff.  Adding unnecessary bloat will introduce
instability and bugs or other problems.  This "feature" is not needed.  IT
would only cause confusion for people who use many different credentials.
On Sun, Dec 3, 2017 at 7:38 PM, Jack<EMAIL_ADDRESS>wrote:

I guess my reasoning behind doing a recursive search was to allow more
flexibility as to where the user wants to place the login.inf file. I'm
taking the assumption that any files within the project root directory are
related to the project and not part of anything else that could be confused
with the intended credentials file.
A modification could be to only look in the project root or within the ad
listing folder.
For me personally, I create a "listings" directory within the project root
directory and place all of my other ad listing folders within it. I then
have my global credentials file in that "listings" directory.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ArthurG/Kijiji-Repost-Headless/pull/56#issuecomment-348846013,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGn91uyrJzscZhJwFR4Z4RHMJMf2L-Z5ks5s81s5gaJpZM4Qxtrg
.

Closing this. There have been concerns raised regarding scope creep and potentially confusing users.
I'll quietly continue to use this feature for myself instead.

you should comment on Athurs pull to change to yaml.  This is pretty good, just the recursive search from project directory down to directory with ad could be simplified to specify config file location


Add 7zip (current version)

Currently, only 7zip 15.05 (with NSIS support) gets installed.

[ ] add the current version via metapackage
[ ] change existing package to indicate it's 15.05

@mr-tz do we need the current version?
If both are installed how would the user know which one to use and when? The right-click context menu may be dependent upon which ever gets installed last.

Well, maybe? A newer version will have less bugs and more functionality/supported files (except NSIS lol).

Ight, I vote we rename it to reflect the specific version. Then if users want an up to date version of 7zip, we'll wait for the community to ask for it. Thoughts?

Yes, great plan!


[BUG] iOS Compile failed

Describe the bug
I really want to use PreCompose for navigation.
On android it works well but when I compile on xcode, compile is failed.
In my main project, I get several compile errors.
KLIB resolver: Could not find "molecule:molecule-runtime" in [/Users/brian/AndroidStudioProjects/Fitapat/composeApp, /Users/brian/.konan/klib, /Users/brian/.konan/kotlin-native-prebuilt-macos-aarch64-2.0.0/klib/common, /Users/brian/.konan/kotlin-native-prebuilt-macos-aarch64-2.0.0/klib/platform/ios_simulator_arm64]
Process 'command '/Library/Java/JavaVirtualMachines/{java version}/Contents/Home/bin/java'' finished with non-zero exit value 1
I changed my java version three times (11, 17, 22) But all failed.
I can't find the reason (maybe I guess it is because of other dependencies).
So I make new Project to find what dependency is wrong.
But iOS compile error occurred like this image.

To Reproduce
Please help me 🙏🙏
I've been suffering from this problem for several days.

If you're using precompose-molecule, make sure you've setup molecule dependency correctly https://github.com/cashapp/molecule

@Tlaster
I only add api("moe.tlaster:precompose:1.6.1") not molecule, and I just got following errors 😭

And these are my commonMain dependencies

Might be the same error with #342


Non-statically sized product arrays

I've made some changes to allow ProductArrays to have views that are not statically sized (it was causing some performance issues, see #33) .

If I'm understanding this correctly, this solution would force all views to be either usual views or static views. I wonder though if it's possible to have a mixture. In the example mentioned in #33, I have a thousands-dimensional Euclidean manifold and many smaller submanifolds, which I would like to represent with static views. This will be, I think a common use-case in statistics, where many variables are transformed to a single (scaled and rotated) Euclidean manifold with a single PD matrix as a metric and other variables may be represented as points on other manifolds, such as PD matrices, n-simplices, or n-spheres. Perhaps a solution is to permit multiple reshapers to be passed to a ProductArray?

The new versions allows for different reshapers for different views, does it look OK?

Looks great to me! I don't see any problems and am fine with merging. Nice work on doing this so fast.


[Feature Request] Support disabling rules for particular tests

I'm using this tool along with storybook, but there are some times when I'd like to disable failures for certain stories.  For instance, I have a story of an input element, which is intended to be used together with a label, but my stories show the input by itself.  I'd like to silence the error Ensures every form element has a label for these stories.  Is there a way I can do this currently, and if not, is it a feature you might consider adding?

Storybook already allows for this, assuming you're using their addon: https://github.com/storybookjs/storybook/tree/next/addons/a11y#story-level-overrides
If you're utilizing the test-runner they wrote a blog post about recently, then I haven't yet found a "clean" solution but it is doable albeit there's some manual work involved:
async postRender(page, context) {
  const disabledRulesForStory = () => {
    switch (context.id) {
      case "fields-input--basic-usage":   // <-- You have to manually keep track of the stories and which rules to ignore for each
        return {
          "label": {
            enabled: false
          }
        }

      default:
        return {}
    }
  }
  const violations = await getViolations(page, "#root", {
    detailedReport: true,
    rules: {
      ...disabledRulesForStory()
    },
  });

  // ...Rest of your code
}

Thanks, I am indeed using the test-runner.  @yannbf you might be interested in this ^.


ES6 syntax not transpiling

Right now, this addon causes untranspiled ES6 syntax to be incorporated into host applications, potentially breaking them. Specifically, the const { computed, observer } = Ember; line is not transpiled:

This may work without error on very new versions of Chrome, but will break everywhere else.
This is caused by the fact that the addon does not depend on ember-cli-babel in package.json. Simply adding this to package.json will fix it:
  "dependencies": {
    "ember-cli-babel": "^5.1.5"
  },

Thanks!

Thanks @fotinakis. Added! :)


[PORT] Update DialogContext.cs

Port this change from botbuilder-dotnet/master branch:
https://github.com/microsoft/botbuilder-dotnet/pull/3403

Fix some broken links in the doc XML.
Opportunistically fix some typos.

This will fix some of the doc build warnings (generated in the bot-docs-pr repo builds).
Changed projects

Microsoft.Bot.Builder.Dialogs

[docs]

Not needed for JS or Python docs.


A couple of small bug fixes on tutorials.

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
AcrolinxScore
LowestCategoryScore
Issues
Scorecard
Processed

articles/quickstarts/qrng.md
77
48
18
link
:white_check_mark:

articles/quickstarts/search.md
83
71
19
link
:white_check_mark:

More info about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues

Docs Build status updates of commit 80494a4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/quickstarts/qrng.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/quickstarts/search.md
:white_check_mark:Succeeded
View (qsharp-preview)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


cant create a new project with get_cli. after entering the name of the project, CMD or IDE got stuck.. tried 2 laptops

encountered the same bug

use older version seems to work for me

Same problem

use older version seems to work for me

what version are you using? I got same problem

same here.

use older version seems to work for me

version please?

I, ve try the  get_cli 1.3.11 version maybe work

same problem,
get_cli version: 1.7.1
Flutter stable, 2.10.1

same problem, get_cli version: 1.7.1 Flutter stable, 2.10.1

try get_cli 1.6.0

im using 1.6.0

I use 1.6.0 too it's work

I'm having this problem
This made it impossible for me to continue my study
get_cli: 1.7.1
Flutter, 2.8.1

I'm having this problem This made it impossible for me to continue my study get_cli: 1.7.1 Flutter, 2.8.1

downgrade your get_cli to 1.6.0

I'm having this problem This made it impossible for me to continue my study get_cli: 1.7.1 Flutter, 2.8.1

downgrade your get_cli to 1.6.0
I have a problem
I tried to uninstall get_cli: flutter pub global deactivate get_cli
and install:flutter pub global activate get_cli 1.6.0
But when I looked at the version, it was still 1.7.1

I'm having this problem This made it impossible for me to continue my study get_cli: 1.7.1 Flutter, 2.8.1

downgrade your get_cli to 1.6.0
I have a problem
I tried to uninstall get_cli: flutter pub global deactivate get_cli
and install:flutter pub global activate get_cli 1.6.0
But when I looked at the version, it was still 1.7.1

try this

dart pub global deactivate get_cli
dart pub global activate get_cli 1.6.0

I'm having this problem This made it impossible for me to continue my study get_cli: 1.7.1 Flutter, 2.8.1

downgrade your get_cli to 1.6.0
I have a problem
I tried to uninstall get_cli: flutter pub global deactivate get_cli
and install:flutter pub global activate get_cli 1.6.0
But when I looked at the version, it was still 1.7.1

try this

dart pub global deactivate get_cli
dart pub global activate get_cli 1.6.0

That solved all my problems ✅
Thank you! @Breakrule

create new flutter project over VS code,
open terminal and write : get init


Even if validation is passed, it takes me to error callback

Here is my code,
function validateData(res){
    var schema = {
        username: 'required'
    };

    var data = {
        username: "foobar"
    };
 indicative.validate(schema, data)
.then(function(success){
        // Validation passed
        res.send("in success");
    })
    .catch(function(errors){
        console.log("in errrors");
        // Validation failed
        res.send(errors);
    });
}

Let me know if something is mistaken form my side

Yes, you need to pass data as first argument and schema as 2nd. Checkout breaking changes on documentation http://indicative.adonisjs.com/docs/2.0/upgrade#breaking-changes

ok thankx :), Hope you update here too http://indicative.adonisjs.com/docs/2.0/basics#validate-rules-data-messages-  creates confusion


AsyncLocalStorage not available on web, so stackblitz fails

          I haven't been able to run the [basic example of start 0.4 in stackblitz](https://stackblitz.com/github/solidjs/solid-start/tree/main/examples/basic) as is (no prerender flags), because I get this error:

[h3] [unhandled] TypeError: Cannot read properties of undefined (reading 'assets')
    at get assets [as assets] (/home/projects/pariwmzoo.github/node_modules/.pnpm/@solidjs+start@0.4.2_solid-js@1.8.7_vinxi@0.0.54_vite@5.0.10/node_modules/@solidjs/start/server/StartServer.tsx:50:109)

Originally posted by @birkskyum in https://github.com/solidjs/solid-start/issues/1162#issuecomment-1867086436

I have a similar problem trying to migrate from v0.3.9 to v0.4.2
__vite-browser-external:node:async_hooks:3  Uncaught (in promise) Error: Module "node:async_hooks" has been externalized for browser compatibility. Cannot access "node:async_hooks.AsyncLocalStorage" in client code.
It's imported from here https://github.com/solidjs/solid/blob/main/packages/solid/web/storage/storage.ts#L1
I see this error when running pnpm run dev

I'm going to try to partially polyfill it. Isn't completely polyfillable but at least for like 80% usage it should work. THe idea here is in contexts that are async getRequestEvent should work until the first await in every environment. It will work anywhere in envs that support ALS though.

@ryansolid , that is very much appreciated, thanks! I'd love to keep debugging the static builds, but it's just too challenging without the ability to share repros, because we get stuck in "Works on my machine".

Ok released in 0.4.3.. there are gaps but the examples all work. Basically you have to be careful where you call getRequestEvent but it otherwise works.


Provide ProcessSpan function definition

ProcessSpan is a function definition that is the building blocks of a pipeline for ingesting Spans.

Coverage remained the same at 100.0% when pulling c9ab2e80a063b6152d818621d2837ee169a1fc4d on rooz/introduce-process-span-func-definition into 525b6e6bb1cf8716ea03e42a87715347e687848d on master.

Coverage remained the same at 100.0% when pulling c9ab2e80a063b6152d818621d2837ee169a1fc4d on rooz/introduce-process-span-func-definition into 525b6e6bb1cf8716ea03e42a87715347e687848d on master.

Coverage remained the same at 100.0% when pulling c381504820dcd46b821b635b4c4f0a7a3e27f9c7 on rooz/introduce-process-span-func-definition into 525b6e6bb1cf8716ea03e42a87715347e687848d on master.


Move scalacopts and jvm_flags out of the args file

I'm not sure why, but they don't seem to work inside the args file
specified with @file. Fortunately, only the classpath/input args
should actually be huge.

scalacopts definitely work inside the arts file (I tested and then
exercised them in an internal repo.
What did you try that resulted in them being ignored?
Can we add a test to verify that some flag and then show that it fails in
the current state of the repo?
On Sunday, May 1, 2016, Colin Marc<EMAIL_ADDRESS>wrote:

I'm not sure why, but they don't seem to work inside the args file
specified with @file https://github.com/file. Fortunately, only the
classpath/input args
should actually be huge.
You can view, comment on, or merge this pull request online at:
https://github.com/bazelbuild/rules_scala/pull/48
Commit Summary

Move scalacopts and jvm_flags out of the args file

File Changes

M scala/scala.bzl
https://github.com/bazelbuild/rules_scala/pull/48/files#diff-0 (10)

Patch Links:

https://github.com/bazelbuild/rules_scala/pull/48.patch
https://github.com/bazelbuild/rules_scala/pull/48.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/bazelbuild/rules_scala/pull/48

--
P. Oscar Boykin, Ph.D. | http://twitter.com/posco | http://pobox.com/~boykin

I tried scalac @bazel-out/local_darwin-fastbuild/bin/...jar_args/args, where the first bit of that file was -J-Xmx1g, and it was consistently OOMing. Then I ran scalac -J-Xmx1g @bazel-out/local_darwin-fastbuild/bin/...jar_args/args, and it worked.

Okay, so scalac is a shell script. It parses -J but not @file. By the time the jvm starts, it is too late to add options.
Going to merge this.

I updated the PR to move jvm_opts but not scalacopts, since that's a bit cleaner in that case.


Issue 340 - Compaction performance test with system paused

Resolves #340

I'd like to write a script that runs the complete test start to finish, and is equivalent to buildDeployTest.sh but runs the whole thing deterministically and waits for the compactions and splits to finish.


Restrict calling langlib functions for objects

Purpose

$subject

Fixes #23944
Fixes #29958
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

BIRSpec tests are failing because of https://github.com/ballerina-platform/ballerina-lang/issues/29958.

@pcnfernando We had a similar requirement at language server and did https://github.com/ballerina-platform/ballerina-lang/pull/29873. How does that stack up with this PR?

@pcnfernando We had a similar requirement at language server and did #29873. How does that stack up with this PR?

With the said fix, you have filtered out the suggestions. That change is anyway needed. With the change I'm introducing the usage is restricted from the compiler.

@pcnfernando Thanks! We did that at the BallerinaObjectTypeSymbol level like this: https://github.com/ballerina-platform/ballerina-lang/pull/29873/files#diff-5855e99980da5c8dbbaaf324f3d368f96e29a94b97233baefe9f083f8cf32b2e. Hope that's ok.

@pcnfernando there seems to be a conflict :(


Homebridge still loading at UI

Describe The Bug
Homebridge still loading at UI

Logs
No response
Config
No response
Homebridge UI Version
Homebridge UI v4.55.1
Homebridge Version
Homebridge v1.7.0
Node.js Version
v18.19.0
Operating System
Ubuntu / Debian (or a variant)
Environment Info
None
Raspberry Pi Model
None

Hi @hlong0712 is this still an issue?

When i change to chrome it normal now. Something wrong with edge


Prevent calling loadNextPage multiple times

Prevent calling loadNextPage multiple times when scrolling while fetching next page.

This functionality is built into the library now!


Fix python-bson to pull pymongo in Gentoo

Apparently for the other distros the bson dependency has been generated into a different package from the main pymongo package. For example, Ubuntu Xenial: https://packages.ubuntu.com/xenial/python-bson comes from the same source than all pymongo.
And the library python-bson says it is stripped from pymongo bson and made a package itself but is not compatible with who uses it... in our case rosbridge_library.
Also python-bson seems to be in a unstable state currently, they seem to be changing the name of the library itself (to py-bson):
https://github.com/py-bson/bson/issues/41
And rosbridge_library (who actually depends on it) checks for the correct library here:
https://github.com/RobotWebTools/rosbridge_suite/blob/develop/rosbridge_library/src/rosbridge_library/util/__init__.py#L19-L27
There are plenty of issues with things that are different from the pymongo bson: https://github.com/py-bson/bson/issues
Until this py-bson doesn't become a real alternative, or Gentoo, or someone in ros-overlay with more time to dedicate to this headache fixes it... I think this is quite a good workaround.
As a note, I noticed all this when actually running rosbrige_server in Gentoo. I never was able to run it until today, so I could find all this only today. What a mess.
Sorry for all the noise.

@allenh1 when this gets merged, can we have another sync please? Thank you.


Vagrant pluging only runs kexec

Hi, is there any way to modify the pluging to set in the vagrant config what type of provider you are running? I see that kexec is hardcoded and I would like to use fbsd. Thanks!

You can see it on:
lib/vagrant-xhyve/util/vagrant-xhyve.rb
Line 54
vendor/xhyve-ruby/lib/xhyve/guest.rb
Line 84

Hey @ebarriosjr ! There isn't at the moment, but patches would be welcome. Or... if you could point me at a fbsd image I could take a look at exposing this!

I tried... #10


error msg

[dcc32 Fatal Error] Server.Forms.Main.pas(19): F2613 Unit 'WiRL.http.FileSystemEngine' not found.

in file : Server.Forms.Main
WiRL.Engine.FileSystem,

This project is no longer maintained and is not compatible with recent versions of WiRL.
The source code is now available in the WebStencilsDemo of the official WiRL repository.


Install npm dependencies after cloning

Describe the feature
We should support an optional flag to support installing template dependencies after cloning. This gives close functionality to a layer to an npm package.
Additional information

[X] Would you be willing to help implement this feature?

For context, this feature is required for Nuxt Layers Extending (https://github.com/nuxt/framework/issues/3222). Install after the clone is the most straightforward way. However, there are more ingenious ways such as generating a stub package.json and add it as a dependency to the main project. These are beyond c12 and should be experimented on nuxt but worth noting here.

Linking issue https://github.com/unjs/giget/issues/6

@marr this is something we might want to investigate on nuxt (and nitro) side. framework is supposed to automatically add {layer}/node_modules to modulesDir[] configuration.

BTW now we have stable nypm if anyone wants to support it as an optional feature PR is welcome 👍🏼

Just checking if there is some progress made on this ?
Thank you!

@francoisauclair911 Yes it is on my todo list to add opt-in feature 👍🏼

Also related: https://github.com/unjs/c12/pull/109

with #112 and https://github.com/unjs/c12/releases/tag/v1.5.1, now we are one step away from supporting this (https://github.com/unjs/giget/issues/6)

A shortcut for install is added via #126. This feature is undocumented for now until testing more. Feedbacks more than welcome!

Apologies for reopening this issue, but @pi0 the issue pointed out by @marr still persists. I have a layer which I am extend:['../layer'] from a parent directory, but the dependencies are not included. When I manually added: modulesDir: ["../layer/node_modules"], it magically started kind of working.

Have you tries this:
extend:[{ source: '../layer', install: true}]

@pi0 yes, does not install. Do I need to do npm install or npm build/dev?

@9M6 if you are sure the dependencies will be installed, it might be bug in nuxt that does not extends layer node_modules. In which case i would suggest to follow up via an issue in nuxt repostiroy 🙏🏼

@pi0 Can you check my comment here https://github.com/nuxt/nuxt/issues/26479 ? Hope it makes sense for you.

@pi0 the issue pointed out by @marr still persists. I have a layer which I am extend:['../layer'] from a parent directory, but the dependencies are not included. When I manually added: modulesDir: ["../layer/node_modules"], it magically started kind of working.

Currently facin the same issue. Thanks for the workaround. In my case I intend to create a npm package so is not that much on a issue. Did you open an issue?


[varLib.varStore] Return 0xFFFF if there's no variation

Forking from https://github.com/simoncozens/fontFeatures/issues/39#issuecomment-790001038
Back when I was writing this code, there was no varIdx value that meant "no variation". So the callers of the OnlineVarStoreBuilder had to do the check themselves. Now'ish we added 0xFFFF to mean "no variations" to OpenType, so we can use that to make the client's job simpler.
I don't think it's an issue with backward compatibility. We'll update all our internal callsites and be done.
The optimizer can also choose to through empty ones out and return 0xFFFF. Currently it ends up spending a few bytes registering a region that has no variation and one data item with no deltas for it...

Also possibly make OnlineVarStoreBuilder.finish() return None if the resulting varStore holds no variations?  That would be a bigger API break... Currently in some places we do things like:
        store = merger.store_builder.finish()
        if not store.VarData:
                return

My bad typo. I meant 0xFFFFFFFF.

Also possibly make OnlineVarStoreBuilder.finish() return None if the resulting varStore holds no variations? That would be a bigger API break...

@anthrotype WDYT?

return None if the resulting varStore holds no variations

I guess it'd be ok, I don't believe the OnlineVarStoreBuilder has extensively been used by used code outside of fontTools.varLib

Sounds good. Thanks.


Provide ehal impls for DummyPin

Thank you for your contribution!
We appreciate the time and effort you've put into this pull request.
To help us review it efficiently, please ensure you've gone through the following checklist:
Submission Checklist 📝

[x] I have updated existing examples or added new ones (if applicable). (does card-io count here? :D )
[x] I have used cargo xtask fmt-packages command to ensure that all changed code is formatted correctly.
[x] My changes were added to the CHANGELOG.md in the proper section.
[x] My changes are in accordance to the esp-rs API guidelines

Extra:

[x] I have read the CONTRIBUTING.md guide and followed its instructions.

Pull Request Details 📖
Description
We are missing the embedded-hal impls, making the DummyPin somewhat limited. Since I don't know if InputPin makes sense on something like this, I've omitted implementing that.

making the DummyPin somewhat limited

Isn't it supposed to be?
The differentiation doesn't exist in the hal yet (I'm looking into it in #1662) but DummyPin isn't really a pin, it's just a signal.
imo if people want a no-op implementation of e-hal pins, they should make their own or use a 3rd party library.

It's a signal all right, and if we mandate the user to use out DummyPin for some cases, but require them to roll their own for other purposes, it's going to be really annoying really quickly.

DummyPin is for use within the hal, nowhere in the hal (to my knowledge 😅) does any component/driver ask for an e-hal pin.
If a user finds themselves needing a dummy e-hal pin, it's because a 3rd party driver (like embedded-emmc) is asking for one.

Are you saying DummyPin should not be public at all? Or that it should not be called DummyPin and shouldn't be part of the gpio module?

DummyOutput might work, sure. But I'm not sure I want to introduce a breaking change, I guess we can do that separately if the team wants to.


Override the hardcoded broken sed path in glibtoolize (OS X fix)

A hardcoded sed path in the automake-libarchive exec block was breaking my build on OS X. This overrides the path to sed using an environment variable and fixes it.

Hi there,
It looks like this has been resolved within a previous update so I am now closing this issue. If the original issue was not fully resolved, please reopen this issue or create a new one.
Cheers!


Add Google Analytics tracking for metrics

[ ] Add "Cookie Notice" banner to bottom of page (GDPR requirement).
[x] Add Google Analytics tracking code.
[x] Add required legal notices on user privacy/data collection.

Closed in favor of #23


Training Code?

Where is the MyTrain_Pretrain.py and MyTrain_finetune.py file?

Hi, @qgh1223
Thank you for your attention to our work. The whole project will be available at the time of MICCAI-2021 conference.
Best,
Ge-Peng.


Version confusing

I saw you release the version for Tesseract 4.0 already. But it shows Tesseract 3.0.3  in REAEME. What is the current version Tesseract now? Thanks.
I got the following error message when I followed the instruction in "Installation":
[!] Error installing TesseractOCRiOS
[!] /usr/bin/git clone https://github.com/gali8/Tesseract-OCR-iOS.git /var/folders/nl/nk7hhvts5ljc_d60dpyyzb440000gn/T/d20170814-70269-gwedb2 --template= --single-branch --depth 1 --branch 4.0.0

Cloning into '/var/folders/nl/nk7hhvts5ljc_d60dpyyzb440000gn/T/d20170814-70269-gwedb2'...
fatal: unable to access 'https://github.com/gali8/Tesseract-OCR-iOS.git/': Empty reply from server

Any idea?

When I change the platform in Podfile from:
platform :ios, "9.0"
to
platform :ios, "8.0"
The problem solved.

Great!


"Missing" elements suggestion

To celebrate 1k stars and to get ready for PaperCSS v2 (perhaps? 🥇 )
it would be nice to add following elements:

[ ] datepicker
[ ] sidebar, multilevel sidebar
[ ] time picker
[ ] icon font - would be awesome to have some icons (perhaps as a stand-alone package)
[ ] using icons in form inputs - "input addons"
[ ] calendar would be awesome
[ ] timelines, wizards, steps - also as breadcrums #50
[ ] sliders

p.s.: I really like how much work is done in paper css. But I believe adding this features would allow everyone to transfer one of their exisiting projects completely to PaperCSS.
In my case, I have an admin dashboard for sending newsletters that I am trying to style using papercss. Using other libraries, for datepickers for example, are odd-looking in the whole paper-theme.

Nice suggestions. I can work on the icons. Could you elaborate more how to go about it with the standalone package for icon font?

@amanbayev doesn't things like date picker, time picker, sidebar... will require JavaScript to work?

@valerymelou Yes, but I believe it is a common demand to have these JS components. I cannot imagine a web app without a datepicker in a form. The way bootstrap does it - they provide css and js file within a framework. What we could do is provide at least the CSS version of those components, and then other libraries could be used by serving custom styles. Almost all open-source components allow usage of custom styles. This way we can still work only on css/less part. But JS is not all that bad. Perhaps providing JS part would be great as well, to get started right away without relying on other 3rd party libraries much.

@afzalsayed96 perhaps using services like http://fontastic.me/ ?
from my understanding one needs to create a spritesheet with all the icons, and in css/less file it needs to be defined which class stands for which exact sprite in a spritesheet (starting position x,y, width and height etc.)
that those css/less and spritesheet files are included in the project to be used like  or whatever could that classname be. at least that is how 100% of icon sets that I have used are organized and used.

Hmmm, maybe it's time to start thinking about components that involve JS. I'd like to keep it somewhat from the core of PaperCSS though. I think a lot of the value of this framework is being able to drop in the CSS file and be minimal with classes to achieve the paper look.


ui probelm about line style setting

Preflight Checklist

[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Describe the bug

To Reproduce
Steps to reproduce the behavior:

Add a new line
Select the line
Switch to Style tab
See error

draw.io version:

draw.io version 20.8.15

Desktop

OS: win11
Browser: microsoft edge
Version:109.0.1518.70

Thanks for the report. This will be fixed in the next release.


Replaces border.overlay with border.primary

The border.overlay will be removed from https://github.com/primer/primitives/pull/82. In preparation for that change, this PR replaces border.overlay with border.primary. There should be no visual change since both variables use the same color.
Is this a breaking change? I couldn't find where the border.overlay color is defined. Does it come directly from primer/primitives? If so, I guess this PR is just a "patch". But once https://github.com/primer/primitives/pull/82 is merged and part of the next major release of primer/primitives, then we'd have to mark border.overlay as a breaking change in PRC too.
This is part of https://github.com/github/design-systems/issues/1393.
Screenshots

Before
After

Merge checklist

[ ] ~Added/updated tests~
[ ] ~Added/updated documentation~
[x] Tested in Chrome
[x] Tested in Firefox
[x] Tested in Safari
[x] Tested in Edge

Take a look at the What we look for in reviews section of the contributing guidelines for more information on how we review PRs.

Closing in favor of the v2 color system


⚠ ClamAV has degraded performance

In b448f5e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 207 ms

Resolved: ClamAV performance has improved in d6f88e6.


Update of instructions

Instructions are very clean, I think they can be better:

Can you add an instruction to install matplotlib in the instructions and setup.py? As it's not a package that everyone has

Can you add a How to run section after  Before the session? to make it extra clear what needs to be done to run your notebooks in order.

What do you think of the above? Looks awesome otherwise, I'll continue reviewing the rest.

@kevllino : the changes have been added into #24 , could you take a look and approve the changes?

solved


made the sequence argument of type 'uint16_t const *'

I need to send an adc a static command. As it resides in flash, it has signature uint16_t const cmd[]. As the library doesn't write to the TX sequence buffer, there's no reason I can imagine why the sequence argument can't be of type 'uint16_t const *'
Note, I considered making it restricted as well, but actually having the TX and RX buffers overlap works and saves ram ;-).

You are right, the library never writes to the sequence, only stores a pointer to it and reads from it. I rarely strive for const correctness, though.
I would merge this, but I don't have a running CCS setup to check — does this generate any additional warnings for you elsewhere in the code?

Compiles and runs fine with TI v17.3.0.STS:
**** Build of configuration Debug for project usitest ****

"C:\\ti\\ccsv7\\utils\\bin\\gmake" -k -j 4 all -O
'Building file: ../main.c'
'Invoking: MSP430 Compiler'
"C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_17.3.0.STS/bin/cl430" -vmsp --use_hw_mpy=none --include_path="C:/ti/ccsv7/ccs_base/msp430/include" --include_path="C:/Users/Jeroen/workspace_v7/usitest" --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_17.3.0.STS/include" --advice:power=all --define=__MSP430F2013__ -g --printf_support=minimal --diag_warning=225 --diag_wrap=off --display_error_number --preproc_with_compile --preproc_dependency="main.d"  "../main.c"
"../main.c", line 17: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../main.c", line 33: remark #1527-D: (ULP 2.1) Detected SW delay loop using __delay_cycles. Recommend using a timer module instead
'Finished building: ../main.c'
' '
'Building file: ../usi_i2c.c'
'Invoking: MSP430 Compiler'
"C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_17.3.0.STS/bin/cl430" -vmsp --use_hw_mpy=none --include_path="C:/ti/ccsv7/ccs_base/msp430/include" --include_path="C:/Users/Jeroen/workspace_v7/usitest" --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_17.3.0.STS/include" --advice:power=all --define=__MSP430F2013__ -g --printf_support=minimal --diag_warning=225 --diag_wrap=off --display_error_number --preproc_with_compile --preproc_dependency="usi_i2c.d"  "../usi_i2c.c"
"../usi_i2c.c", line 40: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../usi_i2c.c", line 93: remark #1538-D: (ULP 10.1) ISR USI_TXRX calls function i2c_prepare_data_xmit_recv. Recommend moving function call away from ISR, or inlining the function, or using pragmas
"../usi_i2c.c", line 104: remark #1538-D: (ULP 10.1) ISR USI_TXRX calls function i2c_prepare_stop. Recommend moving function call away from ISR, or inlining the function, or using pragmas
"../usi_i2c.c", line 106: remark #1538-D: (ULP 10.1) ISR USI_TXRX calls function i2c_prepare_data_xmit_recv. Recommend moving function call away from ISR, or inlining the function, or using pragmas
"../usi_i2c.c", line 126: remark #1538-D: (ULP 10.1) ISR USI_TXRX calls function i2c_prepare_stop. Recommend moving function call away from ISR, or inlining the function, or using pragmas
'Finished building: ../usi_i2c.c'
' '
'Building target: usitest.out'
'Invoking: MSP430 Linker'
"C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_17.3.0.STS/bin/cl430" -vmsp --use_hw_mpy=none --advice:power=all --define=__MSP430F2013__ -g --printf_support=minimal --diag_warning=225 --diag_wrap=off --display_error_number -z -m"usitest.map" --heap_size=0 --stack_size=50 -i"C:/ti/ccsv7/ccs_base/msp430/include" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_17.3.0.STS/lib" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_17.3.0.STS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="usitest_linkInfo.xml" --use_hw_mpy=none --rom_model -o "usitest.out" "./main.obj" "./usi_i2c.obj" "../lnk_msp430f2013.cmd"  -llibc.a
<Linking>
remark #10371-D: (ULP 1.1) Detected no uses of low power mode state changing instructions
'Finished building target: usitest.out'
' '

**** Build Finished ****

However, for the sake of completeness I decided to build with mspgcc (<IP_ADDRESS>) as well, however that one fails on the USI interrupt:
#pragma vector = USI_VECTOR
__interrupt void USI_TXRX(void)

../usi_i2c.c:82:0: warning: ignoring #pragma vector  [-Wunknown-pragmas]
 #pragma vector = USI_VECTOR
 ^
../usi_i2c.c:83:13: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
 __interrupt void USI_TXRX(void)
             ^

I have fixed this by instead using
#ifdef __GNUC__
__attribute__((interrupt(USI_VECTOR)))
#else
#pragma vector = USI_VECTOR
__interrupt
#endif
void USI_TXRX(void)

Furthermore I noticed you explicitly including msp430g2412.h instead of the generic msp430.h, though everything worked fine even though I am using the f2013 chip.
Would you like me to submit a pull request for any of these fixes as well?

Yes, please submit a pull request for these two fixes as well, and thank you for putting in this effort. As I wrote, I don't have a setup for building MSP430 code, and my time is very limited, so I will gladly take these patches.

Furthermore I noticed you explicitly including msp430g2412.h instead of the generic msp430.h, though everything worked fine even though I am using the f2013 chip.

No reason for that, it's accidental — that's the chip I used. The code should work on any MSP430 with an USI peripheral.
Thank you for checking the warnings, too!

Thank you for accepting. And for writing this lib in the first place. I got quite some headaches trying to understand the logic behind the official msp430x20x3_usi_*.c examples.


Bootstrap the oracle pool command

The goal is to automate the whole bootstrap process for the new oracle pool and run it with a single command.
Run bootstrap via a command-line option and a special config file with
bootstrap parameters "--bootstrap bootstrap_config.yaml".
In the bootstrap_config.yaml the following parameters are required:

token names and quantities https://github.com/ergoplatform/eips/blob/eip23/eip-0023.md#tokens;

The bootstrap process mints:

pool NFT token;
refresh NFT token;
oracle tokens;
reward tokens;

and creates pool and refresh
boxes via
chained transactions (inputs for the subsequent transactions are outputs of
the previous transactions in the mempool) in one block. The contracts should
be constructed from the contracts defined in the contracts module with minted tokens via with* calls.
Oracle tokens should be put in a box guarded by the node wallet's PK for distribution among the oracles later.
The bootstrap process also generates an output config file to run the oracle
pools app. In the output config file the following info should be present:

minted token IDs

Working on this as part of Ergohack.


About resume training

Hi. I want to ask the resume training. My training process was interrupted by accident. May I ask how to resume training or I need to training from the begin. I am training HTC model now.

You can set resume_from in the config file to the last checkpoint file.

The issue is closed because the question is answered. Feel free to reopen it if you have any further questions.

When the training is resumed from a checkpoint, do all the hyperparameters have the same value when the checkpoint is saved? Or it is just weights that are kept in the checkpoint.


/articles: reading time and copy/edit buttons too big

They're a bit too in your face.

@melissasamworth

Ah okay I'll take this as feedback and change the design when I can, don't implement the changes yet.
The buttons are actually wider than in my design so getting the padding right on those is enough to close out this task


Add docs for new SQL libraries

[x] kit-sql-conman
[ ] kit-sql-hikari
[x] kit-sql-migratus
[ ] kit-mysql

Update

[x] kit-sql

I can work on the easier changes for this one.

https://github.com/kit-clj/kit-clj.github.io/pull/15

Any reason why kit-sqlite module is not included into the sql mix?

There's nothing sqlite specific in the module that needs to be a separate library. Postgres and MySQL have some conveniences for dealing with structured data. Tbh, I'm not a fan of them as part of Kit either, think these are things that people can choose for themselves how they want to handle, e.g. how to serialize/deserialize JSONB.
If there is specific serialization utilities to include for sqlite, we can add it.

My question was referring to the fact that sqlite is available as a module and not profile, while all other DBs are available as profiles and not modules.

The others can be added as modules, no reason not to