DPL-890-6 Vue 3 upgrade changes

Closes #
Changes proposed in this pull request
Involves (breaking)changes to support Vue 3 upgrade

Upgraded to vue 3.3.4
Replaced unsupported changes
Removed and replaced Vue.prototype to support the Store
Removed createLocalVue
Removed and replaced Vue.extend
Removed creation of Vue component instances using new keyword
Test changes to use mount
Router changes

Instructions for Reviewers
[All PRs] - Confirm PR template filled
[Feature Branches] - Review code
[Production Merges to main]
    - Check story numbers included
    - Check for debug code
    - Check version

All seems sensible. Only one minor comment.
Could you also look through and remove any scoped styles?
I think it would be a good idea to look through and improve the documentation but we could roll it into another story.

Yes, the documentation can be improved, for now I just removed the irrelevant ones. I just made a qucik check looking for any scoped styles, and I have already made changes in the past story to move them to tailwind.css and the components don't have any scoped styles inside them.

All seems sensible. Only one minor comment.
Could you also look through and remove any scoped styles?
I think it would be a good idea to look through and improve the documentation but we could roll it into another story.

Yes, the documentation can be improved, for now I just removed the irrelevant ones.
I also made a quick check looking for any scoped styles, and I have already made changes in the past story to move them to tailwind.css and the components don't have any scoped styles inside them.

The following components still have style tags. It is probably better to remove them as we no longer want to use them:

PrintJob.vue
PageFooter.vue
Plate.vue
PlateList.vue
Row.vue
Upload.vue
App.vue

All seems sensible. Only one minor comment.
Could you also look through and remove any scoped styles?
I think it would be a good idea to look through and improve the documentation but we could roll it into another story.

Yes, the documentation can be improved, for now I just removed the irrelevant ones.
I also made a quick check looking for any scoped styles, and I have already made changes in the past story to move them to tailwind.css and the components don't have any scoped styles inside them.

The following components still have style tags. It is probably better to remove them as we no longer want to use them:

PrintJob.vue
PageFooter.vue
Plate.vue
PlateList.vue
Row.vue
Upload.vue
App.vue

Sure. Removed them.


test: test data attributes adding when data attribute contains only name only & only value only

Description

test data attributes adding when data attribute contains only name only & only value only

Motivation and Context

Describe the current behaviour before any changes
Increase coverage

How has this been tested?
New unit tests, breaking code
Types of changes

[x] Tests (prefix: test - additions and improvements to unit tests and the smoke tests)

Checklist

[x] My code follows the code style of this project and passes yarn run lint.
[x] My change has adequate Unit Test coverage.

Terms

[x] My contribution follow this project's contributing guide
[x] I agree to follow this project's Code of Conduct

I’ve read this and don’t understand. Could you explain it when we chat tomorrow?

I’ve read this and don’t understand. Could you explain it when we chat tomorrow?

I had several mistakes in the description. Hope it is fine now. If still unclear let's discuss tomorrow =)

This is now ready for review =)

Sorry for spamming I finally realised that there are many tests where data attributes are tested so I wrote a custom matcher for them. I will use the new matcher in other tests in a different PR if that is fine for you.
Also if any change is needed in the matcher pls let me know =)


JSON Decode Error

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

WRITE QUESTION HERE
DownloadError: ERROR: query "Lemon": Failed to parse JSON  (caused by JSONDecodeError('Expecting value: line 1 column 1 (char 0)'))

This error coming with all videos, format options :
ytdl_format_options = {
    'format': 'bestaudio/best',
    'outtmpl': '%(extractor)s-%(id)s-%(title)s.%(ext)s',
    'restrictfilenames': True,
    'noplaylist': True,
    'nocheckcertificate': True,
    'ignoreerrors': False,
    'logtostderr': False,
    'quiet': True,
    'no_warnings': True,
    'default_search': 'auto',
    'source_address': '<IP_ADDRESS>',
    'proxy': 'socks5://<IP_ADDRESS>:9050'
}

Proxy is Tor, it was working fine a few minutes ago, what happened?

This got automatically fixed.

https://stackoverflow.com/questions/64409218/youtube-dl-failed-to-parse-json
i need an answer on how to fix this.


[BUG] after rancher upgrade: pvc stays pending, wants to use csi driver instead of aws-ebs plugin

Rancher Server Setup

Rancher version: 2.6.9

Information about the Cluster

Kubernetes version: v1.24.8
Cluster Type: Downstream, AWS ec2 instances

Describe the bug
We recently updated rancher version from 2.5.15 to 2.6.9 and downstream cluster k8s version from 1.20.15 to 1.24.8
Now creation of a pvc leads to an error:
  Type    Reason                Age                    From                         Message
  ----    ------                ----                   ----                         -------
  Normal  ExternalProvisioning  118s (x26 over 7m52s)  persistentvolume-controller  waiting for a volume to be created, either by external provisioner "ebs.csi.aws.com" or manually created by system administrator

To Reproduce
Update Rancher version from 2.5.15 to 2.6.9
Update downstream cluster k8s version from 1.20.15 to 1.24.8
request_pvc.yaml:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: scjo-test
  namespace: operations
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Block
  resources:
    requests:
      storage: 10Gi

kubectl create -f request_pvc.yaml -n operations
persistentvolumeclaim/scjo-test created

Result
pvc stays in pending state:
kubectl describe pvc scjo-test -n operations
Name:          scjo-test
Namespace:     operations
StorageClass:  aws-ebs-gp2
Status:        Pending
Volume:
Labels:        <none>
Annotations:   volume.beta.kubernetes.io/storage-provisioner: ebs.csi.aws.com
               volume.kubernetes.io/storage-provisioner: ebs.csi.aws.com
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode:    Block
Used By:       <none>
Events:
  Type    Reason                Age                    From                         Message
  ----    ------                ----                   ----                         -------
  Normal  ExternalProvisioning  118s (x26 over 7m52s)  persistentvolume-controller  waiting for a volume to be created, either by external provisioner "ebs.csi.aws.com" or manually created by system administrator

Expected Result
pvc should be bound, this output is from another cluster where no upgrades were done:
kubectl describe pvc scjo-test --context k8s-bo-prod-default -n operations
Name:          scjo-test
Namespace:     operations
StorageClass:  aws-ebs-gp2
Status:        Bound
Volume:        pvc-152904e0-71d7-45ea-86f7-4df1a1b38c78
Labels:        <none>
Annotations:   pv.kubernetes.io/bind-completed: yes
               pv.kubernetes.io/bound-by-controller: yes
               volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/aws-ebs
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      10Gi
Access Modes:  RWO
VolumeMode:    Block
Used By:       <none>
Events:
  Type    Reason                 Age   From                         Message
  ----    ------                 ----  ----                         -------
  Normal  ProvisioningSucceeded  20s   persistentvolume-controller  Successfully provisioned volume pvc-152904e0-71d7-45ea-86f7-4df1a1b38c78 using kubernetes.io/aws-ebs

