Corrupted archive of the firmware

Hey Folks,
I was trying to download a firmware, but all of the time I'm getting the error the archive is corrupted.
https://github.com/Koenkk/Z-Stack-firmware/blob/Z-Stack_3.x.0_coordinator_20230507/coordinator/Z-Stack_3.x.0/bin/CC1352P2_CC2652P_launchpad_coordinator_20230507.zip
Could you please check it
Thank you in advance!

Works fine here.

Downloading firmware from https://github.com/Koenkk/Z-Stack-firmware/blob/Z-Stack_3.x.0_coordinator_20230507/coordinator/Z-Stack_3.x.0/bin/CC1352P2_CC2652P_launchpad_coordinator_20230507.zip

Firmware file:   'CC1352P2_CC2652P_launchpad_coordinator_20230507.zip'

sonoff

Opening port /dev/ttyUSB0, baud 500000

Reading data from CC1352P2_CC2652P_launchpad_coordinator_20230507.zip

Cannot auto-detect firmware filetype: Assuming .bin

Connecting to target...

CC1350 PG2.0 (7x7mm): 352KB Flash, 20KB SRAM, CCFG.BL_CONFIG at 0x00057FD8

Primary IEEE Address: 00:12:4B:00:24:C2:A1:45

    Performing mass erase

Erasing all main bank flash sectors

    Erase done

Writing 146881 bytes starting at address 0x00000000

ERROR: Invalid data size: 146881. Size must be a multiple of 4.

Initiate access to target: COM3 using 2-pin cJTAG.
Reading file: C:/Dongle/CC1352P2_CC2652P_launchpad_coordinator_20230507.hex.
Unknown record type: 3.
Reset target ...
Reset of target successful.

Initiate access to target: COM3 using 2-pin cJTAG.
Reading file: C:/Dongle/CC1352P2_CC2652P_launchpad_coordinator_20230507.hex.
Unknown record type: 3.
Reset target ...
Reset of target successful.

Same problem here…

Failing also updating (CC2652R_coordinator_20230507) with hex file on zzh! dongle and TI Flasher.
Previous firmware hex pass ok (CC2652R_coordinator_20221226).

https://github.com/Koenkk/Z-Stack-firmware/issues/455


The image displays wrongly:

Expected behavior:
Displaying image information like this is the expected behavior:
Edge browser preview results:

VisualStudio preview results:

The strange thing is that Visual Studio 2022 17.6 Markdown can also successfully load the image!
Interllij IDEA preview results:

VSCode preview results:

Unexpected behavior:
Failure to display image information like this is unexpected behavior:
Error message:

Image actual address:
https://c0.jdbstatic.com/samples/y3/y3Vvv_l_9.jpg
Windows 10 | 11
VSCode 1.81 | 1.82

Duplicate of #188555
We explained why this is happening: https://github.com/microsoft/vscode/issues/188555#issuecomment-1667977710
It does not seem to be a bug in VS Code

So, do you have a solution to this problem?

So, do you have a solution to this problem?
From the above image preview results, you can clearly see that all editors including browsers can display this type of image. If you think this is a design decision of VSCode, then I think this image processing engine is not well designed and has major flaws , need to be further revised and perfected.


Not working,

FatalErrorException in a9fa41c0c46628eebba0db4ad37742bda7130626.php line 17: Illuminate\View\Engines\PhpEngine::main(): Failed opening required '/home/wpc/Desktop/Projects/laravel5-angular-material-starter/public/css/critical.css' (include_path='/home/wpc/Desktop/Projects/laravel5-angular-material-starter/vendor/phpseclib/phpseclib/phpseclib:.:')
in a9fa41c0c46628eebba0db4ad37742bda7130626.php line 17

The above shore the error when i ran php artisan serve

Hi @Unstinted
Is this on a fresh install?

I am having the same issue, using a fresh install. Tried a reinstall (as I had packages updated), but didn't  help.


CMake build does not have '..' in include search path.

Hi,
Maybe this is not an issue for other people or maybe I had other errors in my build
process,,  but let me report a problem I encountered.
When using GNU make, it generates the following build command for an example
mpicxx  -O3 -I.. -I/Users/shiraiwa/sandbox/include -I/Users/shiraiwa/sandbox/include ex1p.cpp -o ex8p -L.. -lmfem -L/Users/shiraiwa/sandbox/lib -lmetis -L/Users/shiraiwa/sandbox/lib -lHYPR
CMake, on the other hand, does do this
/opt/local/bin/mpicxx   -I/opt/local/include/mpich-clang37 -I/Users/shiraiwa/sandbox/include -I/Users/shiraiwa/src/mfem_sep_2017/cmbuild  -O3 -DNDEBUG   -o CMakeFiles/ex8.dir/ex8.cpp.o -c /Users/shiraiwa/src/mfem_sep_2017/examples/ex8.cpp
Notice that -I.. is missing in CMake version. Unfortunately, I had old mfem header files stored in the same place as other library (Metis and Hypre), and since there were a few changes of signature,
it caused my example sag-fault.
--
Syun'ichi

CMake converts all relative paths to absolute. In the GNU make build line, -I.. and -L.. point to the root of the mfem source (my guess is that you ran that command in the examples directory). In the CMake build the mfem headers that one has to use are in the root CMake build directory, so I guess that is the path -I/Users/shiraiwa/src/mfem_sep_2017/cmbuild. I think that everything looks correct.
Actually, I think I see what your point is: you had old mfem headers in -I/Users/shiraiwa/sandbox/include and since that came before -I/Users/shiraiwa/src/mfem_sep_2017/cmbuild on the command line, the compiler found the old mfem headers first and included those. Is that the issue? I think we can easily fix it by moving the mfem build directory first. This is what GNU make does too.
Thanks for pointing out this issue.

I saw your fix. Thank you so much.


How to add custom payload (f.eks. "name", or "isAdmin") in token?

Hi,
I didn't find any method that would do this, do you have a suggestion on how to add custom elements in json array, as a payload?
Something like default example from https://jwt.io/
PAYLOAD:DATA
{
"sub": "1234567890",
"name": "John Doe",
"admin": true
}
Thanks

Hello @dakipro. Custom payload data is not supported in this extension.
But I've found a fork for you which does. You'd better use this one.

Thanks. I could not find custom payload on that one either, for now I will keep it as is, and extend it later if needed.

Sure. Be free to send a PR. :+1:


Statistics sensor doesn't appear, no meaningful log exist

Home Assistant release - 0.60
Python release - 3.53
Component/platform: Statistics sensor
Description of problem:
I've tried to use a statistics sensor in the following [configuration](I’ve tried to use statistics sensor for the folloiwng MQTT sensor), however the stats sensor doesn't appear
Expected: The statistics sensor should appear
- platform: mqtt
  state_topic: "benita/mq135/1/in"
  name: "CO2 Level Livingroom"
  unit_of_measurement: "ppm"
  value_template: '{{ value_json.svalue | round(1) }}'
  force_update: true
- platform: statistics
  entity_id: sensor.co2_level_livingroom
  sampling_size: 1000

Traceback: (Increasing statistics sensor debugging level to 'debug')
2018-01-01 01:05:19 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing values for None from the database
2018-01-01 01:05:20 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing from database completed
2018-01-01 01:05:20 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing values for None from the database
2018-01-01 01:05:20 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing from database completed
2018-01-01 01:05:20 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing values for None from the database
2018-01-01 01:05:20 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing from database completed
2018-01-01 01:05:20 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing values for None from the database
2018-01-01 01:05:20 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing from database completed
2018-01-01 01:05:20 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing values for None from the database
2018-01-01 01:05:20 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing from database completed
2018-01-01 01:05:20 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing values for None from the database
2018-01-01 01:05:20 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing from database completed
2018-01-01 01:05:20 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing values for None from the database
2018-01-01 01:05:21 DEBUG (MainThread) [homeassistant.components.sensor.statistics] initializing from database completed

Works fine for me on dev. I can't reproduce your issue.

What additional info should I provide to handle this issue ?


Remove ~, replace with full path

It seems that wlroots can't expand the ~ for user home directory, so full path must be used without it.
pinging @kiecla as they initially wrote it and there may be some misunderstanding, assuming it worked for them when it was wrote.

I didn't test that set up. If I recall I copied that down from somewhere else. My bad. I leave that variable unset and wlroots will default to the iGPU in that case. This PR is a necessary change to what I wrote.
I might suggest telling the user to put the symlink somewhere user-agnostic, i.e. outside of the home directory, so that on systems with more than one user (probably not many nowadays, especially on hyprland) this works without having to access another user's home directory.
/usr/local is a candidate, but it might depend on distribution. I don't think that change is all that important really as most people are completely unaffected by it.

Should also try $HOME, that would probably work, idk tho

Apparently $HOME does work:
Tested via fully exiting Hyprland, and trying to run it from a tty with
env = WLR_DRM_DEVICES,$HOME/.config/hypr/card

where card is /home/witch/.config/hypr/card -> /dev/dri/by-path/pci-0000:09:00.0-card
- works fine.
Deliberately providing the wrong path, as expected, makes it fail with an error about failing to create the backend, so I know it actually uses the card from the path instead falling back to whatever works.

Also, @DaraghD, it says in one section

run ls -l /dev/dri/by-path

but the section right after, about the symlink, uses

ln -sf /dev/dri/pci-0000:06:00.0-card ...

Notice the missing by-path.
For me, /dev/dri looks like
/dev/dri
├── by-path
│   ├── pci-0000:09:00.0-card -> ../card0
│   └── pci-0000:09:00.0-render -> ../renderD128
├── card0
└── renderD128

And here is by-path too.

Apparently $HOME does work:
Tested via fully exiting Hyprland, and trying to run it from a tty with
env = WLR_DRM_DEVICES,$HOME/.config/hypr/card

where card is /home/witch/.config/hypr/card -> /dev/dri/by-path/pci-0000:09:00.0-card

works fine.

Deliberately providing the wrong path, as expected, makes it fail with an error about failing to create the backend, so I know it actually uses the card from the path instead falling back to whatever works.
Also, @DaraghD, it says in one section

run ls -l /dev/dri/by-path

but the section right after, about the symlink, uses

ln -sf /dev/dri/pci-0000:06:00.0-card ...

Notice the missing by-path.
For me, /dev/dri looks like
/dev/dri
├── by-path
│   ├── pci-0000:09:00.0-card -> ../card0
│   └── pci-0000:09:00.0-render -> ../renderD128
├── card0
└── renderD128

And here is by-path too.

The documentation says explicitly not to use that, however it may be wrong again. I only told the person in the issue to do that to see if it would work as a hack, I couldn't test the other way so couldn't confirm if it worked or not.
Possibly should also change the documentation from /home/user to $HOME, up to whatever the maintainer prefers-  maybe mention both?

change the documentation from /home/user to $HOME, up to whatever the maintainer prefers- maybe mention both?

I'm not a maintainer however I feel leaving just $HOME should suffice. I have not seen one circumstance where it's not set, and also allows for portability - e.g. if someone copies dotfiles of another / username changes the config will still work without manually needing to change.

The documentation says explicitly not to use that, however it may be wrong again.

Well it's wrong in that there is to pci... thing there at all, because it's in its own subdirectory.
I'm pretty sure by-path was just forgotten, because as far as I can tell /dev/dri only supposed to contain cardN, render..., not pci, those are inside by-path, from everywhere I can find.
I agree, if $HOME works - no reason not to use it.


add remove component ordering issue

I have some code where I want to remove a component from an entity, then add the same type of component back. For both the add and remove there are listen queries that should be run. I'm removing before adding, but unfortunately, the remove query is being called after the add query.
I can work around this bug by instead calling the remove inside of a set timeout, and then the add inside of an even longer set timeout to enforce the ordering. This shouldn't be necessary.

