Working solution for any Belkin NetCam

Hello! I have a solution to support for any Belkin Netcam via camera-ffmpeg plugin.
I have NetCam HD+ model F7D7606v1 and this model doesn't have any local broadcast endpoints (only in setup mode local stream available, but camera create open wifi network in this mode). Belkin disabled it via firmware update some time ago.
I'm not a node.js guy, so, I'm looking for someone who can refactor my code in proper way. The Idea is just to take session from Belkin web interface and pass it to ffmpeg. Here is the prototype and it works just fine for me:
FFMPEG.prototype.updateBelkinNetcamSession = function(ffmpegOpt, callback) {
      var request = require('request');
      request = request.defaults({
          jar: true
      });
      var j = request.jar();
      var loginurl = 'https://netcam.belkin.com/app/c/login.html';
      var authurl = 'https://netcam.belkin.com/cxs/api/auth/login';
      var netcamheaders = {
          AntiCSRF: 'AntiCSRF',
          Host: 'netcam.belkin.com',
          Origin: 'https://netcam.belkin.com',
          Referer: loginurl,
          'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
      };

      request({
          url: loginurl,
          jar: j
      }, function(error, response, body) {
          request.post({
                  url: authurl,
                  json: {
                      password: ffmpegOpt.netcam.password,
                      username: ffmpegOpt.netcam.login
                  },
                  headers: netcamheaders,
                  jar: j
              },
              function(error, response, body) {
                  j.getCookies(authurl).forEach(function(cookie) {
                      if (cookie.key == 'SeedonkSession') {
                          var cameraurl = 'https://netcam.belkin.com/cxs/api/devices/' + ffmpegOpt.netcam.cameraid + '/cam/liveStream?viewerSessionId=' + cookie.value;
                          ffmpegOpt.source = '-headers Cookie:SeedonkSession=' + cookie.value + '; -i ' + cameraurl;
                          ffmpegOpt.stillImageSource = '-headers Cookie:SeedonkSession=' + cookie.value + '; -skip_frame nokey -i ' + cameraurl + ' -vframes 1 -r 1';
                          request({
                              url: 'https://netcam.belkin.com/cxs/api/services/forDevice/' + ffmpegOpt.netcam.cameraid + '/statusFull',
                              jar: j
                          }, function() {

                              request.post({
                                  headers: netcamheaders,
                                  json: {
                                      keepaliveSec: 3600
                                  },
                                  url: 'https://netcam.belkin.com/cxs/api/devices/' + ffmpegOpt.netcam.cameraid + '/cam/do/createViewerSession',
                                  jar: j
                              }, function(error, response, body) {
                                console.log(body.viewerSessionId);
                                callback(ffmpegOpt);
                                // TO DO:
                                // DEVICES: GET https://netcam.belkin.com/cxs/api/devices?includeDeleted=true
                                // KEEP ALIVE: POST https://netcam.belkin.com/cxs/api/keepalive/{viewerSessionId}
                              });
                          });
                      };
                  });

                  if (!error && response.statusCode == 200) {
                      //console.log(response);
                  }
              }
          );
      });
}

Additionally FFMPEG.prototype.handleStreamRequest updated with:
       if (this.ffmpegOpt.netcam) {

          let self = this;
          this.updateBelkinNetcamSession(this.ffmpegOpt, function(ffmpegOpt) {
            //console.log(ffmpegOpt);
            let ffmpegCommand = ffmpegOpt.source + ' -threads 0 -vcodec '+vcodec+' -an -pix_fmt yuv420p -r '+
            fps +' -f rawvideo -vf scale='+ width +':'+ height +' -b:v '+ bitrate +'k -bufsize '+
             bitrate +'k -payload_type 99 -ssrc 1 -f rtp -srtp_out_suite AES_CM_128_HMAC_SHA1_80 -srtp_out_params '+
             videoKey.toString('base64')+' srtp://'+targetAddress+':'+targetVideoPort+'?rtcpport='+targetVideoPort+
             '&localrtcpport='+targetVideoPort+'&pkt_size=1378';
            console.log(ffmpegCommand);
            let ffmpeg = spawn('ffmpeg', ffmpegCommand.split(' '), {env: process.env});
            self.ongoingSessions[sessionIdentifier] = ffmpeg;

            delete self.pendingSessions[sessionIdentifier];
          });
       } else {
          let ffmpegCommand = this.ffmpegSource + ' -threads 0 -vcodec '+vcodec+' -an -pix_fmt yuv420p -r '+
          fps +' -f rawvideo -vf scale='+ width +':'+ height +' -b:v '+ bitrate +'k -bufsize '+
           bitrate +'k -payload_type 99 -ssrc 1 -f rtp -srtp_out_suite AES_CM_128_HMAC_SHA1_80 -srtp_out_params '+
           videoKey.toString('base64')+' srtp://'+targetAddress+':'+targetVideoPort+'?rtcpport='+targetVideoPort+
           '&localrtcpport='+targetVideoPort+'&pkt_size=1378';
          console.log(ffmpegCommand);
          let ffmpeg = spawn('ffmpeg', ffmpegCommand.split(' '), {env: process.env});
          this.ongoingSessions[sessionIdentifier] = ffmpeg;

          delete this.pendingSessions[sessionIdentifier];
       }
      }

and
somewhere inside main FFMPEG function after:
  if (!ffmpegOpt.source) {
    throw new Error("Missing source for camera.");
  }

I have this line:
this.ffmpegOpt = ffmpegOpt;

config.json:
                  "name": "testcam",
                  "videoConfig": {
                      "source": "x",
                      "stillImageSource": "x",
                      "maxStreams": 2,
                      "maxWidth": 1280,
                      "maxHeight": 720,
                      "maxFPS": 30,
                      "vcodec": "h264_omx",
                      "netcam": {
                        "login": "yourlogin",
                        "password": "yourpassword",
                        "cameraid": yourcameraid
                      }
                  }
                }

So, handleSnapshotRequest should be updated too.
Optimization - No need to recreate session on every camera open, we can just ping this session time to time like Belkin website.

I do like this approach as the Netcams are used as designed rather than putting in setup mode.  I have added your above changes to my local files.  I am able to add the Netcam to HomeKit, however, when I access the Live stream I receive a message that the camera is not available.  I have confirmed that the camera is accessible via a web browser (Google Chrome) and that it is available in the iPhone app.
Any troubleshooting tips or suggestions that you can provide.

I have 2 NetcamHDs, a V1 and a V2.  I have managed to establish a live video stream from both by:

Update ffmeg.js with your changes from above
Update ffmeg.js with the v0.1.1, v0.1.2, and 0.1.3 changes to handle multiple video cameras
Change the vcodec from h264_omx to libx264

With these changes a couple of observations.

I was never able to get the V2 camera to work using the "setup" methodology even if this were the only camera so your web stream implementation is a big step forward.
It takes 20+ seconds to establish a live stream.  Any ideas on how to improve?
The live stream seems to time out but I do note in your comments that "keep alive" has not been implemented.

I am also not a node.js guy but I am not sure if required.

@DMBlakeley Hello! I think that session should be created once on first HomeBridge start or reload and after that plugin can just update it via keepalive endpoint and recreate it if needed. Looks like 20 seconds only needed for camera cold start. After that you can get image faster a bit. Livestream from outside of your HomeBridge network can be established only if you have home hub like iPad or Apple TV 4th gen or better.

I am basically a bit stumped with remote access.  I do have an Apple TV 4th gen (as well as a 4k version) as hubs in the house.  All other functions (lights, thermostat, security) work remotely without issue.  I also have a number of Automations based on time of day and whether home or not working without issue.  So, I don't understand why I get a "No Respond, This camera is not responding." message when away from the house.
My understanding is:

When home, the iPhone sends video request to Homebridge -> request to netcam.belkin.com, -> video back to Mac Mini -> video to iPhone.
When away, the iPhone sends video request to the Apple TV -> Homebridge -> netcam.belkin.com -> video back to Mac Mini -> video to Apple TV -> video the iPhone.

So, basic difference is that the Apple TV is in the loop for remote access.  I have Homebridge running on a Mac Mini.  Looking at the homebridge.log file I find that there is a request to connect to the camera when on the local wifi network but this is not the case when on LTE.  (I added a line in ffmeg.js to log the requests.)
Wondering if a port needs to be opened on the router to allow the video to stream out via LTE rather than locally on wifi.

This looks promising to get my Netcam V2 cameras up and running on Homekit.  I need a little newbie advice on the code above. Where, exactly, do I enter the "FFMPEG.prototype.updateBelkinNetcamSession" and the "FFMPEG.prototype.handleStreamRequest" code? It's not obvious to me; Homebridge has been my introduction to linux.
Thank you all for helping me with this!