Additional info
No change was done on the storage classes and default storage class is gp2. There is also one for gp3 and io1.
I found nothing related in the release notes.
It seems that the only solution is to install the csi driver https://github.com/kubernetes-sigs/aws-ebs-csi-driver
Still, based on the information in https://ranchermanager.docs.rancher.com/v2.6/how-to-guides/new-user-guides/manage-clusters/create-kubernetes-persistent-storage/manage-persistent-storage/dynamically-provision-new-storage#docusaurus_skipToContent_fallback the aws-ebs plugin is still available in rancher, so my use case should work also without csi driver.

Just for info: After installation of https://github.com/kubernetes-sigs/aws-ebs-csi-driver it works again.
Still I wonder why the Rancher release notes don't mention this change.


Try It Out - Working with Sparse Data

System Information (please complete the following information):

Model Builder Version: 16.0.1910.901
Visual Studio Version: VS 2017 15.9.16

When the file contains sparse/missing data, not all values in the Try your model are filled in. Therefore, the model can't really be tried.

Thanks for filing this issue!

@luisquintanilla  can I have the dataset you used to reproduce the bug ?

The dataset can be downloaded from the following link

Let's look at the first 10 and see if there is a "best" row- one the has all the column filled out or most columns filled out. If not default to first row.
Update text to say using row 1 or row 7, etc..

Still get this error
Maybe we need to improve error msg here, by telling user which field/input string is missing/in wrong format

Yes, we should work on data validation

We should allow user not fill all fields in try it out, at least AutoMLService supports that (it will just fill the empty field with default value)

How we decided that  default value?

Just null should be fine. Let me double check

I can fix that in AutoMLService, it seems to be a bug in that. No worries


added basic activation key logger

The idea here is to provide a logger which can be used for composing loggers via Logger.With in order to filter/activate logging based on certain keys in the keyVals provided to Logger.Log or Logger.LogCtx. E.g. we can use this for improving logging in command line tools. The logger implemented here provides a general primitive any command line tool can just use and expose via its own flags. That way for instance opsctl can provide flags like --log-level=debug and --verbosity=5. The corresponding go code to emit logs would then look like this.
logger.Log("message", "...")
logger.Log("message", "...", "arbitrary activation key", "arbitrary activation value")
logger.Log("message", "...", "level", "debug")
logger.Log("message", "...", "verbosity", 5)
logger.Log("message", "...", "level", "error", "verbosity", 2)

I fixed the test descriptions and added some godoc. I go with this.


How to know the protoc version in grpcio-tools(grpc python  tool)

PLEASE DO NOT POST A QUESTION HERE.
This form is for bug reports and feature requests ONLY!
For general questions and troubleshooting, please ask/look for answers at StackOverflow, with "grpc" tag: https://stackoverflow.com/questions/tagged/grpc
For questions that specifically need to be answered by gRPC team members, please ask/look for answers at grpc.io mailing list: https://groups.google.com/forum/#!forum/grpc-io
This issue will be closed down once seen by the repo managers.

why this question closed?

This is a good question and an issue I am running into as well.


X axis and Y axis MeasureTicks does not take tick rotation into account cutting off X axis tick labels and leaving additional space for Y axis tick labels.

Issue:
When calculating the size of the panel for the axis, the MeasureTicks function does not account for rotation for custom tick labels.  This causes X axis tick labels to be cut off because the panel is not large enough in height. The Y axis width is wider than it needs to be for rotated custom tick labels.
With axis.TickLabelStyle.Rotation = 0 for all axes.
Panel sizing is correct for both X and Y axis, though X axis labels overlap.

With axis.TickLabelStyle.Rotation = 90 for all axes.
Panel sizing is incorrect for both X and Y axis. Labels are cut off on the X axis and additional white space is visible on the Y axis.

ScottPlot Version:
ScottPlot.Avalonia version 5.0.21
ScottPlot version 5.0.21
Code Sample: See http://scottplot.net/faq/repro/ for tips about creating reproducible code samples
This is how I am setting the ticks on the axis.
            // create a manual tick generator and add ticks
            ScottPlot.TickGenerators.NumericManual ticks = new();

            // add major ticks with their labels
            foreach (var kvp in results.Labels)
            {
                ticks.AddMajor(kvp.Value, kvp.Key);
            }

            // tell the axis to use the custom tick genrator
            axis.TickGenerator = ticks;

            // rotate the tick marks
            axis.TickLabelStyle.Rotation = 90;
            axis.TickLabelStyle.OffsetY = 0;
            axis.TickLabelStyle.Alignment = Alignment.MiddleLeft;

In XAxisBase.MeasureTicks only the height of the label is considered without regard for rotation.
    private float MeasureTicks()
    {
        using SKPaint paint = new();
        TickLabelStyle.ApplyToPaint(paint);

        float largestTickHeight = 0;

        foreach (Tick tick in TickGenerator.Ticks)
        {
            PixelSize tickLabelSize = Drawing.MeasureString(tick.Label, paint);
            largestTickHeight = Math.Max(largestTickHeight, tickLabelSize.Height + 10);
        }

        return largestTickHeight;
    }

I worked around this for the X axis by setting the minimal panel height based on the XAxisBase.Measure function.
            using SKPaint paint = new();
            axis.TickLabelStyle.ApplyToPaint(paint);

            float largestTickHeight = 0;

            double degrees = axis.TickLabelStyle.Rotation;
            double angle = Math.PI * degrees / 180.0;
            float sinRotation = (float)Math.Abs(Math.Sin(angle));
            float cosRotation = (float)Math.Abs(Math.Cos(angle));

            foreach (Tick tick in axis.TickGenerator.Ticks)
            {
                ScottPlot.PixelSize tickLabelSize = Drawing.MeasureString(tick.Label, paint);
                var rotatedTickLabelHeight = tickLabelSize.Width * sinRotation;
                var rotatedTickLabelWidth = tickLabelSize.Height * cosRotation;
                var rotatedTickHeight = rotatedTickLabelHeight + rotatedTickLabelWidth;
                largestTickHeight = Math.Max(largestTickHeight, rotatedTickHeight + 10);
            }

The YAxisBase.MeasureTicks function only using tickLabelSize.Width and not using the rotation.
There may be a better way to calculate the tick label width and height, but this is what I did.

A new recipe was added to show how to deal with this.
https://github.com/ScottPlot/ScottPlot/issues/3474


Cannot be installed alongside mono

The executable /usr/bin/resgen tend to be used by both dotnet and mono-devel package in ubuntu. So it is unable to install dotnet if you have mono already installed.
Maybe consider using another name for it, like dotnet-resgen, or to utilize the update-alternative command in ubuntu to provide different resgen as user configured.

See https://github.com/dotnet/cli/issues/313

@akoeplinger Great, thanks.

please close the issue if it's done


commit msg #3286

Title and Issue number

Archery Game #3286
Close #3286

Checklist:

[X] I have mentioned the issue number in my Pull Request.
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have created a helpful and easy to understand README.md

pls check @TusharKesarwani


Scrolling malformed when image's width bigger then viewport's width

To reproduce:

Get images like 600px wide
Resize window to 400px wide
Carousel now scrolls images with not the image size, but the window size. This leads to displaying partial images on the screen.

Update:
Problem magically disappears when you resize window a bit. So, probably refresh() fixes all.


Calculate the points for each player in the lobby after the final round's voting

https://github.com/sopra-fs23-group-15/envisage-server/commit/179647bf2748a25297e1b58f1c00688fcd02edec


[FLINK-7327] [futures] Replace Flink's future with Java 8's CompletableFuture in StreamRecordQueueEntry

What is the purpose of the change
Replace Flink's future with Java 8's CompletableFuture in StreamRecordQueueEntry.
This PR is based on #4429.
Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)

Documentation

Does this pull request introduce a new feature? (no)

Thanks for your review @zentol. Travis passed locally https://travis-ci.org/tillrohrmann/flink/builds/259492450. Merging this PR.


Expand Color Palette

This may not be possible with sprig hardware, but adding different shades of already integrated colors would be very useful for things such as shading and details.

I've been looking at other color palettes actually. Unfortunately changing them would adjust how people's games look but we could try to match the general colors of the current palette with a more carefully designed one.
Here are a few I was studying for inspiration:
https://androidarts.com/palette/16pal.htm
https://www.getty.edu/research/exhibitions_events/exhibitions/bauhaus/new_artist/form_color/color/
https://yeun.github.io/open-color/#gray
https://pico-8.fandom.com/wiki/Palette

What colors would you add?

I'm not sure what colors I would add, but a question: are more than 16 colors possible?

It's possible yes. We limit the colors as a design constraint but technically the limit is the number of characters.

How many total colors would be possible?

I made a pretty similar one that could preserve old art if the colors were put correctly
https://Sprig-Color-Scheme.leonardmac.repl.co.

The colors in hex are:
#000000
#555555
#aaaaaa
#FFFFFF
#800000
#C00000
#FF0000
#008000
#00C000
#00FF00
#000080
#0000C0
#0000FF
#808000
#C0C000
#FFFF00
#008080
#00C0C0
#00FFFF
#800080
#C000C0
#FF00FF

How did you choose these? Are they just evenly spaced?

I got the half and three quarters brightness versions of all the original colors. I also changed the lighter gray to be a bit brighter.

I do like the original. It's a nice amount of pure colors that can be used for simple art. My additions would probably just be used for shading.

Do you think you could have up to 36, letters and numbers?
I'm trying to make a new palette that is more diverse.

@Omay238 I suggest adding these colors:

Is there a technical constraint preventing us from supporting all colors?I know there is a vibrant community of people who love pixel art - especially middle schoolers, and I’d love for pixel art to be a “handle” for them to grasp to get deeper into their Sprig games. See https://www.pixilart.com/ for an example.For that to happen, I think we would need to be able to support arbitrary colors.On Sep 14, 2022, at 18:10, Lucas @.***> wrote:
@Omay238 I suggest adding these colors:
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

I don't know how hard this would be, but a potential solution is have some sort of function (like setPalette()) to change the palette to some custom one. From what I understand, the colors used can be changed, using sprig hardware, but it would just be a matter of software.

We can't do arbitrary colors because there needs to be a map to characters. That's good thinking Leonard there actually is a setPalette function which Ced and I discussed documenting. It should just work though I'm forgetting where we landed on exposing it. I do think the limited palette helps people with creativity (limitations effect in this way being a theme of the whole system).

I've consistently settled on less than 16 colors being preferable. I'd like to take a closer look at the palettes you're (@Omay238) suggesting though. It's possible to have 36 yes though that many would involve changes to the interface I think.

@leomcelroy I agree that the reduced palette helps people with creativity, but at least brown should be added, because without brown you can't make a tree

I tested a new color palette, which just adds darker shades and browns, which you can see doesn't really make it easier to make art, but the abilities are just greatly expanded.
It also doesn't require extra code for making it look good. I think that was already changed with my issue about lots of sprites.

I can make a PR with the updated palette.

@Omay238 , just a small formatting error, in the formatting
from the current color palette, has 6 colors per row, while yours has only 5

On the formatting, I think that's just the flex box.
@Omay238 could you trim it down to 16 colors? I like what you're doing but it feels it's getting away from the minimalism.

I feel like this one allows more detail than the original, and it is 16 different colors. How do you feel about it?

Keep at least 1 shade of brown, without brown you can't make a tree or woods, it's a big barrier

@Omay238 Thanks so much for pushing this issue! I've been really wanting to make the palette nicer and spent a couple hours looking at your suggested palettes and the feedback others gave this week. @kognise and I integrated that into the editor today and you can see the new palette on this branch.

Good color palette, doesn't lose Sprig simplicity

I agree. It looks pretty good. Anyways, I'll close this issue now.


Add option for max results returned from execution

Added --cheapest option to limit to cheapest flight, else returns multiple


"orgFiles" User Setting Not Working

The user setting orgFiles does not seem to be working.
See attached video
https://user-images.githubusercontent.com/1378483/110151350-a8055480-7de0-11eb-8414-61aa0ede157d.mp4
I tried with a mapped drive too just incase it was the UNC path, and I also tried with escaped backslashes.
Also - I must say fantastic progress lately!

Heh... how can you tell that you aren't using a feature...
    # TODO: Add back files entry
    #self.orgFiles = sets.Get("orgFiles",None)

Looks like I removed the orgFiles entry a while back. I will fix that. :)

I am exceptionally glad you are finding the work I am doing beneficial

This will be fixed in 1.1.21

1.1.21 is pushed, it has the fix, some really basic support for gnu plot with tables and some BOM handling for utf-16 org files.
Hope this helps. I will look at your other issue and think about what we might do there.


mpibind triggers hwloc assertion error in hwloc_topology_restrict(3)