@joshmarinacci could you please provide an example code on what are you doing and the use case, I believe I don't fully understand what you mean. Are you adding/removing components while iterating the list of entities so it get mutated?

It’s not entirely clear. Yes I think I might be. Though it’s to a new entity.
Sent from planet Earth

On Oct 27, 2019, at 3:14 AM, Fernando Serrano<EMAIL_ADDRESS>wrote:

@joshmarinacci could you please provide an example code on what are you doing and the use case, I believe I don't fully understand what you mean. Are you adding/removing components while iterating the list of entities so it get mutated?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Nevermind.  It was a bug in my code. Two different queries were being executed from the same add so I was doubling up the behavior.


fix image override

Signed-off-by: Zhiwei Yin<EMAIL_ADDRESS>fix issue: stolostron/backlog#18839
fix e2e issue

/lgtm


Need to be able to use flask-whooshee using Flask init_app protocol

Very cool, thanks! Just a question - why does BaseTest need to be a nested class?

Hello Slavek,
I'm a Python newbie - I took guidance from: http://stackoverflow.com/a/25695512/2800058
Maybe you have a stronger opinion on how the tests should be organised - please change/correct as you see fit,
Regards, Paul.

Oh, I see. I actually usually work with pytest, which doesn't have this sort of issues, so this wasn't obvious to me on the first look. I understand now and I'm merging. Thanks a lot!

Released as 0.0.7, feel free to give it a try: https://pypi.python.org/pypi/flask-whooshee/0.0.7


Zooming y-axis by main chart and x-axis by brush chart

Bug report
Codepen
Demo: https://codepen.io/wielski/pen/NWqazyy
Explanation
I want to implement zooming by x-axis (datetime) by brush chart, and use main chart for zooming by y-axis.
When I trying to zoom from main chart with zoom type: 'y' it showing right stroke area, but zooming by x-axis instead.

Sorry, this is a limitation of using a brush chart with another chart. A brush chart is meant to be a handle for zooming into the main chart. Also, you may notice the resize handles on a brush chart supports only horizontal resize, disabling support for y-axis zooming.
Closing as it is not a bug, but a limitation of a brush chart.


OpenDialog example?

Hi all.
I need some example with this view, can you help me?
Thanks!

`
var dialog = new Dialog("Dialog Title", 50, 8, new Button("Ok")
{
Clicked = () =>
{
Application.RequestStop();
}
});
var label = new Label("Dialog label...")
{
X = Pos.Center(),
Y = 1
};
dialog.Add(label);
Application.Run(dialog);
`

See Editor Scenario in UI Catalog

Re-open this if you still have issues.


Remove silent param from demo and regenerate Rd files

Fixes :

Issue #913 (lgb.get.eval.result Rd example)
Fix some spaces in examples
Remove silent parameter from demo

@StrikerRUS any idea why Travis fails? https://travis-ci.org/Microsoft/LightGBM/jobs/281863464

@Laurae2 Phantom errors on Travis side. Just click Rebuild (if you have rights at Travis site) or push some fake commit to trigger new build.
They reported  that OSX builds are more stable now. Nevertheless, we can see that not...

@Laurae2 you can merge it by yourself if you think it is ready.

@guolinke It seems I can't:


CPU regression with NonBlockingStatsDClient

Hi there,
We recently migrated from NonBlockingStatsDClient.java to DataDog's NonBlockingStatsDClient.java. We see significant increase of cpu usage, proportional to number of instances of the client. e.g. single application pod cpu usage in millicores increased from 2 to 10 after migration, then from 10 to 29 after instantiating 3x the number of clients during experimentation.

it seems that the sample rate is out of use when aggregation is enabled. the usage of cpu and memory may increase when monitoring massive messages.
https://github.com/DataDog/java-dogstatsd-client/blob/master/src/main/java/com/timgroup/statsd/NonBlockingStatsDClient.java#L1191-L1209
    private void send(String aspect, final long value, Message.Type type, double sampleRate, String[] tags) {
        if (statsDProcessor.getAggregator().getFlushInterval() != 0 && !Double.isNaN(sampleRate)) {
            switch (type) {
                case COUNT:
                    sampleRate = Double.NaN; // <-- reset sampleRate to NaN
                    break;
                default:
                    break;
            }
        }

        if (Double.isNaN(sampleRate) || !isInvalidSample(sampleRate)) {

            sendMetric(new StatsDMessage<Long>(aspect, type, value, sampleRate, tags) {
                @Override protected void writeValue(StringBuilder builder) {
                    builder.append(this.value);
                }
            });
        }
    }

it seems that the sample rate is out of use when aggregation is enabled. the usage of cpu and memory may increase when monitoring massive messages.
https://github.com/DataDog/java-dogstatsd-client/blob/master/src/main/java/com/timgroup/statsd/NonBlockingStatsDClient.java#L1191-L1209
    private void send(String aspect, final long value, Message.Type type, double sampleRate, String[] tags) {
        if (statsDProcessor.getAggregator().getFlushInterval() != 0 && !Double.isNaN(sampleRate)) {
            switch (type) {
                case COUNT:
                    sampleRate = Double.NaN; // <-- reset sampleRate to NaN
                    break;
                default:
                    break;
            }
        }

        if (Double.isNaN(sampleRate) || !isInvalidSample(sampleRate)) {

            sendMetric(new StatsDMessage<Long>(aspect, type, value, sampleRate, tags) {
                @Override protected void writeValue(StringBuilder builder) {
                    builder.append(this.value);
                }
            });
        }
    }


Replaced Travis-CI with GHA.

Passing build:
https://github.com/dblock/rack-server-pages/actions/runs/9528522386
https://github.com/dblock/rack-server-pages/actions/runs/9528522387

@migrs I'm happy to help co-maintain this library which is pretty old, but I use it in a bunch of projects. Was going to take a look at #16.


Fix to call didFinishCommand

When XCBuildDelegate receives a taskComplete message, it calls buildSystem(:didStartCommand:) of BuildSystemDelegate.
However, it should probably call buildSystem(:didFinishCommand:).
Since there doesn't seem to be any concrete type conforming to BuildSystemDelegate, this change doesn't appear to have any impact on the behavior of existing code.

@swift-ci smoke test

@swift-ci smoke test

@swift-ci please test

@swift-ci please test windows


Implement an authorization layer for operator-to-workspace communication

Overview
This PR implements an authentication and authorization layer for the agent's RPC endpoint.
Authentication is performed by authenticating a bearer token via the TokenReview API. The operator uses its built-in service account token. Authorization is performed via the SubjectAccessReview API, which checks for following RBAC permission:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
rules:
- apiGroups:
  - auto.pulumi.com
  resources:
  - workspaces/rpc
  verbs:
  - use

The workspace pod's service account must be granted the system:auth-delegator role using a ClusterRoleBinding. For. convenience, the installer creates a service account named pulumi into the default namespace, with an associated binding.
The operator itself is granted the necessary permission to access the RPC endpoint.
Proposed changes

[x] agent grpc interceptor
[x] agent command args (--auth-mode=kube, --kube-workspace-name=random-yaml)
[x] operator client credentials
[x] operator RBAC permissions
[ ] ~cluster role binding for workspace service account (to ClusterRole named system:auth-delegator)~
[x] install a "default/pulumi" service account with RBAC
[x] Provide a Flux sample network policy
[x] Update the e2e test manifests to have requisite account, rbac, and network policy.

Related issues (optional)

Closes #609
Examples
Some example requests:
random-yaml-workspace-0 pulumi 2024-10-09T21:09:43.905Z INFO    cmd.serve.grpc  finished unary call with code OK        {"grpc.start_time": "2024-10-09T21:09:43Z", "grpc.request.deadline": "2024-10-09T21:59:43Z", "system": "grpc", "span.kind": "server", "grpc.service": "agent.AutomationService", "grpc.method": "WhoAmI", "user.id": "81be050c-9ad4-4708-9a52-413064700747", "user.name": "system:serviceaccount:default:dev", "peer.address": "<IP_ADDRESS>:56394", "auth.mode": "kubernetes", "grpc.code": "OK", "grpc.time_ms": 441.086}

random-yaml-workspace-0 pulumi 2024-10-09T21:09:52.934Z INFO    cmd.serve.grpc  finished unary call with code Unauthenticated   {"grpc.start_time": "2024-10-09T21:09:52Z", "grpc.request.deadline": "2024-10-09T21:59:52Z", "system": "grpc", "span.kind": "server", "grpc.service": "agent.AutomationService", "grpc.method": "WhoAmI", "peer.address": "<IP_ADDRESS>:57380", "auth.mode": "kubernetes", "error": "rpc error: code = Unauthenticated desc = Request unauthenticated with Bearer", "grpc.code": "Unauthenticated", "grpc.time_ms": 0.095}

Note that the chart tests are failing for unrelated reasons - the job doesn't build the docker image and uses the wrong image name.


maven-bundle-plugin: disable OBR

updates to local OBR (OSGi Bundle Repository) are not
necessary and they only prolong the build if the repository
(by default ~/.m2/repository/repository.xml) is large

@mariofusco please take a look as this is related to OSGi

Do drools and optaplanner still build with an empty maven repository after this change?

I haven't tried that as it takes ages (but just started local build to make sure). I tried building after removing ~/.m2/repository/repository.xml and that worked fine.

Confirmed. Everything builds fine, even when starting with empty localy maven repo.

+1 (for the record)


build: Test whether the aarch64 breakages on #4804 are related to dependencies

It is the git2 dependency


Fixes #541 to add a tutorial like icon for the quickstarts

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/fabric8-quickstarts-master-pullreq/615/
Test PASSed.


Add support of kafka batch consumer

Is your feature request related to a problem?
when using Spring kafka batch listener (batch = "true" parameter), database requests are not captured by the java agent.
@KafkaListener(topics = "${my-topic}", batch = "true")
public void consume(List<String> consumerRecords, Acknowledgment acknowledgment) {
    //SQL database requests are not captured
}

Note that when batching is disabled (batch = "false") then database requests are captured by the java agent.

Describe the solution you'd like
Add kafka batch consumer tracing in order to capture database requests in consumer method.
Describe alternatives you've considered
An alternative is to add @CaptureTransaction annotation on consume method.
@CaptureTransaction
@KafkaListener(topics = "${my-topic}", batch = "true")
public void consume(List<String> consumerRecords, Acknowledgment acknowledgment) {
    //SQL database requests are captured
}

This looks very relevant to #2489, which we are about to do.
I didn't try it out yet, but my assumption is that the Spring wrapper internally uses org.apache.kafka.clients.consumer.KafkaConsumer, which we do instrument. If that's true, the list accepted by this consume would be wrapped by our agent, thus creating Kafka transactions of the messaging type.
Please provide some more info so we can look into that:

Which exact Spring dependency are you using?
Does the agent create Kafka consumer transactions of messaging type?
Please set the log_level to debug and provide a debug log that contains the agent startup and until a batch is accepted and processed. You can share such log through https://gist.github.com
Your proposed @CaptureTransaction alternative would create one transaction for the entire batch - would that be the ideal solution for you? The advantage is that the SQL query is captured within the batch processing, but the down side is that if you instrument with an APM agent the sender service/s, you would not get a single distributed trace for each send request. What tracing outcome would be ideal for your use case?

Spring dependencies :

org.springframework.kafka:spring-kafka : 2.8.5
Spring boot : 2.6.6