I've figured out a few things, but also have some questions.
How can I find the "source" to put into the config.json file?  Currently, I'm pinging a local IP (-re -i http://admin:admin@<IP_ADDRESS>/goform/video), but I don't think that's right. I can't seem to find the non-local ip address of the camera.
Also, no snapshots are appearing on Homekit.  What is meant by "handleSnapshotRequest should be updated too"?
Finally, I found ffmpeg.js (v 0.1.3), and updated it with the code above.  I seem to be getting a few errors surrounding the code insert into "FFMPEG.prototype.handleStreamRequest".  Whenever I attempt to initiate a stream, I get errors such as below. Where should the additional block of code be insert?
-re -i<EMAIL_ADDRESS>-threads 0 -vcodec libx264 -an -pix_fmt yuv420p -r 15 -f rawvideo -tune zerolatency -vf scale=1280:720 -b:v 299k -bufsize 299k -payload_type 99 -ssrc 9322078 -f rtp -srtp_out_suite AES_CM_128_HMAC_SHA1_80 -srtp_out_params P+wSKQDegbUSQAKNB4vRpdvpdKSlPDzqK5uPx3UP srtp://<IP_ADDRESS>:58772?rtcpport=58772&localrtcpport=58772&pkt_size=1378
undefined
/usr/local/lib/node_modules/homebridge-camera-ffmpeg/ffmpeg.js:288
videoKey.toString('base64')+' srtp://'+targetAddress+':'+targetVideoPort+'?rtcpport='+targetVideoPort+
^
ReferenceError: videoKey is not defined
at /usr/local/lib/node_modules/homebridge-camera-ffmpeg/ffmpeg.js:288:14
at Request._callback (/usr/local/lib/node_modules/homebridge-camera-ffmpeg/ffmpeg.js:379:33)
at Request.self.callback (/usr/local/lib/node_modules/homebridge-camera-ffmpeg/node_modules/request/request.js:186:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request. (/usr/local/lib/node_modules/homebridge-camera-ffmpeg/node_modules/request/request.js:1163:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage. (/usr/local/lib/node_modules/homebridge-camera-ffmpeg/node_modules/request/request.js:1085:12)
at IncomingMessage.g (events.js:292:16)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)

Here is my ffmpeg.js:
ffmpeg.txt

Thanks! that cleared up a few things!
I'm still not getting any snapshots or video.  I suspect I've got something awry in the                       "source" and "stillImageSource" sections of my config.json file.
"source":  "-re -i<EMAIL_ADDRESS>

Sources should be empty.

What about the "cameraid": yourcameraid
Is "yourcameraid" the name I gave the camera in the NetCam app?

I can answer this one.   Go to netcam.belkin.com, log in and select the camera to view.  The cameraid is the number at the end of the html address.

Thanks so much for posting your ffmeg.js file.  Good to compare to mine to make sure that my interpretation of your post was correct.
I have spent more time trying to understand access to the cameras over cellular  as well as slow response.
Cellular now works although I have made to no changes.  Suspect this is due to installation of tvOS 11.2.6 on my Apple TVs. When on local wifi, the targetAddress for the stream is my iPhone.  When on cellular, the targetAddress for the stream is the Apple TV.  Both as expected.
Slow access is interesting.  As I have 2 cameras I needed to implement the changes to ffmpeg.js for creating a unique ssrc for each stream request.  I found that if the ssrc is <256 then first access is reasonable although updates are still ~10 seconds apart.  Larger ssrc numbers seem to slow access down significantly.  Just an observation at this point.

I have been using WrapAPI to look at the commands that are being sent when viewing the Netcams via the netcam.belkin.com webpage.  I have observed that the SeedonkSession value is being used as the viewSessionId rather than the viewerSessionId which returned from createViewerSession call.  May explain why it seems to take so long to bring up the live video stream in the Home app.

Is anyone still active here?  I'm dying to get my two NetCamHD's working with HomeKit/homebridge.  I am stuggling to find where the ffmpeg.js file is located in my installation; I am running Homebridge and FFMPEG on a Mac.  Is anyone willing to help a guy out? :)

I have spent quite a bit of time tweaking the code poste by Vladimir to address the issues that I have posted.  I have also updated ffmpeg to include most of the recent posted updates to FFMPEG.  The problem that I continue to struggle with is that the implementation can be no quicker to respond than using the webpage interface to the Netcam cameras (netcam.belkin.com).  Getting started always takes at least 20 seconds and then I only get about 10 seconds of video before the stream stops (have not implemented the keep-alive function).  I have also found that the NetCamHD+ responds better than the NetCamHD versions of the camera.

@DMBlakeley could you post your code with instructions how to run it? Maybe some open source repo?

I am basically a bit stumped with remote access. I do have an Apple TV 4th gen (as well as a 4k version) as hubs in the house. All other functions (lights, thermostat, security) work remotely without issue. I also have a number of Automations based on time of day and whether home or not working without issue. So, I don't understand why I get a "No Respond, This camera is not responding." message when away from the house.
My understanding is:

When home, the iPhone sends video request to Homebridge -> request to netcam.belkin.com, -> video back to Mac Mini -> video to iPhone.
When away, the iPhone sends video request to the Apple TV -> Homebridge -> netcam.belkin.com -> video back to Mac Mini -> video to Apple TV -> video the iPhone.

So, basic difference is that the Apple TV is in the loop for remote access. I have Homebridge running on a Mac Mini. Looking at the homebridge.log file I find that there is a request to connect to the camera when on the local wifi network but this is not the case when on LTE. (I added a line in ffmeg.js to log the requests.)
An interesting observation is that I do see snapshot requests in the log when over LTE, however, snapshots have not been implemented yet.
Wondering if a port needs to be opened on the router to allow the video to stream out via LTE rather than locally on wifi.

Hey did you ever figure out how to make it work at home?

I have the Netcams working both in the house as well as remotely.  Spent a lot of time trying to figure out how to improve the initial display of the video stream but came to the conclusion that the delay is on the Belkin side as initial display via the webpage is just as slow.
Currently working on updating the code to ffmpeg vs 0.1.8 as well as ensuring that it is working with iOS 12.1.1 and MacOS 10.14.2 as this brought HomeKit to the Mac.  Video streaming starts and displays for about 10 seconds so need to understand how to implement keep alive.  Also looking at getting the snapshots to work.  I'm not a professional coder so this is taking some time.
Wish there was a good choice for a HomeKit compatible camera as I believe that the Belkin Netcams will always have limitations. Now just an interesting project.

Hi, I have 5 Belkin NetCam F7D7601v1 since many years ago, always using the app on iOS (now 12.2) and running latest app versión 3.0.3 (from 2 years!). I don't know since when the app stopped working (I couldn't log in, however, I could log in with same credentials on netcam.belkin) Reading this topic, I guess is time to drop the iOS app, and try to configure another free video monitor app to run the NetCam on it, previous configuration on them. Could someone please write in a few lines the steps to accomplish this goal? I have some experience programming with old languages, I guess I can do something to solve my issue with the right guide. By the way, I contacted Belkin and I received an automated answer saying they will consider the issue for further releases (?). Thanks in advance for your time!

I have a Netcam v1 and v2 camera with iOS 12.3.1 and version 3.0.3 of the Netcam app and have no issues. I would suggest that you update your iOS to the latest, delete the Netcam app, reinstall the Netcam app, and sign in as a first step.
Several months ago I did have problems with updating the camera firmware and at the time I created a new Belkin account and reconnected the cameras. If update and reinstall did not work then I would try as a second step.

Thanks DMBlakeley, I'll follow your suggestion and I’ll let you know! Anyway, did you find a way to load the NetCam video in multiview software like mEye, iDMSS Lite, zMeye, zmNinja, or something similar? Belkin app works fine (just fine) but the limitation to watch one camera per time is really unbelievable..

No, I have not tried multiview software.  I am not sure that the Belkin Netcam would be compatible since they generate a video stream on demand via the app or web page. They will generate a video stream if you leave them cameras in “setup” mode.
I tried using the solution posted at https://github.com/rudders/homebridge-platform-wemo/issues/58#issuecomment-324506210, however, I could not get more than 1 camera to work at a time. This approach disables the Netcam app as well as web access.
I am currently using an adaption of the solution which started this post which allows me to access through the Home app and retain access through the Netcam app. Access is a bit slow (same as Netcam app) and only displays about 20 seconds of live video after connecting.
You have quite an investment in 5 Belkin cameras so can understand that you are looking for a better software solution.

Thanks DM! I read very quickly the wemo#58 thread, and I have a question: the limitation for multiple using the method in your case was that you have v1 and v2 devices? In another hand, when you talk about iOS, you are not including iPhone or iPad device, isn’t it? I'm figuring the way to install FFMPEG and the others configuration without a kind of jailbreak. At last, a silly question, which method did you use to obtain the device internal IP address? I download the assigned IP table from the router, is very difficult to identify them because are not labeled, my idea is to fix the assignment directly in the router. Thanks in advance!

In my debugging I found that the thread #58 method only worked with v1 cameras. I could never get it to work on the v2 cameras. FFMPEG is installed on a Homebridge compatible device. In my case I am using a Mac Mini for Homebridge. With Homebridge installed and operational, devices handled by Homebridge appear in the Home app on an iPhone or iPad. Jail breaking is not necessary.
For the Netcam cameras I did fix/assign the IP address via the router configuration.  I used the “Net Analyzer” app on my iPhone to determine which IPs were assigned to the cameras and then assigned these via the router configuration.
If you do get your cameras operational and visible in the Home app there is the “HomeCam for HomeKit” which provides a pretty nice multiview display of all of your cameras. I have not tried it as I did not get more than 1 camera operational but I have purchases other apps by this developer and they delivered what was promised.

Thanks for your time DM, I'm beginning to understand the whole picture, thanks for your explanation. I'm a PC user, but I´ll try to install FFMPEG and Homebridge on a Mac (my daughter has one)
For IP address discovery, I’ll use some software I have already installed on PC. I’ll let you know thanks again!

You can install Homebridge on a PC, reference https://github.com/nfarina/homebridge/wiki/Install-HomeBridge-on-Windows-10-(new).
Whether you install on Windows or MacOS the unit needs to be located in your house and always powered.
Good luck!

Thanks DM! I'll try in Windows first, I'll let you know. Thanks for your guide!