After the merge of #31, mpibind now triggers an assertion failure in hwloc_topology_restrict(3) under some circumstances.
For example, in the following scenario we have a Flux instance running at depth=2 with assigned OS cores 44-47 (and associated threads). Things seem to work as expected until we try to use all the cores:
$ flux mini run -o initrc=mpibind-flux.lua -o mpibind=verbose:2 -n1 --label-io grep Cpus_allowed_list /proc/self/status
0.060s: flux-shell[0]: mpibind:
mpibind: task  0 nths  2 gpus 6,7,5,4 cpus 47,95
0: Cpus_allowed_list:	47,95
$ flux mini run -o initrc=mpibind-flux.lua -o mpibind=verbose:2 -n2 --label-io grep Cpus_allowed_list /proc/self/status
0.053s: flux-shell[0]: mpibind:
mpibind: task  0 nths  1 gpus 6,7 cpus 46
mpibind: task  1 nths  1 gpus 5,4 cpus 47
1: Cpus_allowed_list:	47
0: Cpus_allowed_list:	46
$ flux mini run -o initrc=mpibind-flux.lua -o mpibind=verbose:2 -n3 --label-io grep Cpus_allowed_list /proc/self/status
0.054s: flux-shell[0]: mpibind:
mpibind: task  0 nths  1 gpus 6,7 cpus 45
mpibind: task  1 nths  1 gpus 5 cpus 46
mpibind: task  2 nths  1 gpus 4 cpus 47
2: Cpus_allowed_list:	47
1: Cpus_allowed_list:	46
0: Cpus_allowed_list:	45
$ flux mini run -o initrc=mpibind-flux.lua -o mpibind=verbose:2 -n4 --label-io grep Cpus_allowed_list /proc/self/status
0.053s: flux-shell[0]: stderr: flux-shell: topology.c:4186: restrict_object_by_cpuset: Assertion `!hwloc_bitmap_intersects(obj->complete_nodeset, droppednodeset) || hwloc_bitmap_iszero(obj->complete_cpuset)' failed.
flux-job: task(s) Aborted

This assertion failure is triggered by hwloc_topology_restrict(3) called in the mpibind shell plugin to restrict the topology cpuset loaded from MPIBIND_TOPOFILE to the current cpu affinity mask of the process.
If we unset MPIBIND_TOPOFILE in the environment such that the mpibind shell plugin skips the hwloc_topology_restrict(3) call (since the topology is already restricted when it is fetched from the job shell), then we hit the assertion failure in the hwloc_topology_restrict in mpibind.c here instead:
https://github.com/LLNL/mpibind/blob/752dc6418d5d3f70c14d8ad7fe93b2a520860e62/src/mpibind.c#L647
It is unclear at this point why the assertion is being triggered. Since this is an assert and not an error from libhwloc, this could be a libhwloc bug, however, we should be able to figure out some way to work around it.

Not getting much of anywhere yet, but adding a bunch of debug to the failing case isn't revealing any clear problem with the topology or cpusets that the mpibind plugin is using. Maybe next I'll make a standalone reproducer and then open an hwloc or Red Hat issue for assistance.
$ flux mini run -o verbose=2 -o initrc=mpibind-flux.lua -o mpibind=verbose -n2 -c2 --label-io grep Cpus_allowed_list /proc/self/status
0.053s: flux-shell[0]: stderr: flux given cores: 0-3
0.053s: flux-shell[0]: stderr: 	derived pus: 44-47,92-95
0.053s: flux-shell[0]: stderr: flux given gpus:
0.053s: flux-shell[0]: stderr: total #cores: 4
0.054s: flux-shell[0]: stderr: total #pus: 8
0.054s: flux-shell[0]: stderr: Depth 0: Machine[1]
0.054s: flux-shell[0]: stderr: Depth 1: Package[2]
0.054s: flux-shell[0]: stderr: Depth 2: L3Cache[2]
0.054s: flux-shell[0]: stderr: Depth 3: Core[4]
0.054s: flux-shell[0]: stderr: Depth 4: PU[8]
0.054s: flux-shell[0]: stderr: Core[0]: os=26 cpuset=44,92 nodeset=1 arity=2 mema=0 ioa=0
0.054s: flux-shell[0]: stderr: Core[1]: os=28 cpuset=45,93 nodeset=1 arity=2 mema=0 ioa=0
0.054s: flux-shell[0]: stderr: Core[2]: os=29 cpuset=46,94 nodeset=1 arity=2 mema=0 ioa=0
0.054s: flux-shell[0]: stderr: Core[3]: os=30 cpuset=47,95 nodeset=1 arity=2 mema=0 ioa=0
0.054s: flux-shell[0]: stderr: Package[0]: os=1 cpuset=44-47,92-95 nodeset=1 arity=2 mema=1 ioa=12
0.054s: flux-shell[0]: stderr: Restricting topology: 44-47,92-95 with flags 0
0.054s: flux-shell[0]: stderr: flux-shell: topology.c:4186: restrict_object_by_cpuset: Assertion `!hwloc_bitmap_intersects(obj->complete_nodeset, droppednodeset) || hwloc_bitmap_iszero(obj->complete_cpuset)' failed.

@eleon, perhaps another hint you might understand but I do not. If I run the reproducer with master set, then I get a different error:
Note in the output below:
mpibind: task  0 nths  4 gpus 6,7,5,4,2,3,1,0 cpus 44-47
mpibind: task  1 nths  1 gpus 2,3,1,0 cpus

Task 0 is getting all 4 cpus and task 1 is getting an empty cpuset (thus the error). Any clue as to why that might be happening?
$ flux mini run -o verbose=2 -o initrc=mpibind-flux.lua -o mpibind=verbose,master -n2 -c2 --label-io grep Cpus_allowed_list /proc/self/status
0.044s: flux-shell[0]: DEBUG: Loading mpibind-flux.lua
0.044s: flux-shell[0]: TRACE: Sucessfully loaded flux.shell module
0.044s: flux-shell[0]: TRACE: trying to load mpibind-flux.lua
0.045s: flux-shell[0]: DEBUG: mpibind: option = verbose
0.045s: flux-shell[0]: DEBUG: mpibind: option = master
0.045s: flux-shell[0]: DEBUG: mpibind: disabling cpu-affinity
0.045s: flux-shell[0]: DEBUG: mpibind: disabling gpu-affinity
0.046s: flux-shell[0]: DEBUG: output: batch timeout = 0.500s
0.046s: flux-shell[0]: DEBUG: cpu-affinity: disabling affinity due to cpu-affinity=off
0.046s: flux-shell[0]: DEBUG: gpu-affinity: disabling affinity due to gpu-affinity=off
0.052s: flux-shell[0]: DEBUG: mpibind: loaded topology from /usr/tce/packages/mpibind/lstopo.corona.xml
0.053s: flux-shell[0]: DEBUG: mpibind: flux given cores: 0-3
0.053s: flux-shell[0]: DEBUG: mpibind: 	derived pus: 44-47,92-95
0.053s: flux-shell[0]: DEBUG: mpibind: flux given gpus:
0.053s: flux-shell[0]: DEBUG: mpibind: total #cores: 4
0.053s: flux-shell[0]: DEBUG: mpibind: total #pus: 8
0.053s: flux-shell[0]: DEBUG: mpibind: user opts: ntasks=2 nthreads=0 restrict=44-47,92-95 greedy=-1 smt=-1 gpu_optim=-1 verbose=1 master=1 corespec_first=0 corespec_numa=0 xml=/usr/tce/packages/mpibind/lstopo.corona.xml
0.053s: flux-shell[0]: DEBUG: mpibind: task  0: cpus 44-47
0.053s: flux-shell[0]: DEBUG: mpibind: task  1: cpus
0.053s: flux-shell[0]: mpibind:
mpibind: task  0 nths  4 gpus 6,7,5,4,2,3,1,0 cpus 44-47
mpibind: task  1 nths  1 gpus 2,3,1,0 cpus
0.053s: flux-shell[0]: DEBUG: 0: task_count=2 slot_count=2 cores_per_slot=2 slots_per_node=-1
0.053s: flux-shell[0]: DEBUG: 0: tasks [0-1] on cores 0-3
0.054s: flux-shell[0]: DEBUG: mpibind: task  0: setting OMP_NUM_THREADS=4
0.054s: flux-shell[0]: DEBUG: mpibind: task  0: setting OMP_PLACES=threads
0.054s: flux-shell[0]: DEBUG: mpibind: task  0: setting OMP_PROC_BIND=spread
0.054s: flux-shell[0]: DEBUG: mpibind: task  0: setting ROCR_VISIBLE_DEVICES=6,7,5,4,2,3,1,0
0.056s: flux-shell[0]: DEBUG: mpibind: task  1: setting OMP_NUM_THREADS=1
0.056s: flux-shell[0]: DEBUG: mpibind: task  1: setting OMP_PLACES=threads
0.056s: flux-shell[0]: DEBUG: mpibind: task  1: setting OMP_PROC_BIND=spread
0.056s: flux-shell[0]: DEBUG: mpibind: task  1: setting ROCR_VISIBLE_DEVICES=2,3,1,0
1: hwloc_set_cpubind: Invalid argument
0: Cpus_allowed_list:	44-47
1: flux-shell: log failure: failed to apply mpibind affinity
1: flux-shell: failed to raise job exception: (null)
0.059s: flux-shell[0]: TRACE: pmi: 1: C: pmi EOF
0.059s: flux-shell[0]: TRACE: pmi: 0: C: pmi EOF
0.059s: flux-shell[0]: DEBUG: task 0 complete status=0
0.059s: flux-shell[0]: DEBUG: task 1 complete status=1
0.070s: flux-shell[0]: DEBUG: exit 1
flux-job: task(s) exited with exit code 1

