text:
update production hosting/deploy docs

I attempted to update the table of who has access to what, but as I was doing it I realised the table we made in the document last week doesn't match up with the selection of invites I received and I don't know who else received what so I've ignored that section for now.
@paulmelnikow - do you feel like having a go at that table, or we can review it in the next call if you want..

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @chris48s!

:book:

Thanks for contributing to our documentation. We :heart: our documentarians!

  Generated by :no_entry_sign: dangerJS against 86ce59ac0cc52476c92ac3025844f87c173c370a

Thanks for taking this on! I can have a go at the access table in a follow-on.

authors: chris48s paulmelnikow shields-ci


text:
Some minor fixes

This is the stuff that was suppose to go into the branch linusu-fixes before I started messing with the options :)
From my side this LGTM. @badunk could you please review?

Looks great!
Thanks for adding standard

Do you want this merged in before #16?

Yeah, we might as well, it makes it easier to see what was specific to the other one. I'll merge this one and rebase the other on latest master :+1:

source: gharchive/pull-request

authors: LinusU badunk

license: mit

license_type: permissive

license_source: bigquery


text:
Update usingcurl-uploads.md

fix typo

I disagree. curl provides a progress meter. Still does. Why use past tense there?

You're right!

authors: alawvt bagder

repo: bagder/everything-curl

license_source: github-api


text:
Tech Option 1 Example

Try edf file I/O with eyelinkio.

Thoughts on eyelinkio:
Pros:

It directly handles edf, the raw Eyelink output format, and frees users from using the edf2asc function.
It's fairly straightforward to use. Using this library and a couple of other common libraries (numpy, pandas, and matplotlib), I was able to plot a heatmap of gaze data.
It specializes in edf I/O, making it more lightweight than some other libraries; MNE, for example, would require many more dependencies than it does.

Cons:

It doesn't have the best documentation and examples of use – I had to look at their source code to figure out how output data were organized. But, this is something we could take care of for our users.
It's still under development, so it could be unreliable.

source: gharchive/issue

repo: baharsener/visualEyes

license: MIT


text:
Nuxt?

Is it possible to create some sort of documentation on how Nuxt is implemented? Is it needed to create a plugin? Something? It's quite confusing. I read that Hooper works ok with Nuxt but I'm experiencing some issues as the carousel does not render the slides I want it to render and I don't know where the issue is because apparently my code is correct comparing it to the docs one. 😞
I can attach code if needed.

Nothing special, works out of a box.
Code snippet:
<template>
  <hooper :settings="hooperSettings" ref="carousel">
    <slide>
      <div v-for="index in 5" :key="index">
        {{index}}
      </div>
    </slide>
  </hooper>
</template>

<script>
  import { Hooper, Slide } from 'hooper'
  import 'hooper/dist/hooper.css'

  export default {
    name: 'Div',
    components: {
      Hooper,
      Slide
    },
    data() {
      hooperSettings: {
        itemsToShow: 1,
        itemsToSlide: 1
      }
    },
    methods: {
      slidePrev () {
       this.$refs.carouselPress.slidePrev();
     },

     slideNext () {
       this.$refs.carouselPress.slideNext();
     }
    }
  }
</script>

Like @rensite said, hooper supports SSR out of the box. No need to create a plugin for it.
You might've missed importing the css, as Hooper requires some minimal CSS to work. But you will have to provide your own styles to adjust height, width, colors.
This is a sample I uploaded recently to Codesandbox: https://codesandbox.io/s/hooper-nuxt-765ot

Ok, thanks. I modified my slider so it's like the example but it still renders whatever the slides it wants, not the ones I want it to render, any ideas on why this would be happening?

Ok, thanks. I modified my slider so it's like the example but it still renders whatever the slides it wants, not the ones I want it to render, any ideas on why this would be happening?

Could you attach the code?

`

<Slide :style="{width: pWidth, height: pHeight}"
        v-for="(option, index) in options"
        :index="index"
        :key="index"
>

  <SinglePhotoForSlider :pWidth="pWidth" :pHeight="pHeight" class="photo" :option="(option.img || option.path) + '&fit=min&q=60'" />
</Slide>
<Navigation slot="hooper-addons"></Navigation>

`
Here it is

😔

Look's like the loop issue. Try to move v-for="(option, index) in options" :index="index" :key="index" into SinglePhotoForSlider as following:
<Slide :style="{width: pWidth, height: pHeight}">
      <SinglePhotoForSlider v-for="(option, index) in options" :index="index" :key="index" :pWidth="pWidth" :pHeight="pHeight" class="photo" :option="(option.img || option.path) + '&fit=min&q=60'" />
</Slide>

Hope the snippet above solves the problem ;)

I'm afraid that doesn't work. Images appear one on top of another (vertical). I've also tried adding the v-for to a div inside the slide, outside. Nothing works. :S For some reason it does not get the setting from the data...

Could you create sandbox example or provide your live project with broken hooper carousel? Gonna take a look at it. I assume it may be also css issue.

Here: https://codesandbox.io/s/codesandbox-nuxt-t6q72
This is no representation of what is happening to me, I can see the photos but I can not use hooper settings to modify anything. I don't know why the sandbox is behaving like that (probably I forgot something) but at least you can check the code. 🤦🏼♀

I had the same problem and it's because the hooper css is missing, inspect the page and search for the .hooper class, if you can't find its because of that.
In my case, it wasn't adding the CSS because I'm using nuxt-purgecss, adding whitelistPatterns: [/hooper/], fixed the problem.
I hope it helps!

I'm afraid css is not the problem, it is imported and i'm not using PurgeCSS or similar. Hooper class is there. Thanks anyway, I'll keep investigating. 😔

Related issue #51

Thanks @saerose

I think I figured it out. I have the sliders inside a component that has an v-show, i changed it to v-if and now it's working.

authors: Abdelrahman3D alexon1234 logaretm rensite rubenmoya saerose

repo: baianat/hooper


text:
[Feature]目前新建连接测试没有及时拆链，导致存量连接越来越多

有配置可以在新建后快速拆链吗？ 比如主动发rst报文

配置cps，不要配置cc，就是建立连接后发送一个请求、响应后关闭连接
如果喜欢dperf 请加个star 谢谢

没有

SYN -> SYN+ACK -> Request-> Reply->RST 这样吗

都可以，最好可以配置，建立连接后可选发送几个包然后RST。
目前通过FIN的方式拆链太慢了，导致连接很容易被打满，不太容易长时间观察新建连接的测试性能。
我尝试改了一下，修改了tcp_server_process_data 和 tcp_client_process_data里面的，
if (sk->keepalive == 0) {
tx_flags |= TH_FIN; // 改成了tx_flags |= TH_RST;
}

试一下 https://github.com/pengjianzhang/dperf
客户端上配置: fast_close

支持 配置 发送多少个包后 fast_close吗？

参考keepalive配置

测试效果如何

RST可以生效
/root/dperf-main/src/config.c:1128:15: error: #if with no expression
#if KNI_ENABLE
//这里有个编译错误，要改一下 #ifdef KNI_ENABLE

请说详细一点

authors: pengjianzhang zhangyalin

repo: baidu/dperf


text:
Failed to receive response from service [get_access_token]

logid=794248 Failed to receive response from service [get_access_token] remote_server=127.0.0.1:6379 latency=43us error_msg=[E112]Not connected to 127.0.0.1:6379 yet, server_id=1 [R1][E112]Not connected to 127.0.0.1:6379 yet, server_id=1
这需要修改哪个配置文件啊？ 之前没问题，现在突然出现这个问题。

logid=794248 Failed to receive response from service [get_access_token]

说明 backend.conf 中 get_access_token service 请求失败，需要定位该 service 相关问题

authors: ShaneTian twoyoungtwosimple

repo: baidu/unit-uskit


text:
Memory Chat Shows incorrect mb

Hi,
Thank you for sharing the Memcached Dashboard. You did a wonderful job.
In memory chart , Total memory is showing 2MB. But the actual MB is 2048. I mean 2 GB.
Number of bytes this server is allowed to use for storage is shown correctly.

Not sure what you mean?

I have allocated 2048MB for memcache. But the chart is showing 2MB as total memory

can you add a screenshot?

Added screenshot Pls check it

repo: bainternet/Memchaced-Dashboard


text:
acodeX-server: command not found

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

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
Expected to open AcodeX server.
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):

Device: [LG VELVET]
OS: [Android 13]
Termux [from f-droid]
Version ?

From where you have installed termux?

f-droid

RESOLVED! I reinstalled and evrtng is ok.

I have the same problem, Do you reinstall from the same page?

authors: 8376459 Aleeeksanders bajrangCoder

repo: bajrangCoder/acode-plugin-acodex


text:
Example doesn't compile

I'm on 64bit Linux with latest OF of_v0.9.3_linux64_release.
I've tried compiling with/out -std=c++11
In file included from src/ofApp.h:31:0,
                 from src/main.cpp:26:
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:169:10: error: ‘thread’ in namespace ‘std’ does not name a type
     std::thread _thread;
          ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:227:18: error: ‘mutex’ in namespace ‘std’ does not name a type
     mutable std::mutex mutex;
                  ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:57:7: error: ‘bool ofx::Video::IPVideoGrabber::isFrameNew() const’ marked override, but does not override
  bool isFrameNew() const override;
       ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:59:7: error: ‘bool ofx::Video::IPVideoGrabber::isInitialized() const’ marked override, but does not override
  bool isInitialized() const override;
       ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:60:7: error: ‘bool ofx::Video::IPVideoGrabber::setPixelFormat(ofPixelFormat)’ marked override, but does not override
  bool setPixelFormat(ofPixelFormat pixelFormat) override;
       ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:61:16: error: ‘ofPixelFormat ofx::Video::IPVideoGrabber::getPixelFormat() const’ marked override, but does not override
  ofPixelFormat getPixelFormat() const override;
                ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:66:12: error: conflicting return type specified for ‘virtual ofPixels& ofx::Video::IPVideoGrabber::getPixels()’
  ofPixels& getPixels() override;
            ^
In file included from ../../../libs/openFrameworks/ofMain.h:15:0,
                 from src/ofApp.h:29,
                 from src/main.cpp:26:
../../../libs/openFrameworks/types/ofBaseTypes.h:106:14: error:   overriding ‘T* ofBaseHasPixels_<T>::getPixels() [with T = unsigned char]’
  virtual T * getPixels()=0;
              ^