Well, small moves for me, after switching NetCam to config mode, I have a video on a web browser (HTTP:///goform/video
Besides this useful thread, I read something about this paper
https://aliteke.files.wordpress.com/2015/07/mobipstcmrrdy.pdf
and confirm the fact that they found some vulnerabilities on NetCam. As a first step I tried to log in Admin Page (in other forums I found ip/homeorg.asp or ip/home.asp) but I couldn't. In order to change admin/admin pwd, I tried to connect via Telnet (the NetCam runs a kind of Linux), and the connection was refused. I made a port scan, only found 80 opened (always in setup mode).
As you can check, this situation differs from the document that I sent. Do you know if Belkin could change some of these parameters across the different versions? Do you find the way to enter in admin page with actual FW <IP_ADDRESS> version? Thanks in advance!

Thanks for passing on the article. You have already dug in deeper than I had with operating the camera in setup mode. Thinking back, one of the reasons I abandoned this mode is that if the streaming were to disconnect from my router there was no way to auto-reconnect it. You needed to unplug the camera for a reset, plug back in, and reconnect. Quite inconvenient when you are not at home.
Will be interested to see what you learn and find that you have stable operation.
Regards, Doug

@DMBlakeley Keep in mind that anyone can connect to your camera in setup mode. This is 100% insecure mode.

Understand. I am back to the standard mode using an adaptation of your post that started this stream.

@DMBlakeley I too am trying to get my v2 camera working with homebridge. I am at the point where ffmpeg can connect to the netcam server and it seems to receive data, but the stream is never displayed on the iphone... I tried just running ffmpg on the command line and connecting to the srtp stream with VLC from my mac, and it seems to connect, but also doesn't display the video stream :( is everything still working for you? I am using iOS 12.4 and a variation of the code that was posted above.

Hi! Thanks for your update! Honestly, I decided to avoid losing time with a discontinued product, I had my five-minutes-professional-ego trying to solve this issue, searching a good configuration, but it would be more simple, we are talking about a camera device, as simple as that. So, I’m getting a quotation for Dahua cam or something similar device, with a lot of Apps designed to work on iOS. As you can imagine, it was not an easy decision, because I have 4 NetCam, but I decided to move forward. I’ll let you know about Dahua cam when I have and install them! Thanks!
De: elesueur<EMAIL_ADDRESS>Enviado el: miércoles, 14 de agosto de 2019 17:38
Para: KhaosT/homebridge-camera-ffmpeg<EMAIL_ADDRESS>CC: dbowman68<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Asunto: Re: [KhaosT/homebridge-camera-ffmpeg] Working solution for any Belkin NetCam (#138)
https://github.com/DMBlakeley @DMBlakeley I too am trying to get my v2 camera working with homebridge. I am at the point where ffmpeg can connect to the netcam server and it seems to receive data, but the stream is never displayed on the iphone... I tried just running ffmpg on the command line and connecting to the srtp stream with VLC from my mac, and it seems to connect, but also doesn't display the video stream :( is everything still working for you? I am using iOS 12.4 and a variation of the code that was posted above.
—
You are receiving this because you commented.
Reply to this email directly,  https://github.com/KhaosT/homebridge-camera-ffmpeg/issues/138?email_source=notifications&email_token=AMNCU2FDCEBWZOQEO2OWHYDQERULPA5CNFSM4EO2SRBKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4KBF4I#issuecomment-521409265 view it on GitHub, or  https://github.com/notifications/unsubscribe-auth/AMNCU2DBNH4HQBPT7PXF7HDQERULPANCNFSM4EO2SRBA mute the thread.

I continue to use a variant of the configuration proposed at the start of this discussion stream. This provides basic functionality and I can also fall back to the iOS Netcam app if need be. Agree that the Netcam are pretty much deadline and watching developments in Homekit compatible cameras. Waiting to see what comes out with the HomeKit camera improvements via iOS13 before making the move.

I continue to use a variant of the configuration proposed at the start of this discussion stream. This provides basic functionality and I can also fall back to the iOS Netcam app if need be. Agree that the Netcam are pretty much deadline and watching developments in Homekit compatible cameras. Waiting to see what comes out with the HomeKit camera improvements via iOS13 before making the move.

@DMBlakeley Are you still using this? Do you mind sharing your copy of ffmpeg.js and the config.json snippet? I have this set up, but not working. A quick compare to yours might help me out. Thanks!

@rcoletti116 No, I recently refreshed my homebridge setup and did not carry over the Netcams. It was still working but I had added a Logitech Circle camera which works much better with HomeKit. Belkin recently announced EOL for the Netcams (https://www.belkin.com/us/support-article?articleNum=316642) so my version of the plugin would have stopped working on May 29th.

woah! I had no idea my cameras are about to be bricked.

Yes, and rather short notice! I received the email on April 28, basically 30 days notice.
I ordered a couple of the new Eufy 2k cameras with HomeKit compatibiity on preorder for a pretty reasonable price as replacements. Have not received yet but you may want to check out for yourself.


Can't pass special attributes to  tag

I need to add some special attributes to the iframe tag but I don't find the way. Those attributes are allowusermedia and allow="microphone *; camera *;"

I don’t think this repro is maintained anymore. Try this one that should work for you.
https://github.com/davidjbradshaw/iframe-resizer-react


Add possibility to overwrite only one template

env.conf.templates.overwrite can be a string (module name or script filepath, should return a function) or an Object, key is the original filepath and value is the overwriter filepath (= will be loaded instead original)
e.g.:
{
  "...": "...",
  "templates": {
    "overwrite": {
      "node_modules/docdash/tmpl/params.tmpl": "docs/home/tmpl/params.tmpl"
    }
  }
}

When env.conf.templates.overwrite != false: cached file will print: 'load ${filepath}' / 'load ${overwrite} instead ${filepath}'

Q
A

Bug fix?
no

New feature?
yes

Breaking change?
no

Deprecations?
no

Tests added?
yes/no

Where is the test for partial function ? I didn't find anyhing


automated bundling

EM-1904
Implementation of async triggering of a stitching task if config is available in a case.

@pawelkaczmarekuk I think it needs functional tests


[BUG] Training Mamba with ZeRO stage 3 and long context lengths - CUDA OOM error

Describe the bug
I am experiencing a CUDA out of memory error while training a Mamba 2.8b model with DeepSpeed using ZeRO 3. The issue occurs during the backward pass, and I have tried adjusting the config file many times, but the problem persists.
The training works fine for context lengths up to 48k tokens, but fails when increasing to > 50k tokens.
CPU memory usage is relatively low (~100 GB out of 1800 GB) during training, indicating that the model parameters and optimizer states are not being properly offloaded to the CPU.
I am trying to figure out if this is a Mamba specific error. Does anyone have experience training state space models on Zero 3 with Deepspeed?
I would greatly appreciate any guidance or suggestions to resolve this issue.
To Reproduce
from datasets import load_dataset, concatenate_datasets

from pathlib import Path
import transformers
from transformers import (
    MistralForCausalLM,
    AutoTokenizer,
    Trainer
)
import torch
from datasets import load_dataset
from typing import Optional
import os
from random import sample as sample_fn
from transformers import AutoModelForCausalLM,get_cosine_schedule_with_warmup, get_linear_schedule_with_warmup, AdamW
from transformers.models.mamba import MambaForCausalLM
#from mamba_ssm.models.mixer_seq_simple import MambaLMHeadModel
from transformers.training_args import OptimizerNames
from modeling.mamba_lm import MambaLMHeadModel

LOCAL_DST_MODEL_DIR = "model_result"
LOCAL_JSONL_DATASET_FILE = "/home/ubuntu/MambaPro/reference_squad_data_v2_final_100k.jsonl"
LOCAL_TRAINING_LOGS_DIR = "logs"
LOCAL_CKPTS_DIR = "ckpts"
TMP_MODEL_DIR = "model"

LOCAL_DIRS = [
    LOCAL_DST_MODEL_DIR,
    LOCAL_TRAINING_LOGS_DIR,
    LOCAL_CKPTS_DIR,
    TMP_MODEL_DIR,
    str(Path(LOCAL_JSONL_DATASET_FILE).parent)
]

class InstructionDataCollator:
    def __init__(
        self,
        tokenizer,
        max_length: Optional[int] = None
    ):
        dummy_text = " Who is Elon Musk"
        self.dummy_text = dummy_text*20000
        print("length of dummy text: ", len(tokenizer.tokenize(self.dummy_text)))

        self.tokenizer = tokenizer
        self.max_length = max_length

    def __call__(self, batch):
        final_input_samples = []
        final_output_samples = []

        for sample in batch:
            tokenized_input = self.tokenizer(self.dummy_text)
            #tokenized_output = self.tokenizer(self.dummy_text) #+ self.tokenizer.eos_token)

            input_ids = tokenized_input['input_ids'][:self.max_length]
            # The input texts are not taken into account for the loss computation
            labels = tokenized_input['input_ids'][:self.max_length]

            # Truncate the input texts and labels
            input_ids = input_ids[: self.max_length - 1]
            labels = labels[: self.max_length - 1]

            input_ids = input_ids+[self.tokenizer.eos_token_id]
            labels = labels+[self.tokenizer.eos_token_id]

            attention_mask = [1] * len(input_ids)

            final_input_samples.append({
                "input_ids": torch.tensor(input_ids).long(),
                "attention_mask": torch.tensor(attention_mask).long()
            })

            final_output_samples.append({
                "input_ids": torch.tensor(labels).long()
            })

        # IMPORTANT: no need to shift the labels, already done by the model (HF)
        preprocessed_batch = self.tokenizer.pad(
            final_input_samples,
            padding=True,
            #max_length=self.max_length,
            return_tensors="pt",
        )

        preprocessed_batch['labels'] = self.tokenizer.pad(
            final_output_samples,
            padding=True,
            #max_length=self.max_length,
            return_tensors="pt",
        )['input_ids']

        return preprocessed_batch

def create_local_dirs_if_not_exist():
    for local_dir in LOCAL_DIRS:
        local_dir_path = Path(local_dir)

        if not local_dir_path.exists():
            local_dir_path.mkdir(parents=True, exist_ok=True)

def do_training():
    dataset = load_dataset("json", data_files=LOCAL_JSONL_DATASET_FILE)
    dataset = dataset.shuffle(seed=42)

    # model = AutoModelForCausalLM.from_pretrained(
    #     "google/gemma-7b",
    #     low_cpu_mem_usage=True,
    #     torch_dtype=torch.float16,
    #     attn_implementation="flash_attention_2"
    # )
    model = AutoModelForCausalLM.from_pretrained(
        "/home/ubuntu/llm_finetune/mamba-2.8b-hf",
        torch_dtype=torch.bfloat16,

    )
    # model = MambaLMHeadModel.from_pretrained(
    #     "state-spaces/mamba-2.8b-slimpj",
    # )

    # To allow the option of gradient checkpointing
    #model.enable_input_require_grads()

    #model = model.cuda()

    tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-neox-20b")
    tokenizer.pad_token = tokenizer.eos_token

    data_collator = InstructionDataCollator(
        tokenizer=tokenizer,
        max_length=64000
    )

    #optimizer=OptimizerNames.ADAMW_HF
    args = transformers.TrainingArguments(
        output_dir="./output_19_03_mamba",
        num_train_epochs=1,
        warmup_steps=20,
        learning_rate=2e-5,
        deepspeed="deepspeed_configs/zero3.yaml",
        #gradient_checkpointing_kwargs={"use_reentrant":True},
        #optim=optimizer,
        fp16="fp16",
        #bf16=True,
        local_rank=-1,
        gradient_checkpointing=True,
        #gradient_accumulation_steps=8,
        per_device_train_batch_size=1,
        weight_decay=0,
        logging_steps=10,
        save_total_limit=1,
        save_strategy="steps",
        save_steps=100,
        remove_unused_columns=False,
        report_to=["wandb"]
    )

    # Create Trainer instance
    trainer = Trainer(
        model=model,
        args=args,
        data_collator=data_collator,
        train_dataset=dataset["train"]
    )

    # Start training
    trainer.train()

    # It should only save the adapter weights
    trainer.save_model(TMP_MODEL_DIR)
    tokenizer.save_pretrained(TMP_MODEL_DIR)

    model.save_pretrained(LOCAL_DST_MODEL_DIR, safe_serialization=False)
    tokenizer.save_pretrained(LOCAL_DST_MODEL_DIR)

def main():
    create_local_dirs_if_not_exist()
    # Preprocess the dataset and do the training
    do_training()

main()

Deepspeed Config File
{
"bf16": {
"enabled": true
},
"optimizer": {
"type": "AdamW",
"params": {
"lr": "auto",
"betas": "auto",
"eps": "auto",
"weight_decay": "auto"
}
},
"scheduler": {
"type": "WarmupDecayLR",
"params": {
"warmup_min_lr": "auto",
"warmup_max_lr": "auto",
"warmup_num_steps": "auto",
"total_num_steps": "auto"
}
},

"zero_optimization": {
"stage": 3,
"overlap_comm": true,
"contiguous_gradients": true,
"sub_group_size": 1e9,
"reduce_bucket_size": "auto",
"stage3_prefetch_bucket_size": 1e9,
"stage3_param_persistence_threshold": "auto",
"stage3_gather_16bit_weights_on_model_save": true,
"offload_optimizer": {
"device": "cpu"
}
},
"activation_checkpointing": {
"partition_activations": true,
"cpu_checkpointing": true,
"contiguous_memory_optimization": false,
"number_checkpoints": null,
"synchronize_checkpoint_boundary": false,
"profile": false
},
"offload_param": {
"device": "cpu",
"pin_memory": true,
"buffer_count": 5,
"buffer_size": 5e9,
"max_in_cpu": 5e10
},
"gradient_accumulation_steps": "auto",
"gradient_clipping": "auto",
"steps_per_print": 10,
"train_batch_size": "auto",
"train_micro_batch_size_per_gpu": "auto",
"wall_clock_breakdown": false
}

Expected behavior
The code should use Zero 3 to offload to CPU and/or NVMe, and allow training of longer context sequences.
ds_report output
2024-04-02 11:11:11,280 [INFO] [real_accelerator.py:191:get_accelerator] Setting ds_accelerator to cuda (auto detect)
--------------------------------------------------
DeepSpeed C++/CUDA extension op report
--------------------------------------------------
NOTE: Ops not installed will be just-in-time (JIT) compiled at
      runtime if needed. Op compatibility means that your system
      meet the required dependencies to JIT install the op.
--------------------------------------------------
JIT compiled ops requires ninja
ninja .................. [OKAY]
--------------------------------------------------
op name ................ installed .. compatible
--------------------------------------------------
async_io ............... [NO] ....... [OKAY]
fused_adam ............. [NO] ....... [OKAY]
cpu_adam ............... [NO] ....... [OKAY]
cpu_adagrad ............ [NO] ....... [OKAY]
cpu_lion ............... [NO] ....... [OKAY]
 [WARNING]  Please specify the CUTLASS repo directory as environment variable $CUTLASS_PATH
evoformer_attn ......... [NO] ....... [NO]
fused_lamb ............. [NO] ....... [OKAY]
fused_lion ............. [NO] ....... [OKAY]
inference_core_ops ..... [NO] ....... [OKAY]
cutlass_ops ............ [NO] ....... [OKAY]
transformer_inference .. [NO] ....... [OKAY]
quantizer .............. [NO] ....... [OKAY]
ragged_device_ops ...... [NO] ....... [OKAY]
ragged_ops ............. [NO] ....... [OKAY]
random_ltd ............. [NO] ....... [OKAY]
 [WARNING]  sparse_attn requires a torch version >= 1.5 and < 2.0 but detected 2.1
 [WARNING]  using untested triton version (2.1.0), only 1.0.0 is known to be compatible
sparse_attn ............ [NO] ....... [NO]
spatial_inference ...... [NO] ....... [OKAY]
transformer ............ [NO] ....... [OKAY]
stochastic_transformer . [NO] ....... [OKAY]
--------------------------------------------------
DeepSpeed general environment info:
torch install path ............... ['/home/ubuntu/miniconda3/envs/llm/lib/python3.11/site-packages/torch']
torch version .................... 2.1.2+cu121
deepspeed install path ........... ['/home/ubuntu/miniconda3/envs/llm/lib/python3.11/site-packages/deepspeed']
deepspeed info ................... 0.14.0, unknown, unknown
torch cuda version ............... 12.1
torch hip version ................ None
nvcc version ..................... 12.4
deepspeed wheel compiled w. ...... torch 2.1, cuda 12.1
shared memory (/dev/shm) size .... 885.85 GB

Screenshots
If applicable, add screenshots to help explain your problem.
System Information
GPU: 8 x NVIDIA A100 80GB, 240 vCPUs, 1800 GiB RAM, 20 TiB SSD
CUDA Version: 12.2
DeepSpeed Version: 0.14.3
Launcher context
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 OMP_NUM_THREADS=8 torchrun --nproc_per_node=8 --master_port=$((RANDOM + 10000)) train.py
Additional context
I've also tried NVMe and I get the same result.
Training Setup:
Model: Mamba-2.8b-slimpj
Dataset: Upsampled Slim Pajama dataset with long context lengths (> 50k tokens)
Hardware: 8 x A100 80GB GPUs, 240 vCPUs, 1800 GiB RAM, 20 TiB SSD

@PageTurnIO, the underlying issue here is that ZeRO* and offloading help to optimize memory footprint of model state (parameters and optimizer). In this case, however, the OOM is caused by activation memory footprint of the very long context length. So, you will need to explore techniques like sequence-parallelism, such as Ulysses. and activation checkpointing to fit the long context in memory.

@tjruwase thanks for your comment, very helpful! Fully agree with you that this is an activation memory problem. Looking over the Ulysses code it seems compatible with transformers/attention, but not necessarily compatible with state space models. But the principles are all the same. There is a recurrent state size that grows with sequence length, and sequence parallelism and activation checkpointing are techniques that can deal with this memory increase to avoid premature OOM errors (note: the latter technique is somewhat already a part of the Mamba hardware aware algorithm natively). Now, how does one actually implement this in DeepSpeed for state space models like Mamba? I’m trying to figure that out. On the one hand, I can see modifying the Ulysses code and submitting a PR. But it may not be necessary. The config file for deepspeed, with the right settings, might be able to perform this action for state space models already. Still looking into this.

Using deepspeed on Mamba is indeed a question. Have anyone succeed on this issue?


[QUESTION] yt-dlp code reuse?

What is your question?
Enter question here...
Can I port your extractors to yt-dlp? The code used will be licenced under the unlicence.
Additional context
Add any other context or screenshots here.

Go for it! :)


HIVE-26301: Fix ACID tables bootstrap during reverse replication in u…

@hmangla98: Could you please help my review by describing what is in this 2nd commit?
Thanks, Peter

@hmangla98: Could you please help my review by describing what is in this 2nd commit?
Thanks, Peter

Hi @pvary,
This commit is just for test fixes. Actually, some of the test written in TestReplicationOptimisedBootstrap require both primary as well replica cluster to be exclusive (meaning on separate cluster). In this patch, we've modified that functionality to use same cluster. Therefore, we need to move those tests to TestReplicationScenariosExclusiveReplica which mimics the exclusivity of clusters.
Thanks
Haymant Mangla

Therefore, we need to move those tests to TestReplicationScenariosExclusiveReplica which mimics the exclusivity of clusters.

So basically there is no change in the test code. It is just moved from one test class to another? (Github is not good at handling these moves, it is hard to compare)

Therefore, we need to move those tests to TestReplicationScenariosExclusiveReplica which mimics the exclusivity of clusters.

So basically there is no change in the test code. It is just moved from one test class to another? (Github is not good at handling these moves, it is hard to compare)

As discussed offline the tests are only moved


feat: add dapp rankings card

Description
This PR:

add most popular dapps to redux
add redux migrations
add dapp ranking card that dispatches an analytics action
add unit tests

This PR doesn't include the bottom sheet.
Test plan
I also checked the layout on the other variants. This card isn't on the legacy variant because that one has the featured dapp card.

Related issues

Fixes RET-698

Backwards compatibility

Awesome 📈 👍 Do we need to put this behind a feature flag?

i have this behind an experiment :)


Cannot test sub-sub chart correctly

I try to add a test case in the nested subchart, and run unittest in the outermost chart, the final result is template "with-subsubcharts/charts/example-subchart/charts/example-sub-subchart /templates/deployment.yaml" not exists or not selected in test suite.

#207

Hello @zidoshare,
Thanks for the improvement.
Will look at the PR.
Greetings,
@quintush


Update API method args & a small typo

Summary
See the changed files.
Checklist

[x] You agree with our CLA
[ ] Included tests (or is not applicable).
[x] Updated documentation (or is not applicable).
[x] Used pre-commit hooks to format and lint the code.

Sorry, needed to rebase to main, because your git history was mangled. Thanks for your contribution, next time update your branch before making changes, this way I can easily merge it!


Object of class BBSLab\NovaFileManager\Support\Asset could not be converted to string

Hello, I am getting this error.
"Object of class BBSLab\NovaFileManager\Support\Asset could not be converted to string"

Hi
Without full context I can't really determine what's causing this, and I'm unable to provide much help.
My first guess would be that you're missing the required model casts as described here https://oneduo.github.io/nova-file-manager/installation.html#casting-your-model-attributes

https://github.com/oneduo/nova-file-manager/pull/123 seems to resolve it.


Add pallawijha.nd file

This pull request adds pallawijha.nd file to the_posts folder.

This pull request adds pallawijha_file to the postsa folder.


Clip draw bounding box

Is there a way to draw or to get the coordinates of a bounding box of the detected object?
Thanks.

Not out of the box but there has been some work using CLIP to perform object detection/segmentation, e.g. #82


I want to add a vehicle
Hyundai 2023 Staria
발음듣기복사하기

(Ecu.fwdRadar, 0x7D0, None): [
b'\xf1\x00US4_ RDR ----- 1.00 1.00 99110-CG000 ',
],
(Ecu.cornerRadar, 0x7B7, None): [
b'\xf1\x00US4 BCW RR 2.00 , 2.00 (xT\x97#\x01S\x06\x14',
],
(Ecu.fwdCamera, 0x7C4, None): [
b'\xf1\x00US4 MFC AT KOR LHD 1.00 1.06 99211-CG000 230524',
],
(Ecu.hvac, 0x7B3, None): [
b'\xf1\x00US4 97255-CG160CONTROL UNIT 1.02.00US4DATC(-)0.9 ',
],

What is your dongle id? Can you open a pull request with a car port? Generally, Hyundai car ports are rather simple

What is your dongle id? Can you open a pull request with a car port? Generally, Hyundai car ports are rather simple, as long as it has ACC and LKAS.
Closing if we get no response as this isn't actionable without more info.

This is being actively worked on. Can close this issue for now.

What is your dongle id? Can you open a pull request with a car port? Generally, Hyundai car ports are rather simple, as long as it has ACC and LKAS.
Closing if we get no response as this isn't actionable without more info.

This is being actively worked on. Can close this issue for now.

I placed an order to install comma 3x on my Straa vehicle. When my product arrives, I want to share the data.


original_user is nill

helo
when i want to switch back to original user.
it returns a nill value
so how do we solve this?

I found out that if u set the /switch_user/remember_user?remember=true in devise after_sign_in_path like so
#app/helper/devise_helper.rb

module RedirectionHelper
  def after_sign_in_path_for(resource)
    `switch_user/remember_user?remember=true`
  end
end

Then you will be fine again. This only works if you use Devise.

That didn't work for me. Original user is always nil. Any ideas?
I saw there's meant to be a session value for the original user, this is also always not present for me.
:original_user_scope_identifier

+1

Worked for me after upgrading the gem to 1.5.0.


gives critical errors and the plugin is deactivated when starting the server

[16:45:56] [Server thread/CRITICAL]: ErrorException: "yaml_parse(): reading error encountered during parsing: control characters are not allowed (line 1, column 1)" (EXCEPTION) in "pmsrc/src/pocketmine/plugin/PluginDescription" at line 95
[16:45:56] [Server thread/CRITICAL]: #0 (): pocketmine\utils\Utils::errorExceptionHandler(integer 2, string[109] yaml_parse(): reading error encountered during parsing: control characters are n, string[109] phar://C:/Users/Ariel Rp/Desktop/Bat Atlion sv/PocketMine-MP.phar/src/pocketmine, integer 95)
[16:45:56] [Server thread/CRITICAL]: #1 pmsrc/src/pocketmine/plugin/PluginDescription(95): yaml_parse(string[101] ";}}s:9:"producers";a:0:{}s:4:"link";s:50:"https://poggit.pmmp.io/r/142876/Advan)
[16:45:56] [Server thread/CRITICAL]: #2 pmsrc/src/pocketmine/plugin/PharPluginLoader(60): pocketmine\plugin\PluginDescription->__construct(string[101] ";}}s:9:"producers";a:0:{}s:4:"link";s:50:"https://poggit.pmmp.io/r/142876/Advan)
[16:45:56] [Server thread/CRITICAL]: #3 pmsrc/src/pocketmine/plugin/PluginManager(238): pocketmine\plugin\PharPluginLoader->getPluginDescription(string[66] C:\Users\Ariel Rp\Desktop\Bat Atlion sv\plugins\AdvanceDeaths.phar)
[16:45:56] [Server thread/CRITICAL]: #4 pmsrc/src/pocketmine/Server(1852): pocketmine\plugin\PluginManager->loadPlugins(string[48] C:\Users\Ariel Rp\Desktop\Bat Atlion sv\plugins)
[16:45:56] [Server thread/CRITICAL]: #5 pmsrc/src/pocketmine/command/defaults/ReloadCommand(49): pocketmine\Server->reload()
[16:45:56] [Server thread/CRITICAL]: #6 pmsrc/src/pocketmine/command/SimpleCommandMap(248): pocketmine\command\defaults\ReloadCommand->execute(object pocketmine\command\ConsoleCommandSender, string[6] reload, array[0])
[16:45:56] [Server thread/CRITICAL]: #7 pmsrc/src/pocketmine/Server(1809): pocketmine\command\SimpleCommandMap->dispatch(object pocketmine\command\ConsoleCommandSender, string[6] reload)
[16:45:56] [Server thread/CRITICAL]: #8 pmsrc/src/pocketmine/Server(1422): pocketmine\Server->dispatchCommand(object pocketmine\command\ConsoleCommandSender, string[6] reload)
[16:45:56] [Server thread/CRITICAL]: #9 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(113): pocketmine\Server->pocketmine{closure}()
[16:45:56] [Server thread/CRITICAL]: #10 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(75): pocketmine\snooze\SleeperHandler->processNotifications()
[16:45:56] [Server thread/CRITICAL]: #11 pmsrc/src/pocketmine/Server(2155): pocketmine\snooze\SleeperHandler->sleepUntil(double<PHONE_NUMBER>.5489)
[16:45:56] [Server thread/CRITICAL]: #12 pmsrc/src/pocketmine/Server(1992): pocketmine\Server->tickProcessor()
[16:45:56] [Server thread/CRITICAL]: #13 pmsrc/src/pocketmine/Server(1586): pocketmine\Server->start()
[16:45:56] [Server thread/CRITICAL]: #14 pmsrc/src/pocketmine/PocketMine(314): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[40] C:\Users\Ariel Rp\Desktop\Bat Atlion sv, string[48] C:\Users\Ariel Rp\Desktop\Bat Atlion sv\plugins)
[16:45:56] [Server thread/CRITICAL]: #15 pmsrc/src/pocketmine/PocketMine(344): pocketmine\server()
[16:45:56] [Server thread/CRITICAL]: #16 pmsrc(11): require(string[95] phar://C:/Users/Ariel Rp/Desktop/Bat Atlion sv/PocketMine-MP.phar/src/pocketmine)
that's the mistake

Is there any other logs before that was shown?

@FoxyLeo

Make sure Your config.yml file for AdvanceDeaths isnt outdated. Please use the new config.yml. To get it, delete/rename the the old one.

¿Hay otros registros antes de que se mostrara?

¿Hay otros registros antes de que se mostrara?

Just download the plugin, install it in the PLUGINS folder, and when Start and use / reload it throws those errors, which did not happen in version 1.8 of the Plugin but with version 2.0.0 if the error happens

Just download the plugin, install it in the PLUGINS folder, and when Start and use / reload it throws those errors, which did not happen in version 1.8 of the Plugin but with version 2.0.0 if the error happens

If this didn’t fix it, Are you running the plug-in on PM4 or PM3?
I’m not sure AdvanceDeaths work on PM4

I use it in Pm3

Make sure Your config.yml file for AdvanceDeaths isnt outdated. Please use the new config.yml. To get it, delete/rename the the old one.

@FoxyLeo, Rename your old config to something other than config.yml to get the new config

Asegúrese de que su archivo config.yml para AdvanceDeaths no esté desactualizado. Utilice el nuevo config.yml. Para obtenerlo, elimine / cambie el nombre del anterior.

@FoxyLeo , cambie el nombre de su configuración anterior a algo que no sea config.yml para obtener la nueva configuración

that's all thanks

Asegúrese de que su archivo config.yml para AdvanceDeaths no esté desactualizado. Utilice el nuevo config.yml. Para obtenerlo, elimine / cambie el nombre del anterior.

@FoxyLeo , cambie el nombre de su configuración anterior a algo que no sea config.yml para obtener la nueva configuración

that's all thanks
Did it work?

A method that I used worked, reinstalling the same version of PM3, and the plugin is good although I had seen errors when you burned something with lava, this gave a closed server

A method that I used worked, reinstalling the same version of PM3, and the plugin is good although I had seen errors when you burned something with lava, this gave a closed server

That is interesting, when a player burns on lava or an item burns in lava?

object is burned in lava I give you an example that I made, I grabbed some objects, I threw them then I took out a bucket with lava and when the object came into contact with the lava, the server closed and the plugin had to be deleted to avoid that again to enter

object is burned in lava I give you an example that I made, I grabbed some objects, I threw them then I took out a bucket with lava and when the object came into contact with the lava, the server closed and the plugin had to be deleted to avoid that again to enter

I’ll look into that, thank you for informing me
Feel free to close this issue.

Re-opening this with more questions
Does this bug also happen with Version 2.0 of AdvanceDeaths?

no, in 2.0 that doesn't happen anymore

no, in 2.0 that doesn't happen anymore

That’s awesome to see!
Feel to close this issue.


New navigation is no longer in preview, update docs

Update the title and navigation link so the word preview is removed.

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

ID: eab519d8-dc41-91de-437a-4469edefddab
Version Independent ID: edc98ac8-a89a-a79a-d75c-1435870a00d2
Content: Developing extensions for Azure DevOps Services vertical web navigation
Content Source: docs/extend/develop/web-navigation.md
Product: devops
Technology: devops-ecosystem
GitHub Login: @willsmythe
Microsoft Alias: wismythe

@willsmythe -- Will, please confirm that vertical navigation is no longer in preview.  If it isn't, I'll create a PR to update the TOC & article.
Here's the current title and first sentence:
Guidance for extension developers impacted by new navigation preview
Our new vertical navigation preview brings with it changes that impact some extensions.

@willsmythe -- I'm assigning this issue to you for now -- please let me know about the preview status and re-assign this issue to me if I need to create a PR.

@WilliamAntonRohm - correct (no longer in preview). It would made be good to have someone from Engineering (like @nkirchem or @apawast) review the rest of the content and make sure it's still applicable/correct.

@willsmythe -- Will, thank you for that confirmation.
@apawast -- Apeksha, please review the above-mentioned PR 171.


backport #28362 to 1.42.x

backport #28362 to 1.42.x

portability tests windows timed out: ERROR: Aborting VM command due to timeout of 14400 seconds
Force merging over this check


Fix for issue 664

Hi team,
This PR is to solve the issue 'ResolveFully does not resolve the request body reference' as mentioned in https://github.com/swagger-api/swagger-parser/issues/664
Please review the PR and merge the same.
Thanks,
Mohammed

Hi @gracekarina,
Thanks for merging this commit.
Thanks,
Mohammed


Simp fails to apply certain lemma

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Checked that your issue isn't already filed.
Reduced the issue to a self-contained, reproducible test case.

Description
simp generalizes class instance parameters used in the simp lemma to metavariables, but then a default instance of the class is synthesized there before it is tried to match the target expression.
Thus, the matching fails and the simp lemma cannot be applied.
I'm not sure why it works for one case below but not for the other case.
Steps to Reproduce
I made a Monoid class:
abbrev Zero α := OfNat α (natLit! 0)

class Monoid (α : Type u) [Zero α] extends Add α where
  zero_add (a : α) : 0 + a = a
  add_zero (a : α) : a + 0 = a

attribute [simp] Monoid.zero_add Monoid.add_zero

Then, something strange happens. simp can use zero_add but not add_zero despite their similar types:
variable {α : Type u} [Zero α] [Monoid α]

-- works
example (a : α) : 0 + a = a := by simp

-- fails
example (a : α) : a + 0 = a := by simp

Here is the relevant part of the trace:
[Meta.isDefEq]
  [Meta.isDefEq.step] @HAdd.hAdd ?m.967 ?m.967 ?m.967 (@instHAdd ?m.967 (@Monoid.toAdd ?m.967 ?m.968 ?m.969)) ?m.970
    (@OfNat.ofNat ?m.967 0
      ?m.968) =?= @HAdd.hAdd α α α (@instHAdd α (@Monoid.toAdd α inst✝¹ inst✝)) a (@OfNat.ofNat α 0 inst✝¹)
  [Meta.whnf] @HAdd.hAdd ?m.967 ?m.967 ?m.967 (@instHAdd ?m.967 (@Monoid.toAdd ?m.967 ?m.968 ?m.969)) ?m.970
      (@OfNat.ofNat ?m.967 0 ?m.968)
    [Meta.whnf] @HAdd.hAdd
    [Meta.whnf] @HAdd.hAdd α α α (@instHAdd α (@Monoid.toAdd α inst✝¹ inst✝)) a (@OfNat.ofNat α 0 inst✝¹)
    [Meta.whnf] @HAdd.hAdd
    [Meta.isDefEq.step] ?m.967 =?= Nat
    [Meta.isDefEq] ?m.967 [assignable] =?= Nat [nonassignable]
      [Meta.isDefEq.assign]
        [Meta.isDefEq.assign] ?m.967 := Nat
        [Meta.isDefEq.assign.beforeMkLambda] ?m.967 [] := Nat
        [Meta.isDefEq.assign.checkTypes]
          [Meta.isDefEq.step] Type ?u.966 =?= Type
          [Meta.isLevelDefEq.step] ?u.966 =?= 0
          [Meta.isDefEq.assign.final] ?m.967 := Nat
    [Meta.isDefEq.step] ?m.970 =?= a
    [Meta.isDefEq] ?m.970 [assignable] =?= a [nonassignable]
      [Meta.isDefEq.assign]
        [Meta.isDefEq.assign] ?m.970 := a
        [Meta.isDefEq.assign.beforeMkLambda] ?m.970 [] := a
        [Meta.isDefEq.assign.checkTypes]
          [Meta.isDefEq.step] Nat =?= α
          [Meta.whnf] Nat
            [Meta.isDefEq.step] Nat =?= α
            [Meta.whnf] Nat
              [Meta.isDefEq.hint] Nat =?= α
              [Meta.whnf] Nat
              [Meta.isDefEq.hint] α =?= Nat
          [Meta.isDefEq.assign.typeMismatch] ?m.970 : Nat := a : α
  [Meta.isDefEq] @HAdd.hAdd ?m.967 ?m.967 ?m.967 (@instHAdd ?m.967 (@Monoid.toAdd ?m.967 ?m.968 ?m.969)) ?m.970
    (@OfNat.ofNat ?m.967 0
      ?m.968) =?= @HAdd.hAdd α α α (@instHAdd α (@Monoid.toAdd α inst✝¹ inst✝)) a (@OfNat.ofNat α 0 inst✝¹) ... failure
[Meta.Tactic.simp.unify] Monoid.add_zero:1000, failed to unify @HAdd.hAdd ?m.967 ?m.967 ?m.967
  (@instHAdd ?m.967 (@Monoid.toAdd ?m.967 ?m.968 ?m.969)) ?m.970
  (@OfNat.ofNat ?m.967 0
    ?m.968) with @HAdd.hAdd α α α (@instHAdd α (@Monoid.toAdd α inst✝¹ inst✝)) a (@OfNat.ofNat α 0 inst✝¹)

Somehow Nat is assigned to a metavar out of thin air.
Perhaps it is from the @[defaultInstance] here: https://github.com/leanprover/lean4/blob/5d4cb58f786ae9e7142e578e29fc9e4c9b651403/src/Init/Prelude.lean#L349-L351
I tried to reduce the test case above, but I found several things are essentials to reproduce this issue:

It works if rw is used:

-- works
example (a : α) : a + 0 = a := by rw [Monoid.add_zero]

It works if OfNat is replaced with a class and number literal is not used:

class Zero (α : Type u) := zero : α

add_zero (a : α) : a + Zero.zero = a

It works if Add is replaced with a custom class:

class Op (α : Type u) := op : α → α → α

It works if I specify the type manually:

-- works
example (a : α) : a + 0 = a := by simp [Monoid.add_zero (α := α)]

Expected behavior: Monoid.add_zero is applied by simp.
Actual behavior: simp fails to use the lemma.
Reproduces how often: Always.
Versions
Lean (version 4.0.0, Release) current master.

My result of investigation was completely wrong :|

My result of investigation was completely wrong :|

It helped.


hotfix: bump wallet-rs to latest commit

Description of change
Currently we are experiencing issues with syncing wallets, and I can not reproduce the issue. However, after exploring and comparing previous releases and commits, as well as discussing with the affected users. I am confident that this issue is in wallet.rs or the way we call the syncAccounts / syncAccount api mixed with the change to wallet.rs. Additionally, wallet.rs have since made a change to default the start address index for syncing accounts to 0 instead of the latests. So if we bump the version I am hoping it will fix the issue.
Because 1.3.1 and 1.3.2 where not merged into main, you can see the accurate diff here: https://github.com/iotaledger/firefly/compare/desktop-1.3.2...bfe8f2258df182a50b4498fe1e5c962738602ffa
Links to any relevant issues
Resolves https://github.com/iotaledger/firefly/issues/2110
Type of change
Choose a type of change, and delete any options that are not relevant.

Fix (a change which fixes an issue)

How the change has been tested
Describe the tests that you ran to verify your changes.
Tested that the wallet compiles, going to test with a user if this fixes their issue before I convert from draft.
Edit: Now tested with user with bug and they no longer have any issues. Currently being tested by closed testing and mods.
Make sure to provide instructions for the maintainer as well as any relevant configurations.
Change checklist
Add an x to the boxes that are relevant to your changes, and delete any items that are not.

[ ] I have followed the contribution guidelines for this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked that my latest changes pass CI tests
[ ] New and existing unit tests pass locally with my changes

Received a stable commit of wallet.rs team and have tested with 1 user who had the balance bug, and it is now resolved.

Because 1.3.1 and 1.3.2 are not merged into main, you can see an accurate diff of the PR here: https://github.com/iotaledger/firefly/compare/desktop-1.3.2...bfe8f2258df182a50b4498fe1e5c962738602ffa


Error in page title

The page must go to Blazor's Title component, but redirects to another unrelated content

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

ID: fc56d254-09c5-993b-2559-76af9a3f97ed
Version Independent ID: a0bb183f-7e4d-ba39-c94c-cf60e951c7a9
Content: ASP.NET Core Blazor hosting model configuration
Content Source: aspnetcore/blazor/fundamentals/additional-scenarios.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @augaldecr ... It's a 5.0 preview feature. Select the 5.0 version of the topic to see that section.
Leave this issue open. I might temporarily remove the component link from the table of contents until 5.0 releases later this year.

I'm going to surface that section until 5.0 ships, then I'll put the versioning of that section back into place.
Leave this issue open ... I'm going to re-purpose it to track the next update on this.
Thanks @augaldecr! :rocket:

This work will be tracked by https://github.com/dotnet/AspNetCore.Docs/issues/20319.


Sphinx-4.0 related issues

Currently nbsphinx seems to be incompatible with the new Sphinx major version, as it requires jinja2-3.0. But this jinja version is incompatible with nbsphinx, which we use to render the notebooks during the doc build.
pip install log on ReadTheDocs:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

sphinx 4.0.1 requires Jinja2<3.0,>=2.3, but you have jinja2 3.0.0 which is incompatible.
sphinx 4.0.1 requires MarkupSafe<2.0, but you have markupsafe 2.0.0 which is incompatible.
nbsphinx 0.8.5 requires jinja2~=2.11, but you have jinja2 3.0.0 which is incompatible.

I think this has to be resolved upstream, e.g. nbsphinx has to be adopted.
In #356 I tried pinning the jinja version, but this leads to an incompatible version mix (conda env vs. pip install). This currently breaks the RTD build.
I guess the easiest temporary workaround would be to downgrade Sphinx to major version 3.

fixed by #358


travis-ci migration needed

Appears with some maintenance work, travis-ci.org has been deauthorized from the project and no longer permits re-adding projects (at least, for the sphinx-contrib group) back. There is an option to migrate the project to travis-ci.com (which is fine); however, it appears only owners of the project may authorized this action:

@stephenfin, can I get an assist? (also, if there is a proper channel to do these requests, I do not mind going that route for this and possibly other requests)

I think this has been resolved now by enabling Travis CI for the organization. Please let me know if I've missed something.

Interesting, I was under the assumption that only travis-ci.com projects could be created now instead of travis-ci.org projects. In any case, I am just happy CI tasks working again.

@stephenfin, I just noticed that am I unable to interact with privileged actions on the Travis CI (org)-based project. For example, if I try to manually re-start a failed build, the option does not appear to be available:

I noticed when I browse under sphinx-contrib's Travis CI (com)-based projects, I have the ability to trigger a job (although, I am not sure if it is expected that I have the ability to trigger other project's jobs):