I am able to reproduce this issue with the src/main standalone test program, with one modification: addition of the following topology flags to automatically restrict the topology to the current cpu binding:
diff --git a/src/mpibind.c b/src/mpibind.c
index 57f59ae..45af995 100644
--- a/src/mpibind.c
+++ b/src/mpibind.c
@@ -601,6 +601,9 @@ int mpibind(mpibind_t *hdl)
     /* Include important components like PCI devices */
     if ( mpibind_filter_topology(hdl->topo) != 0 )
       fprintf(stderr, "Warn: Could not filter the topology\n");
+    hwloc_topology_set_flags(hdl->topo,
+                             HWLOC_TOPOLOGY_FLAG_RESTRICT_TO_CPUBINDING |
+                             HWLOC_TOPOLOGY_FLAG_IS_THISSYSTEM);
     /* Detect the topology */
     hwloc_topology_load(hdl->topo);

With this patch applied (and VERBOSE set to 1) I see:
$ taskset -c 44-47 src/main 4
Depth 0: Machine[1]
Depth 1: Package[2]
Depth 2: Group[8]
Depth 3: L3Cache[2]
Depth 4: PU[4]
Group0[0]: os=-1 cpuset=44-47 nodeset=7 arity=2 mema=1 ioa=1
  PCI: busid=0000:71:00.0 link=15.75GB/s class=0x207 PCIDevice=(null)
    OpenFabrics: name=mlx5_3 NodeGUID=506b:4b03:00da:68f4
Group0[1]: os=-1 cpuset= nodeset=6 arity=0 mema=1 ioa=1
  PCI: busid=0000:61:00.0 link=15.75GB/s class=0x207 PCIDevice=(null)
    OpenFabrics: name=mlx5_2 NodeGUID=9803:9b03:0067:af0c
Group0[5]: os=-1 cpuset= nodeset=2 arity=0 mema=1 ioa=2
    OpenFabrics: name=mlx5_bond_0 NodeGUID=043f:7203:00ae:a32a
Effective I/O devices: 3
[0]: busid=0000:71:00.0 smi=-1 visdevs=-1 vendor=0x15b3 name=mlx5_3
	uuid=506b:4b03:00da:68f4 ancestor=0x275
[1]: busid=0000:61:00.0 smi=-1 visdevs=-1 vendor=0x15b3 name=mlx5_2
	uuid=9803:9b03:0067:af0c ancestor=0x274
[2]: busid=0000:21:00.0 smi=-1 visdevs=-1 vendor=0x15b3 name=mlx5_bond_0
	uuid=043f:7203:00ae:a32a ancestor=0x270
Input: tasks 4 threads 0 greedy 1 smt 0
GPUs: number 0 optim 0 vendor 0xffffffff
numas_per_task: [0]=2 [1]=2 [2]=2 [3]=2
mpibind: task  0 nths  4 gpus  cpus 44-47
mpibind: task  1 nths  0 gpus  cpus
mpibind: task  2 nths  0 gpus  cpus
mpibind: task  3 nths  0 gpus  cpus

There are 0 GPUs
Environment variables:
	OMP_NUM_THREADS
	OMP_PLACES
	OMP_PROC_BIND
	VISIBLE_DEVICES
VISIBLE_DEVICES:

The output here makes me wonder if the problem is because we are restricting the topology based on the cpus 44-47, which will leave some NUMA domains with GPUs, but empty cpusets. The mpbind distribution algorithm is still attempting to distribute tasks among all NUMA domains, though, so we end up with some tasks with empty cpusets?

This is very helpful, @grondo Thank you!

I might have found the problem: When restricting the topology with hwloc_topology_restrict, one needs to pass the flag HWLOC_RESTRICT_FLAG_REMOVE_CPULESS to avoid having hwloc objects that would normally have CPUs without CPUs, e.g., CPU-less NUMA domains. This is how mpibind restricts the topology in mpibind.c.
I added this flag to hwloc_topology_restrict in plugin.c and got the following result:
leon@corona217:affinity$ flux mini alloc -n1 -c4 sh -c 'grep Cpus_allowed_list /proc/self/status; flux mini run -n2 -c2 -o initrc=../flux/mpibind-flux-test.lua  grep Cpus_allowed_list /proc/self/status'
Cpus_allowed_list:	44-47,92-95
Cpus_allowed_list:	46-47
Cpus_allowed_list:	44-45
[detached: session exiting]

Would you mind testing it on your end, @grondo ?
And, thanks for all the great detective work!