Elastic APM version: 1.30.1
Yes, the agent creates Kafka consumer transactions of messaging type but not database statement
Filtered logs
For each batch I have just one SQL insert query (batch insertion). Let's say I send 30 records in Kafka with max-poll-records=10. I will have 3 entry in consume method. I want to see in APM 3 samples and each one should contains the kafka messaging and the database query. This is what I have when adding @CaptureTransaction annotation. I tested this locally with Fleet in Kibana.

Thanks for the useful info!
You can follow #2610 .
What we plan to do now is change our Kafka instrumentation, so that in your case, once you add the manual @CaptureTransaction, you would get exactly what you want, but in addition, we will add links to the sending spans, in case you also have APM agent on the record sending service/s. The current plan is to create a span (child of the batch transaction) for each record with a link to the sender span. Another option is to not create a span per record, but to add span links for all batch records (10 in your case) to the enclosing transaction. What would you say better serves your use case?
As for automatic instrumentation of the Spring wrapper, I am not sure about that. If we add it, then we make the decision for our user to have single batch-processing transaction instead of transaction per record. The fact that it is so easy to get it done just by adding a single annotation makes me wonder if it will improve the automatic result for most users or not. I think of existing Spring-Kafka users who are now happy with their transaction-per-record state. These will get different tracing behavior if we add the instrumentation you requested after they upgrade the agent.


Styling should indicate an error for incorrect brackets

Program: https://code.world/#P77JLTANARio8iMhJ3R1B5w
Message:
program.hs:2:63: error: parse error on input )

Brackets out of order.
Rather than do anything with the error message, I should improve the styling for brackets that don't match.  That should be easy to do in the lexer.

Should I make non-matching brackets more pronounced via CSS, or you had something else in mind? For example:

Yes, that's the idea.  The harder part is detecting the mismatched brackets.  The lexer in codeworld-mode.js can be modified to flag closing brackets that don't match, but it can only propagate information forward, so it cannot flag open brackets.  That's probably better than nothing

Is it really necessary to adjust the lexer? CodeMirror seems to be automatically marking matching and non-matching brackets. They get corresponding CSS classes: https://github.com/google/codeworld/blob/master/web/css/codeworld-cm.css#L151

Oh!  That makes it easier, then!

Oh wait.  I think that style only gets applied when the cursor is adjacent to the bracket.  So this issue is really about applying the style even when the cursor isn't located there.
Feel free to double-check, though.  I'm commenting from memory.

I think that style only gets applied when the cursor is adjacent to the bracket.

Yes, it's indeed so. I understand what's needed now, thanks for clarifying!


updated install canditates

Also update the installation candidates so you can copy & paste the needed items
Postgresql was at 9.5

Thanks, good catch!
I've manually picked your change with a tweaked commit message as https://github.com/homeworkprod/byceps/commit/2fd95904102344cf18196af0ab55e693ac56a59f.


Link and Image Support

Support for issue #8

@ralphschindler Thank you for this PR. Can you suggest a way to embed local images in markdown instead of hosted images?

@divyanshu707 Hi! I don't believe I fully understand your question.  This PR allows for simple insertion and removal of link in the body markdown.  The path to the image, whether remote or local, should be completely supported.

@ralphschindler I was talking about image upload support like this editor does. Sometimes end users want to embed local images and don't want to write the whole image path. They prefer uploading the image from their system.

@divyanshu707 I believe that is outside the scope of this component and this PR. That said, it would be @JedWatson's call.

If we can already display images using markdown, then we can embed them by base64 encoding them, like this:
![red dot](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO 9TXL0Y4OHwAAAABJRU5ErkJggg==)
Rendered result: ![red dot](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==)

For anyone else who would like to try this link-and-image branch from npm, check out https://www.npmjs.com/package/react-md-editor-linkandimage

@ralphschindler This looks fantastic and I really want to enable my users to add links and images to their markdown documents, but when I use this branch I don't see the additional buttons in the UI. I triple-checked and I am using this code. Am I doing something wrong, or is there something special I need to do to get the 2 extra buttons to show up? Thanks!

I now see that, for example, src/format.js has been updated, but lib/format.js and dist/react-md-editor.js haven't been. I've tried changing those files locally, but still can't get the link and image buttons to show up :-. Any pointers would be appreciated! Gracias.

Got it, and sent @ralphschindler a PR: https://github.com/ralphschindler/react-md-editor/pull/1

Unfortunately the link and image support is buggy :-(. There are off-by-1 and off-by-N errors in the code that governs which characters are highlighted once you click the link or image buttons.
@ralphschindler Do you see the same behavior?

@JedWatson is this PR something you're interested in?
@elimisteve I did not build the package as to keep my PR to @JedWatson clean, if he doesn't merge the PR or decides he doesn't want to continue the project, I would consider hosting a forked version of this repo for yourself.  I am actually not using node related projects much these days anymore.  I'll give this a few more days before I decide what to do with my fork.

@JedWatson can you please decide on mergin this or not?


refactor(ast): fix clippy lint on nightly

#3346  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @overlookmotel and the rest of your teammates on  Graphite


How to control the overflow-x of Scroll-area

I'm having an issue making the overflow-x of scroll area visible. I've got some cards within a vertically scrollable area, the cards has a hover effect that has a large shadow, the shadow is cut from the x sides! I'm trying to figure out how I can make overflow-x visible with no success! Tried to add a custom class and try to customize it with custom css but with no success.

The issue you're experiencing is due to the overflow-hidden class on the ScrollAreaPrimitive.Root component. This class is hiding any content that goes outside the boundaries of the component, including your shadow.
To fix this, you can remove the overflow-hidden class. However, this might cause other layout issues depending on the rest of your code. If you still want to hide the overflow in the y-direction but show it in the x-direction, you can use the overflow-x-auto and overflow-y-hidden classes instead.
@/components/ui/scroll-area.tsx
<ScrollAreaPrimitive.Root
  ref={ref}
  className={cn("relative overflow-x-auto overflow-y-hidden", className)}
  {...props}
>

In this code, overflow-x-auto will make the x-direction overflow scrollable, and overflow-y-hidden will hide the y-direction overflow. This should allow your shadow to be visible on the sides.

Thanks for your response. We've tried that before, it didn't work!

The scrollarea still applying overflow:hidden!

Thanks for your response. We've tried that before, it didn't work!
The scrollarea still applying overflow:hidden!

If the ScrollAreaPrimitive.Root component from @radix-ui/react-scroll-area is applying overflow: hidden by default and it's not being overridden by your classes, you might need to use inline styles to force the overflow properties.
<ScrollAreaPrimitive.Root
  ref={ref}
  style={{ overflowX: 'auto', overflowY: 'hidden' }}
  className={cn("relative", className)}
  {...props}
>

In this code, the style prop is used to apply inline styles to the component. Inline styles have higher specificity than classes, so they should override the default styles of the component.
Please note that using inline styles can make your code harder to maintain and should generally be avoided if possible. However, in this case, it might be necessary if the component is applying styles that you can't override with classes.
If this still doesn't work, it's possible that the ScrollAreaPrimitive.Viewport or another child component is also applying overflow: hidden. You might need to apply the same inline styles to these components as well.
I hope it's solve your issue.

Nothing worked unfortunately. A bit weird!
I've applied that to ScrollAreaPrimitive.Viewport as well.

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.

I'm having the same issue

Same here 😞

Im having the same issue 😭

Here's my code that resolved the issue:
<ScrollArea className="[&>div>div[style]]:!block">

The issue https://github.com/radix-ui/primitives/issues/926 might help to solve this issue.

  use this incase overflow y is hidden

use this incase overflow y is hidden
className="[&>div>div[style]]:!block h-full"

Does this not work anymore? The X is still being cut off

please provide screenshot of the code @Cranbaerry

please provide screenshot of the code @Cranbaerry

Here's a snipper of the code, the ScrollArea is inside an AlertDialogContent (popup) and a form
<AlertDialogTitle className="mb-2">Data Diri</AlertDialogTitle>
<ScrollArea className="!mb-2 h-[calc(100vh-10rem)] sm:h-96 px-1">

Mohon isi data diri Anda dengan lengkap dan benar.

    {/* Full Name */}
    <FormField
        control={form.control}
        name="fullName"
        render={({ field }) => {
            return (
                <FormItem className="mb-2">
                    <FormLabel>
                        Nama Lengkap
                    </FormLabel>
                    <FormControl>
                        <Input
                            placeholder="John Doe"
                            {...field}
                            value={field.value || ''}
                            onChange={e => {
                                field.onChange(e.target.value);
                                form.trigger('fullName');
                            }}
                            required
                        />
                    </FormControl>
                    <FormMessage />
                </FormItem>
            );
        }}
    />
</ScrollArea>

Any updates on this? @Adharsraj

also youre inside a dialouge so try this out

   todo...

lg:max-w-screen-lg overflow-y-scroll max-h-screen

It just made it wider, still got input box's shadows being cut off.

I'm also having this issue and I still can't figure it out


Add release/2.2 branches for aspnet repos

@mmitche @chcosta

@natemcmaster, why do you hate IISIntegration? :)

haha, find-replace error. I just looked for branches named release/2.1


Emails aren't working

Every time I switch to a new mailer they change plans on me.

I just forgot to set up the environment variables.


[go_router] query parameter is retained when the in-app back button is pressed

Pressing the in-app back button should clear the query parameters
Steps to reproduce:

Run this sample
Press the button to navigate to /b?filter=abc
Press the in-app back button
Observe that the query parameter didn't go away - the url is /?filter=abc but should be /