If you are willing, can you see if there is a way to authorize maintainers for this project to trigger rebuilds on the project; or maybe try to trigger the migration to Travis-ci.com which may resolve this issue as well?

I've triggered the migration. Can you let me know if that works for you?

@stephenfin. I believe it is working now. Just did a simple test by restarting a single job. Thanks for the help; much appreciated.


Fail to convert break and continue statements to blocks

Describe the bug
While the first issue in #5913 is fixed, the second issue, namely code that contains break or continue statement failing to convert to blocks, still persists.
The error occurs regardless of whether breakBlock or continueBlock is specified in pxtarget.json.
According to the error reported in the Developer Tool, pxt.appTarget.runtime is undefined when checkStatement in decompiler.ts is executed.
To Reproduce
Steps to reproduce the behavior:

Open the Developer Tool of browser
Switch to JavaScript
Paste the code below to the editor

let breaking = true;
for (let i = 0; i < 4; i++) {
    if (breaking) {
        break;
    }
}

Switch to Blocks
See error

Expected behavior
If breakBlock is set in pxtarget, the new break block should be used. Otherwise, the grey block should be used.
Screenshots

Desktop

OS: Windows 10 1903
Browser: Google Chrome 77.0.3865.90 (Official Build) (64-bit)

Thanks for reporting. Looking into this.