Thanks @eleon! That works unless MPIBIND_TOPOFILE is not set in the environment of the job. Then, we see the same assertion failure as before, I suppose because we're using the topology from Flux which has cpu-less nodes:
$ flux mini run -o verbose=2 --env=-MPIBIND_TOPOFILE -o initrc=mpibind-flux.lua -n2 -c2 --label-io grep Cpus_allowed_list /proc/self/status
0.053s: flux-shell[0]: stderr: flux-shell: topology.c:4186: restrict_object_by_cpuset: Assertion `!hwloc_bitmap_intersects(obj->complete_nodeset, droppednodeset) || hwloc_bitmap_iszero(obj->complete_cpuset)' failed.
flux-job: task(s) Aborted

I was able to make a standalone reproducer for this issue, using the XML file grabbed from the Flux instance. I am guessing we're hitting an hwloc bug here, since it seems like this should work without an assertion failure:
(expects the XML in flux/topo.xml)
Note the issue reproduces with the specific cpuset 44-47,92-95 for this XML. Either 92-95 or 44-47 seem to work. :shrug:
$ taskset -c 44-47,92-95 ./test
test: topology.c:4186: restrict_object_by_cpuset: Assertion `!hwloc_bitmap_intersects(obj->complete_nodeset, droppednodeset) || hwloc_bitmap_iszero(obj->complete_cpuset)' failed.

Great work, @grondo ! Do you want me to pass the reproducer on to the hwloc team? Or, how would you like to proceed?

@eleon I will start by opening an issue with RH. If you have a contact with the hwloc team, it wouldn't hurt to ask them as well since they may know what we're doing wrong here.

@grondo I don't see the topo.xml file.

Fixed. I tried to collapse the XML in a <details> section, but apparently that did not work.

This one may be better going direct to upstream. You guys are running hwloc-2.8.0-1.t4.x86_64 while RH is way way back hwloc-2.2.0-3.el8.x86_64.
Once I find the source code for that version, I'll check if the source is substantially the same between that version and the version that RH ships. If they are the same we could get it fixed in the version that we ship and or we can ask for hwloc to be rebased to the version that you are running. However, this late in RHEL8's lifecycle it is getting hard to justify that kind of change and so I would need a lot of justification to convince PM that it is a good idea and that it won't break API or ABI and why we need the new version.

@eleon, would you like me to open a issue at https://github.com/open-mpi/hwloc/issues?

I took a look at it briefly. Without debuginfo and debugsource on the machines, really getting at the crux of the problem is hard. If I were the hwloc developers, at the very least I would request a backtrace with the debuginfo installed.
One thing that jumped out to me was that the line that was asserting had to do with nodeset and an empty cpu mask. That suggested to me that we were in the recursive phase of deleting nodes after removing the CPUs, the thing was I didn't see this recursion in the backtrace.
(gdb) bt
#0  0x0000155554d40aff in raise () from /lib64/libc.so.6
#1  0x0000155554d13ea5 in abort () from /lib64/libc.so.6
#2  0x0000155554d13d79 in __assert_fail_base.cold.0 () from /lib64/libc.so.6
#3  0x0000155554d39456 in __assert_fail () from /lib64/libc.so.6
#4  0x00001555550c7c15 in restrict_object_by_cpuset () from /lib64/libhwloc.so.15
#5  0x00001555550c86d7 in hwloc_topology_restrict () from /lib64/libhwloc.so.15
#6  0x0000000000400b09 in topology_restrict (topo=0x6032a0, flags=1) at test.c:11
#7  0x0000000000400c04 in main (ac=1, av=0x7fffffffc748) at test.c:36
(gdb) quit

Ref: https://github.com/open-mpi/hwloc/issues/575

Thank you, @grondo ! I see you opened an issue on the hwloc repo. I will alert my INRIA colleague about it.
And, thank you, @woodard for jumping in.

Added the flag HWLOC_RESTRICT_FLAG_REMOVE_CPULESS to hwloc_topology_restrict in plugin.c via commit 4676952.

We still have the issue when MPIBIND_TOPOFILE is not set, but the source of the problem has been fixed in upstream hwloc. @grondo , should we close this issue?

Sounds good!


(add): Profile for Aayush Talreja

Description
Please include a summary of the changes and the related issue(s) this pull request addresses. Include any relevant context or background information.
Fixes: #[issue_number] (replace with the issue number, if applicable)
Use [x] to represent a checked (ticked) box.✅
Use [ ] to represent an unchecked box.❌
Type of Change

[x] Profile Added
[ ] Project Added
[ ] Bug fix
[ ] New feature
[ ] Documentation update
[ ] Other (please specify):

How to Test
Provide a brief description of how to test your changes. Include steps, commands, or screenshots if necessary.

Step 1
Step 2
Step 3

Checklist

[x] I have performed a self-review of my code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation (if applicable).
[x] My changes generate no new warnings.
[ ] I have added tests to cover my changes (if applicable).
[x] All new and existing tests pass.

Additional Notes
Please add any other information that is relevant to this pull request, including potential risks, alternative solutions considered, or future improvements.

You are not following my account.

Done.

@Gyanthakur  please merge it.


[Edge Bridge - Android] Test to verify new data format is being used after updating to version to Android v3.0.0

Task Description
After updating Edge Bridge extension to next major Android version 3.0.0, run test app on Android to verify the new data format is being used when sending requests to the Adobe Edge Network.
See internal wiki "Edge Bridge to Analytics data conversion" for new data mapping format.
See Epic MOB-20404

Tested on<EMAIL_ADDRESS>the new format is being used.


Add GStorage to Backend deployment

Right now the SQLite file is created in PWD, we need to allow for a custom path. Same for where we store SSH Keys.

Fixed in #12


feature/BE-41

As stated in #384, this PR involves addition of an endpoint that returns exhibitions of a currently logged-in user. This is a simple addition to the already existing APIs related to exhibitions.

Posters are now not considered as art items. Thanks for the update, merging.


Limit requests to steamgifts

Is your enhancement request related to a problem? Please describe.
Starting yesterday some people (including myself) are getting 429 error from steamgifts for too many requests while using esgst see here or here.
Describe the solution you'd like.
Limit the amount of requests ESGST sends to SG
Additional Context
Affected features seems to be bookmarks, syncing1, syncing2 and decrypted giveaways.

On it.

CG posted the current limits https://www.steamgifts.com/discussion/yLOhv/rate-limiting-limits

@marlop352 Thanks for letting me know!
This is gonna be a bit tough, specially considering that so many features make a ton of requests. Giveaway Extractor, for example, would easily reach the hourly limit in large trains, although I don't think those are super common.
I think at first I'll just limit all requests to SteamGifts, because that's a simple solution, and then I can slowly deal with each problematic feature.

Does this also affect your server e.g. for fetching all the bundled games from sg? And could you provide a list of problematic features so that we can turn them off for now?

It does, but it shouldn't be an issue, because there are 653 bundle pages, so I can adapt it to make 120 per minute and it should be good.
Unfortunately there are so many features that making a list would take a while. I'm thinking of adding some stats to the settings menu that show you how many requests to SteamGifts have been made and to what pages. This should help identify which features are making those.

I've limited SteamGifts requests to 1 per second. This ensures that, if continuous requests are being made, a maximum of 60 requests will be made per minute, which is way below the 120 limit and leaves 60 requests for browsing SG.
If this turns out to be too slow, I can think about lowering it.