The problem seems to be caused by GoRouteInformationParser._getLocRouteRecursively and how it computes the match list.
In each recursion it iterates every GoRoute and creates a new match from it, passing last route query params without taking into account previous match configuration:
lib/src/go_route_information_parser.dart:329
  static List<GoRouteMatch> _getLocRouteRecursively({
    required String loc,
    required String restLoc,
    required String parentSubloc,
    required List<GoRoute> routes,
    required String parentFullpath,
    required Map<String, String> queryParams,
    required Object? extra,
  }) {
    bool debugGatherAllMatches = false;
    assert(() {
      debugGatherAllMatches = true;
      return true;
    }());
    final List<List<GoRouteMatch>> result = <List<GoRouteMatch>>[];
    // find the set of matches at this level of the tree
    for (final GoRoute route in routes) {
      final String fullpath = concatenatePaths(parentFullpath, route.path);
      final GoRouteMatch? match = GoRouteMatch.match(
        route: route,
        restLoc: restLoc,
        parentSubloc: parentSubloc,
        fullpath: fullpath,
        queryParams: queryParams,     <------
        extra: extra,
      );
...

I am also not sure what the expected behavior should be, the previous page may rely on the query parameter.

If this is the intended behavior we need to specify it somewhere, otherwise we should consider it a bug. I'm not aware of any routing libraries that keeps the query parameters after navigation occurs.

I think we either keep it, or the query parameters are only visible to the last match, WDYT? @johnpryan

After thinking about this some more, this is probably working as intended... Other route matches could be relying on the query parameters so it's not clear that we should clear them in this case.


Add new function to handle stdin and env variables

Currently cf-acceptance-tests/cf-test-helpers cannot handle followings:

Use STDIN
Set Environmen variables

This PR is to provide a function which enables such test cases.
Using this function, following test cases can be implemented for cf-acceptance-tests:

Execute 'cf delete'. You are asked 'Really delete the app?'. Then you type 'yes' or 'no'.
Execute 'cf push' with CF_STARTUP_TIMEOUT environment variable to confirm the environment variable's behavior.
Execute various cf commands with CF_TRACE environment variable.

...and so on.
Following examples show how to use this function.
Example 1: Specify environment variable(s)
env := make(map[string]string)
env["CF_TRACE"] = "true"
env["CF_COLOR"] = "false"
helpers.AsInterceptCommand("", env, func() {
    Expect(cf.Cf("delete", appName, "-f").Wait(DEFAULT_TIMEOUT)).To(Exit(0))
})

Example 2: Specify STDIN
helpers.AsInterceptCommand("yes\n", nil, func() {
    Expect(cf.Cf("delete", appName).Wait(DEFAULT_TIMEOUT)).To(Exit(0))
})

Example 3: Specify both STDIN and environment variable(s)
env := make(map[string]string)
env["CF_TRACE"] = "true"
env["CF_COLOR"] = "false"
helpers.AsInterceptCommand("yes\n", env, func() {
    Expect(cf.Cf("delete", appName).Wait(DEFAULT_TIMEOUT)).To(Exit(0))
})

Please note that this function accepts 1 line only for STDIN (at the moment).
Therefore, this function CANNOT be used like below:
// doesn't work
helpers.AsInterceptCommand("admin\nadmin\n1\n1\n", nil, func() {
    Expect(cf.Cf("login").Wait(DEFAULT_TIMEOUT)).To(Exit(0))
})

Any comments to support this or improve code would be appreciated.

Hi @mmc2004jp,
What is your use case for this functionality? Currently we want the cf-test-helpers to be somewhat closely tied to the few CF test suites that we operate, and are hesitant to add functionality which we do not take advantage of.
Thanks,
@jfmyers9 && @utako, CF Runtime Team

Hi @jfmyers9
Use case is to use this functionality in cf-acceptance-tests (CATs).
In current CATs, currently there is no test cases:

which requires STDIN, e.g., Execute "cf delete", get confirmed and type "yes" (to test the delete command including the confirmation behavior)
which requires environment variables, e.g., Execute "cf push" with CF_STARTUP_TIMEOUT (to test the startup timeout is really changed by this)

Following this PR, we are planning implementation of these test cases for CATs and would like to contribute them to CATs, using this functionality.
Currently we are targeting CATs (only), so if you think this repository is not right place to contribute and this PR should be made directly to cf-acceptance-tests repository instead, please suggest me.
Thanks,

Hi @mmc2004jp
With your use case, it sounds like what your trying to test is cli interactions, and not the system as whole. Our CATs test are only for the later and we assume that the cli is already working properly.
For the tests on cli interactions, these are tested when we build each command. The functionality lives completely inside the cli and does not actually affect the requests that we eventually make to the entire system. Thus we prefer to unit test these interactions in the cli repository.
Thanks,
@jfmyers9 && @DanLavine, CF Runtime Team


async_add_job is deprecated

System Health details
System Information

version
core-2024.9.1

installation_type
Home Assistant Core

dev
false

hassio
false

docker
false

user
homeassistant

virtualenv
true

python_version
3.12.4

os_name
Linux

os_version
6.7.12+bpo-amd64

arch
x86_64

timezone
Europe/Rome

config_dir
/home/homeassistant/.homeassistant

Home Assistant Community Store

GitHub API
ok

GitHub Content
ok

GitHub Web
ok

HACS Data
ok

GitHub API Calls Remaining
5000

Installed Version
2.0.1

Stage
running

Available Repositories
1397

Downloaded Repositories
43

Dashboards

dashboards
3

resources
25

views
8

mode
yaml

Recorder

oldest_recorder_run
9 luglio 2024 alle ore 10:42

current_recorder_run
7 settembre 2024 alle ore 13:17

estimated_db_size
1946.98 MiB

database_engine
mysql

database_version
10.11.6

Checklist

[X] I have enabled debug logging for my installation.
[X] I have filled out the issue template to the best of my ability.
[X] This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
[X] This issue is not a duplicate issue of currently previous issues..

Describe the issue
Just a warning for a deprecation. Details in the log.
Reproduction steps

Just start HA

Debug logs
set 07 13:20:20 scatola hass[2904472]: 2024-09-07 13:20:20.366 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'chore_helper' calls `async_add_job`, which is deprecated and will be removed in Home Assistant 2025.4; Please review https://developers.home-assistant.io/blog/2024/03/13/deprecate_add_run_job for replacement options at custom_components/chore_helper/__init__.py, line 256: hass.async_add_job(, please create a bug report at https://github.com/bmcclure/ha-chore-helper/issues
set 07 13:20:20 scatola hass[2904472]: 2024-09-07 13:20:20.369 WARNING (MainThread) [homeassistant.helpers.frame] Detected code that calls async_forward_entry_setup for integration, chore_helper with title: chore_water_closet1_clean and entry_id: 01J2BS7ED7CDFTSJEBB5MZN83G, which is deprecated and will stop working in Home Assistant 2025.6, await async_forward_entry_setups instead. Please report this issue.
set 07 13:20:20 scatola hass[2904472]: Stack (most recent call last):
set 07 13:20:20 scatola hass[2904472]:   File "/home/homeassistant/hass/bin/hass", line 8, in <module>
set 07 13:20:20 scatola hass[2904472]:     sys.exit(main())
set 07 13:20:20 scatola hass[2904472]:   File "/home/homeassistant/hass/lib/python3.12/site-packages/homeassistant/__main__.py", line 209, in main
set 07 13:20:20 scatola hass[2904472]:     exit_code = runner.run(runtime_conf)
set 07 13:20:20 scatola hass[2904472]:   File "/home/homeassistant/hass/lib/python3.12/site-packages/homeassistant/runner.py", line 189, in run
set 07 13:20:20 scatola hass[2904472]:     return loop.run_until_complete(setup_and_run_hass(runtime_config))
set 07 13:20:20 scatola hass[2904472]:   File "/usr/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
set 07 13:20:20 scatola hass[2904472]:     self.run_forever()
set 07 13:20:20 scatola hass[2904472]:   File "/usr/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
set 07 13:20:20 scatola hass[2904472]:     self._run_once()
set 07 13:20:20 scatola hass[2904472]:   File "/usr/lib/python3.12/asyncio/base_events.py", line 1987, in _run_once
set 07 13:20:20 scatola hass[2904472]:     handle._run()
set 07 13:20:20 scatola hass[2904472]:   File "/usr/lib/python3.12/asyncio/events.py", line 88, in _run
set 07 13:20:20 scatola hass[2904472]:     self._context.run(self._callback, *self._args)
set 07 13:20:20 scatola hass[2904472]:   File "/home/homeassistant/hass/lib/python3.12/site-packages/homeassistant/config_entries.py", line 2161, in async_forward_entry_setup
set 07 13:20:20 scatola hass[2904472]:     report(
set 07 13:20:20 scatola hass[2904472]:   File "/home/homeassistant/hass/lib/python3.12/site-packages/homeassistant/helpers/frame.py", line 151, in report
set 07 13:20:20 scatola hass[2904472]:     _LOGGER.warning(msg, stack_info=True)

Diagnostics dump
No response

P.S. I had to determine the installed component version by some other means, but you should really edit manifest.json to match the actual version.


Filter In, instead of Filter Out

Sometimes I'd like to see comments that mention a specific keyword, but currently yay only removes items with certain keywords.

There is a workaround with regular expressions:
^((?!keyword).)*$
from: https://stackoverflow.com/questions/957379/invert-match-with-regexp

Sure, that workaround should work. And I don't come up with such a use case. Why don't you just find the keyword in page? I'm curious if there is enough demand.

Youtube does not load all the comments at once, you need to scroll the page. The extension also removes unnecessary comments and forces YouTube to upload new ones.


Cortex-M port: _tx_thread_system_return_inline lacks volatile qualifier

Hi Scott,
The function _tx_thread_system_return_inline in ports\cortex_m7\gnu\inc\tx_port.h sets PendSV:
*((ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
This should be :
*((volatile ULONG *) 0xE000ED04) = ((ULONG) 0x10000000);
Regards,
Udo

Thank you! We will add the volatile keyword in the next release.

This has been fixed in 6.1.11: https://github.com/azure-rtos/threadx/blob/master/ports/cortex_m7/gnu/inc/tx_port.h


release: prepare for 1.0.0-alpha3

Signed-off-by: Stephen J Day<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1280   +/-   ##
=======================================
  Coverage   23.58%   23.58%
=======================================
  Files          40       40
  Lines        4550     4550
=======================================
  Hits         1073     1073
  Misses       3275     3275
  Partials      202      202

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 c8b4e4d...916254e. Read the comment docs.


⚠ Bofrost.fr has degraded performance

In 95e4ac2, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1015 ms

Resolved: Bofrost.fr performance has improved in 6ab340f.


get_user returns ''Your request too far in the future" error.

Signing in with API key I've already used with no issue I get the error:
{"code":"apiKeyTimestampTurfu","message":"Your request too far in the future"}

Seems to work now. Nothing changed my end.

Closing as assume it was a temporary thing your end?

Happening again today. Any idea what causes this?

Happening again today. Any idea what causes this?

Hey, thank you!
The reason for this error is when you are using a timestamp > to now (current timestamp).
Any idea why this would happen?
I don't manage to reproduce this error yet.

I'm using a virtual machine (Ubuntu 20.04) if that helps - although I can't se why that would matter - it updates system clock on start up like any machine would. I'm on GMT here, perhaps it is something to do with when I'm running it if my machine is a day ahead of yours (in terms of the day of the month) and you aren't taking timezones like that into account?

Hey,
Our servers timestamp are on GMT as well..


In staking rewards go to next validator set

Issue
session.validators contains the current set of validator validating and producing blocks,
session.queued_keys contains the next set.
in on_session_ending in case of a new era, the staking module elect a new set, put this set in staking::CurrentElected and returns it, session module put this new elected set in the queued keys.
But in staking::reward_by_ids we add reward points for a validator in stakig::CurrentElected.
And at the end of the era we reward according to this points the validators contained in staking::CurrentElected. This seems wrong as staking::CurrentElected at this moment contains the validator set for the next era not the current one.
How to fix
same as session, staking should have information for next_session but also for current_session. Maybe storing the staking information for previous elected set so it can reward them correctly.
CC @jacogr

I was also asked about this and it a bug, forgot to issue it actually and thanks for doing that. I think staking should also store 2 eras to always know the current live set. This will also be needed for offchian phragmen, as discussed internally.

I think all of this boils down to just implementing  OnSessionEnding correctly:
currently it is:
https://github.com/paritytech/substrate/blob/524413a55c026764bc2a70378491ce5752c5b951/paint/staking/src/lib.rs#L1456-L1462
with OnSessionEnding being defined as:
https://github.com/paritytech/substrate/blob/524413a55c026764bc2a70378491ce5752c5b951/paint/session/src/lib.rs#L165-L184
I think staking should store the stake information for the session will_apply_at and use the information stored at session_ending to reward the current era. (and prune this information on session ending)

I got a wip branch https://github.com/paritytech/substrate/compare/gui-staking-fix-wrong-reward-attribution?expand=1
But it needs to update test, also maybe there is some issue inside, and moreover we need to transition from current logic to this logic and this might need some additional conditions.

https://github.com/paritytech/substrate/compare/gui-staking-fix-wrong-reward-attribution?expand=1#diff-cdf560c4db60ec139dae0470ea9988beR601
I would store just two storage items with known keys and hashes, instead of a map, since we are 100% sure we just want 1 additional entry to store the next + current validators.

I think the current trait OnSessionEnding doesn't guarantee that there is only one era ahead.
If will_apply_at is 10 session after the current one and there is a forced new era on each session then we should store something like 10 era. to be able to reward for the current era which is 10 era in the past.

I'm working on this but it takes me time, also I want to inform that this might also affect slashing as maybe this wrong validator set is also register for historical session and so on.

close by https://github.com/paritytech/substrate/pull/4474


[How to add YellowRings?] (Answer)

Make your own js file at src>gamemodes
Make it "PartyMode.js"
Open it and paste this
Copy and Paste this : https://pastebin.com/zwi0m2vZ
(I uploaded it in pastebin cuz when i put the code here
it just messed up)
Then save , go to gamerserver.ini
Change the serverGamemode = 0 to serverGamemode = 10
Then run the server and you should see yellow rings in your cell
~Gian
PS : found dis cuz i was messing up with FFA.js lol
its the same as FFA.js just changed something :p

@Agarian @MastaCoder @Megabyte918 @Fan7asy Cant merge it so i made an issue lol ,

or just change serverGamemode to another xD

@MiraMiPalo xd

What is that changed "something"? I see no change other than the gamemode name, and gamemode id. Also please note that you also need to add the gamemode to src/gamemodes/index.js.

@Agarian idk bout the index.js but it does work anyways

Hmm

@ArixProject it works for me and for megabyte
maybe u did something wrong ._.

my fail

how to add friends ?

@ArixProject that's gonna be applied in the server soon as soon as i get my hands on that code lol just wit for my update

okay

Yeah ! I thanks for this "party mode style" :)

This has been out there since v13.

@Fan7asy What do you mean?

#916 #905

This code has existed since protocol version 13.
It is useless, unless a party mode is actually implemented.


 IF YOU DO NOT FOLLOW THE FORMAT OR MAKE A GENERIC TOKEN REQUEST YOUR ISSUE WILL BE DELETED WITHOUT COMMENT
YOUR JUSTLIST MUST FOLLOW THE JSON SPECIFICATION
https://github.com/justswaporg/justlists/example.justlists.ts
Checklist

[x] I understand that this is not the place to request a token listing.
[x] I have tested that my JustList is compatible by pasting the URL into the add a list UI at justswap.org.
[x] I understand that filing an issue or adding liquidity does not guarantee addition to the justlists website.

Please provide the following information for your token.
JustList URL must be HTTPS.
JustList URL:  HTTPS://WWW.PRUDENCRTOKEN.CON
JustList Name:  PRUDENCRTOKEN
Link to the official homepage of the JustList manager: HTTPS://WWW.PRUDENCRTOKEN.COM

Sorry, your issue will be closed as you did not submit your information in the correct URL.Please resubmit.


Unable to pass --log-opt via WEAVE_DOCKER_ARGS

I'm trying to customize the logging options for weave router:
 WEAVE_DOCKER_ARGS="--log-opt=awslogs-stream=weave-router" weave launch-router --no-discovery --no-dns
flag provided but not defined: --log-opt
See 'docker run --help'.

Should this work?

I think you have hit #582, sorry
We embed an older Docker client, currently version 1.6.2, and the options get passed to that version.
Updating it is slated for Weave Net 1.8 - #2395

Yep, that's right.  Closing as duplicate.


fix: update version to match with the release

fix version
relates to https://github.com/Homebrew/homebrew-core/pull/195144

cc @QuintenBruynseraede


fix: MD001 heading level increment

Fixes #
Docs for Toolkit PR #
What changes to the docs does this PR provide?

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Correctly picked the right branch to base the change off (master for new features, live for typos/improvements)
[ ] For new pages, used the provided template
[ ] For new features, added an entry in the Table of Contents
[ ] Ran against a spell and grammar checker
[ ] Contains NO breaking changes

Other information

Docs Build status updates of commit d47be27:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.markdownlint.json
:white_check_mark:Succeeded

docs/helpers/DeepLinkParsers.md
:white_check_mark:Succeeded
View

docs/platform-specific/PlatformSpecificDifferencesGenerator.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


RuntimeError when using FSDP + translation_multi_simple_epoch training transformer from scratch

🐛 Bug
Got RuntimeError when training transformer from scratch under translation_multi_simple_epoch task with fully sharded data parallel (FSDP).
To Reproduce
Steps to reproduce the behavior (always include the command you ran):

Run cmd

lang_pairs=<comma-separated list of lang pairs to be trained>
PREFIX=transformer-30L
DATA=/path/to/train/data
lang_list=models/$PREFIX/lang_list
CUDA_VISIBLE_DEVICES=0,1,2,3 fairseq-train $DATA \
  --encoder-normalize-before --decoder-normalize-before \
  --arch transformer_vaswani_wmt_en_de_big --layernorm-embedding \
  --task translation_multi_simple_epoch \
  --sampling-method "temperature" \
  --sampling-temperature 5 \
  --encoder-langtok "src" --decoder-langtok \
  --encoder-layers 30 --decoder-layers 30 \
  --lang-dict "$lang_list" --lang-pairs "$lang_pairs" \
  --source-dict $DATA/dict.en_XX.txt --target-dict $DATA/dict.en_XX.txt \
  --checkpoint-activations --fp16 --no-reshard-after-forward \
  --criterion label_smoothed_cross_entropy --label-smoothing 0.2 \
  --cpu-offload --optimizer cpu_adam --adam-eps 1e-06 --adam-betas '(0.9, 0.98)' \
  --lr-scheduler inverse_sqrt --lr 6e-05 --stop-min-lr -1 --warmup-updates 2000 \
  --dropout 0.3 --attention-dropout 0.1 --weight-decay 0.0 \
  --max-tokens 5120 --update-freq 4 --upsample-primary 2 \
  --save-interval-updates 5000 --keep-interval-updates 10 --keep-best-checkpoints 10 \
  --patience 5 --max-epoch 150 \
  --seed 222 --log-format simple --log-interval 10 --ddp-backend fully_sharded \
  --save-dir models/$PREFIX

See error

2021-03-14 13:07:09 | INFO | fairseq.tasks.translation_multi_simple_epoch | [train] @batch_sampler order indices time: 0:00:41.061460
2021-03-14 13:07:09 | INFO | fairseq.tasks.translation_multi_simple_epoch | mem usage: used=336251.1875Mb; avail=1202341.06640625Mb
2021-03-14 13:07:12 | INFO | fairseq.tasks.translation_multi_simple_epoch | [train] @batch_sampler filter_by_size time: 0:00:03.573700
2021-03-14 13:07:12 | INFO | fairseq.tasks.translation_multi_simple_epoch | mem usage: used=335043.453125Mb; avail=1203548.74609375Mb
2021-03-14 13:07:23 | INFO | fairseq.tasks.translation_multi_simple_epoch | [train] @batch_sampler batch_by_size time: 0:00:10.357613
2021-03-14 13:07:23 | INFO | fairseq.tasks.translation_multi_simple_epoch | [train] per epoch batch_sampler set-up time: 0:00:54.995216
2021-03-14 13:07:23 | INFO | fairseq.tasks.translation_multi_simple_epoch | mem usage: used=336449.2265625Mb; avail=1202142.99609375Mb
Using /root/.cache/torch_extensions as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /root/.cache/torch_extensions/cpu_adam/build.ninja...
Building extension module cpu_adam...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
/opt/conda/lib/python3.6/site-packages/setuptools/distutils_patch.py:26: UserWarning: Distutils was imported before Setuptools. This usage is discouraged and may exhibit undesirable behaviors or errors. Please use Setuptools' objects directly or at least import Setuptools first.
  "Distutils was imported before Setuptools. This usage is discouraged "
[1/2] /usr/local/cuda/bin/nvcc -DTORCH_EXTENSION_NAME=cpu_adam -DTORCH_API_INCLUDE_EXTENSION_H -I/opt/conda/lib/python3.6/site-packages/deepspeed/ops/csrc/includes -I/usr/local/cuda/include -isystem /opt/conda/lib/python3.6/site-packages/torch/include -isystem /opt/conda/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -isystem /opt/conda/lib/python3.6/site-packages/torch/include/TH -isystem /opt/conda/lib/python3.6/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /opt/conda/include/python3.6m -D_GLIBCXX_USE_CXX11_ABI=1 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_52,code=sm_52 -gencode=arch=compute_80,code=compute_80 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_80,code=sm_80 --compiler-options '-fPIC' -O3 --use_fast_math -std=c++14 -U__CUDA_NO_HALF_OPERATORS__ -U__CUDA_NO_HALF_CONVERSIONS__ -U__CUDA_NO_HALF2_OPERATORS__ -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_70,code=compute_70 -c /opt/conda/lib/python3.6/site-packages/deepspeed/ops/csrc/adam/custom_cuda_kernel.cu -o custom_cuda_kernel.cuda.o
[2/2] c++ cpu_adam.o custom_cuda_kernel.cuda.o -shared -L/opt/conda/lib/python3.6/site-packages/torch/lib -lc10 -lc10_cuda -ltorch_cpu -ltorch_cuda -ltorch -ltorch_python -L/usr/local/cuda/lib64 -lcudart -o cpu_adam.so
Adam Optimizer #0 is created with AVX512 arithmetic capability.
Adam Optimizer #0 is created with AVX512 arithmetic capability.
Adam Optimizer #0 is created with AVX512 arithmetic capability.
Adam Optimizer #0 is created with AVX512 arithmetic capability.
Loading extension module cpu_adam...
Time to load cpu_adam op: 18.261828422546387 seconds
2021-03-14 13:07:53 | INFO | fairseq.tasks.translation_multi_simple_epoch | start batch sampler: mem usage: used=333655.5078125Mb; avail=1172168.8828125Mb
2021-03-14 13:08:28 | INFO | fairseq.tasks.translation_multi_simple_epoch | [train] @batch_sampler order indices time: 0:00:35.033168
2021-03-14 13:08:28 | INFO | fairseq.tasks.translation_multi_simple_epoch | mem usage: used=337857.28125Mb; avail=1167966.48046875Mb
2021-03-14 13:08:32 | INFO | fairseq.tasks.translation_multi_simple_epoch | [train] @batch_sampler filter_by_size time: 0:00:03.659160
2021-03-14 13:08:32 | INFO | fairseq.tasks.translation_multi_simple_epoch | mem usage: used=338129.01953125Mb; avail=1167695.3515625Mb
Using /root/.cache/torch_extensions as PyTorch extensions root...
Loading extension module cpu_adam...
Time to load cpu_adam op: 16.60169243812561 seconds
/opt/conda/lib/python3.6/site-packages/setuptools/distutils_patch.py:26: UserWarning: Distutils was imported before Setuptools. This usage is discouraged and may exhibit undesirable behaviors or errors. Please use Setuptools' objects directly or at least import Setuptools first.
  "Distutils was imported before Setuptools. This usage is discouraged "
Using /root/.cache/torch_extensions as PyTorch extensions root...
Loading extension module cpu_adam...
Time to load cpu_adam op: 17.008522272109985 seconds
/opt/conda/lib/python3.6/site-packages/setuptools/distutils_patch.py:26: UserWarning: Distutils was imported before Setuptools. This usage is discouraged and may exhibit undesirable behaviors or errors. Please use Setuptools' objects directly or at least import Setuptools first.
  "Distutils was imported before Setuptools. This usage is discouraged "
2021-03-14 13:08:44 | INFO | fairseq.tasks.translation_multi_simple_epoch | [train] @batch_sampler batch_by_size time: 0:00:12.423986
2021-03-14 13:08:44 | INFO | fairseq.tasks.translation_multi_simple_epoch | [train] per epoch batch_sampler set-up time: 0:00:51.118913
2021-03-14 13:08:44 | INFO | fairseq.tasks.translation_multi_simple_epoch | mem usage: used=345277.578125Mb; avail=1160546.71484375Mb
2021-03-14 13:08:44 | INFO | fairseq.trainer | begin training epoch 1
2021-03-14 13:08:44 | INFO | fairseq_cli.train | Start iterating over samples
Using /root/.cache/torch_extensions as PyTorch extensions root...
Loading extension module cpu_adam...
Time to load cpu_adam op: 17.17351794242859 seconds
/opt/conda/lib/python3.6/site-packages/setuptools/distutils_patch.py:26: UserWarning: Distutils was imported before Setuptools. This usage is discouraged and may exhibit undesirable behaviors or errors. Please use Setuptools' objects directly or at least import Setuptools first.
  "Distutils was imported before Setuptools. This usage is discouraged "
Config: alpha=0.000060, betas=(0.900000, 0.980000), weight_decay=0.000000, adam_w=1
Config: alpha=0.000060, betas=(0.900000, 0.980000), weight_decay=0.000000, adam_w=1
Config: alpha=0.000060, betas=(0.900000, 0.980000), weight_decay=0.000000, adam_w=1
Config: alpha=0.000060, betas=(0.900000, 0.980000), weight_decay=0.000000, adam_w=1
expected to be in states [<TrainingState.BACKWARD_POST: 4>] but current state is TrainingState.IDLE
expected to be in states [<TrainingState.BACKWARD_POST: 4>] but current state is TrainingState.IDLE
expected to be in states [<TrainingState.BACKWARD_POST: 4>] but current state is TrainingState.IDLE
expected to be in states [<TrainingState.BACKWARD_POST: 4>] but current state is TrainingState.IDLE
Traceback (most recent call last):
  File "/opt/conda/bin/fairseq-train", line 33, in <module>
    sys.exit(load_entry_point('fairseq', 'console_scripts', 'fairseq-train')())
  File "/workspace/fairseq/fairseq_cli/train.py", line 477, in cli_main
    distributed_utils.call_main(cfg, main)
  File "/workspace/fairseq/fairseq/distributed/utils.py", line 349, in call_main
    join=True,
  File "/opt/conda/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 200, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
  File "/opt/conda/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 158, in start_processes
    while not context.join():
  File "/opt/conda/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 119, in join
    raise Exception(msg)
Exception:

-- Process 0 terminated with the following error:
Traceback (most recent call last):
  File "/opt/conda/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 20, in _wrap
    fn(i, *args)
  File "/workspace/fairseq/fairseq/distributed/utils.py", line 326, in distributed_main
    main(cfg, **kwargs)
  File "/workspace/fairseq/fairseq_cli/train.py", line 157, in main
    valid_losses, should_stop = train(cfg, trainer, task, epoch_itr)
  File "/opt/conda/lib/python3.6/contextlib.py", line 52, in inner
    return func(*args, **kwds)
  File "/workspace/fairseq/fairseq_cli/train.py", line 267, in train
    log_output = trainer.train_step(samples)
  File "/opt/conda/lib/python3.6/contextlib.py", line 52, in inner
    return func(*args, **kwds)
  File "/workspace/fairseq/fairseq/trainer.py", line 675, in train_step
    raise e
  File "/workspace/fairseq/fairseq/trainer.py", line 649, in train_step
    ignore_grad=is_dummy_batch,
  File "/workspace/fairseq/fairseq/tasks/fairseq_task.py", line 479, in train_step
    optimizer.backward(loss)
  File "/workspace/fairseq/fairseq/optim/fp16_optimizer.py", line 389, in backward
    loss.backward()
  File "/opt/conda/lib/python3.6/site-packages/torch/tensor.py", line 185, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph)
  File "/opt/conda/lib/python3.6/site-packages/torch/autograd/__init__.py", line 127, in backward
    allow_unreachable=True)  # allow_unreachable flag
RuntimeError

Expected behavior
It is expected that the training will start without error.
Environment

fairseq Version (e.g., 1.0 or master): master, commit 252d5a9ae93e68254cfb1896fb5624cf11cda15e
PyTorch Version (e.g., 1.0) 1.7.0a0+8deb4fe
OS (e.g., Linux): Linux
How you installed fairseq (pip, source): source
Build command you used (if compiling from source):

conda install gcc_linux-64 gxx_linux-64
git clone https://github.com/pytorch/fairseq.git
git clone https://github.com/facebookresearch/fairscale
cd fairseq
pip install opencc nni tensorboardX pyarrow deepspeed
pip install -U numpy cython
pip install --editable .
python setup.py build_ext --inplace
cd ../fairscale
pip install -r requirements.txt
pip install -e .

Python version: 3.6.10
CUDA/cuDNN version: 11.0
GPU models and configuration: V100
fairscale version: 0.3.1, commit 82986ca0f74a20e1e20e84161735b4b51c609148

Though its same error message, the traceback log is slightly different when i tried it out in the latest master branch again (aa5f011).
expected to be in states [<TrainingState.BACKWARD_POST: 4>] but current state is TrainingState.IDLE
  File "/opt/conda/lib/python3.8/site-packages/torch/autograd/function.py", line 89, in apply
    return self._forward_cls.backward(self, *args)  # type: ignore
  File "/workspace/fairseq/fairseq/modules/checkpoint_activations.py", line 231, in backward
    torch.autograd.backward(outputs_with_grad, args_with_grad)
  File "/opt/conda/lib/python3.8/site-packages/torch/autograd/__init__.py", line 145, in backward
    Variable._execution_engine.run_backward(
  File "/opt/conda/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "/workspace/fairscale/fairscale/nn/data_parallel/fully_sharded_data_parallel.py", line 1174, in _wait_for_post_backward
    m.assert_state(TrainingState.BACKWARD_POST)
  File "/workspace/fairscale/fairscale/nn/data_parallel/fully_sharded_data_parallel.py", line 1365, in assert_state
    traceback.print_stack()
Traceback (most recent call last):
  File "/opt/conda/bin/fairseq-train", line 33, in <module>
    sys.exit(load_entry_point('fairseq', 'console_scripts', 'fairseq-train')())
  File "/workspace/fairseq/fairseq_cli/train.py", line 491, in cli_main
    distributed_utils.call_main(cfg, main)
  File "/workspace/fairseq/fairseq/distributed/utils.py", line 344, in call_main
    torch.multiprocessing.spawn(
  File "/opt/conda/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 230, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
  File "/opt/conda/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 188, in start_processes
    while not context.join():
  File "/opt/conda/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 150, in join
    raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:

-- Process 0 terminated with the following error:
Traceback (most recent call last):
  File "/opt/conda/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 59, in _wrap
    fn(i, *args)
  File "/workspace/fairseq/fairseq/distributed/utils.py", line 328, in distributed_main
    main(cfg, **kwargs)
  File "/workspace/fairseq/fairseq_cli/train.py", line 169, in main
    valid_losses, should_stop = train(cfg, trainer, task, epoch_itr)
  File "/opt/conda/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/workspace/fairseq/fairseq_cli/train.py", line 279, in train
    log_output = trainer.train_step(samples)
  File "/opt/conda/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/workspace/fairseq/fairseq/trainer.py", line 662, in train_step
    loss, sample_size_i, logging_output = self.task.train_step(
  File "/workspace/fairseq/fairseq/tasks/fairseq_task.py", line 479, in train_step
    optimizer.backward(loss)
  File "/workspace/fairseq/fairseq/optim/fp16_optimizer.py", line 391, in backward
    loss.backward()
  File "/opt/conda/lib/python3.8/site-packages/torch/tensor.py", line 225, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)
  File "/opt/conda/lib/python3.8/site-packages/torch/autograd/__init__.py", line 145, in backward
    Variable._execution_engine.run_backward(
  File "/opt/conda/lib/python3.8/site-packages/torch/autograd/function.py", line 89, in apply
    return self._forward_cls.backward(self, *args)  # type: ignore
  File "/workspace/fairseq/fairseq/modules/checkpoint_activations.py", line 231, in backward
    torch.autograd.backward(outputs_with_grad, args_with_grad)
  File "/opt/conda/lib/python3.8/site-packages/torch/autograd/__init__.py", line 145, in backward
    Variable._execution_engine.run_backward(
  File "/opt/conda/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "/workspace/fairscale/fairscale/nn/data_parallel/fully_sharded_data_parallel.py", line 1174, in _wait_for_post_backward
    m.assert_state(TrainingState.BACKWARD_POST)
  File "/workspace/fairscale/fairscale/nn/data_parallel/fully_sharded_data_parallel.py", line 1366, in assert_state
    raise ValueError(msg)
ValueError: expected to be in states [<TrainingState.BACKWARD_POST: 4>] but current state is TrainingState.IDLE

/opt/conda/lib/python3.8/multiprocessing/resource_tracker.py:216: UserWarning: resource_tracker: There appear to be 4 leaked semaphore objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d '

Build command:
conda install gcc_linux-64 gxx_linux-64
git clone https://github.com/pytorch/fairseq.git
git clone https://github.com/facebookresearch/fairscale
cd fairseq
pip install opencc nni tensorboardX pyarrow
pip install -U numpy cython
apt update
apt-get install -y screen llvm-9
DS_BUILD_CPU_ADAM=1 DS_BUILD_UTILS=1 pip install deepspeed --global-option="build_ext" --global-option="-j8"
pip install --editable .
python setup.py build_ext --inplace
cd ../fairscale
pip install -r requirements.txt
pip install -e .

fairscale version: 0.3.3

cc. @myleott

I got the same error and I only get this when I use fsdp with --checkpoint-activations.
Without it, the error goes away.

I got the same error and I only get this when I use fsdp (not the same example as this) with --checkpoint-activations.
Without it, the error goes away.

You're right. I just ran the command again without --checkpoint-activations and then the error is gone.
So the issue should be something related to using --checkpoint-activations together with FSDP.


Bad peg or bad input causes out of memory error

I spent the morning experimenting with pigeon. Very cool. My toy was a skeleton XML parser / pretty printer. I hacked on it enough to get a feel for pigeon.
One problem I ran into was if I fed an incomplete XML document into it (such as "bar"), it would crash with:
fatal error: runtime: out of memory

This was my peg file:
{
package main
}

Document <- el:Element EOF {
  return el, nil
}

Element <- _ oTag:OpeningTag body:(Element / TextNode)* cTag:ClosingTag _ {
  el := Element{name: oTag.(string)}

  for _, c := range body.([]interface{}) {
    el.children = append(el.children, c.(prettyPrinter))
  }
  return el, nil
}

OpeningTag <- '<' tag:TagName '>' {
  return tag, nil
}

ClosingTag <- "</" tag:TagName '>' {
  return tag, nil
}

TagName <- [a-z]i [a-z0-9]i* {
  return string(c.text), nil
}

TextNode <- [^<]+ {
  return TextNode(c.text), nil
}

_ "whitespace" <- [ \n\t\r]*

EOF <- !.

I don't know if this is a bug in my peg file or a bug in pigeon, but it really doesn't like running into an unexpected EOF. If it is a bad peg file, some sort of error or warning would be nice.
If it would help, you can see the whole repo here: https://github.com/jackc/pigeon-exp-xmlpp

Interesting, could you give it a try with the wip-vm branch of pigeon? It shouldn't require any change in your code, but the pigeon implementation uses a VM instead of recursive func calls (which I suspect is the cause of the OOM in your case).
That branch is not 100% ready to be merged in master, but I'd really appreciate that kind of feedback with an actual real case.
Thanks,
Martin

Different stack trace, but it still crashes with OOM.
jack@edi:~/dev/go/src/github.com/jackc/xmlpp$ go generate && go build && ./xmlpp < test.xml
fatal error: runtime: out of memory

runtime stack:
runtime.SysMap(0xc372590000, 0x498c0000, 0x59b200, 0x5a2db8)
	/usr/local/go/src/runtime/mem_linux.c:149 +0x98
runtime.MHeap_SysAlloc(0x5a84a0, 0x498c0000, 0x43aaa2)
	/usr/local/go/src/runtime/malloc.c:284 +0x124
runtime.MHeap_Alloc(0x5a84a0, 0x24c5f, 0x100000000, 0xc28867ef60)
	/usr/local/go/src/runtime/mheap.c:240 +0x66

goroutine 1 [running]:
runtime.switchtoM()
	/usr/local/go/src/runtime/asm_amd64.s:198 fp=0xc20802d118 sp=0xc20802d110
runtime.mallocgc(0x498be000, 0x0, 0x3, 0x7fa73232c000)
	/usr/local/go/src/runtime/malloc.go:199 +0x9f3 fp=0xc20802d1c8 sp=0xc20802d118
runtime.rawmem(0x498be000, 0x498be000)
	/usr/local/go/src/runtime/malloc.go:371 +0x39 fp=0xc20802d1f0 sp=0xc20802d1c8
runtime.growslice(0x4b7e60, 0xc2d9d70000, 0x1d6b2000, 0x1d6b2000, 0x1, 0x0, 0x0, 0x0)
	/usr/local/go/src/runtime/slice.go:83 +0x237 fp=0xc20802d250 sp=0xc20802d1f0
main.(*ϡvm).dispatch(0xc2080007e0, 0x0, 0x0)
	/home/jack/dev/go/src/github.com/jackc/xmlpp/xml.go:1307 +0x35a fp=0xc20802dc28 sp=0xc20802d250
main.(*ϡvm).run(0xc2080007e0, 0x596880, 0x0, 0x0, 0x0, 0x0)
	/home/jack/dev/go/src/github.com/jackc/xmlpp/xml.go:1249 +0x4eb fp=0xc20802ddf0 sp=0xc20802dc28
main.Parse(0x0, 0x0, 0xc208056000, 0x22, 0x600, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/home/jack/dev/go/src/github.com/jackc/xmlpp/xml.go:737 +0x191 fp=0xc20802de40 sp=0xc20802ddf0
main.ParseReader(0x0, 0x0, 0x7fa73233db10, 0xc208034000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/home/jack/dev/go/src/github.com/jackc/xmlpp/xml.go:722 +0x12f fp=0xc20802ded0 sp=0xc20802de40
main.main()
	/home/jack/dev/go/src/github.com/jackc/xmlpp/main.go:55 +0x86 fp=0xc20802df98 sp=0xc20802ded0
runtime.main()
	/usr/local/go/src/runtime/proc.go:63 +0xf3 fp=0xc20802dfe0 sp=0xc20802df98
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1 fp=0xc20802dfe8 sp=0xc20802dfe0

Cool, thank, I'll debug it with the code from your repo.
On Sat, May 16, 2015 at 17:39 Jack Christensen<EMAIL_ADDRESS>wrote:

Different stack trace, but it still crashes with OOM.
jack@edi:~/dev/go/src/github.com/jackc/xmlpp$ go generate && go build && ./xmlpp < test.xml
fatal error: runtime: out of memory
runtime stack:
runtime.SysMap(0xc372590000, 0x498c0000, 0x59b200, 0x5a2db8)
/usr/local/go/src/runtime/mem_linux.c:149 +0x98
runtime.MHeap_SysAlloc(0x5a84a0, 0x498c0000, 0x43aaa2)
/usr/local/go/src/runtime/malloc.c:284 +0x124
runtime.MHeap_Alloc(0x5a84a0, 0x24c5f, 0x100000000, 0xc28867ef60)
/usr/local/go/src/runtime/mheap.c:240 +0x66
goroutine 1 [running]:
runtime.switchtoM()
/usr/local/go/src/runtime/asm_amd64.s:198 fp=0xc20802d118 sp=0xc20802d110
runtime.mallocgc(0x498be000, 0x0, 0x3, 0x7fa73232c000)
/usr/local/go/src/runtime/malloc.go:199 +0x9f3 fp=0xc20802d1c8 sp=0xc20802d118
runtime.rawmem(0x498be000, 0x498be000)
/usr/local/go/src/runtime/malloc.go:371 +0x39 fp=0xc20802d1f0 sp=0xc20802d1c8
runtime.growslice(0x4b7e60, 0xc2d9d70000, 0x1d6b2000, 0x1d6b2000, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/runtime/slice.go:83 +0x237 fp=0xc20802d250 sp=0xc20802d1f0
main.(*ϡvm).dispatch(0xc2080007e0, 0x0, 0x0)
/home/jack/dev/go/src/github.com/jackc/xmlpp/xml.go:1307 +0x35a fp=0xc20802dc28 sp=0xc20802d250
main.(*ϡvm).run(0xc2080007e0, 0x596880, 0x0, 0x0, 0x0, 0x0)
/home/jack/dev/go/src/github.com/jackc/xmlpp/xml.go:1249 +0x4eb fp=0xc20802ddf0 sp=0xc20802dc28
main.Parse(0x0, 0x0, 0xc208056000, 0x22, 0x600, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/jack/dev/go/src/github.com/jackc/xmlpp/xml.go:737 +0x191 fp=0xc20802de40 sp=0xc20802ddf0
main.ParseReader(0x0, 0x0, 0x7fa73233db10, 0xc208034000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/jack/dev/go/src/github.com/jackc/xmlpp/xml.go:722 +0x12f fp=0xc20802ded0 sp=0xc20802de40
main.main()
/home/jack/dev/go/src/github.com/jackc/xmlpp/main.go:55 +0x86 fp=0xc20802df98 sp=0xc20802ded0
runtime.main()
/usr/local/go/src/runtime/proc.go:63 +0xf3 fp=0xc20802dfe0 sp=0xc20802df98
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1 fp=0xc20802dfe8 sp=0xc20802dfe0
—
Reply to this email directly or view it on GitHub
https://github.com/PuerkitoBio/pigeon/issues/3#issuecomment-102700276.

Looks like the issue is with the TextNode rule, a bug in the inverted char class. Replacing [^<]+ with (!'<' .)+works. Not fixed yet but at least halfway there.


fix(merge): treat dates as atomic values instead of objects.

Makes angular.merge copy dates correctly.
Before and after this change:

On the docs it sys that merge() "recursively descends into object properties of source objects, performing a deep copy". That is so not true :(
It performs a "deep extend".
In that sense, this PR seems to be doing the right thing.

Perhaps we should also include something like this (line 341):
dst[key] = isDate(src) ? new Date(src.valueOf()) : src;

So that dates get cloned instead of assigning a reference to the same object.

The implementation lgtm.  But we should have some tests in place, in order to ensure there will be no accidental regressions in the future.
@gabrielmaldi, could add a couple of tests (i.e. ones that would fail without this fix and pass with it) ?

@gabrielmaldi, could add a test (i.e. ones that would fail without this fix and pass with it) ?

Sure, I'll work on it later today.

I wrote a couple of tests but didn't push them because one is failing and I believe it's an issue with the version of Jasmine which Angular is using.
Here's a gist with the tests; it fails on the last line with this error:

I wrote this pen which uses Jasmine 2.0.0 and Angular 1.4.0-rc.1 and the test passes just fine.
I also tried using:
var dst2 = {};
brokenMerge(dst2, src);
expect(dst2).not.toEqual({
  foo: date
});

but it fails with the same error:

Thanks for your help.

Angular is using jamsine 1.3. In this pen, I have a couple of tests that are currently failing.
I would expect them to pass with your fix. (If that is indeed the case, you can just use those two (maybe update ther descriptions if necessary).)

In case it wasn't clear, you don't have a brokenMerge in your testcase.
It suffices to have tests that would have failed, were they run prior to the fix and pass with the fix.

Yes, your tests pass with the fix. I guess Jasmine 1.3 behaves differently and using valueOf to compare dates is a valid workaround. Thanks for your you guidance.


Proposed edits to docsite copy

If I missed any suggestions that should be reverted, please let me know!

i'll take a look closer earlier next week! ty tho!


Avoid Regular clients in Automesh on ESP APs due to performance issues

Hi,
when setup in Automesh mode the ESPs AP has the same SSID as the uplink Router.
Is there a way to prevent devices from connecting to the ESPs AP due to the lower performance?
I want to use it only for sensors not phone or notebooks
Thanks in advance

Thanks for your quick reply.
Yes I think I can handle the setup of the sensors to have a setup like this (if this is what you suggested):

Router IP Range <IP_ADDRESS>/24, SSID: MyHomeNetwork
1st ESP as "regular nat router" configured with Station SSID: MyHomeNetwork (for uplink) and self published SSID: MyIoTNet quite close to the router
ESP 2-n configured in Automesh mode with the 1st ESPs published SSID MyIoTNet as Station

This could be a good solution to have a separate (lower performance) mesh network for sensors and actors around the house.
A point is, that I cannot tell, to which AP the sensors connect to, which forces me to use DHCP on the sensors to acquire an IP address due to the different IP subnets. I thought about settings my battery driven sensors to static IPs to reduce the power usage and up time between deep-sleeps in the hand shake and address assigning process.
In this scenario I would only need to have a static route for all potential IP ranges <IP_ADDRESS>/16 to the static IP of the 1st ESP
Does this make sense so far 😄
Best regards
Bastian

I still don't get, where you need the static routes. All clients can reach any upstream node. If eg. an MQTT server ist located in the "main" net  at192.168.0.x it can be accessed by all nodes in the Automesh.

but is it also possible to use actors (switches) in the meshed network? So not only sending data to my HA Server in the 192.168.0.x is possible but also from server to the actors without the route?

No, that is not - relaying via a central MQTT might be a solution...

Ok, so I need to check if this is possible. I have ESPHome or Tasmota running on my switches. For Tasmota this should be ok. They are connected to my Mosquitto on my HA installation - but I need to check for the ESPHome devices.


gmsh 2nd tutorial example fails under mfem

I have just tried to use the .msh output file from the gmsh tutorial t2.geo.  I save in version 2 format, and when I run mfem -m t1.msh, I get the following:
MFEM abort: (r,c,f) = (0,1,2)
... in function: int mfem::STable3D::operator()(int, int, int) const
... in file: general/stable3d.cpp:112
Abort
I've attached the t2.msh file.
t2.msh.txt
Maybe there's a simple fix for this, but I typically get this error when I try to use gmsh to create an extrusion.

A followup:
After extended correspondence with the gmsh people, it looks like the offending line in the .geo file is
Physical Volume("The volume", 1) = {129,130};
Using either a string or a numeric identifier (a tag) causes the .msh file to fail with MFEM.
My hope is that MFEM will post a set of gmsh features that are not compatible with MFEM.
But then the question is how/whether I can assign a material attribute to different sub-volumes that can be used by MFEM.  The gmsh people say that the tag above is the only way to do this.  The right-hand side of me PDE has terms that depend upon these material attributes.
A related question is how to set things up so that I can evaluate volume and surface integrals correctly (per issue 599).

Hi  @bradfc
I am attaching the screen capture of your mesh. I opened it using GMSH.
Compared to a typical finite element mesh I am using with MFEM, it appears that there are
two issues.

There is a surface which does not belong to any volume.
All volumes are not connected together.
I am not sure if having a surface like (1) is meaningful for the finite element analysis.
(2) means that DoFs are separable in two groups which are isolated each other.

Thanks for your analysis.  As noted above, I got some suggestions from the gmsh team for making a .msh file that MFEM will process without an error message.  Moving forward, however, there are two issues:

As a newcomer to FE and mesh analysis, when I find that the second gmsh tutorial example (and others) generates a version 2 mesh file that fails under MFEM, then I have little confidence in using gmsh to generate mesh files, notwithstanding the MFEM statement that it accepts the .msh file format and interprets it correctly.
The fix from gmsh implies that there is no way to generate version 2 gmsh files that contain material attributes, since the fix involves removing the respective tags from the .geo source.

So I will pose again an earlier question: what package was used to generate the MFEM example files, especially the simpler ones?

@jonesholger could you take a look please?

Hi @bradfc,
As pointed out above we do not currently support mixed volume and surface meshes in MFEM, so the above example will not work. This is something we will address in the future, but it is not high on our priority list currently.
You can absolutely use GMsh, CUBIT, etc. to generate volume meshes. To answer your question about the meshes in the data directory: some of them were generated with NetGen, some with miniapps such as mesh-explorer or mobius-strip in the miniapps/meshing directory, and some were simple enough to be generated by hand (see the format description here).
Hope this helps,
Tzanio

Thanks very much for that input.  I'm not quite sure what you mean by mixed volume and surface meshes, since MFEM supports evaluating quantities on the boundary surfaces.
To be specific, I'm working on a model where I would like to integrate the results over a plane slicing through the middle of the volume.  Now slicing through a volume filled with tetrahedra may not yield very good results, but in my case there is a symmetry I can exploit: the volume in question is symmetric about the slicing plane.  This means that I can reduce the volume by half, and then one of the outer boundaries is precisely the plane I want for the surface integral.  Is there a way to do this with the present MFEM configuration?  I'll need the integral only over the plan in question rather than the entire outer surface.  The degrees of freedom are scalars.
I've gotten Gmsh to work for the volumes I'm interested in.  In hindsight I chose a bad Gmsh tutorial example to study.

This means that I can reduce the volume by half, and then one of the outer boundaries is precisely the plane I want for the surface integral. Is there a way to do this with the present MFEM configuration?

Yes. Define a volume Gmsh mesh and mark the boundary with one attribute, say 1, for the portion you want to integrate and a different attribute, say 2, for the rest of the boundary. Then you can use a BoundaryLFIntegrator with PWConstCoefficient that is 1.0 in attribute 1 and 0.0 in attribute 2 (see e.g. Example 2 for using piecewise-constant coefficients).
Hope this helps,
Tzanio

That should do it - thanks!


'rm' is not recognized as an internal or external command

Running on Windows 10. Need rimraf or similar?
C:\ae\stencil-ds-plugins-demo\packages\component-library-react>npm run build

><EMAIL_ADDRESS>build C:\ae\stencil-ds-plugins-demo\packages\component-library-react
> npm run clean && npm run compile

><EMAIL_ADDRESS>clean C:\ae\stencil-ds-plugins-demo\packages\component-library-react
> rm -rf dist

'rm' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>clean: `rm -rf dist`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>clean script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\peter\AppData\Roaming\npm-cache\_logs\2019-11-09T05_43_55_132Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: `npm run clean && npm run compile`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\peter\AppData\Roaming\npm-cache\_logs\2019-11-09T05_43_55_176Z-debug.log

C:\ae\stencil-ds-plugins-demo\packages\component-library-react>

@mhartington
Resolved with this: https://github.com/adaept/stencil-ds-plugins-demo/commit/db169686141c6c3df9649d359f8ec62e29d5c53b#diff-0d29217602bc1050ef44da26860a74b1L13-L14
Not sure how you feel about rimraf.
Do you want a PR?


APIView did not generate base revision

On https://github.com/Azure/azure-rest-api-specs/pull/25817 - on which I detected a few breaking and many more questionable changes through local semantic diffing - APIView did not initially generate a base revision with which to diff. See the APIView comment for context.

On average, I probably spend 1-3 hours a week on having to do local semantic diffing of JSON (written or emitter output) against the latest GA because OpenAPI Hub almost never works (wasn't great before, but seems to be worse now, especially given #7224 I just opened today) and APIView frequently doesn't seem to generate a review or doesn't update / work as I'd expect such as not generating a base diff in this case.
That said, I also appreciate that this PR had a lot going on, especially early on when there were some errant readme.md files in wrong directories.

They also published a copy of the specs to the appropriate location under specification/.

I see Readme file was updated accordingly. And in main the tag 'release_2023-04-01 is present and it contains the list of swagger files
Here is the ourput from the pipeline:

Creating baseline API review revision.
swaggerAPIParser input file undefined, branch: main
No files are found in the README for tag [release_2023-11-15-preview]. Identifying to default tag in current branch [main] to create API revision
Default tag in readme [specification/cognitiveservices/data-plane/Language/readme.md] is [release_2023-04-01]
No swagger files found under tag [release_2023-11-15-preview] in readme [specification/cognitiveservices/data-plane/Language/readme.md]. Fetching list using default tag in readme.
swaggerAPIParser input file undefined, branch: main
No files are found in the readme for tags: ['release_2023-11-15-preview', 'release_2023-04-01'] , branch: [main]
API review file will not be created from current branch [main]

@chidozieononiwu do you know why the baseline was not generated?


update health endpoint

Fixes #6968.

Updated the documented /health response.
Added a note to reflect the guidance in the corresponding release note.

This change is

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/fa953a603a0cb9d0241a0c3a4350fe838710eb10/
Edited pages:

v20.1/monitoring-and-alerting.md


Grid Theme - bottom panel hidden when loaded in iframe

Unite Gallery, Version: 1.7.8
Grid Theme - bottom panel  hidden when loaded in Fancybox iframe.
The ug-grid-panel element has top: 973px;  in fancybox frame and  top: 877px;  in normal window

HI, when the gallery is small, the bottom panel is hidden. I think I has
option that avoid this.
Anyway, please show me it in your website so I could look.
On Tue, Jul 12, 2016 at 11:51 PM, Jason Long<EMAIL_ADDRESS>wrote:

Unite Gallery, Version: 1.7.8
Grid Theme - bottom panel hidden when loaded in iframe.
The ug-grid-panel element has top: 973px; in frame and top: 877px; in
normal window
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/vvvmax/unitegallery/issues/91, or mute the thread
https://github.com/notifications/unsubscribe/AC_K_qFwo3RxSms1sogRfDpuzGoi3KuAks5qU_5fgaJpZM4JK0Ci
.

I think it might only be an  issue with fancyboxhttp://fancybox.net/
http://exhibits.library.txstate.edu/thewittliffcollections/exhibits/show/the-national-tour-of-texas
click on view map
I tested with a iframe and it works as normal.
http://exhibits.library.txstate.edu/testiframe.html
I guess I can do this with a different light box
I tried adding $(".ug-panel-handle-tip").click();
Works on the first open
But it moves the panel to top non second click
Thanks for the response
Any great work on UniteGallery
Jason Long
Programmer Analyst
Texas State University
From: Max Valiano<EMAIL_ADDRESS>Sent: Thursday, July 14, 2016 4:59 AM
To: vvvmax/unitegallery<EMAIL_ADDRESS>Cc: Long, Jason R<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [vvvmax/unitegallery] Grid Theme - bottom panel hidden when loaded in iframe (#91)
HI, when the gallery is small, the bottom panel is hidden. I think I has
option that avoid this.
Anyway, please show me it in your website so I could look.
On Tue, Jul 12, 2016 at 11:51 PM, Jason Long <notifications<EMAIL_ADDRESS>wrote:

Unite Gallery, Version: 1.7.8
Grid Theme - bottom panel hidden when loaded in iframe.
The ug-grid-panel element has top: 973px; in frame and top: 877px; in
normal window
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/vvvmax/unitegallery/issues/91, or mute the thread
https://github.com/notifications/unsubscribe/AC_K_qFwo3RxSms1sogRfDpuzGoi3KuAks5qU_5fgaJpZM4JK0Ci
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_vvvmax_unitegallery_issues_91-23issuecomment-2D232621268&d=BQMFaQ&c=OrYO-caJHQE1g_AJU3az1awi55It-bjDIQrtRiZ6WBk&r=tun9Tz1TZ2QZ0Iw22vcbM-cwV_7SpM4SjS_rTcfJjsA&m=QEP9LRGf0P3PJwLE9goJNqWVceFhMYQXTPc01RkwRsQ&s=P3sayYl1AMHp_aqLKfgaR3uC7K7gRzKD4d9M7r-rhuk&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe_AM0UmxyNuNpVVn7OaZJIgwJl3t6igaxFks5qVghkgaJpZM4JK0Ci&d=BQMFaQ&c=OrYO-caJHQE1g_AJU3az1awi55It-bjDIQrtRiZ6WBk&r=tun9Tz1TZ2QZ0Iw22vcbM-cwV_7SpM4SjS_rTcfJjsA&m=QEP9LRGf0P3PJwLE9goJNqWVceFhMYQXTPc01RkwRsQ&s=BuBk5jIIMzKWdfMcVdKWVYflKxaMq72CcqGXxRM3Yvs&e=.

ok. cool. IF you need something related to gallery I'm here :)
On Thu, Jul 14, 2016 at 5:09 PM, Jason Long<EMAIL_ADDRESS>wrote:

I think it might only be an issue with fancyboxhttp://fancybox.net/
http://exhibits.library.txstate.edu/thewittliffcollections/exhibits/show/the-national-tour-of-texas
click on view map
I tested with a iframe and it works as normal.
http://exhibits.library.txstate.edu/testiframe.html
I guess I can do this with a different light box
I tried adding $(".ug-panel-handle-tip").click();
Works on the first open
But it moves the panel to top non second click
Thanks for the response
Any great work on UniteGallery
Jason Long
Programmer Analyst
Texas State University
From: Max Valiano<EMAIL_ADDRESS>Sent: Thursday, July 14, 2016 4:59 AM
To: vvvmax/unitegallery<EMAIL_ADDRESS>Cc: Long, Jason R<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [vvvmax/unitegallery] Grid Theme - bottom panel hidden when
loaded in iframe (#91)
HI, when the gallery is small, the bottom panel is hidden. I think I has
option that avoid this.
Anyway, please show me it in your website so I could look.
On Tue, Jul 12, 2016 at 11:51 PM, Jason Long<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:

Unite Gallery, Version: 1.7.8
Grid Theme - bottom panel hidden when loaded in iframe.
The ug-grid-panel element has top: 973px; in frame and top: 877px; in
normal window
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/vvvmax/unitegallery/issues/91, or mute the thread
<
https://github.com/notifications/unsubscribe/AC_K_qFwo3RxSms1sogRfDpuzGoi3KuAks5qU_5fgaJpZM4JK0Ci>

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_vvvmax_unitegallery_issues_91-23issuecomment-2D232621268&d=BQMFaQ&c=OrYO-caJHQE1g_AJU3az1awi55It-bjDIQrtRiZ6WBk&r=tun9Tz1TZ2QZ0Iw22vcbM-cwV_7SpM4SjS_rTcfJjsA&m=QEP9LRGf0P3PJwLE9goJNqWVceFhMYQXTPc01RkwRsQ&s=P3sayYl1AMHp_aqLKfgaR3uC7K7gRzKD4d9M7r-rhuk&e=>,
or mute the thread<
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe_AM0UmxyNuNpVVn7OaZJIgwJl3t6igaxFks5qVghkgaJpZM4JK0Ci&d=BQMFaQ&c=OrYO-caJHQE1g_AJU3az1awi55It-bjDIQrtRiZ6WBk&r=tun9Tz1TZ2QZ0Iw22vcbM-cwV_7SpM4SjS_rTcfJjsA&m=QEP9LRGf0P3PJwLE9goJNqWVceFhMYQXTPc01RkwRsQ&s=BuBk5jIIMzKWdfMcVdKWVYflKxaMq72CcqGXxRM3Yvs&e=>.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/vvvmax/unitegallery/issues/91#issuecomment-232676281,
or mute the thread
https://github.com/notifications/unsubscribe/AC_K_owOUW0wJMH0XzeywTXNVO3IskBPks5qVkMRgaJpZM4JK0Ci
.