In file included from src/ofApp.h:31:0,
                 from src/main.cpp:26:
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:67:18: error: ‘const ofPixels& ofx::Video::IPVideoGrabber::getPixels() const’ marked override, but does not override
  const ofPixels& getPixels() const override;
                  ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:72:13: error: ‘ofTexture& ofx::Video::IPVideoGrabber::getTexture()’ marked override, but does not override
  ofTexture& getTexture() override;
             ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:73:19: error: ‘const ofTexture& ofx::Video::IPVideoGrabber::getTexture() const’ marked override, but does not override
  const ofTexture& getTexture() const override;
                   ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:75:7: error: ‘bool ofx::Video::IPVideoGrabber::isUsingTexture() const’ marked override, but does not override
  bool isUsingTexture() const override;
       ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:78:26: error: ‘std::vector<ofTexture>& ofx::Video::IPVideoGrabber::getTexturePlanes()’ marked override, but does not override
  std::vector<ofTexture>& getTexturePlanes() override;
                          ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:79:32: error: ‘const std::vector<ofTexture>& ofx::Video::IPVideoGrabber::getTexturePlanes() const’ marked override, but does not override
  const std::vector<ofTexture>& getTexturePlanes() const override;
                                ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:82:10: error: ‘void ofx::Video::IPVideoGrabber::draw(float, float) const’ marked override, but does not override
     void draw(float x, float y) const override;
          ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:83:7: error: ‘void ofx::Video::IPVideoGrabber::draw(float, float, float, float) const’ marked override, but does not override
  void draw(float x, float y, float w, float h) const override;
       ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:84:7: error: ‘void ofx::Video::IPVideoGrabber::draw(const ofPoint&) const’ marked override, but does not override
  void draw(const ofPoint& point) const override;
       ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:85:7: error: ‘void ofx::Video::IPVideoGrabber::draw(const ofRectangle&) const’ marked override, but does not override
  void draw(const ofRectangle& rect) const override;
       ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:91:11: error: ‘float ofx::Video::IPVideoGrabber::getWidth() const’ marked override, but does not override
     float getWidth() const override;
           ^
../../../addons/ofxIpVideoGrabber/src/IPVideoGrabber.h:92:11: error: ‘float ofx::Video::IPVideoGrabber::getHeight() const’ marked override, but does not override
     float getHeight() const override;

Can you please try the develop branch?

Sorry, didn't mentioned it but I've tried both master & develop.

Hm.  Develop works for me on linux on the master branch of openFrameworks.   I'm not sure what the reason is for 0.9.3 not working on Master.   I'll definitely take a look at it, but it may be in a week or so.

Hey there, I just downloaded a fresh 0.9.4 release (and also installed the dependencies), cloned the master branch of ofxIpVideoGrabber in the addons folder, compiled it and it just ran using the make files included in the example.
I'm on Ubuntu 16.04.1.

authors: bakercp zzart

repo: bakercp/ofxIpVideoGrabber


text:
WIP: Refactor api calls

[ ] Test

 Refactor api calls

repo: baking-bad/bcd


text:
question on align identity > 90%

Hi Sigalign team,
Thanks for the amazing library for sequence alignment. I have a question related to aligning high similar sequences against a reference. If the read is always > some certain threshold e.g., 90% to the reference genomes/sequences, would it still be accurate compared to heuristics such as minimap2 (what is the minimum threshold for sigalign to be accurate). A second question is whehter it provide overlap alignment (that is gaps extended at both ends of query and reference are not penalized), like those in usearch/vsearch semi-global alignment.
Thanks,
Jianshu

Hi Jianshu!
Thank you for your interest in SigAlign.
Question 1: accuracy in highly similar sequences
1) On "high" similarity
For SigAlign, "high" similarity generally means around 98-99%, not >90%.
SigAlign is particularly suited for sequences with high accuracy, such as those from Illumina NovaSeq (99.86%) and MiSeq (98.79%) (calculated from "read mapping" tests in SigAlign's paper).
This doesn’t mean SigAlign only finds sequences with >98% identity. In the paper's tests, SigAlign can detect <97% identity for MiSeq data, but it generally performs best with targets in the >98% range.
2) On accuracy
SigAlign is non-heuristic, meaning it:

Finds all alignments within the defined scope (see details in the Wiki).
Provides consistent results for a single genome regardless of reference composition.

However, SigAlign doesn’t guarantee finding the "biological truth" (e.g., exact origin of a read), so we can't claim it is more accurate than other aligners like minimap2.
That said, our paper shows SigAlign demonstrates high sensitivity and precision (when filtering for the highest-scoring alignments) with simulated MiSeq data.
3) Use case suggestions
SigAlign is expected to perform well with:

similar length to MiSeq (200-500 bp)
similar accuracy to MiSeq (>98% identity)
complex references containing diverse genomes
low repeat region (e.g., bacterial genomes)

Question 2: Semi-global alignment
Yes, SigAlign supports semi-global alignment.
(Semi-global mode may offer lower memory usage and faster speeds compared to local alignment)


text:
Adding 80RATE/20WETH pool to weighted allowlist

Description
Please include a summary of the change and if relevant which issue is fixed. Please also include relevant motivation and context.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Dependency changes
[ ] Code refactor / cleanup
[ ] Documentation or wording changes
[ ] Other

How should this be tested?
This PR is adding the 80RATE/20WETH  pool to the weighted pool allow list. Test by ensuring the UI allows provisioning liquidity to it.
Please provide instructions so we can test. Please also list any relevant details for your test configuration.

[x] Test A: Add liquidity to the 80RATE/20WETH pool, assert all works as intended.

Visual context
Please provide any relevant visual context for UI changes or additions. This could be static screenshots or a loom screencast.
Checklist:

[x] I have performed a self-review of my own code
[x] I have requested at least 1 review (If the PR is significant enough, use best judgement here)
[x] I have commented my code where relevant, particularly in hard-to-understand areas
[x] If package-lock.json has changes, it was intentional.
[x] The base of this PR is master if hotfix, develop if not

@oddaf Hey.  IF you are not already in contact with Balancer, please DM me on telegram to get a group fired up: https://t.me/tritium_vlk
You should be good to go on the pool in a few minutes.

authors: Tritium-VLK oddaf


text:
[Request] Changelog

Having a changelog would be much appreciated in case we want to upgrade our current version of Waterline. There could new features or something that behaves differently to previous version. Looking at commits It's pretty much impossible between releases tell what belongs where.

Done! Changelog

@particlebanana much appreciated

authors: moisesrodriguez particlebanana

repo: balderdashy/waterline


text:
Invalid events in API Inspector

Description
I recently updated from 1.7 to 1.9 and after capturing a frame I saw that some events in the API Inspector window were marked as "Indirect sub-commands", which made reading details (like function parameters) impossible. The issue seems to be caused by vkCmdDrawIndirectCount and is visible in subsequent command buffers. I checked 1.8 and it's also affected.
Steps to reproduce
I've sent a simple application that reproduces the issue in an email.

Capture any frame from the application
Select vkCmdDraw(3, 1) from Colour Pass # 2
API Inspector shows EID:22, Event:"Indirect sub-command"

Environment

RenderDoc version: 1.8+
Operating System: Windows 10
Graphics API: Vulkan

I think it may have been broken on 1.7 just in a different way. A command buffer with an indirect count draw was re-ordering later commands in itself but not later comands in other command buffers. In older versions I was reserving all the data needed for indirect-count draws and then removing the excess, and in 1.8 I changed it to not reserve space since for very large maxCounts that's wasteful. In your case the draw was drawing exactly maxcount so in 1.7 nothing was re-ordering.
That commit should avoid the re-order entirely and fix the problem.

repo: baldurk/renderdoc


text:
Problems with JDWP connection

Description
I've tried connecting render doc to an Android Device (specifically, Samsung Galaxy Tab S3). Android 7.0 is installed on that device.
The renderdoc apk was installed correctly and starts up properly when selecting the device as a replay context.
However, after I select the apk that I want to debug in the 'Executable Path' box and hit 'Launch', it would say that it couldn't connect to the debugger ('debuggable' is set to true in the AndroidManifest).
There's no other application running that makes use of the adb other than RenderDoc.
To see what was causing this, I opened the Diagnostic Log File using the 'Help->View Diagnostic Log File' option.
When I was searching for potential errors, this line struck my interest:

RDOC 000320: [15:31:38]             jdwp.cpp( 399) - Error   - Couldn't make JDWP connection
RDOC 000320: [15:31:38]          android.cpp( 217) - Error   - Failed to inject using JDWP

Could you maybe tell me what would cause this error?
Something to note:
I tried the same procedure with an Samsung Galaxy S8 device and everything worked fine so this seems to be an Android or device specific setting.
If you need more informations, please don't hesitate to contact me.
The content of the whole log file:

RDOC 000320: [15:31:10]             core.cpp( 298) - Log     - RenderDoc v1.0 64-bit Release (5ef2d0bb5e86a37ba6c250987e9dc8c33c26435c) loaded in replay application
RDOC 010120: [15:31:10]             core.cpp( 298) - Log     - RenderDoc v1.0 64-bit Release (5ef2d0bb5e86a37ba6c250987e9dc8c33c26435c) loaded in replay application
QTRD 000320: [15:31:10]       qrenderdoc.cpp(  87) - Log     - QRenderDoc initialising.
RDOC 007420: [15:31:10]             core.cpp( 298) - Log     - RenderDoc v1.0 64-bit Release (5ef2d0bb5e86a37ba6c250987e9dc8c33c26435c) loaded in replay application
QTRD 000320: [15:31:12] ToolWindowManager.cpp( 817) - Warning - invalid splitter encountered
RDOC 000320: [15:31:12]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e forward tcp:39970 localabstract:renderdoc_39920'
RDOC 000320: [15:31:12]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e forward tcp:38970 localabstract:renderdoc_38920'
RDOC 000320: [15:31:12]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell getprop ro.product.manufacturer'
RDOC 000320: [15:31:13]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell getprop ro.product.model'
RDOC 000320: [15:31:13]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell setprop debug.vulkan.layers :'
RDOC 000320: [15:31:16]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell setprop debug.vulkan.layers :'
RDOC 000320: [15:31:20]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e forward tcp:39970 localabstract:renderdoc_39920'
RDOC 000320: [15:31:20]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e forward tcp:38970 localabstract:renderdoc_38920'
RDOC 000320: [15:31:26]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell pm list packages -3'
RDOC 000320: [15:31:27]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e forward tcp:39970 localabstract:renderdoc_39920'
RDOC 000320: [15:31:27]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e forward tcp:38970 localabstract:renderdoc_38920'
RDOC 000320: [15:31:28]    android_patch.cpp( 497) - Log     - Checking that APK is debuggable
RDOC 000320: [15:31:28]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell dumpsys package com.flaregames.monsterio'
RDOC 000320: [15:31:28]    android_patch.cpp( 460) - Log     - Checking for root access on 6ec8ea1eb10f312e
RDOC 000320: [15:31:28]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e root'
RDOC 000320: [15:31:28]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell whoami'
RDOC 000320: [15:31:28]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell test -e /system/xbin/su && echo found'
RDOC 000320: [15:31:32]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell cmd package resolve-activity -c android.intent.category.LAUNCHER com.flaregames.monsterio'
RDOC 000320: [15:31:32]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e forward --remove tcp:39021'
RDOC 000320: [15:31:32]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell am force-stop com.flaregames.monsterio'
RDOC 000320: [15:31:33]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell setprop debug.vulkan.layers VK_LAYER_RENDERDOC_Capture'
RDOC 000320: [15:31:33]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell mkdir -p /sdcard/Android/data/com.flaregames.monsterio'
RDOC 000320: [15:31:33]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell setprop debug.rdoc.RENDERDOC_CAPTUREOPTS ababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcbaa'
RDOC 000320: [15:31:34]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell pm path com.flaregames.monsterio'
RDOC 000320: [15:31:34]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell ls /data/app/com.flaregames.monsterio-1//lib//libVkLayer_GLES_RenderDoc.so'
RDOC 000320: [15:31:34]          android.cpp( 173) - Log     - No library found in /data/app/com.flaregames.monsterio-1//lib//libVkLayer_GLES_RenderDoc.so for com.flaregames.monsterio - assuming injection is required.
RDOC 000320: [15:31:34]          android.cpp( 185) - Log     - Setting up to launch the application as a debugger to inject.
RDOC 000320: [15:31:34]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell am start -S -D com.flaregames.monsterio/com.keenflare.monsterio.MonsterioActivity'
RDOC 000320: [15:31:35]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e forward tcp:39970 localabstract:renderdoc_39920'
RDOC 000320: [15:31:35]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e forward tcp:38970 localabstract:renderdoc_38920'
RDOC 000320: [15:31:35]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell ps -A | grep com.flaregames.monsterio'
RDOC 000320: [15:31:36]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell ps -A | grep com.flaregames.monsterio'
RDOC 000320: [15:31:36]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell ps -A | grep com.flaregames.monsterio'
RDOC 000320: [15:31:36]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell ps -A | grep com.flaregames.monsterio'
RDOC 000320: [15:31:37]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e shell ps -A | grep com.flaregames.monsterio'
RDOC 000320: [15:31:37]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e forward tcp:39970 localabstract:renderdoc_39920'
RDOC 000320: [15:31:37]    android_tools.cpp( 283) - Log     - COMMAND: C:\Users\fklinge\AppData\Local\Android\Sdk\platform-tools\adb.exe '-s 6ec8ea1eb10f312e forward tcp:38970 localabstract:renderdoc_38920'
RDOC 000320: [15:31:38]             jdwp.cpp( 399) - Error   - Couldn't make JDWP connection
RDOC 000320: [15:31:38]          android.cpp( 217) - Error   - Failed to inject using JDWP