Please speed it up quite a bit more. Endless scrolling is now a pain to use even on the group page that's only about 8 pages long for me (assuming this is what causes the issue).

@Eiion have you checked what requests you see in the SteamGifts Request Log (ESGST drop-down menu between Donations and Current Version). Also are you talking about https://www.steamgifts.com/account/steam/groups or https://www.steamgifts.com/giveaways/search?type=group when you say group page? Endless scrolling works fine for me so it is probably some other feature making a lot of requests which slows down everything.

@at46 I was talking about https://www.steamgifts.com/giveaways/search?type=group
I checked that log just now - I hadn't known of it before. Going to the won page (that shows 50 GAs at once) it takes like forever. And then the page got stuck with the last three entries and the log showing this:
https://www.steamgifts.com/giveaway/xVbZM/men-of-war-assault-squad-2-gold-edition/winners/search?page=1 (1)
https://www.steamgifts.com/giveaways/won/search?page=3 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=40 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=39 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=38 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=37 (1)
https://www.steamgifts.com/giveaway/CBUps/tragedy-of-prince-rupert/winners/search?page=1 (1)
https://www.steamgifts.com/giveaway/vHgKg/die-with-glory-point-and-click-adventure-game (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=36 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=35 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=34 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=33 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=32 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=31 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=30 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=29 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=28 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=27 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=26 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=25 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=24 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=23 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=22 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=21 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=20 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=19 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=18 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=17 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=16 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=15 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=14 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=13 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=12 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=11 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=10 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=9 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=8 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=7 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=6 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=5 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=4 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=3 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=2 (1)
https://www.steamgifts.com/giveaway/L6TJy/super-squash/winners/search?page=1 (1)
https://www.steamgifts.com/giveaway/H0tSv/ctu-counter-terrorism-unit/winners/search?page=1 (1)
https://www.steamgifts.com/giveaway/XyHFw/the-walking-dead-season-two/winners/search?page=1 (1)

No idea what that's all about... why ESGST is checking for the winners of that giveaway when I was the winner. That giveaway has 1000 winners - but how's that relevant for my Won page.
Other than that it seems like just simple giveaway links - nothing else. But again, with 50 GAs on the won page that's at least 50 seconds for just that one page. What took seconds or 1-2 minutes before to get done now takes 15 minutes.

@Eiion ESGST checking all winner of that giveaway seems to be a bug and should be reported in #1660. Besides that as far as I've tested it giveaway groups and for the won page also Created/Entered/Won Giveaway Details are slowing down the page loading a lot.


Game wont start, some COFH/API classes are not found [refinedstorage-0.8.12.jar]

Crashlog:
http://pastebin.com/j7vuTSQh
I just downloaded the mod and installed it.  Does it depend on some core mod that I am missing?

Some other mod is messing with the CoFH API...

But as soon as I remove refinedstorage,  and change nothing else, the game starts up fine.
It appears to me that refinedstorage/item/ItemWirelessGrid uses cofh/api or something? Not sure, ive never used COFH,....
Regardless, i will do a new test later where refinedstorage is the only mod and nothing else is installed