Fixed.

Confirmed fixed. Thanks!


Update method name in Pointers.md document

Hi @tarukosu ! Thanks for spotting this doc issue and fixing it, and contributing to MRTK.

/azp run


Consuming a valtio proxy from another package results in "TypeError: proxyState is not iterable"

Summary

npm module expose a valtio proxy:

import {createExchange} from 'foo';

const exchange = createExchange();
// exchange.store is a Proxy object from valtio/vanilla

const Component = () => {
  const snap = useSnapshot(exchange.store);
  return (<div>{snap.foo}</div>);
}

This doesn't work and throws:
TypeError: proxyState is not iterable

I've logged: console.log(Object.getOwnPropertyDescriptors(exchange.store)) which outputs:

I've tried using proxy() from valtio instead of valtio/vanilla
I've tried npm link the external package
I'm sure application & package are using same valtio version

Do you have an idea?

Still debugging, it looks like its importing .mjs and .js packages:

So proxyStateMap is correctly set in one context but not the other


Leaderboard -  Implementation of Zealy

Description
As Carbonable I want to see the scoring from Zealy incorporated in the Leaderboard
in order to add another category in leaderboard through which users can gain points.
Additional context
Rules for Zealy:
Google Docs
https://docs.google.com/spreadsheets/d/1Yy8kbLDTcbT9Hj96OtOkeAQk2Em_1e5D5EhzmFowLHQ/edit#gid=0
Figma
https://www.figma.com/file/TxyvqO53GlCiTaJOE26AwM/dApp?type=design&node-id=5297-56151&mode=design&t=hCUjQl00CidA9x58-0
Notion:
https://www.notion.so/carbonable/Users-LeaderBoard-Gamification-7a42afb6bbe74a9c8173f8907cc4bc46
Acceptance Criteria