Environment

RenderDoc build: v1.0 (build from 5ef2d0bb)
Operating System: Windows 7 64-Bit
API: OpenGL ES 3.0
Device: Samsung Galaxy Tab S3

This looks like the bug that's been reported a couple of times where some android devices don't support ps -A, so renderdoc can't determine the PID of the apk and can't set up the JDWP connection from there.
Can you try a recent nightly build? This has been fixed and I now have a fallback that tries just plain ps as well.

Yup, that fixed it. Thanks a lot!


text:
Add standard docusaurus-builder docs

Adding product-os/docusaurus-builder docs to balena-sound, removing the custom builder.
Need #654 to ready this PR.

Staging Link for the new balena-sound docs: https://052b7988.balena-sound.pages.dev/
The Docs PR is ready to review @alanb128 @rahul-thakoor @klutchell

repo: balena-io-experimental/balena-sound


text:
Getting Started guides CLI installer shows incorrect platform instructions

When you navigate to https://www.balena.io/docs/learn/getting-started/raspberrypi3/nodejs/#install-the-balena-cli using a Linux machine.
The tab is selected for Linux but it's currently showing Mac instructions by default

@vipulgupta2048 what machine are you seeing that on, and also can you paste your user-agent string?

@nucleardreamer Here you go https://whatismybrowser.com/w/K98S5KD

repo: balena-io/docs


text:
Balena-engine.socket is created as a directory

Description
We occasionally find the "heartbeat" is red on the dashboard.  Running diagnostics we see engine is not running, supervisor is not running, and often it cannot connect to docker hub.  Investigation further shows
balena-engine.socket                                                                         loaded failed     failed          Docker Socket for the API
Restarting the balena engine via systemctl restart balena-engine fails, and journalctl -xu shows that the socket is nonfunctional (sorry - lost the lines before I could copy and paste them).  Then looking at /var/run/balena-engine.socket shows that it is created as a directory and not a file.
Removing the directory and restarting the balena-engine usually restores everything to operating condition.
This seems to only occur on 2.48 systems.
** Environment **
Device type: Raspberry Pi (v1 / Zero / Zero W)
OS version: balenaOS 2.48.0+rev1
Supervisor version: 10.8.0

Can you share some more details on the containers you're running? Are you using any supervisor labels?

We've seen this on system running a single alpine-based container, and on systems that are hosting 3 containers (2 alpine, 1 debian).  It's only seen on systems running Host OS 2.48.
We are not using any supervisor labels.
FWIW, we had a conversation with one of Balena's tech support folks named Hugh who also saw this and may have filed a bug report.

sorry this took some time to come back to you. did anything change regarding this issue?
are you interacting with the docker/balena socket at all in your container?
it would be useful to have a minimal reproduction for me to try this myself. I think your single container deploy would work for that, any chance you could share that with me?

I haven't created a minimal reproduction but it happens quite often.  When I notice, I typically remove the directory and everything recovers.  I suspect it might self-recover also, not sure.  Next time it happens I can post to support and grant access and ask them to forward to you.

sounds good, thanks. I can take care of connecting your support request to this ticket o/

Hi Robert, I have logged the site demonstrating this issue via Intercom and ask them to forward to you.

@etcetc it looks like we found the issue internally. I will keep you posted when we have a solution for this o/

Good news thanks.

This Supervisor PR is in the works which will fix this, by moving to using mounts instead of binds for volume configs.

This issue may be avoided by upgrading to Supervisor v14+.

authors: cywang117 etcetc robertgzr

repo: balena-os/balena-engine


text:
Build error fetching balena_git  (rename issue?)

balena_git.bb:do_fetch error below  (also log attached)
on build command
balena-yocto-scripts/build/barys -m var-som-mx6
Could be resin to balena rename problem ?
WARNING: balena-17.12.0-dev+git60400e2cd0eb10b72f3c1bc12befb6e358d1cb1f-r0 do_fetch: Failed to fetch URL git://github.com/resin-os/balena.git;branch=17.12-resin;destsuffix=git/src/import, attempting MIRRORS if available
ERROR: balena-17.12.0-dev+git60400e2cd0eb10b72f3c1bc12befb6e358d1cb1f-r0 do_fetch: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-Zx6XwJTIDB"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export PATH="/opt/balena-variscite/build/tmp/sysroots-uninative/x86_64-linux/usr/bin:/opt/balena-variscite/layers/poky/scripts:/opt/balena-variscite/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/balena/17.12.0-dev+git60400e2cd0eb10b72f3c1bc12befb6e358d1cb1f-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi:/opt/balena-variscite/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/balena/17.12.0-dev+git60400e2cd0eb10b72f3c1bc12befb6e358d1cb1f-r0/recipe-sysroot/usr/bin/crossscripts:/opt/balena-variscite/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/balena/17.12.0-dev+git60400e2cd0eb10b72f3c1bc12befb6e358d1cb1f-r0/recipe-sysroot-native/usr/sbin:/opt/balena-variscite/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/balena/17.12.0-dev+git60400e2cd0eb10b72f3c1bc12befb6e358d1cb1f-r0/recipe-sysroot-native/usr/bin:/opt/balena-variscite/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/balena/17.12.0-dev+git60400e2cd0eb10b72f3c1bc12befb6e358d1cb1f-r0/recipe-sysroot-native/sbin:/opt/balena-variscite/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/balena/17.12.0-dev+git60400e2cd0eb10b72f3c1bc12befb6e358d1cb1f-r0/recipe-sysroot-native/bin:/opt/balena-variscite/layers/poky/bitbake/bin:/opt/balena-variscite/build/tmp/hosttools"; export HOME="/home/roberto"; LANG=C git -c core.fsyncobjectfiles=0 clone --bare --mirror git://github.com/resin-os/balena.git /opt/balena-variscite/build/downloads/git2/github.com.resin-os.balena.git --progress failed with exit code 128, output:
Cloning into bare repository '/opt/balena-variscite/build/downloads/git2/github.com.resin-os.balena.git'...
fatal: unable to connect to github.com:
github.com[0: 140.82.118.3]: errno=No route to host
github.com[1: 140.82.118.4]: errno=No route to host
ERROR: balena-17.12.0-dev+git60400e2cd0eb10b72f3c1bc12befb6e358d1cb1f-r0 do_fetch: Fetcher failure for URL: 'git://github.com/resin-os/balena.git;branch=17.12-resin;destsuffix=git/src/import'. Unable to fetch URL from any source.
ERROR: balena-17.12.0-dev+git60400e2cd0eb10b72f3c1bc12befb6e358d1cb1f-r0 do_fetch: Function failed: base_do_fetch
ERROR: Logfile of failure stored in: /opt/balena-variscite/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/balena/17.12.0-dev+git60400e2cd0eb10b72f3c1bc12befb6e358d1cb1f-r0/temp/log.do_fetch.57893
ERROR: Task (/opt/balena-variscite/build/../layers/meta-resin/meta-resin-common/recipes-containers/balena/balena_git.bb:do_fetch) failed with exit code '1'
log.do_fetch.txt

Yes, the issue is still present.
I think the root of the problem is this URI in balena_git.bb
git://github.com/resin-os/balena.git;branch=${BALENA_BRANCH};destsuffix=git/src/import
This path gives error 'not found' with git also...

repo: balena-os/balena-variscite


text:
Parallelize Leviathan Multi-Suite testing among multiple workers

PR adds parallelization support to running test suites across multiple available workers. Additionally, it also involves multiple improvements to client cloud helpers, code readability and testing performance

@vipulgupta2048 depending on how things are going on your end, we could merge this (after I quickly test it), and then make the changes we discussed yesterday in a subsequent PR?

@rcooke-warwick  Opened #416 for that

@vipulgupta2048 this is ready to be merged ,when we merge https://github.com/balena-os/leviathan/pull/402 and https://github.com/balena-os/leviathan/pull/412

testing running against an app with a single and two testbots (rpi3 as DUT) and it's working great

@balena-ci rebase

@balena-ci rebase

@balena-ci I self-certify!

authors: rcooke-warwick robertgzr vipulgupta2048

repo: balena-os/leviathan


text:
Client: Drop config NPM package

Converted convention to accept JS config file, making config npm package useless.
Signed-off-by: Vipul Gupta (@vipulgupta2048) vipul@balena.io

@balena-ci I self-certify!


text:
Pi Zero W and Pi 3A+ all connect to the cloud but all return "nothing is listening on port 80" errors on the public URL.

I have tried to get the Balena-cam working today on both a Pi 3A+ and a Pi Zero W via the "Deploy with Balena" route but while both connect to my account / the cloud, each one yields the following error when trying to access the public IP address to view the camera:
"We encountered an error when reaching this balena.io device:
(ID)
tunneling socket could not be established: 500
One possible reason is because nothing is listening on port 80 on the device."
I have tried the current builds (as of today, 03/07/22) for the Pi Zero and both 32 and 64 bit versions for the Pi 3. In all cases I am using the official camera module and the hardware in each case works from Pi OS.
The other devices I have currently running other Balena tasks are all still connecting so I don't think it's a connectivity issue my end or a service issue at Balena.
Here is the log from the Pis on startup:
Supervisor starting
Applying configuration change {"SUPERVISOR_POLL_INTERVAL":"900000","SUPERVISOR_DELTA":"1","SUPERVISOR_DELTA_REQUEST_TIMEOUT":"59000","SUPERVISOR_DELTA_VERSION":"3"}
Applying boot config: {"gpu_mem_1024":"448","gpu_mem_256":"192","gpu_mem_512":"256","start_x":"1","avoid_warnings":"1","disable_splash":"1","dtparam":["i2c_arm=on","spi=on","audio=on"],"gpu_mem":"16"}
Applied boot config: {"gpu_mem_1024":"448","gpu_mem_256":"192","gpu_mem_512":"256","start_x":"1","avoid_warnings":"1","disable_splash":"1","dtparam":["i2c_arm=on","spi=on","audio=on"],"gpu_mem":"16"}
Applying boot config: {}
Applied configuration change {"SUPERVISOR_POLL_INTERVAL":"900000","SUPERVISOR_DELTA":"1","SUPERVISOR_DELTA_REQUEST_TIMEOUT":"59000","SUPERVISOR_DELTA_VERSION":"3"}
Applied boot config: {}
Applying configuration change {"SUPERVISOR_VPN_CONTROL":"true"}
Applied configuration change {"SUPERVISOR_VPN_CONTROL":"true"}
Rebooting
Supervisor starting
Creating network 'default'
Supervisor starting
Can someone please offer me some assistance in this ?