That means nothing... that just means that other mods that you have installed don't use that specific feature / class from the CoFH API. If you'd install a mod that use ItemEnergyContainer, it'll crash as well.
Anyhow, I've been getting a lot of reports of people complaining about an unbundled ItemEnergyContainer, so I'll just remove usages of it and implement the interface (just so it won't crash because other mods do it wrong)

Sorry to bother you.
Yes you are correct, i did a fresh instance of forge with only this one mod installed and it works fine 100% not your code.
Thanks for the really quick response too.  You are doing good work.

For reference, I did find the other mod that was causing the problem: In the crash log there is a column of "UE" for unloaded error, or "UC" for non errors.
Since the mod " notenoughwands-1.9.4-1.3.5 " is the only other one that had a UE, i knew that was the problem .  And sure enough, i removed notenough wands and everything works great.  So TIL how to figure out which mods are conflicting.
Of course i dont expect you to fix this, i just wanted to document it in case anyone else runs into this or something similar

Good to hear you found the issue!


no javascript if single payment pointer in array

Previously when there was an array of payment pointer, it would always add a JavaScript function and select one according to the probabilistic revenue sharing function.
However, all of that can be skipped if there is only a single payment pointer in the array.
This modifies the function to add a check. If there is only 1 payment pointer in the function, just add it statically rather than the function to determine the only option available.
It also includes a test case to test the scenario described.

Some minor formatting changes are included which were performed by my editor.
I left them in since I plan to make a separate PR suggesting the use of EditorConfig anyway.

Hey @philnash! Any chance of these getting reviewed? ^-^'
Namely this PR, but I do have a 2nd one open too.

Sorry this slipped my mind. Merged and I'll look into a release too. Thanks!

This is released as version 0.2.1 :tada:


First bug fixed of #1630

Something's weird here: There's generated code right now where the parameter is absent already: https://github.com/simolus3/moor/blob/d12d8c6f4ac0974980270c7673c148a6c4ace121/drift/test/data/tables/custom_tables.g.dart#L1809-L1815
I haven't looked into this issue yet, but I'm not sure if that's the right fix since its not affecting all queries. I'll take a proper look later today.

Closing since it doesn't appear to be a reproducible issue.


Library not loaded: /usr/local/lib/libMagickCore-6.Q16.1.dylib (LoadError)

After following the OS X install instructions, I was getting the following error:
grant:Magic Console grant$ screengif --input live\ edit.mov --output live\ edit.gif
/Users/grant/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': dlopen(/Users/grant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/rmagick-2.15.4/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libMagickCore-6.Q16.1.dylib (LoadError)
  Referenced from: /Users/grant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/rmagick-2.15.4/RMagick2.bundle
  Reason: image not found - /Users/grant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/rmagick-2.15.4/RMagick2.bundle
    from /Users/grant/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/grant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rmagick-2.15.4/lib/rmagick_internal.rb:12:in `<top (required)>'
    from /Users/grant/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/grant/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/grant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rmagick-2.15.4/lib/RMagick.rb:1:in `<top (required)>'
    from /Users/grant/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/grant/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/grant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/screengif-0.0.3/lib/screengif.rb:3:in `<top (required)>'
    from /Users/grant/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/grant/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/grant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/screengif-0.0.3/bin/screengif:8:in `<top (required)>'
    from /Users/grant/.rbenv/versions/2.2.2/bin/screengif:23:in `load'
    from /Users/grant/.rbenv/versions/2.2.2/bin/screengif:23:in `<main>'

I had previous versions of imagemagick and ffmpeg installed (and possibly rmagick). I found this solution on Stack Overflow that fixed the problem:
http://stackoverflow.com/a/19040933/2217533

Thanks for sharing this here, I'll link to this issue from the README. :)

I ran into the same issue, but it was complaining about the /usr/local/lib/libmp3lame.0.dylib library instead.
screengif --input asdf.mov --output file.gif
dyld: Library not loaded: /usr/local/lib/libmp3lame.0.dylib
  Referenced from: /usr/local/bin/ffmpeg
  Reason: image not found
/Users/ethanmuller/.rvm/gems/ruby-2.0.0-p576/gems/rmagick-2.15.4/lib/rmagick_internal.rb:1605:in `from_blob': zero-length blob not permitted `' @ error/blob.c/BlobToImage/337 (Magick::ImageMagickError)
	from /Users/ethanmuller/.rvm/gems/ruby-2.0.0-p576/gems/rmagick-2.15.4/lib/rmagick_internal.rb:1605:in `block in from_blob'
	from /Users/ethanmuller/.rvm/gems/ruby-2.0.0-p576/gems/rmagick-2.15.4/lib/rmagick_internal.rb:1604:in `each'
	from /Users/ethanmuller/.rvm/gems/ruby-2.0.0-p576/gems/rmagick-2.15.4/lib/rmagick_internal.rb:1604:in `from_blob'
	from /Users/ethanmuller/.rvm/gems/ruby-2.0.0-p576/gems/screengif-0.0.3/lib/screengif.rb:74:in `start'
	from /Users/ethanmuller/.rvm/gems/ruby-2.0.0-p576/gems/screengif-0.0.3/bin/screengif:10:in `<top (required)>'
	from /Users/ethanmuller/.rvm/gems/ruby-2.0.0-p576/bin/screengif:23:in `load'
	from /Users/ethanmuller/.rvm/gems/ruby-2.0.0-p576/bin/screengif:23:in `<main>'
	from /Users/ethanmuller/.rvm/gems/ruby-2.0.0-p576/bin/ruby_executable_hooks:15:in `eval'
	from /Users/ethanmuller/.rvm/gems/ruby-2.0.0-p576/bin/ruby_executable_hooks:15:in `<main>'

The stackoverflow solution above worked for me as well. 😄

gem pristine rmagick helped me. thanks to https://github.com/mroth/lolcommits/issues/9#issuecomment-5153570

It works. Thanks

It works. Thanks.

Thanks. you save my time

It works!

Worked!

gem pristine rmagick helped me. thanks to lolcommits/lolcommits#9 (comment)

Worked so well!


soc: esp32c3: systimer: set clock time using rtc timestamp

During deep-sleep, RTC timer keeps counting, allowing SoC to keep track of time after reset.
This sets clock time during systimer init.
This is just a draft. We got to bring RTC to whole system and also support for all SoCs.
#61811

@rodrigopex @jagra26 Just a draft PR of what could be done to make gettimeofday() work as you intend.
I think we got to bring RTC in place as a proper system design.

Thanks @sylvioalves , worked fine


The InputBox component doesn't support Enter key when multiline is enabled

if you press enter in a multi-line text box, it will be trigger the default button of the dialog, in order to get Enter, now I have to use Shift+Enter

This is browser behavior. If you want enter to actual create a new line you have to use a textarea not an input box


Testing new synthesis notebook?

Unsure if we still need this notebook, it doesn't seem to be adding that much. The title seems misleading: it's actually demonstrating how SimpleMetamer works, which may be useful but belongs somewhere else, maybe as a basic explanation of how synthesis works? if not, can probably remove it (and `SimpleMetamer' as well?)
@kbonnen I believe you and I wrote this notebook, any thoughts?

It also appears to show a basic "here's how you would use torchvision's neural nets for synthesis", though that's also demonstrated in the eigendistortion notebook (and would be in #179 as well)

Kate agrees that this notebook seems like a sandbox that no one is using.

Excellent, removed in #208


French Book on R for sociology

What does this PR do?
Add resource(s)
For resources
Description
French Book on R for sociology
Why is this valuable (or not)?
Because it is free and exhaustive
How do we know it's really free?
CC by-nc-sa
For book lists, is it a book? For course lists, is it a course? etc.
Is is a book
Checklist:

[X] Read our contributing guidelines
[X] Search for duplicates.
[X] Include author(s) and platform where appropriate.
[X] Put lists  in alphabetical order, correct spacing.
[X] Add needed indications (PDF, access notes, under construction)

Followup

Check the output of Travis-CI for linter errors!

free-programming-books-lint / build > I don't know why.

free-programming-books-lint / build > I don't know why.

Nice

Nice


[9.18] List all members of a group or project including inherited members with optional user id filter

This introduced a major breaking change to the method signature. I will have to revert this PR.


⚠ BCR Bot has degraded performance

In 1637012, BCR Bot (https://bcr.alternativasinteligentes.com/BCRApi/web/chatbot) experienced degraded performance:

HTTP code: 200
Response time: 1291 ms

Resolved: BCR Bot performance has improved in 24378f1.


Hard to display code in Tab because the auto format screws the code written with in the component

By using
import {Tab, Tabs } from "nextra-theme-docs";
we could have Tab and Tabs but formatting written code inside the Tabs component causing format error
To reproduce:
---
date: 2022/7/29
description:
tag:
author:
---

import { Callout, Tab, Tabs } from "nextra-theme-docs";

<Callout type="error">
  A **callout** is a short piece of text intended to attract attention.
</Callout>

<Tabs items={['Non-Recursive']}>
  <Tab>
    ```python filename="main.py" copy showLineNumbers
def main():
    n = int(input(""))
    n = binary_strings(n)
    for i in n:
        print(i)
def binary_strings(n):
    if n == 0:
        return []
    if n == 1:
        return [[0], [1]]
    else:
        return [[0] + i for i in binary_strings(n-1)] + [[1] + i for i in binary_strings(n-1)]

main()

```
  </Tab>
</Tabs>

The above code would cause a problem in displaying spaces and code blocks.

prettier still doesn't support MDX2, there is nothing wrong with Nextra since prettier who broke your code
I suggest you disable prettifying *.mdx files


React Component for Column/Data Format

It would be useful to be able to use React Elements in the dataFormat prop.

Hi @aaronhayes
I dont understand what's problem about dataFormat, would you describe it detail or give some example? :)

sorry about that, it was a pretty vague issue.
in your example you pass a function which returns a string to dataFormat.
function priceFormatter(cell, row){   return '<i class="glyphicon glyphicon-usd"></i> ' + cell; }
Instead of returning a string I want to return a React Element.
return <ReactElement randomProp={3} />
Currently the way it works is to DangerouslySet the return valued, which of course would output [object Object] in my example.
Cheers.

Hi @aaronhayes
Ok! I understand, maybe I need to try it more, but need some time:)
Anyway, your idea is very good for react-bootstrap-table. :+1:

awesome, thanks. I made a commit to my fork which has it working (~not fully tested).  I will try your code in these days. I think your solution is ok, you can create a PR for this issue so that I can help to do more testing and debug. Anyway, thanks for your contribution :)

Hi @aaronhayes
I have release the newest version v0.8.5 for this issue, plz update and run it again.

@AllenFang
Sorry about the late reply. Changes look great. Thanks for all your hard work!
Now using your latest changes in my project and it works beautifully.