[ ] Zealy scores incorporated in Leaderboard using the Rule decided for its scoring

https://zealy.gitbook.io/zealy-documentation/api-reference/leaderboards/retrieve-a-leaderboard


Quality analysis tools

FindBugs seems to be dead, and not all that useful. Investigate the integration of PMD and CheckStyle instead.

ensure that they have Gradle plugins
ensure that their reports can be collected rather than having one per sub-project
it would be nice if they actually looked good too
ensure that the configured rules are not annoying (fail the build only on extreme fails)

Are there other tools to consider?

Have you considered SonarQube? There is a cloud-hosted instance: https://about.sonarcloud.io/

I didn't realize they had free cloud instances. I will check that out. Thanks.

Swtich from FindBugs to https://spotbugs.github.io/


Add Standard Deviation to Measure-Object output

Standard Deviation is a measure that is used to quantify the amount of variation or dispersion of a set of data values. A low standard deviation indicates that the data points tend to be close to the mean (also called the expected value) of the set, while a high standard deviation indicates that the data points are spread out over a wider range of values.
This is a commonly used to get an insight about a set of values, and would be easy to implement as an addition to Measure-Object.

This requires a double iterate: first, to calculate the mean value, the second, to calculate the variance.
Now Measure-Object don't collect values for second iterate. It is too complicate the cmdlet.
Also there's the challenge of the accuracy of the calculations for real data.
I believe this is a task for specialized statistical module.