Same here! I have tried this with "Deploy with Balena" and ended as you.

authors: GOTO-GOSUB PlesnivejSejra

repo: balenalabs/balena-cam


text:
UPNP : All servers use the same default UUID

When running multiple upnp servers on the same network (e.g. in standalone mode) only one is visible to clients.   Which server is visible is a race condition.   Checking the gmediarender code clarifies that there is a default hard coded id when none is specified.
https://github.com/hzeller/gmrender-resurrect/blob/master/src/main.c#L83

Fixed by #381.
balenaSound v3.4.6

Fixed by #381.
balenaSound v3.4.6

authors: JodyGoldberg tmigone

repo: balenalabs/balena-sound


text:
Change the Titles of All Modules in API Docs to Denote the GitHub Org

Description:
We need to change the titles of all the modules in the API Docs to denote the GitHub org (i.e., whether it is "ballerina" or "ballerinax").

For example, they should be:

Module: ballerina/auth
Module: ballerinax/docker

This should be done in both 1.2.x & Swan Lake releases.
Related Issues (optional):

https://github.com/ballerina-platform/ballerina-lang/issues/24908
https://github.com/ballerina-platform/ballerina-dev-website/issues/1097

Suggested Labels (optional):

Suggested Assignees (optional):

Closing as this issue is fixed.

repo: ballerina-platform/ballerina-lang


text:
Incorrect/incomplete variable types with "Create Local Variable"  code actions for iterators

Description:
$title.
Steps to reproduce:
For
public function main() {
    int[] x = [1, 2, 3];

    x.iterator();

    x.iterator().next();
}

adds
public function main() {
    int[] x = [1, 2, 3];

     object {function () returns {| any| value |}|()} iteratorResult = x.iterator();

    function () nextResult = x.iterator().next();
}

but it should be
public function main() {
    int[] x = [1, 2, 3];

    object {public function next() returns record {| int value; |}?;} iteratorResult = x.iterator();

    record {| int value; |}? nextResult = x.iterator().next();
}

Related issues:
https://github.com/ballerina-platform/ballerina-lang/issues/24379
Affected Versions:
slp5

Blocked due to https://github.com/ballerina-platform/ballerina-lang/issues/29017

authors: MaryamZi rasika


text:
Document This codeaction for class is suggested within object method body

Description:
Consider the source:
class Student {

    public function getName() returns string {

        return "name";
    }
}

Put the cursor on the return statement and you will see the Document This codeaction, Click on it, and the documentation will be added to the class Student.
Steps to reproduce:
See description
Affected Versions:
SL Beta 3 RC5

@nadeeshaan I can still the Document This code action on the return statement on 2201.0.3 RC1. Shall we reopen this?

@nadeeshaan I can still the Document This code action on the return statement on 2201.0.3 RC1. Shall we reopen this?

We actually merged this one for the master. Should be available with a latest minor release though


text:
[Bug]: Invalid error recovery in regex

Description
public function main() {
  string:RegExp x7 = re `\p{sc=``}`;
}

The above code is recover as
public function main() {
  string:RegExp x7 = re `\p{sc= MISSING[] MISSING[)]` MISSING[;]`}`;
}

The MISSING[)] node is not valid for this recover operation.
Steps to Reproduce
No response
Affected Version(s)
Master
OS, DB, other environment details and versions
No response
Related area
-> Compilation
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

The expected node is MISSING[}] instead of MISSING[)].


text:
[Bug]: debugger breakpoints are not working on windows

Description
$subject seems to be a regression issue after fixing debugging support for bala sources with https://github.com/ballerina-platform/ballerina-lang/pull/37896
Steps to Reproduce
No response
Affected Version(s)
No response
OS, DB, other environment details and versions
No response
Related area
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

Closing with https://github.com/ballerina-platform/ballerina-lang/pull/39739


text:
Results sets returned from mysql stored procedure are empty

Description:
$subject, due to [1]. Seems it is not possible to have the streaming behavior while keeping several result sets. When debugging, just before calling the "getMoreResults" on the statement, calling "next" on previously obtained result set returned "true". Just after calling "getMoreResults" calling "next" on previously obtained result set returned "false".
If the condition at [1] is removed, the result set would not be empty.
However, when the result sets are returned as OUT params there is no such issue.
[1] https://github.com/ballerina-platform/ballerina-lang/blob/master/stdlib/ballerina-database/src/main/java/org/ballerinalang/database/sql/actions/AbstractSQLAction.java#L453
Steps to reproduce:
Call a mysql stored procedure which returns a result set. The returned table would be empty.
eg:
Stored procedure
 CREATE PROCEDURE SelectPersonData()
  READS SQL DATA
  BEGIN
  SELECT firstName FROM Customers where registrationID = 1;
  END

Ballerina code
type ResultCustomers {
    string FIRSTNAME,
};
function testCallProcedureWithResultSet(string jdbcUrl, string userName, string password) returns (string) {
    endpoint jdbc:Client testDB {
        url: jdbcUrl,
        username: userName,
        password: password,
        poolOptions: { maximumPoolSize: 1 }
    };

    string firstName;
    var ret = check testDB->call("{call SelectPersonData()}", [ResultCustomers]);
    table[] dts;
    match ret {
        table[] dtsRet => dts = dtsRet;
        () => firstName = "error";
    }
    while (dts[0].hasNext()) {
        ResultCustomers rs = check <ResultCustomers>dts[0].getNext();
        firstName = rs.FIRSTNAME;
    }
    testDB.stop();
    return firstName;
}

Affected Versions:
0.970.1
OS, DB, other environment details and versions:
mysql

https://bugs.mysql.com/bug.php?id=90653


text:
Fix minor issues in Auth stdlib

Purpose
Fixes minor issues in Auth stdlib encountered during review process. Includes a auth validation improvement and a JWT cache performance improvement.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@746d242). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master   #14658   +/-   ##
=========================================
  Coverage          ?   64.01%
  Complexity        ?      523
=========================================
  Files             ?     2276
  Lines             ?    99341
  Branches          ?    13215
=========================================
  Hits              ?    63594
  Misses            ?    30737
  Partials          ?     5010

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 746d242...06a29ea. Read the comment docs.

authors: ayomawdb codecov-io


text:
Improve lang lib table tests

Purpose

$subject
Fixes #22663

Approach

N/A

Samples

N/A

Remarks

N/A

Check List

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

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

[ ] Increased Test Coverage
[ ] Added necessary documentation

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

Codecov Report

:exclamation: No coverage uploaded for pull request base (new-table-impl@16c5cf8). Click here to learn what that means.
The diff coverage is n/a.

@@                Coverage Diff                @@
##             new-table-impl   #22830   +/-   ##
=================================================
  Coverage                  ?   14.59%
=================================================
  Files                     ?       51
  Lines                     ?     1411
  Branches                  ?      219
=================================================
  Hits                      ?      206
  Misses                    ?     1189
  Partials                  ?       16

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 16c5cf8...5362c88. Read the comment docs.

authors: codecov-io pcnfernando


text:
[VCoDeS] Windows: file system server connector

Description:
Refer https://github.com/ballerinalang/ballerina/issues/3025 for more details.

You can get the latest directory listener here. I have checked this sample with Windows OS. Directory listener returned the following correct path name:
C:\Users\ashak\OneDrive\Documents\test.bal
But The above BBE print the path with extra slash as log is using additional validation to escape invalid characters. The output of the log:printInfo:
time = 2021-07-02T16:15:40.885+05:30 level = INFO module = "" message = "Modify: C:\\Users\\ashak\\OneDrive\\Documents\\test.bal"
@daneshk @MadhukaHarith92 I think we need to improve the escape invalid character impl according to the OS

@kalaiyarasiganeshalingam this is because the backslash is a special character and we are escaping special characters from the message printing it to console.

File listener works fine. Hence, closing this issue.


text:
Set Target Code Coverage Value

Description:
Currently, there's no strict rule for code coverage in Standard Library modules. Since we are now at 80% coverage in all the modules, we can now set the baseline as 80% all the time.
To make sure the 80% coverage is maintained, each repo has to make the code coverage to 80% and make the codecov/project check is a required check.
Let's mark this issue once the task is done for each repo. (This is independent of the level).

[x] io
[x] java.arrays
[x] random
[x] regex
[x] time
[x] url
[x] xmldata
[x] crypto
[x] log
[x] os
[x] task
[x] xslt
[x] cache
[x] file
[x] ftp
[x] mime
[x] nats
[x] stan
[x] tcp
[x] udp
[x] uuid
[x] auth
[x] email
[x] jwt
[x] oauth2
[x] http
[x] graphql
[x] grpc
[x] websocket
[x] websub
[x] websubhub
[x] kafka
[x] rabbitmq
[x] sql
[x] java.jdbc
[x] mysql
[x] postgresql
[x] mssql

Closing since all the modules completed the task.


text:
Handle internal messages without repetitions

Description:
The stub generation of the following protobuf file has repeated record values. Those repetitions should handle gracefully.
Proto file
syntax = "proto3";
option go_package = "apis/";

message FileInfo {
    message Observability {
        string id = 1 [json_name = "observabilityId"];
        string latest_version = 2;
    }
    Observability observability = 1;
}

message Log {
    message Observability {
        string id = 1 [json_name = "observabilityId"];
        string latest_version = 2;
    }
    Observability observability = 1;
}

Generated stub
public type FileInfo record {|
    Observability observability = {};
|};

public type Observability record {|
    string id = "";
    string latest_version = "";
|};

public type Log record {|
    Observability observability = {};
|};

public type Observability record {|
    string id = "";
    string latest_version = "";
|};

Steps to reproduce:
Generate stub file using the aforementioned proto file.
Affected Versions:
Ballerina SL beta 2
OS, DB, other environment details and versions:

Java 11
macOS

Suggested stub:

public type FileInfo record {|
    FileInfo_Observability observability = {};
|};

public type FileInfo_Observability record {|
    string id = "";
    string latest_version = "";
|};

public type Log record {|
    Log_Observability observability = {};
|};

public type Log_Observability record {|
    string id = "";
    string latest_version = "";
|};

@daneshk , @BuddhiWathsala WDYT

+1 @MadhukaHarith92. We can follow the same approach as internal enums.


text:
Add support to respond error type using http:Caller

Description:
We supports resource functions to return error types which will be converted to an error response with the error message. Similarly, we will allow http:Caller to respond with error type.
service on new http:Listener(9090) {
    resource function get returnedError() returns error {
        return error("return new error");
    }

    resource function get respondedError(http:Caller caller) returns error? {
        check caller->respond(error("respond with new error"));
    }
}

Related Issues:
Part of Move security error reporting to a default error interceptor #2823

We also have a http:CallerInfo annotation which is used to specify the respond type of the caller->respond() method.
Since there is a limitation in specifying the typedesc as generic error (types of error is allowed), at the moment we only support respondType to be http:ResponseMessage|http:Error. So we are using the annotation and respond with the error, we can only use an error of type http:Error

We also have a http:CallerInfo annotation which is used to specify the respond type of the caller->respond() method. Since there is a limitation in specifying the typedesc as generic error (types of error is allowed), at the moment we only support respondType to be http:ResponseMessage|http:Error. So we are using the annotation and respond with the error, we can only use an error of type http:Error

Related lang bug https://github.com/ballerina-platform/ballerina-spec/issues/797


text:
Proposal: Introduce DataLoader for Ballerina GraphQL

Summary
DataLoader is a versatile tool used for accessing various remote data sources in GraphQL. Within the realm of GraphQL, DataLoader is extensively employed to address the N+1 problem. The aim of this proposal is to incorporate a DataLoader functionality into the Ballerina GraphQL package.
Goals

Implement DataLoader as a sub-module of the Ballerina GraphQL package.

Motivation
The N+1 problem
The N+1 problem can be exemplified in a scenario involving authors and their books. Imagine a book catalog application that displays a list of authors and their respective books. When encountering the N+1 problem, retrieving the list of authors requires an initial query to fetch author information (N), followed by separate queries for each author to retrieve their books (1 query per author).
This results in N+1 queries being executed, where N represents the number of authors, leading to increased overhead and potential performance issues. Following is a GraphQL book catalog application written in Ballerina which susceptible to N +1 problem
import ballerina/graphql;
import ballerina/sql;
import ballerina/io;
import ballerinax/java.jdbc;
import ballerinax/mysql.driver as _;

service on new graphql:Listener(9090) {
    resource function get authors() returns Author[]|error {
        var query = sql:queryConcat(`SELECT * FROM authors`);
        io:println(query);
        stream<AuthorRow, sql:Error?> authorStream = dbClient->query(query);
        return from AuthorRow authorRow in authorStream
            select new (authorRow);
    }
}

isolated distinct service class Author {
    private final readonly & AuthorRow author;

    isolated function init(AuthorRow author) {
        self.author = author.cloneReadOnly();
    }

    isolated resource function get name() returns string {
        return self.author.name;
    }

    isolated resource function get books() returns Book[]|error {
        int authorId = self.author.id;
        var query = sql:queryConcat(`SELECT * FROM books WHERE author = ${authorId}`);
        io:println(query);
        stream<BookRow, sql:Error?> bookStream = dbClient->query(query);
        return from BookRow bookRow in bookStream
            select new Book(bookRow);
    }
}

isolated distinct service class Book {
    private final readonly & BookRow book;

    isolated function init(BookRow book) {
        self.book = book.cloneReadOnly();
    }

    isolated resource function get id() returns int {
        return self.book.id;
    }

    isolated resource function get title() returns string {
        return self.book.title;
    }
}

final jdbc:Client dbClient = check new ("jdbc:mysql://localhost:3306/mydatabase", "root", "password");

public type AuthorRow record {
    int id;
    string name;
};

public type BookRow record {
    int id;
    string title;
};

Executing the query
{
  authors {
    name
    books {
      title
    }
  }
}

on the above service will print the following SQL queries in the terminal
SELECT * FROM authors
SELECT * FROM books WHERE author = 10
SELECT * FROM books WHERE author = 9
SELECT * FROM books WHERE author = 8
SELECT * FROM books WHERE author = 7
SELECT * FROM books WHERE author = 6
SELECT * FROM books WHERE author = 5
SELECT * FROM books WHERE author = 4
SELECT * FROM books WHERE author = 3
SELECT * FROM books WHERE author = 2
SELECT * FROM books WHERE author = 1

where the first query returns 10 authors then for each author a separate query is executed to obtain the book details resulting in a total of 11 queries which leads to inefficient database querying. The DataLoader allows us to overcome this problem.
DataLoader
The DataLoader is the solution found by the original developers of the GraphQL spec. The primary purpose of DataLoader is to optimize data fetching and mitigate performance issues, especially the N+1 problem commonly encountered in GraphQL APIs. It achieves this by batching and caching data requests, reducing the number of queries sent to the underlying data sources. DataLoader helps minimize unnecessary overhead and improves the overall efficiency and response time of data retrieval operations.
Success Metrics
In almost all GraphQL implementations, the DataLoader is a major requirement. Since the Ballerina GraphQL package is now spec-compliant, we are looking for ways to improve the user experience in the Ballerina GraphQL package. Implementing a DataLoader in Ballerina will improve the user experience drastically.
Description
The DataLoader batches and caches operations for data fetchers from different data sources.The DataLoader requires users to provide a batch function that accepts an array of keys as input and retrieves the corresponding array of values for those keys.
API
DataLoader object
This object defines the public APIs accessible to users.
public type DataLoader isolated object {
   # Collects a key to perform a batch operation at a later time.
   pubic isolated function load(anydata key);

   # Retrieves the result for a particular key.
   public isolated function get(anydata key, typedesc<anydata> t = <>) returns t|error;

   # Executes the user-defined batch function.
   public isolated function dispatch();
};

DefaultDataLoader class
This class provides a default implementation for the DataLoader
isolated class DefaultDataLoader {
    *DataLoader;

    private final table<Key> key(key) keys = table [];
    private table<Result> key(key) resultTable = table [];
    private final (isolated function (readonly & anydata[] keys) returns anydata[]|error) batchLoadFunction;

    public isolated function init(isolated function (readonly & anydata[] keys) returns anydata[]|error batchLoadFunction) {
        self.batchLoadFunction = batchLoadFunction;
    }

    // … implementations of load, get and dispatch methods
}

type Result record {|
    readonly anydata key;
    anydata|error value;
|};

The DefaultDataLoader class is an implementation of the DataLoader with the following characteristics:

Inherits from DataLoader.
Maintains a key table to collect keys for batch execution.
Stores/caches results in a resultTable.
Requires an isolated function batchLoadFunction to be provided during initialization.

init method
The init method instantiates the DefaultDataLoader and accepts a batchLoadFunction function pointer as a parameter. The batchLoadFunction function pointer has the following type:
isolated function (readonly & anydata[] keys) returns anydata[]|error

Users are expected to define the logic for the batchLoadFunction, which handles the batching of operations. The batchLoadFunction should return an array of anydata where each element corresponds to a key in the input keys array upon successful execution.
load method
The load method takes an anydata key parameter and adds it to the key table for batch execution. If a result is already cached for the given key in the result table, the key will not be added to the key table again.
get method
The get method takes an anydata key as a parameter and retrieves the associated value by looking up the result in the result table. If a result is found for the given key, this method attempts to perform data binding and returns the result. If a result cannot be found or data binding fails, an error is returned.
dispatch method
The dispatch method invokes the user-defined batchLoadFunction. It passes the collected keys as an input array to the batchLoadFunction, retrieves the result array, and stores the key-to-value mapping in the resultTable.
Requirements to Engaging DataLoader in GraphQL Module
To integrate the DataLoader with the GraphQL module, users need to follow these three steps:

Identify the resource method (GraphQL field) that requires the use of the DataLoader. Then, add a new parameter map<dataloader:DataLoader> to its parameter list.
Define a matching remote/resource method called loadXXX, where XXX represents the Pascal-cased name of the GraphQL field identified in the previous step. This method may include all/some of the required parameters from the graphql field and the map<dataloader:DataLoader> parameter. This function is executed as a prefetch step before executing the corresponding resource method of GraphQL field. (Note that both the loadXXX method and the XXX method should have same resource accessor or should be remote methods)
Annotate the loadXXX method written in step two with @dataloader:Loader annotation and pass the required configuration.  This annotation helps avoid adding loadXXX as a field in the GraphQL schema and also provides DataLoader configuration.

Loader annotation
# Provides a set of configurations for the load resource method.
public type LoaderConfig record {|
      # Facilitates a connection between a data loader key and a batch function.
      # The data loader key enables the reuse of the same data loader across resolvers
      map<isolated function (readonly & anydata[] keys) returns anydata[]|error> batchFunctions;
|};

# The annotation to configure the load resource method with a DataLoader
public annotation LoaderConfig Loader on object function;

The following section demonstrates the usage of DataLoader in Ballerina GraphQL.
Modifying the Book Catalog Application to Use DataLoader
In the previous Book Catalog Application example SELECT * FROM books WHERE author = ${authorId} was executed each time for N = 10 authors. To batch these database calls to a single request we need to use a DataLoader at the books field. The following code block demonstrates the changes made to the books field and Author service class.
import ballerina/graphql.dataloader;

isolated distinct service class Author {
    private final readonly & AuthorRow author;

    isolated function init(AuthorRow author) {
        self.author = author.cloneReadOnly();
    }

    isolated resource function get name() returns string {
        return self.author.name;
    }

       // 1. Add a map<dataloader:DataLoader> parameter to it’s parameter list
       isolated resource function get books(map<dataloader:DataLoader> loaders) returns Book[]|error {
        dataloader:DataLoader bookLoader = loaders.get("bookLoader");
        BookRow[] bookrows = check bookLoader.get(self.author.id); // get the value from DataLoader for the key
        return from BookRow bookRow in bookrows
            select new Book(bookRow);
    }

    // 3. add dataloader:Loader annotation to the loadXXX method.
    @dataloader:Loader {
        batchFunctions: {"bookLoader": bookLoaderFunction}
    }
    // 2. create a loadXXX method
    isolated resource function get loadBooks(map<dataloader:DataLoader> loaders) {
        dataloader:DataLoader bookLoader = loaders.get("bookLoader");
        bookLoader.load(self.author.id); // pass the key so it can be collected and batched later
    }

}

// User written code to batch the books
isolated function bookLoaderFunction(readonly & anydata[] ids) returns BookRow[][]|error {
    readonly & int[] keys = <readonly & int[]>ids;
    var query = sql:queryConcat(`SELECT * FROM books WHERE author IN (`, sql:arrayFlattenQuery(keys), `)`);
    io:println(query);
    stream<BookRow, sql:Error?> bookStream = dbClient->query(query);
    map<BookRow[]> authorsBooks = {};
    checkpanic from BookRow bookRow in bookStream
        do {
            string key = bookRow.author.toString();
            if !authorsBooks.hasKey(key) {
                authorsBooks[key] = [];
            }
            authorsBooks.get(key).push(bookRow);
        };
    final readonly & map<BookRow[]> clonedMap = authorsBooks.cloneReadOnly();
    return keys.'map(key => clonedMap[key.toString()] ?: []);
};