@iSazonov I'd turn the argument around: Give me something easy and useful as a build in tool, and write a specialized statistical module if you want higher accuracy or better performance.

Fixed in #6238


Blocking scheme update

Closes #307

@jwittenbach looking good, left a couple comments. Didn't totally follow the automatic size calculation.  And it's slightly confusing for us to say that a size of of auto means we'll pick a chunk_size to make the intermediate objects 1000 kb, but that's then very different than what you'd get if you specify a chunk_size of 1000 kb. Not sure there's a better way though.

@freeman-lab I think this is ready to go now, though it might be good if you took one last look at it :)

looks good to me!


Added initial files for review

Description:
Please include a description of this change and which issue it fixes. If no issue exists yet please include context and what problem it solves.
Review

[ ] Functional review done
[ ] Potential edge cases thought about (behavior of the code with strange input, with strange internal state or possible interactions with other Matomo subsystems)
[ ] Usability review done (is anything maybe unclear or think about anything that would cause people to reach out to support)
[ ] Security review done
[ ] Wording review done
[ ] Code review done
[ ] Tests were added if useful/possible
[ ] Reviewed for breaking changes
[ ] Developer changelog updated if needed
[ ] Documentation added if needed
[ ] Existing documentation updated if needed

After PR is merged

Update metadata.yaml with appropriate versions info
Submit the template for review

@tsteur For tracking event we created another tag and apparently we need a another repo as 1 repo can contain only 1 Tag

👍  it's probably not needed as MVP

@AltamashShaikh had a look through and left some comments. I didn't check much the wording though and neither tested it.
Do I see this right so far it's not possible to configure event tracking or goal tracking with this? (which be fine I guess for MVP)
@justinvelluppillai maybe someone from a team could next also a do a functional test that it all works?

@justinvelluppillai ping to test

@AltamashShaikh This looks pretty good to me. I think I need some guidance on how to do a functional test of these changes. I created a GTM account, but that would only have access to the released code,right? How do I test this version?

I figured out how to import the template file (I had to un-comment the two URL lines and update the URL field regex in the .tpl file). I installed my GTM snippet on my test site, but it doesn't appear to be passing any information to my local Matomo instance. I might need some help to make sure that I'm setting things up right.

@snake14 can you re-review the entire code and check if its good to merge?


memoize some work in the package class

This is a 10% perf gain for lightweight use of package resources like build_resource(:yum_package, 'lsof').current_value.version

fails on a few yum provider unit tests that i deleted in the great refactoring, can't merge until that one goes in

I got the memo. And I understand the policy. And the problem is just that I forgot the one time. And I've already taken care of it so it's not even really a problem anymore....


allow try-runtime and test-externalities to report PoV size

This PR extracts a few features from #10073, cleans them up, and exposes them so that both a normal TestExternality and try-runtime can use them.
Namely, we now allow:

RemoteExternalities to fetch the child-tree as well.
Any TestExternalities to report its PoV size as well. An example test is provided of how this can be examined. Most often you are interested in zstd compressed version of the compact proof.
Both of the above is now exposed to try-runtime subcommands, so theoretically you can thoroughly test a new runtime, and its migrations, and ensure that their PoV size is sane, using a combination of on-runtime-upgrade and follow-chain.

Next to https://github.com/paritytech/cumulus/pull/793. this will be useful for parachain teams and making sure they perform migrations safely.
My only grumble here is that each team needs to integrate try-runtime into their own CLI. Although this is super easy and they just need to wrap one Command implementation of frame_try_runtime_cli, I would have been happier if I could make a standalone tool for this that teams can just work with, only using a .wasm runtime. In my next life, perhaps.

Examples:
Running Polkadot Migrations