executing the following query
{
  authors {
    name
    books {
      title
    }
  }

after incorporating DataLoader will now include only two database queries.
SELECT * FROM authors
SELECT * FROM books WHERE author IN (1,2,3,4,5,6,7,8,9,10)

Engaging DataLoader with GraphQL Engine
At a high level the GraphQL Engine breaks the query into subproblems and then constructs the value for the query by solving the subproblems as shown in the below diagram.

Following algorithm demonstrates how the GraphQL engine engages the DataLoader at a high level.

The GraphQL engine searches for the associated resource/remote function for each field in the query.
If a matching resource/remote function with the pattern loadXXX (where XXX is the field name) is found, the engine:

Creates a map of DataLoader instances using the provided batch loader functions in the @dataloader:Loader annotation.
Makes this map of DataLoader instances available for both the XXX and loadXXX functions.
Executes the loadXXX resource method and generates a placeholder value for that field.

If no matching loadXXX function is found, the engine executes the corresponding XXX resource function for that field.
After completing the above steps, the engine generates a partial value tree with placeholders.
The engine then executes the dispatch() function of all the created DataLoaders.
For each non-resolved field (placeholder) in the partial value tree:

Executes the corresponding resource function (XXX).
Obtains the resolved value and replaces the placeholder with the resolved value.
If the resolved value is still a non-resolved field (placeholder), the process repeats steps 1-7.

Finally, the fully constructed value tree is returned.

Future Plans
The DataLoader object will be enhanced with the following public methods:

loadMany: This method allows adding multiple keys to the key table for future data loading.
getMany: Given an array of keys, this method retrieves the corresponding values from the DataLoader's result table, returning them as an array of anydata values or an error, if applicable. The return type is (anydata | error)[].
clear: This method takes a key as a parameter and removes the corresponding result from the result table, effectively clearing the cached data for that key.
clearAll: This method removes all cached results from the result table, providing a way to clear the entire cache in one operation.
prime: This method takes a key and an anydata value as arguments and replaces or stores the key-value mapping in the result table. This allows preloading or priming specific data into the cache for efficient retrieval later.
These methods enhance the functionality of the DataLoader, providing more flexibility and control over data loading, caching, and result management.

Not sure loadXXX is an actual resources method. It is an internal method for pre-processing and not part of the graphql schema.

Not sure loadXXX is an actual resources method. It is an internal method for pre-processing and not part of the graphql schema.

We need to map the exact remote/resource method and the corresponding loader function. Two resources can have different accessors and the same path inside a service. There isn't a way to provide two loader functions in that scenario.

I agree. But My point is these functions are internal functions and mapping can do internally. Also, these functions are not part of the GraphQL original schema. By defining these functions as resource functions break the tools such as schema generation, isn't it?

Yes, this is a valid point. Shall we have a meeting to check out the alternatives?
Meantime, we will go ahead with this approach. We are hoping to release this as an experimental feature first. Will that be okay?

Had a discussion with @sameerajayasoma  @shafreenAnfar @ThisaruGuruge regarding this issue:
Following points were discussed in the meeting:

Since batch functions are global, is there a way to associate them with the graphql:Service instead of the loadXXX function? Perhaps with the graphql:ServiceConfig?
Instead of passing the batch function pointer, can't we directly pass the DataLoader instance?
Instead of defining loadXXX as a resource/remote method, can't we have regular methods?

The current approach of using resource/remote methods (for loadXXX) was employed to uniquely identify the corresponding loadXXX method for a given field. This was necessary because there can be two methods with the same name but can have different resource accessors or remote keywords, resulting in ambiguity.
To avoid this ambiguity, we can consider annotating the field and passing the corresponding loadXXX method's function pointer via annotation.

Following changes will be made to the API according to the meeting with the team:

The (prefetch) loadXXX method will be renamed to preXXX.
The preXXX method signature will be changed to a regular method instead of resource/remote methods.
As an advanced case, the user can override the default preXXX method using the resource config annotation. See the example below:

isolated distinct service class Author {
    //...

    isolated function prefetchBooks(graphql:Context ctx) {
        // ...
    }

    @graphql:ResourceConfig {
        // ... other fields
        prefetch: self.prefetchBooks
    }
    isolated resource function get books(graphql:Context ctx) returns Book[]|error {
        // ...
    }

    remote function books(BookInput[] input) returns Book[]|error {
        // ...
    }
}

The @dataloader:Loader will be removed from the API, and the user will be able to register the dataloader in the context object and access the dataloader from the context object. With this API change, the mapdataloader:DataLoader parameter is removed from both the preXXX and the resolver methods. The following are the two new methods that will be added to the context:

public isolated class Context {
    // ... omitted for brevity

    public isolated function registerDataLoader(string key, dataloader:DataLoader dataLoader) {
        // ...
    }

    public isolated function getDataLoader(string key) returns dataloader:DataLoader {
        // ...
        // panic if no key found
    }
}

The load method in the dataloader will be renamed to add:

public isolated function add(anydata key);

Putting it all together, the following example demonstrates the usage of the new API:
Example
@graphql:ServiceConfig {
    contextInit: isolated function (http:RequestContext requestContext, http:Request request) returns graphql:Context {
        graphql:Context context = new;
        context.registerDataLoader("bookLoader", new DefaultDataLoader(batchBooks));
        return context;
    }
}
service on new graphql:Listener(9090) {
    // ... omitted for brevity
}

isolated distinct service class Author {
    //...

    isolated function preBooks(graphql:Context ctx) {
        dataloader:DataLoader bookLoader = ctx.getDataLoader("bookLoader");
        bookLoader.load(self.author.id);
    }

    isolated resource function get books(graphql:Context ctx) returns Book[]|error {
        dataloader:DataLoader bookLoader = ctx.getDataLoader("bookLoader");
        return bookLoader.get(self.author.id);
    }
}

Here's the corrected version of your text:
As for @MaryamZi's comment, it is currently not possible to pass an instance method reference to the annotation. As an alternative approach, we have considered passing the prefetch method name to the @graphql:ResourceConfig annotation.
Example:
isolated distinct service class Author {
    //...

    isolated function prefetchBooks(graphql:Context ctx) {
        // ...
    }

    @graphql:ResourceConfig {
        // ... other fields
        prefetchMethodName: "prefetchBooks"
    }
    isolated resource function get books(graphql:Context ctx) returns Book[]|error {
        // ...
    }

    remote function books(BookInput[] input) returns Book[]|error {
        // ...
    }
}

We could validate the existence and signature of the "prefetchBooks" at compile time using a compiler plugin. What do you think, @sameerajayasoma?

authors: MohamedSabthar ThisaruGuruge hasithaa


text:
[Debugger] For connectors, complex values should be renamed to a proper indicator.

more information here https://github.com/ballerinalang/composer/issues/2984

Can you please elaborate on this issue please. An example would be great.

In the given sample req and res are empty structs (earlier it was listed as complex_value).
We could include some information in req to ease debugging process.

@lafernando closing this since this is a exact duplicate of https://github.com/ballerinalang/ballerina/issues/4124

authors: lafernando pahans

repo: ballerinalang/ballerina


text:
Add HTTP Protocol related functions

HTTP protocol related utilities has to be added as functions (e.g: Set status code, disable chunking, enforce http 1.0 etc.).

Since this issue is not specific about what should be included, created a new issue (#4267) to track the missing feature (enforcing HTTP 1.0) out of the features mentioned.

Closing the original issue since set status code and disable chunking are already supported and a new issue #4267 is created to track the missing feature.


text:
Directly forward video content bitstream to Chromecast device when video is full-screen

Do you think that PyChromecast can also take advantage of this method that the Google Chrome development team is experimenting with?
https://plus.google.com/+FrancoisBeaufort/posts/bCAFwn7EQGi
http://www.androidpolice.com/2017/04/25/google-testing-way-make-tab-casting-video-suck-lot-less-can-try/
Not looked any into the code of this, just read about it on The Verge plus Engadget and thought of PyChromecast
http://www.theverge.com/platform/amp/circuitbreaker/2017/4/25/15427094/chromecast-tab-casting-video-quality-improved-desktop
https://www.engadget.com/amp/2017/04/25/chrome-improves-casting-video-quality/

this has little to do with this project.  This is a feature of the Chrome browser which used to render the content locally before sending to the chromecast.

repo: balloob/pychromecast


text:
Atrace not getting collected on Moto G40 Phone Device

WHAT
I used the  custom script to profile an android app. The app is in release build with the profileable tag enabled. On debugging and going a little deep into the source code i realised that the atrace was not getting collected. On debugging a little more i see the error log
Unable to open file5037 (.package.appname) S 1113 1113 0 0 -1 1077952832 2417899 0 63 0 45820 17497 0 0 20 0 117 0 119065447 25016229888 58295 18446744073709551615 1 1 0 0 0 0 4612 1 1073775864 0 0 0 17 3 0 0 0 0 0 0 0 0 0 0 0 0 0

The Unable to open file comes from line number https://github.com/bamlab/flashlight/blob/94c07a10f7811e83f8e7dcc01537e310e9957b87/packages/android-performance-profiler/cpp-profiler/src/atrace.cpp#L56
On checking the path of the systrace file the source code mentions
std::string traceOutputPath = "/sys/kernel/debug/tracing/trace_pipe";

However on my device i see the trace file being created at the path /sys/kernel/tracing/trace_pipe. To verify this on one terminal i ran the command adb shell atrace -c view -t 999 and in another terminal did a simple cat /sys/kernel/tracing/trace_pipe . And i was able to get the atrace..
What am i to do here? is it possible the trace file locations vary as per devices? Also how do i fix the current case?
Device Info
[media.recorder.show_manufacturer_and_model]: [true]
[ro.board.platform]: [sm6150]
[ro.boot.hardware]: [qcom]
[ro.boot.hardware.revision]: [pvt]
[ro.boot.hardware.sku]: [XT2147-1]
[ro.boot.product.hardware.sku]: [d]
[ro.boot.revision]: [pvt]
[ro.boot.secure_hardware]: [1]
[ro.boot.serialno]: [ZD2222GDQ8]
[ro.build.version.sdk]: [30]
[ro.hardware]: [qcom]
[ro.hardware.egl]: [adreno]
[ro.hardware.nfc_nci]: [pn54x]
[ro.hardware.sensors]: [hanoip]
[ro.hardware.soc.manufacturer]: [qcom]
[ro.hardware.vulkan]: [adreno]
[ro.mot.build.version.sdk_int]: [31]
[ro.opa.device_model_id]: [motorola-hanoip]
[ro.product.brand]: [motorola]
[ro.product.build.version.sdk]: [30]
[ro.product.manufacturer]: [motorola]
[ro.product.model]: [moto g(40) fusion]
[ro.product.name]: [hanoip_retail]
[ro.product.odm.brand]: [motorola]
[ro.product.odm.manufacturer]: [motorola]
[ro.product.odm.model]: [moto g(60)]
[ro.product.product.brand]: [motorola]
[ro.product.product.manufacturer]: [motorola]
[ro.product.product.model]: [moto g(60)]
[ro.product.product.name]: [hanoip_retail]
[ro.product.system.brand]: [motorola]
[ro.product.system.manufacturer]: [motorola]
[ro.product.system.model]: [moto g(60)]
[ro.product.system_ext.brand]: [motorola]
[ro.product.system_ext.manufacturer]: [motorola]
[ro.product.system_ext.model]: [moto g(60)]
[ro.product.vendor.brand]: [motorola]
[ro.product.vendor.manufacturer]: [motorola]
[ro.product.vendor.model]: [moto g(60)]
[ro.revision]: [pvt]
[ro.serialno]: [ZD2222GDQ8]
[ro.system.build.version.sdk]: [30]
[ro.system_ext.build.version.sdk]: [30]
[ro.vendor.boot.serialno]: [ZD2222GDQ8]
[ro.vendor.hw.revision]: [pvt]
[ro.vendor.product.hardware.sku.variant]: [d]
[ro.vendor.product.name]: [hanoip_retail]

Custom Script
const polling = pollPerformanceMeasures(pid, (measure) => {

  measures.push(measure);
  console.log(`JS Thread CPU Usage: ${measure.cpu.perName["(mqt_js)"]}%`);
  console.log(`Main Thread CPU Usage: ${measure.cpu.perName["UI Thread"]}%`);
  console.log(`RAM Usage: ${measure.ram}MB`);
});

setTimeout(() => {
  polling && polling.stop();
  fs.writeFileSync('results.json', JSON.stringify(measures));
}, 10000);

Just followed the documentation..

HI @nitish24p, thanks for raising this issue, and apologies for the delay 🙏
Nice debugging! Nice that you were able to find the proper file path!
One thought: the app doesn't need to be profileable. That shouldn't matter but is it still /sys/kernel/tracing/trace_pipe if the app is not profileable?
Might be depending on the version of ftrace according to this.
If we need to handle multiple paths depending on the device, we'll handle all of them. In case you'd like to contribute and test it out locally, there's a guide here on how to build/test the C++ executable, but let me know if you have any questions!
In any case, I'll run a script at some point on our AWS device farm to check those paths work for all devices
Also just adding Unable to open file in case of error is kind of horrendous on our side, so we'll need better error handling 😅

Hey @Almouro , Sure can help out if need be. Presently for my case, i made a fork and pushed a new tag with the path updated to the right one and built the binary files again and its working as expected.

Hi @nitish24p, at last, this should be fixed, I was able to reproduce on other devices.
Can you confirm on your end? 🙏

Do i need to update the version to latest?

Hi @nitish24p , doing a bit of cleanup on Github issues, so I'm closing this one for now for lack of activity ☺
I think this is fixed now, but do feel free to reopen if the problem is still there! 🙏

repo: bamlab/flashlight


text:
set header for get share page

share page now return 403 when user agent  not set

Thanks!

authors: banbanchs ezioruan

repo: banbanchs/pan-baidu-download


text:
点击添加更多可访问的照片后 怎么不要显示视频呢？

提bug前必看
请先回答下列三个问题，否则不允处理，谢谢配合。
1、我最新的Demo是否有这个bug？【如果Demo没问题，请升级新版】
答：有
2、你用的是什么版本？升级到最新版后是否正常？
答：最新版本
3、是否有改动过我库内部的代码？【如有，请说明改动点】
答：无
bug内容描述
点击添加更多可访问的照片后 显示了视频
我如何复现这个bug？
imagePickerVc.allowPickingVideo = NO;
imagePickerVc.allowTakeVideo = NO;
imagePickerVc.allowTakePicture = NO;
imagePickerVc.allowPickingMultipleVideo = NO;
imagePickerVc.allowPickingGif = NO;
imagePickerVc.allowPickingOriginalPhoto = NO;

截图

其它说明
有没有其它要补充的？比如你的初始化TZImagePickerController的代码
无

这个是调的系统的：
[[PHPhotoLibrary sharedPhotoLibrary] presentLimitedLibraryPickerFromViewController:self]
没有控制参数，应该做不到的

authors: banchichen twlk-jzy

repo: banchichen/TZImagePickerController


text:
Fix warning: MobileCoreServices has been renamed. Use CoreServices instead.

Close #1295
If our library was installed via CocoaPods, Xcode 11.4 will issue the warning "MobileCoreServices has been renamed. Use CoreServices instead.".

How to fix: Do not explicitly link MobileCoreServices.framework in the CocoaPods generated project, by deleting MobileCoreServices from the spec.frameworks attribute in our podspec file.
More info: https://github.com/AFNetworking/AFNetworking/pull/4532

ping @banchichen

The main branch is not merged

This issue has been existed already!

已修复哈，新版本：3.4.3

authors: ElfSundae LeoAiolia banchichen pengpeng-wang


text:
🛑 MXN Scroll On-ramps is down

In 357617b, MXN Scroll On-ramps ($QUOTE_ENDPOINT) was down:

HTTP code: 500
Response time: 27026 ms

Resolved: MXN Scroll On-ramps is back up in e484fe8 after 13 minutes.

repo: bandohq/upptime-monitor


text:
🛑 MXN Blast On-ramps is down

In 60720fe, MXN Blast On-ramps ($QUOTE_ENDPOINT) was down:

HTTP code: 500
Response time: 6415 ms

Resolved: MXN Blast On-ramps is back up in 27fb91a after 9 minutes.


text:
多数据源 测试用例带@Transactional 无法使用

3.1.1
该问题是怎么引起的？(最新版上已修复的会直接close掉)
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {ApplicationLauncher.class})
@Transactional
@DS("test")
public class TestControllerTest{
@Test
.......
}
重现步骤
报错信息
无法定位数据源

去那边提,这边只管 mp

authors: hsoftxl miemieYaho

repo: baomidou/mybatis-plus


text:
Hikari连接池针对DB2数据库无法打印sql语句

底层数据库：DB2
连接池版本：HikariCP-java7--2.4.13
在判断HikariPreparedStatementWrapper.equals(stmtClassName)时，通过getValue("delegate.sqlStatement")获取不到sql语句，返回的为类对象字符形式

抱歉，我们团队无 db2 环境，希望可以提供 PR

authors: qmdx sxrstrive


text:
使用lambdaUpdate().remove()更新时，自动填充失效

当前使用版本(必填,否则不予处理)
3.5.2
该问题是如何引起的？(确定最新版也有问题再提!!!)
执行逻辑删除时，updateTime未更新；
重现步骤(如果有就写完整)
this.lambdaUpdate().eq(SchoolBook::getSchoolId,schoolId)
.in(SchoolBook::getBookId,delBookIds)
.remove()
看了下源码，参数处理时未获取到tableInfo，未进入填充逻辑；
报错信息
无

填充只能填充到entity里

填充只能填充到entity里

近期有规划解决吗？没有的话，我可以试试嘛？

解决不了,就这样的

解决不了,就这样的

LambdaUpdateChainWrapper增加一个属性Class entityClass；
在Service层，调用lambdaUpdate()创建LambdaUpdateChainWrapper时，将EntityClass传递给wrapper；

不可以,你应该自己new进去

this.lambdaUpdate().remove() 这个没提供new的场景呀，刚才说的是对这个场景的扩展支持

我get到了你点了，自动生成mapper脚本中，确实没有参数可以支持更新字段；

@miemieYaho 大佬，尝试修改了下，提了个pull request， 修改方式有问题的话，可以沟通

@yuge1805 我们是自己在mapper上做了个method来处理，需要传入entity作为参数，因为mybatisplus处理更新参数注入时需要有一个对象

@yuge1805 我们是自己在mapper上做了个method来处理，需要传入entity作为参数，因为mybatisplus处理更新参数注入时需要有一个对象

一样的想法，我在PR里也是这么改的。奈何官方人员只是说解决不了，然后直接关了PR，没有任何沟通的想法。┓( ´∀` )┏


text:
Is there a pretrained model that uses resnet18 as a backbone?

Hello.
I would like to run the code with a smaller ResNet Model. Do you have any model with resnet18 as the backbone?
If you can't provide a model, can you roughly know the accuracy?
Thank you.

Hi ksoy0128,
I don't have the resnet18 model. Sorry! :(


text:
PostgisReferenceCache throws IllegalArgumentException

While I am experimenting with Windows, I have noticed, that the osm_relations table is always empty after the import. I think the problem is due to the PostgisReferenceCache implementation I am using.
In PostgisReferenceCache#get  an IllegalArgumentException is thrown when the Reference does not exist:

https://github.com/baremaps/baremaps/blob/40409acd91d002f16297432527fd92f28d072957/baremaps-osm/src/main/java/com/baremaps/osm/cache/PostgisReferenceCache.java#L57

I think this will cause the whole stream to cancel when it is thrown in the RelationBuilder#build:

https://github.com/baremaps/baremaps/blob/40409acd91d002f16297432527fd92f28d072957/baremaps-osm/src/main/java/com/baremaps/osm/geometry/RelationBuilder.java#L69

Can't the Cache return null, when the Element is not available? Or should the call in the stream be wrapped with Try.of(...)?

As of today, the LMDB cache is used when importing the data for the first time. The Postgis cache is used when updating previously imported data. In other words, the Postgis cache assumes an existing database fully populated  with nodes, ways, and relations.
This decision comes from the OSM data model. In order to create the geometries associated with ways and relations, the OSM data need to be read two times: a first time to build a cache of the nodes, ways and relations, and a second time to denormalize the data and create the geometries.
For instance, in OSM, a node is characterized by an id, a longitude and a latitude and a way is characterized by an id and a list of node ids. In order to create the geometry for a way, baremaps fetches the nodes from the cache and use their longitude and latitude coordinates to create the corresponding line.
I upgraded the LMDB to version 0.8 a couple of days ago, do you think they addressed the issues associated with windows in this release? Regarding the null value returned by the cache, this is hard to tell, as the OSM data is supposed to be consistent, I would prefer to fail early. Another option could be to add an in memory cache (only suitable for small imports), or a more portable cache (for instance based on MVStore or another kv store). What do you think?

Thanks! Yes I already thought it would require the data to be read twice.
I will try with the updated Lmdb Cache and see how it works out. 👍

The Import now works with the latest LMDB release. Although it is very slow, for a small city like Münster it takes 10 ninutes for caching references and coordinates. Is it faster for Linux?
Good job!

On linux, the creation of the cache (1min) and of the database (1min) is rather fast. What takes time is the creation of the indexes in postgis (about 8 minutes). Here is my output when importing muenster-regbez-latest.osm.pbf, do you obtained something similar?
baremaps import \
  --input 'muenster-regbez-latest.osm.pbf' \
  --database 'jdbc:postgresql://localhost:5432/baremaps?allowMultiQueries=true&user=baremaps&password=baremaps'
[INFO ] 2020-07-02 21:59:18.291 [main] Import - 8 processors available
[INFO ] 2020-07-02 21:59:18.306 [main] Import - Dropping tables
[INFO ] 2020-07-02 21:59:18.433 [main] Import - Creating tables
[INFO ] 2020-07-02 21:59:18.465 [main] Import - Creating primary keys
[INFO ] 2020-07-02 21:59:18.705 [main] Import - Fetching input
[INFO ] 2020-07-02 21:59:18.706 [main] Import - Populating cache
[INFO ] 2020-07-02 22:00:11.736 [main] Import - Populating database
[INFO ] 2020-07-02 22:01:07.474 [main] Import - Indexing geometries
[INFO ] 2020-07-02 22:06:17.411 [main] Import - Indexing attributes

Thanks for the timing. When using createTempDirectory(...) it used the HDD, which took up to 10 minutes for building the cache. Putting it on the SSD yields much better results. They are slightly slower than yours, but this could be due to the hardware. Thanks for your patience with me!
[INFO ] 2020-07-03 17:48:34.973 [main] Import - 4 processors available
[INFO ] 2020-07-03 17:48:35.051 [main] Import - Dropping tables
[INFO ] 2020-07-03 17:48:35.307 [main] Import - Creating tables
[INFO ] 2020-07-03 17:48:35.322 [main] Import - Creating primary keys
[INFO ] 2020-07-03 17:48:35.947 [main] Import - Fetching input
[INFO ] 2020-07-03 17:48:35.947 [main] Import - Populating cache
[INFO ] 2020-07-03 17:49:42.873 [main] Import - Populating database
[INFO ] 2020-07-03 17:50:44.332 [main] Import - Indexing geometries
[INFO ] 2020-07-03 17:53:14.731 [main] Import - Indexing attributes

authors: bchapuis bytefish

repo: baremaps/baremaps


text:
Pubsubhubbub

I think it's stable now, so go for it :D

Bartlomiej Szejna
reply@reply.github.com a
écrit :

I think it's stable now, so go for it :D
You can merge this Pull Request by running:
git pull https://github.com/barjo/arvensis pubsubhubbub
Or you can view, comment on it, or merge it online at:
https://github.com/barjo/arvensis/pull/7
-- Commit Summary --

pack pubsubhubbub clients and hub into one bundle, move rss
Move to registry subfolder
Merge branch 'develop' of https://github.com/barjo/arvensis into
pubsubhubbub
adapt pubsubhubbub test to work with one pubsubhubub bundle
Pubsubhubbub + jsonrpc example added (publisher and hub on one
Add example rose configuration files
minor fixes
set rss feed factory as service dependency
change rss servlet factory tracker to service dependency
check style
add service reference release
remove redundant maven dependency
style fix
Chat example added
javadoc extended
Hub registration concurrency improved
change class to abstract

-- File Changes --
A example/chat/chat.api/pom.xml (68)
A
example/chat/chat.api/src/main/java/org/ow2/chameleon/rose/demo/chat/api/ChatClient.java
(8)
A
example/chat/chat.api/src/main/java/org/ow2/chameleon/rose/demo/chat/api/ChatServer.java
(10)
A example/chat/chat.client/pom.xml (95)
A
example/chat/chat.client/src/main/java/org/ow2/chameleon/rose/demo/chat/client/internal/ChatClientImpl.java
(118)
A example/chat/chat.server/pom.xml (91)
A
example/chat/chat.server/src/main/java/org/ow2/chameleon/rose/demo/chat/server/internal/ChatServerImpl.java
(84)
A
example/hello-pubsubhubub+jsonrpc/demoClient/bin/org/ow2/chameleon/rose/demo/client/Client.class
(0)
R example/hello-pubsubhubub+jsonrpc/demoClient/pom.xml (93)
A
example/hello-pubsubhubub+jsonrpc/demoClient/src/main/java/org/ow2/chameleon/rose/demo/client/Client.java
(39)
A
example/hello-pubsubhubub+jsonrpc/demoService-API/bin/org/ow2/chameleon/rose/demo/api/DemoServiceAPI.class
(0)
A example/hello-pubsubhubub+jsonrpc/demoService-API/pom.xml (94)
A
example/hello-pubsubhubub+jsonrpc/demoService-API/src/main/java/org/ow2/chameleon/rose/demo/api/DemoServiceAPI.java
(6)
A
example/hello-pubsubhubub+jsonrpc/demoService-impl/bin/org/ow2/chameleon/rose/demo/service/DemoService.class
(0)
A example/hello-pubsubhubub+jsonrpc/demoService-impl/pom.xml (100)
A
example/hello-pubsubhubub+jsonrpc/demoService-impl/src/main/java/org/ow2/chameleon/rose/demo/service/DemoService.java
(21)
A example/hello-pubsubhubub+jsonrpc/json configuration
files/exporter/rose-conf.json (30)
A example/hello-pubsubhubub+jsonrpc/json configuration
files/importer/rose-conf.json (24)
R registry/pubsubhubbub-it/pom.xml (23)
R
registry/pubsubhubbub-it/src/test/java/org/ow2/chameleon/pubsubhubbub/test/clients/AbstractTestConfiguration.java
(40)
R
registry/pubsubhubbub-it/src/test/java/org/ow2/chameleon/pubsubhubbub/test/clients/PublisherTest.java
(95)
R
registry/pubsubhubbub-it/src/test/java/org/ow2/chameleon/pubsubhubbub/test/clients/SubscriberTest.java
(53)
R
registry/pubsubhubbub-it/src/test/java/org/ow2/chameleon/pubsubhubbub/test/clients/TestHubImpl.java
(7)
R
registry/pubsubhubbub-it/src/test/java/org/ow2/chameleon/pubsubhubbub/test/hub/HubTest.java
(85)
R registry/pubsubhubbub-webConsole-plugin/pom.xml (0)
R
registry/pubsubhubbub-webConsole-plugin/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/webconsole/PubsubhubbubWebConsole.java
(0)
D registry/pubsubhubbub/subscriber/pom.xml (172)
R registry/pubsubhubub/pom.xml (30)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/constants/PubsubhubbubConstants.java
(11)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/hub/Hub.java
(0)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/hub/internal/HubImpl.java
(57)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/hub/internal/Registrations.java
(113)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/hub/internal/SendSubscription.java
(49)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/publisher/Publisher.java
(3)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/publisher/internal/HubPublisher.java
(14)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/publisher/internal/PublisherImpl.java
(98)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/subscriber/Subscriber.java
(0)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/subscriber/internal/HubSubscriber.java
(15)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/subscriber/internal/SubscriberImpl.java
(21)
-- Patch Links --
https://github.com/barjo/arvensis/pull/7.patch
https://github.com/barjo/arvensis/pull/7.diff

Reply to this email directly or view it on GitHub:
https://github.com/barjo/arvensis/pull/7

Thank !
I 'll do it on monday
H
Bartlomiej Szejna
reply@reply.github.com a
écrit :

I think it's stable now, so go for it :D
You can merge this Pull Request by running:
git pull https://github.com/barjo/arvensis pubsubhubbub
Or you can view, comment on it, or merge it online at:
https://github.com/barjo/arvensis/pull/7
-- Commit Summary --

pack pubsubhubbub clients and hub into one bundle, move rss
Move to registry subfolder
Merge branch 'develop' of https://github.com/barjo/arvensis into
pubsubhubbub
adapt pubsubhubbub test to work with one pubsubhubub bundle
Pubsubhubbub + jsonrpc example added (publisher and hub on one
Add example rose configuration files
minor fixes
set rss feed factory as service dependency
change rss servlet factory tracker to service dependency
check style
add service reference release
remove redundant maven dependency
style fix
Chat example added
javadoc extended
Hub registration concurrency improved
change class to abstract

-- File Changes --
A example/chat/chat.api/pom.xml (68)
A
example/chat/chat.api/src/main/java/org/ow2/chameleon/rose/demo/chat/api/ChatClient.java
(8)
A
example/chat/chat.api/src/main/java/org/ow2/chameleon/rose/demo/chat/api/ChatServer.java
(10)
A example/chat/chat.client/pom.xml (95)
A
example/chat/chat.client/src/main/java/org/ow2/chameleon/rose/demo/chat/client/internal/ChatClientImpl.java
(118)
A example/chat/chat.server/pom.xml (91)
A
example/chat/chat.server/src/main/java/org/ow2/chameleon/rose/demo/chat/server/internal/ChatServerImpl.java
(84)
A
example/hello-pubsubhubub+jsonrpc/demoClient/bin/org/ow2/chameleon/rose/demo/client/Client.class
(0)
R example/hello-pubsubhubub+jsonrpc/demoClient/pom.xml (93)
A
example/hello-pubsubhubub+jsonrpc/demoClient/src/main/java/org/ow2/chameleon/rose/demo/client/Client.java
(39)
A
example/hello-pubsubhubub+jsonrpc/demoService-API/bin/org/ow2/chameleon/rose/demo/api/DemoServiceAPI.class
(0)
A example/hello-pubsubhubub+jsonrpc/demoService-API/pom.xml (94)
A
example/hello-pubsubhubub+jsonrpc/demoService-API/src/main/java/org/ow2/chameleon/rose/demo/api/DemoServiceAPI.java
(6)
A
example/hello-pubsubhubub+jsonrpc/demoService-impl/bin/org/ow2/chameleon/rose/demo/service/DemoService.class
(0)
A example/hello-pubsubhubub+jsonrpc/demoService-impl/pom.xml (100)
A
example/hello-pubsubhubub+jsonrpc/demoService-impl/src/main/java/org/ow2/chameleon/rose/demo/service/DemoService.java
(21)
A example/hello-pubsubhubub+jsonrpc/json configuration
files/exporter/rose-conf.json (30)
A example/hello-pubsubhubub+jsonrpc/json configuration
files/importer/rose-conf.json (24)
R registry/pubsubhubbub-it/pom.xml (23)
R
registry/pubsubhubbub-it/src/test/java/org/ow2/chameleon/pubsubhubbub/test/clients/AbstractTestConfiguration.java
(40)
R
registry/pubsubhubbub-it/src/test/java/org/ow2/chameleon/pubsubhubbub/test/clients/PublisherTest.java
(95)
R
registry/pubsubhubbub-it/src/test/java/org/ow2/chameleon/pubsubhubbub/test/clients/SubscriberTest.java
(53)
R
registry/pubsubhubbub-it/src/test/java/org/ow2/chameleon/pubsubhubbub/test/clients/TestHubImpl.java
(7)
R
registry/pubsubhubbub-it/src/test/java/org/ow2/chameleon/pubsubhubbub/test/hub/HubTest.java
(85)
R registry/pubsubhubbub-webConsole-plugin/pom.xml (0)
R
registry/pubsubhubbub-webConsole-plugin/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/webconsole/PubsubhubbubWebConsole.java
(0)
D registry/pubsubhubbub/subscriber/pom.xml (172)
R registry/pubsubhubub/pom.xml (30)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/constants/PubsubhubbubConstants.java
(11)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/hub/Hub.java
(0)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/hub/internal/HubImpl.java
(57)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/hub/internal/Registrations.java
(113)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/hub/internal/SendSubscription.java
(49)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/publisher/Publisher.java
(3)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/publisher/internal/HubPublisher.java
(14)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/publisher/internal/PublisherImpl.java
(98)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/subscriber/Subscriber.java
(0)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/subscriber/internal/HubSubscriber.java
(15)
R
registry/pubsubhubub/src/main/java/org/ow2/chameleon/rose/pubsubhubbub/subscriber/internal/SubscriberImpl.java
(21)
-- Patch Links --
https://github.com/barjo/arvensis/pull/7.patch
https://github.com/barjo/arvensis/pull/7.diff

Reply to this email directly or view it on GitHub:
https://github.com/barjo/arvensis/pull/7

authors: DenisMorand baju

repo: barjo/arvensis


text:
Update from main bandit repo

Update from main bandit repo to fix VS 2015 compilation errors

+1

repo: barklyprotects/bandit