2021-11-26 09:21:41 ⚠ System declares internal migrations (which *might* execute). On-chain `StorageVersion(0)` vs current storage version `StorageVersion(0)`
2021-11-26 09:21:41 ⚠ XcmPallet declares internal migrations (which *might* execute). On-chain `StorageVersion(0)` vs current storage version `StorageVersion(0)`
2021-11-26 09:21:41 ✅ no migration for Crowdloan
2021-11-26 09:21:41 ✅ no migration for Auctions
2021-11-26 09:21:41 ✅ no migration for Slots
2021-11-26 09:21:41 ✅ no migration for Registrar
2021-11-26 09:21:41 ✅ no migration for ParaSessionInfo
2021-11-26 09:21:41 ✅ no migration for Hrmp
2021-11-26 09:21:41 ✅ no migration for Ump
2021-11-26 09:21:41 ✅ no migration for Dmp
2021-11-26 09:21:41 ✅ no migration for Initializer
2021-11-26 09:21:41 ✅ no migration for Paras
2021-11-26 09:21:41 ✅ no migration for ParaScheduler
2021-11-26 09:21:41 ✅ no migration for ParaInherent
2021-11-26 09:21:41 ✅ no migration for ParaInclusion
2021-11-26 09:21:41 ✅ no migration for ParasShared
2021-11-26 09:21:41 ⚠ Configuration declares internal migrations (which *might* execute). On-chain `StorageVersion(1)` vs current storage version `StorageVersion(1)`
2021-11-26 09:21:41 ✅ no migration for ParachainsOrigin
2021-11-26 09:21:41 ✅ no migration for BagsList
2021-11-26 09:21:41 ✅ no migration for ElectionProviderMultiPhase
2021-11-26 09:21:41 ✅ no migration for Tips
2021-11-26 09:21:41 ✅ no migration for Bounties
2021-11-26 09:21:41 ✅ no migration for Multisig
2021-11-26 09:21:41 ✅ no migration for Proxy
2021-11-26 09:21:41 ✅ no migration for Identity
2021-11-26 09:21:41 ✅ no migration for Utility
2021-11-26 09:21:41 ⚠ Vesting declares internal migrations (which *might* execute). On-chain `StorageVersion(0)` vs current storage version `StorageVersion(0)`
2021-11-26 09:21:41 ✅ no migration for Claims
2021-11-26 09:21:41 ✅ no migration for Treasury
2021-11-26 09:21:41 ✅ no migration for TechnicalMembership
2021-11-26 09:21:41 ✅ no migration for PhragmenElection
2021-11-26 09:21:41 ✅ no migration for TechnicalCommittee
2021-11-26 09:21:41 ✅ no migration for Council
2021-11-26 09:21:41 ✅ no migration for Democracy
2021-11-26 09:21:41 ✅ no migration for AuthorityDiscovery
2021-11-26 09:21:41 ✅ no migration for ImOnline
2021-11-26 09:21:41 ✅ no migration for Grandpa
2021-11-26 09:21:41 ✅ no migration for Session
2021-11-26 09:21:41 ✅ no migration for Historical
2021-11-26 09:21:41 ⚠ Offences declares internal migrations (which *might* execute). On-chain `StorageVersion(0)` vs current storage version `StorageVersion(0)`
2021-11-26 09:21:41 have 0 deferred offences, applying.
2021-11-26 09:21:41 ⚠ Staking declares internal migrations (which *might* execute). On-chain `StorageVersion(0)` vs current storage version `StorageVersion(0)`
2021-11-26 09:21:41 ✅ no migration for Authorship
2021-11-26 09:21:41 ✅ no migration for TransactionPayment
2021-11-26 09:21:41 ✅ no migration for Balances
2021-11-26 09:21:41 ✅ no migration for Indices
2021-11-26 09:21:41 ✅ no migration for Timestamp
2021-11-26 09:21:41 ✅ no migration for Babe
2021-11-26 09:21:41 ✅ no migration for Scheduler
2021-11-26 09:21:41 [7868709] 💸 👜 staking bags-list migration passes POST migrate checks ✅
2021-11-26 09:21:41 post-migration prefix of storage 'HistoricalSessions': 'Session' ==> 'Historical'
2021-11-26 09:21:41 post-migration prefix of storage 'StoredRange': 'Session' ==> 'Historical'
2021-11-26 09:21:42 proof: 80082a80ceca95881c4d1b4d3062e46e7ef26fe20d335e5828b2ca31c0ee1b941bedecc78016aa65993743068350ab64bfc9131b4e74fffbd97017ac8bd592ef542a58a08980f62cf7d5892ab918ffa81035016c74781de9022d370dfb3153574cb730027d7e80632feadd4dc9cf7c7e463ac253e615e7307b4c713740cb4c76aaa5cf84b667cd808daf8024d16b10e4ca1736a51224af066f3f47d977ae424688f78272af274a945537828068a621613de99e271a2d992bac31bda903b7ceb5b5f55e2d4a232e9472e4c4b580ed41893dda127c45d10124a971165a9446285ee26700076a483b7cffeafffb8b80ab870ca4d87364bbeaf953c1219ac78db123d3fd653b2660cab5e2e9ff96c8a2807a5f280aa7d057d6cf01fdd5047bb77ce7de8434068f4b4c7991327bcb87a2aa80e9aff8e3472b974fcdc8d790418aa9eb7ce6de8272f8eac2b07dd4ff8144fe4580dccfe9ab40e51531bb27706bf18b0260e048d6e67e724bf1d4361ab8c34d9a8c805be4dea2b3fa74d84724c468c0bfe8a85737158bbd159ec8fb28921839c35ac5805a8136adc9158ea773acadb1444120cf838c58b5d57697dc44fcf256ff4d10f180278ce9ecdb4277cda35bdec920087e7772479790233138d3a2102ddd7e4c20927f0d9ddaac822e776ae365349612c0c4f084cf841e5c65cf4db263f87153b516b927d8d067801b35806ae365...8db6329464a45d1cf0de782e8bad3c663be60812f0a2ac63464f5da3ec448c73334c07d71ef27f2c2cc16da9d1f7271475075aa8eb5c6667714426b8c41dbecf92bdedfa462b716315020000007f1c02053f0aa336633c12e81a8d45742c96715ae1a38758d7272ac9898569d512175c1c66041c477995207f6583c77f05062c96715ae1a38758d7272ac9898569d512175c1c66041c477995207f6583c77f0b002c3ea777080b002c3ea77708005101c9000000ca000000cb000000cc000000cd000000ce000000cf000000d0000000d1000000d2000000d3000000d4000000d5000000d6000000d7000000d8000000d9000000da000000db000000dc000000dd000000de000000df000000e0000000e1000000e2000000e3000000e4000000e5000000e6000000e7000000e8000000e9000000ea000000eb000000ec000000ed000000ee000000ef000000f0000000f1000000f2000000f3000000f4000000f5000000f6000000f7000000f8000000f9000000fa000000fb000000fc000000fd000000fe000000ff000000000100000101000002010000030100000401000005010000060100000701000008010000090100000a0100000b0100000c0100000d0100000e0100000f010000100100001101000012010000130100001401000015010000160100001701000018010000190100001a0100001b0100001c010000 / 81460 nodes
2021-11-26 09:21:42 proof size: 20.24 MB (20728.7021484375 KB) (21226191 bytes)
2021-11-26 09:21:42 compact proof size: 17.74 MB (18164.78125 KB) (18600736 bytes)
2021-11-26 09:21:42 zstd-compressed compact proof 5.70 MB (5833.6748046875 KB) (5973683 bytes)
2021-11-26 09:21:42 TryRuntime_on_runtime_upgrade executed without errors. Consumed weight =<PHONE_NUMBER>000, total weight =<PHONE_NUMBER>000 (2.0001375)

@bkchr @cheme thanks for the feedback. your comments are all addressed.

@bkchr @kianenigma what is the "reasonable" PoV size range in your view?

@bkchr @kianenigma what is the "reasonable" PoV size range in your view?

It depend on how much storage is being read. I don't think there's any reasonable range.

bot merge

bot merge


Some problems about reproducing the results

Hi, thanks for the great and meaningful work!
 I'm wondering if I'm missing something.
Thank you for your time and assistance.

The numbers in the appendix will change. The attack budget was smaller when computing some of those. Go ahead with what the script gives you.


Add keyword-spacing rule

I want to propose adding the keyword-spacing rule to our lint config used in core-js. Actually, this rule already exists in core/eslintrc.json but now that we set root: true for our eslint config in core-js the linter won't cascade up to that ruleset.

That (lack of) spacing has always bugged me in diffs too! It must've been an oversight on my part when creating the origin eslint configurations.
So the steps would be to create a PR to add it to our config here.
Our core-js repo is pretty behind on our updated rules that we have in EDS. So if/when this gets approved here, you can also manually add it in core-js. Since this is just about spacing it should be auto-fixable, which would be 👌

PR opened here: #80


Fix the TOC generation with unique links

Still WIP. It fixes #155.
I can't find any way of getting the id attributes of headings without changing the vendor dependencies ... so this proposes to just parse the generated HTML file and extract the information from it.

This is now ready for review.
@wouterj, @alamirault, @oskarstark if you have some time, please help me reviewing this. Thanks a lot!

After the last changes, I rebuilt Symfony Docs locally and it worked as expected.
The problem was that the static variable that holds header IDs (which we need to be static for it to work) wasn't reset before parsing each document.
In practice, the code made header IDs unique across all files ... and now they are unique within each single file.

Looks good to me

In practice, the code made header IDs unique across all files ... and now they are unique within each single file.

Note that per spec, explicit references (the .. _some-ref: syntax) must be unique across all files whereas implicit references (the one automatically generated based on section titles) must be unique within each single file.


Logo Design

Hi. I am a graphic designer. I would like to volunteer to design a logo for this repository that you can use in the readme file. What do you say?

Hi @batarian71 Molecule currently has a logo.  However, I appreciate your offer.

Hi @batarian71 it's very cool, but we already have a logo.  Thank you.

@batarian71 I tell you what.  If you provide a few diff design options maybe we can use yours.

Yes, this project is under creativecommons license. I do not quite understand what you want. a new logo you want?

Yes, this project is under creativecommons license. I do not quite understand what you want. a new logo you want?

A few diff style logos to choose from.  I'm not guaranteeing I would use it, but curious what you could provide.

Maybe a little more pixelated and futuristic ?


Fix build error in test_cortex_m_corstone_300.sh

Remove redefinition of global variable

BUG=Fails to build test_cortex_m_corstone_300 ci script
Authored-by: Ryan O'Shea<EMAIL_ADDRESS>Change-Id: I9713eb0cfe658d5692900d89e33d69ecfdf0ae47

abandoning in favour of https://github.com/tensorflow/tflite-micro/pull/2460


使用redis作为注册中心时，添加密码和指定dbindex的支持

@chickenlj 请查看下，使用reids作为注册中心时指定dbindex，注册服务key和业务key可以区分存储

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

password support has already in.
I don't agree with by-pass logic for MonitorService, it doesn't look right

Because of the above reasons, I file one new issue https://github.com/apache/incubator-dubbo/issues/1830 to track db.index, and close the current PR.