Reboot when scanning

In the sample program, when scanning advertisement packets, processing is performed on the assumption that manufacturer specific data exists.
https://github.com/CANDY-HOUSE/SesameSDK_ESP32_with_DemoApp/blob/b4dd05fa2e393748ab7c85c3c250b036b1d896a6/main/blecent.c#L119
If the advertisement packet does not contain manufacturer specific data, the program will run out of control because it will access an invalid pointer.
(Problems occur when there are multiple various BLE devices in the vicinity.)

Hi there,
Thank you for reaching out and providing details on the issue you're encountering. Let's address it step by step:
First, please ensure that your Sesame5 lock is in an unregistered state and positioned in the unlocked position. This is crucial for the initial setup.
Upon starting, the ESP32 program is designed to automatically detect and register any nearby Sesame5 locks and proceed to lock them as part of its initial setup routine.
Please verify these conditions and try again. If you continue to face difficulties, don't hesitate to reach back. We're here to help!
Best regards,
Motozawa

Please verify these conditions and try again. If you continue to face difficulties, don't hesitate to reach back. We're here to help!
Best regards,
Motozawa

@MotoZe
Hi, I've successfully run the demo and found the unregistered Sesame5 Lock and registered it. I've also integrated the Sesame5 Lock to the Home Assistant with no problem. However, when I tried to do the same for Sesame Touch, although it can be successfully registered, but reconnection failed after reboot. The error message is "blecent.c: disconnect; reason=531". According to reason 531, the disconnection is caused by Sesame Touch. Do you know how to fix it? Is the ssm_chr_uuid and ssm_ntf_uuid different for Sesame5 Lock and Sesame Touch? Please help!
Best Regards,
JS

Never mind. I've figured it out and integrated both Sesame5 and Touch into Home Assistant.  Adding fingerprints and cards into Sesame Touch is also accomplished through Home Assistant.

Thank you for the update! I'm thrilled to hear that you've successfully integrated both Sesame5 and Touch into Home Assistant and managed the addition of fingerprints and cards seamlessly. Your ability to troubleshoot and fine-tune the integration is quite impressive. Should you need any more assistance or have further questions down the line, don't hesitate to reach out. Great job!


KAFKA-8029: In memory session store

First pass at an in-memory session store implementation. Waiting for KIP to be voted on/accepted
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Tests added and passing, ready for review @dguy @bbejeck @vvcephei @mjsax @guozhangwang

Java 8 and Java 11 failed results cleaned up already.
retest this please

@bbejeck Thanks, I've expanded the test coverage to those methods -- I also went ahead and added the tests to the RocksDBSessionStoreTest, which this class largely mirrors

Thanks for the revision, @ableegoldman . In case the results are gone by the time you look, the tests didn't run because of an unused import:
00:06:30.062 [ant:checkstyle] [ERROR] /home/jenkins/jenkins-slave/workspace/kafka-pr-jdk11-scala2.12/streams/src/test/java/org/apache/kafka/streams/state/internals/InMemorySessionStoreTest.java:28:15: Unused import - org.junit.Assert.assertNull. [UnusedImports]

Hey @ableegoldman ,
I was just thinking about the test in here... It seems like, for the most part, we expect the in-memory and persistent store to share the same behavior (as that behavior is defined by their common interface). I'm wondering if it would simplify and consolidate our testing if we just write one test to verify the test and swap in the different implementations.
I have an example of one way to do this in my "persistent suppress" branch: https://github.com/apache/kafka/blob/c386da2119d51298e4302d82571ecacbbfed0dc9/streams/src/test/java/org/apache/kafka/streams/state/internals/TimeOrderedKeyValueBufferTest.java
WDYT?

@vvcephei I was thinking about that (since I did end up copy/pasting many of the tests from the RocksDBSessionStore) .. however I'm not 100% convinced it would be a good idea to merge them since the two stores do actually differ in the order of results returned by an iterator. I don't think this discrepancy actually comes up with any of the existing tests, I'm just concerned that in the future this might trip someone up and seem like a bug even if test coverage is expanded..WDYT?

Interesting... I guess the challenge would be to write the test in a way that permits permissable differences, while enforcing the desired contract. In other words, what is the actual contract in terms of iteration order (etc) ? It would actually be incredibly useful to codify that contract in a test, so we know what behavior changes are legal and which ones aren't.
For example, there's very low utility in a test that expects a specific iteration order, when that iteration order itself isn't important. That's how you wind up rewriting tests in conjunction with code changes, which is risky.

Fair point. Since the iterators make no guarantees Re: ordering we should probably rewrite the tests to ignore the order. I think it's worth pushing this to a follow-up PR and combining the in-memory/RocksDB tests for all store types (all key-value type stores are already consolidated, actually. At some point we should do this for window and session stores too, but I scoped this out and believe it would be a nontrivial time investment so it's probably not worth prioritizing now. But as a first step I think we could/should consolidate at least the two flavors (in-memory/rocksDB) of window/session store tests.

Sounds good. As long as we do it before the release, I'm happy. I'm just a little skittish because I actually did find some subtle bugs in the in-memory suppression buffer when I wrote that test I linked to earlier. Although, I guess the risk is less for you because you just copy/pasted the test over, so it should be covering the same cases.

LGTM. Thanks @ableegoldman !


Can we style charts (Spike)

In terms of charts I'd like to see if we can,

Style all the lines charts so that they use 'on brand' colors
Make the lines on the line charts slightly thinner

Generally I'm more interested in seeing what sort of ability we have to style the charts so don't sweat it too much if it turns out it's more involved than first thought.

Because Chartist has the source in Sass I had to port it in CSS (hence no variables). The stroke line is thinner and the colours are on brand + some complementary colours and shades. Removed external reference to CDN too.


Wrong import statement in tutorial

In tutorial/plotly.ipynb the first line should be
from neurom.view.plotly import draw

rathar than
from neurom.viewer.plotly import draw

Thanks for the report @Stannislav
Fixed


Change elmPorts to ports because js library expects ports instead of elmPorts

I struggled to run this library and found out that example is incorrect

You're right. This was already fixed in state-interface-experimental but I forgot to change it here, so thanks!


Swift Language Wasm build like pyodide

Motivation
Swift Language Wasm build like pyodide. https://pyodide.org/en/stable/
Proposed solution
None
Alternatives considered
None
Additional information
NA
https://pyodide.org/en/stable/

Hi @ganeshkbhat, thanks for filing the issue. Would you have a moment to elaborate on your request? Are you looking for code built with the Swift toolchain to Wasm, or the toolchain itself ported and running in a WebAssembly runtime?


Privacy policy

Link is currently broken and am not sure what this page is supposed to be as it's currently trying to link to a pdf

@EmilyScripts The pages branch I originally made locally contained the file assets, which contains the PDF and is there in the Styling branch. However, it looks like merging with master before pushing my pages branch deleted that folder. I'm pushing the same branch again, with the assets folder and making a PR again.

Replaced url,  seems to work.


Add note that user management requires Super Admin role

Thanks for the edit, @mchelen. Slightly updated your work to take advantage of a pre-existing snippet so we can re-use content.


The portraits dont work anymore

It seems that the portraits no longer appear, this is on pf2e with no other modules.

Can you change the animation in the settings? After the change is the behavior the same?

Fixed in v0.4.4


NO-ISSUE: Add initial report

Publish the following message on each failed PR (resources that don't exist will be removed)

/cc @danmanor

@eliorerz maybe we can add a link?


100% renewable (Urgenda) scenario has slight differences in primary demand between BETA and PRODUCTION

BETA

and PRODUCTION:

I opened both from the preset menu.

My local copy agrees with beta. Yet both beta and production are running identical ETEngine and ETSource versions. :confused:

My local copy agrees with beta. Yet both beta and production are running identical ETEngine and ETSource versions and have identical inputs.

Same Merit?

I found out why: we have many scenarios on beta which have been converted to presets, but the scenarios have not been removed from the database as they are on production.
The result is that beta is using the scenario instead of the preset. We should delete these – as we do on production – but I'm not sure if they're still being used in some way? If so, we need to duplicate those that are and assign them a new ID.

Scenario ID
Title
Updated at

155680
Het kan als je wilt 98% duurzame energie in 2030
2013-06-12 10:02:14

363119
BAU NL
2016-08-11 09:18:32

363781
BAU EU27
2016-08-11 09:18:34

363789
BAU UK
2016-08-11 09:18:34

363802
BAU PL
2016-08-11 09:18:34

363816
BAU DE
2016-08-11 09:18:34

363828
BAU ES
2016-08-11 09:18:35

363831
BAU FR
2016-08-11 09:18:35

363836
EE EU27
2016-08-11 09:18:35

363839
EE FR
2016-08-11 09:18:35

363842
EE ES
2016-08-11 09:18:35

363845
EE NL
2016-08-11 09:18:35

363847
EE UK
2016-08-11 09:18:35

363850
EE DE
2016-08-11 09:18:35

363852
EE PL
2016-08-11 09:18:35

423879
(voor)Beeld 80% CO2 reductie in 2050 in Nederland
2016-08-11 09:21:27

423882
(voor)Beeld 95% CO2 reductie in 2050 in Nederland
2016-08-11 09:21:27

The result is that beta is using the scenario instead of the preset.

This feels like a fall-back option that we could remove right? I think it's a bit weird to open a database scenario when the preset fails (or is that not what happens).

@antw @DorinevanderVlies does this affect the stability of the Urgenda scenario? Today is the launch of their booklet which refers to the scenario 😟

This feels like a fall-back option that we could remove right? I think it's a bit weird to open a database scenario when the preset fails (or is that not what happens).

I was incorrect about this, it's not using the database scenario over the Preset. I'm still investigating why the two servers differ; I'll get back to you ASAP.

To make things more confusing (or more clear): I also notice slight differences between the outcome of the scenario now and beginning of June (when I sent the outcomes to Urgenda).
I'm currently trying to recover the scenario settings of the 9th of June, but am pretty confident that the scenario itself didn't change since then (the only thing I can think of is a copy-paste mistake).

I also notice slight differences between the outcome of the scenario now and beginning of June (when I sent the outcomes to Urgenda).

We're you using beta for those "Dashboard" values? There was a fix to P2H after that date which might explain the difference.
I believe I'm closer to explaining why the two servers have different results: they're ordering household P2P and EV P2P differently when discharging:
Production:
  #<Merit::Flex::Base energy_flexibility_curtailment_electricity>
  #<Merit::Flex::Base energy_export_electricity>
  #<Merit::Flex::Storage households_flexibility_p2h_electricity>
  #<Merit::Flex::Base industry_flexibility_p2g_electricity>
  #<Merit::Flex::Base energy_flexibility_p2g_electricity>
  #<Merit::Flex::Storage transport_car_using_electricity>
  #<Merit::Flex::Storage households_flexibility_p2p_electricity>

Beta:
  #<Merit::Flex::Base energy_flexibility_curtailment_electricity>
  #<Merit::Flex::Base energy_export_electricity>
  #<Merit::Flex::Storage households_flexibility_p2p_electricity>
  #<Merit::Flex::Storage households_flexibility_p2h_electricity>
  #<Merit::Flex::Base industry_flexibility_p2g_electricity>
  #<Merit::Flex::Storage transport_car_using_electricity>
  #<Merit::Flex::Base energy_flexibility_p2g_electricity>

We're you using beta for those "Dashboard" values? There was a fix to P2H after that date which might explain the difference.

I was indeed using beta for those "Dashboard" values
The main difference is in energy import, export and curtailment and costs. So to me it seems plausible that flexibility (P2H) is the cause of the differences. Do you agree @antw?

I'm hopeful that this is now fixed, so I will close this issue. Please reopen if you find any other inconsistencies.

So to me it seems plausible that flexibility (P2H) is the cause of the differences. Do you agree @antw?

I would imagine so; it's the only code change which happened after that date. The problem was that the P2H buffers were being emptied more than they should have; fixing that would likely have reduced the amount of energy imported since there is more heat available in the buffers.


Missing Ls in Tandem Vault

Some recent Ls were missed for upload into Tandem Vault. The master images were correctly sorted into tandem_vault_master, but the derivatives were not uploaded to Tandem Vault as they had not been synced to S3 before running the pipeline.
I synced the derivatives and re-ran the pipeline for all L images. There were 946 new L derivatives, but only around 340 made it into Tandem Vault. I don't know how many of those should have gone to Tandem Vault, but I think it should have been all or almost all of them.
The images that were originally reported as missing from Tandem Vault are still missing. They are L0089491, L0089493, L0089517 and L0089530.
We need to look at why the pipeline has stalled and ensure that all missing L derivatives are correctly uploaded to Tandem Vault.

I had a poke around yesterday; it looks like the xml_to_json task is getting stopped early. If you look at the JSON files, their timestamps aren’t consistent with the recent runs.

All four listed images are now in TV, and I haven't seen any other complaints – closing.


Symmetry and dimensions?

I just came across this repo when I am exploring some interesting projects on GitHub. To be honest, I am new to photonics crystals. Just wonder if you guys consider the crystal packings with different symmetries? If yes, my ongoing project maybe useful for the design of new photonic crystals.
https://pyxtal.readthedocs.io/en/latest/
Currently, we support the generation of 1D/2D/3D packings based on rod/layer/space group symmetry relations. Please let me know if this would be linked to your project.

Hi @qzhu2017,
Thanks for commenting - I don't know very much about atomic/molecular crystals, but I just had a play with PyXtal_symmetry.py and it looks useful to photonic crystals.
We define our crystals using lattice vectors and functions epf(x,y) and mu(x,y) that should return the optical properties (permittivity and permeability) of the crystal at (x,y). For example a user might define epf(x,y) = sqrt(x^2+y^2)<0.1 ? 10 : 1 for a simple circle of ep=10 and ep=1 outside.
I'm hoping to add functions to make this simpler, so users don't have to define the equation of simple shapes like circles. If we could use PyXtal_symmetry.py to let users specify the origins of shapes as Wyckoff positions then this could be very helpful.

@sp94 Maybe we use different languages here. When we describe a crystal, we need to know both lattice vectors and the atomic coordinates. The atomic coordinates may form a different set of wyckoff positions. From your description, it seems that you allow the user to change the lattice vectors. When you build a photonic crystal, do you change the atomic coordinates?

Yes, different languages sorry! I mean "meta-atom" which is normally a nanoparticle and we can place it at any position within the unit cell. But I think it would still be useful to know the Wyckoff coordinates when positioning the meta-atoms.
This is a good example:
https://arxiv.org/abs/1503.00416
The meta-atoms are nanocylinders placed on a triangular lattice, and then displaced to tune the topology of the crystal.

I see. Now I am getting to know this better. If you consider wyckoff position as an variable to tune the topology state, my experience on symmetry may be useful. Just to be clear, when you talk about the 2D crystals, what kind of symmetry are you talking about? Is it wall paper group or layer group? At the moment, we support the layer group. But adding the wall paper group is also easy.

In this package we take 2D crystal to mean the geometry is infinite and homogeneous in the third direction, ie d(ep)/dz=d(mu)/dz=0. So from what I understand, this is described by a wall paper group.
But I know examples of similar systems where the third dimension is not periodic, ie a 2D lattice of nanoparticles
https://pubs.acs.org/doi/abs/10.1021/acsphotonics.9b01192
This would be a layer group, right? However we wouldn't be able to model this with Peacock.jl because the plane-wave expansion method it is based on assumes periodicity in all three dimensions.

@sp94
Hi, I begin to understand a little better about your language. Do you mind having a short video chat regarding a possible collaboration. I think utilizing symmetry (either plane or layer group) will be useful here.

@qzhu2017 I'll send you an email!


Add Export Software Functionality

It would a really cool enhancement to be able to export the list of software on the attack-website into a CSV or something else. Unsure if this is a realistic feature, given the current workload. Just thought it might be something useful.

HI @AOrps,
We've actually already recently added this feature. You can find excel files representing ATT&CK on the newly revised Working with ATT&CK page!

I should note that due to a bug (due to be resolved shortly by #297) groups excel file is not listed. The file exists (you can find it if you follow the URL pattern for the other spreadsheets) there's just no link to it in the list.

Thanks! Apologies for the duplicate.


How

I have been finish the training on flower dataset with the transformer, but how can I generate the New Image with the transformer? and than put them into the decoder?


Need software architecture

by your current design, you gonna have problems with web session-related stuffs.
because your web site is static page which deployed on github (or any static site hosting). the session will be between user browser and github hosting; this means your api server will not carry any sessions on itself by default.
one of the issues is if you are trying to do authentication/authorization, you gonna need to manage browser's local storage to keep session-id which you need to pass it to api server manually for each calls. seems to be unsecured this way. this architecture is not normal implementation. let me know too if you find a good solution on this.

this sounds complicated for me, i might change architecture ;p


⚠ Bofrost.lu has degraded performance

In f2d622b, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1395 ms

Resolved: Bofrost.lu performance has improved in bafc723 after 14 minutes.


Ubuntu support

By changing:
modules = ["android"];

to:
modules = ["android", "linux"];

in https://github.com/bscotch/igor-setup/blob/main/src/lib/igor-setup.ts#L182
I was able to make a build for Ubuntu, with below nearly-basic config (notice platform: linux, also "find" part is same as for android):
name: Ubuntu Build (VM)
on:
  # push: #Uncomment this line to run the workflow on push
  workflow_dispatch: #This line allows you to run the workflow manually from the GitHub Actions page
  workflow_call: #This line allows you to run the workflow from another workflow
jobs:
  build:
    runs-on: ubuntu-24.04
    steps:
      # Check out the repository with the GameMaker project
      - uses: actions/checkout@v4
        with:
          lfs: true
      # This step finds the yyp file in the repository and saves the path to an output
      - id: find_yyp
        name: Find the yyp file
        run: |
          yyp=$(find ${{ github.workspace }} -name "*.yyp")
          echo "YYP file found at: $yyp"
          echo "yyp-path=$yyp" >> $GITHUB_OUTPUT
      - name: Set up ffmpeg # This step may be removed when https://github.com/YoYoGames/GameMaker-Bugs/issues/4977 is fixed
        uses: FedericoCarboni/setup-ffmpeg@v3
        with:
          ffmpeg-version: '6.1.0'
      # This step sets up the GameMaker build CLI tool Igor https://github.com/bscotch/igor-setup
      - name: use Igor Setup
        uses: bscotch/igor-setup@v1
        id: igor
        with:
          target-yyp: ${{ steps.find_yyp.outputs.yyp-path }}
          access-key: ${{ secrets.ACCESS_KEY }}
          module: linux
      - name: use Igor build
        uses: bscotch/igor-build@v1
        id: build
        with:
          yyp-path: ${{ steps.find_yyp.outputs.yyp-path }}
          user-dir: ${{ steps.igor.outputs.user-dir }}
          platform: linux
          yyc: false
      # This step uploads the build to the artifacts, so you can download it from the GitHub Actions page or use it in another workflow
      - name: upload-build
        uses: actions/upload-artifact@v4
        with:
          name: igor-build-ubuntu
          path: ${{ steps.build.outputs.out-dir }}
          retention-days: 1 # Longer retention days can incur additional charges. See https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts

However, I'm not good enough to fully understand how those scripts works, and how to separate android/ubuntu builds.
I've checked it on runtime 2024.1100.0.658:

If someone with bigger knowledge would be able to adapt some better solution (so android/linux would be properly differetiated, and won't cause downloading both runtimes), that would be useful for others.
For now I'm at least sharing, that it's possible :)

Interesting... I don't think changing https://github.com/bscotch/igor-setup/blob/main/src/lib/igor-setup.ts#L182 is needed, because if you ended up specifying module: linux when calling bscotch/igor-setup@v1, it should circumvent line 173-185.
You workflow shows that you are still using bscotch/igor-setup@v1, which does not contains the alteration you mentioned. If that succeeded in making the ubuntu build, it means igor-setup and igor-build can already support Ubuntu as they are now. Just to confirm, can you link the workflow run that successfully made the Ubuntu build?

@shichen85 yes, of course as I mentioned, I had to change that one line, so instead of bscotch/igor-setup@v1 I've used my own version gnysel/igor-setup@ubuntu-hack ( https://github.com/gnysek/igor-setup/commit/12f8494633eb95c76855a0c1d2249e3f1d8f66c0?w=1#diff-3d2b59189eeedc2d428ddd632e97658fe310f587f7cb63b01f9b98ffc11c0197L13373 ).

I found the issue. In your workflow YML file:
      - name: use Igor Setup
        uses: bscotch/igor-setup@v1
        id: igor
        with:
          target-yyp: ${{ steps.find_yyp.outputs.yyp-path }}
          access-key: ${{ secrets.ACCESS_KEY }}
          module: linux

It uses the singular module instead of the plural modules. If you change that to modules, you should be able to make the build even with bscotch/igor-setup@v1.
This is a very understandable "typo", and I have updated the action to take the singular module as an input too.
Unfortunately, only VM can build now and YYC is throwing errors as shown here: https://github.com/bscotch/ganary/actions/runs/11487501182/job/31972198523
We do not ship to Ubuntu so I will leave this issue open for PRs from the community.


Removed Python 2.7 Docker container and updated documentation

Python 2.7 Docker container creation removed and documentation updated for the following files:
Changes

Dockerfile
docker-compose.override.yml
docker-compose.prod.yml
docker-compose.yml
docker/deployable-zipfile/Dockerfile
README.md
docs/index.md
docs/installation.md
docs/related-projects.md
docs/running-docker.md

Python 3 docker container port changed from 8333 -> 8000
Testing

source .env
./setup.sh
docker-compose build
docker-compose up
Verify http://localhost:8000 in browser
docker-compose down

Checklist

[X] PR has an informative and human-readable title
[X] Changes are limited to a single goal (no scope creep)
[X] Code can be automatically merged (no conflicts)
[X] Code follows the standards laid out in the CFPB development guidelines
[x] Passes all existing automated tests
[X] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[X] Project documentation has been updated
[X] Reviewers requested with the Reviewers tool :arrow_right:

@cwdavies @Scotchester I think it's worth retaining "3.6" in places where it's specified because we'll presumably be adding support for 3.7, 3.8, etc, and continuing to support a matrix of Python versions (i.e. to add support for those versions before we can use it on servers).

@cwdavies @Scotchester I think it's worth retaining "3.6" in places where it's specified because we'll presumably be adding support for 3.7, 3.8, etc, and continuing to support a matrix of Python versions (i.e. to add support for those versions before we can use it on servers).

@willbarton Do you think we'll bring back the dual-container support for that, though?

@Scotchester The suggested Docker container change from python3 to python is fine by me — but I'd like to keep the explicit references to 3.6 in the docs, etc.

OK, I resolved the comments that were removing references to 3.6 but didn't directly relate to the reduction from one container to two.


Upgrade Gradle Wrapper to latest version of Gradle

Apparently Java 8 and old versions of Gradle don't get along well (as per #156). We should be using a more recent version of Gradle in all projects.

Agreed.
There are two ways in which we're including Gradle:

as part of the repo, itself, at the root: i.e../exercises; but not using the wrapper;
for users through the installation instructions.

The challenge from #156 had to do with the latter.  The instructions bias users to employ the package manager on their platform; not sure why anyone of those are serving Gradle 1.x.  At the "worst" I expect the latest 2.x.
What could we do about that?

Ah. The problem is that Ubuntu Trusty (several years old) comes with 1.4 as default. Even the latest Ubuntu seems to only use 2.10 or so.
Really I would prefer to use Gradle Wrapper because that would allow us to control the user experience more precisely. I know at one point we couldn't do that because binary files couldn't be sent by exercism client. Is that still true?
If we can't use the wrapper, then it may be that a PPA is the best solution for Linux users (in which case #156 is exactly the right PR).

That is still true: CLI does not distribute binaries.
Now reading through #156 details, I now remember having gone down that path (I spent a lot of time trying to iron out install instructions for *nix).  IIRC, that PPA is Trusty specific.  If the user is on a later release, the existing instructions work on a broader set of distros.
Let's avoid wack-a-mole: if a PR like #156 fixes a specific release, let's make sure it doesn't break other releases (if so, make clear which instructions work for which release).
Am I making sense?

Okay... I tried the cwchien PPA for gradle and it worked fine for both distros previously tested against (Linux Mint 18 and Ubuntu 14)... reviving the PR.


Use fun interface instead of extensions since Kotlin 1.4

Are they compatible with Kotlin without breaking the usages of the current APIs?
Are they compatible with Java without breaking the usages of the current APIs?

Done with #152


reachability.go missing retry logic

It looks like there is a bug in the retry logic for reachability.go.  The for loop seems set up to make N retries, but anytime there is an error, it returns rather than retry?  Was this an oversight or is it purposely short-circuited?
https://github.com/istio/manager/blob/master/test/integration/reachability.go#L84
		for n := 0; n < budget; n++ {
			glog.Infof("Making a request %s from %s (attempt %d)...\n", url, src, n)
			request, err := shell(fmt.Sprintf("kubectl exec %s -n %s -c app -- client -url %s",
				pods[src], params.namespace, url))
			if err != nil {
				return err
			}

I think that's intended. Error in the client request call implies something is very wrong with kubernetes pod. An error in request-id validation could be because the proxy hasn't initialized yet, so we have to retry.


install on Mac

I followed your very helpful instructions for installation, but I also needed to edit hid.__init__.py library_paths to include libhidapi-iohidmanager.so. hid 0.1.1, Mac 10.11.2

Also, there appears to be a typo in __init__.py
library_paths = (
  'libhidapi-hidraw.so',
  'libhidapi-hidraw.so.0',
  'libhidapi-libusb.so',
  'libhidapi-libusb.so.0',
  'libhidusb-iohidmanager.so'    # <<==== missing comma here
  'libhidusb-iohidmanager.so.0'

woops! Very sorry about this whole thing.
It took much too long for me to notice/answer this, so its likely you have moved on to something else by now anyway, but..
It looks like I broke this in e925b4f when providing an alternate solution for #3, and the original contributor didn't see the issue because he was working on a *nix system, not osx.
I transposed something, somehow, because libhidusb-iohidmanager.so does not exist (go ahead and search google for it, this git repo is the only result!).
In any case, please confirm if this fixes the issues you were having on osx and I will push an update to pypi - pending feedback from the user who reported #9 as well

That should fix things for me, thanks


Components aren't showing up in VSCode

Repro:

ambient new test
Open in VSCode
Add this to ambient.toml:

[components]
testy = { type = "Duration" }

Go to main. Add this:

fn test_testy() {
    Entity::new().with(testy(), game_time()).spawn();
}

testy has red squiggly lines under it, but when I press ctrl-. it doesn't show "Import ..." to me, it only shows "Generate testy function"

Hmm. I suspect that this is due to the proc macro not being built until something uses it, but the only things that can use it are marked with client and server features, and those will only get built once the project is built for the first time.
I don't know if there's anything we can do to fix this per se, but I'll try making new_package build the package once it's created and that should hopefully alleviate it.

Test case seems to work for me after the fix in that commit. Please retest once that lands (it's part of #931) and let me know if that works.


Add missing script key to Travis CI config

Description

Adds a simple test that verifies presence of .travis.yml file and that it contains a script key set to pytest.

Implements the change, i.e. adds pytest to .travis.yml based on discussions from: https://github.com/pydanny/cookiecutter-django/issues/1829 and https://github.com/pydanny/cookiecutter-django/issues/550 .

Rationale
Fixes https://github.com/pydanny/cookiecutter-django/issues/1829 .
Use case(s) / visualization(s)
Demo repository generated using the updated code can be found here: https://github.com/btknu/cookiecutter-django-demo
Additionally here is the corresponding Travis CI log, now green: https://travis-ci.org/btknu/cookiecutter-django-demo/builds/502311512 .

Thanks for the contribution! 🎉


Add media-volumes

Add /media and /mnt to a new volumes service media-volumes.
This is related to #1615.
I don't know if there are anything else needed for this to work.

yup, this looks like the correct fix for the missing /mnt :)

There's a risk that this wasn't enough, I've played around with v0.8.1 and it seems that the docker container doesn't actually get access to the shared /mnt/storage/docker which is zfs, because it sets up overlay2 in that path when docker's graph is pointed to that dir.


Added Russian Language.

 (I am very confused. Xd)
So, I thought someone had already created a translation into my language, but one stuck on lambda, and no one did it here, so... I hope there will be my compatriots who will straighten me.
Btw, there a problem with text placement.

I can't shorten these words.
So yeah, fix it for another languages too?

Btw, that's one on lambda, it's machine translator. Xd

Btw, you can add on the Invert Right stuff additional window with an explanation. In order not to change the location of the switches. (Well, if you don't want to.)

Okay, so this was a last update, it's final translate for adding.

Thank you very much :)


Regarding ksponspeech

hi, I am having trouble preparing data for ksponspeech.   (https://github.com/speechbrain/speechbrain/tree/89553c919393ebf45046a47493a15be359cbd009/recipes/KsponSpeech)
I can't run ksponspeech_prepare.py correctly.
I have created a main function to prepare data as below.

The text_dict is empty.  What am I doing wrong?

can you share *.trn if you could?

Hi,
.trn files are needed as they include transcriptions of each wav file.
These files are provided with the corpus.
If you have .txt files as transcriptions of each wav file, then another way around may be changing the ksponspeech_prepare.py code in a way that parses .txt files instead of .trn files.
All you need to train the models are train.csv, eval_clean.csv, eval_other.csv, dev.csv files, which contains [ID, start, end, duration, text, wav path] of each wav file as rows.
Hope this helps.


How do i use it with laravel 5.2

Summary
How do i use file pond with laravel 5.2
How to reproduce
i have tried everyting i can but it is uploading but not going to the folder i ask it to goto.

This sounds like A Laravel configuration issue, the FilePond library only uploads the files, folder and storage should be handled by the server. I'll close this, I advise to search StackOverflow.


[posichain-staking] Add posichain-staking strategy

Changes proposed in this pull request:

Add posichain-staking strategy

@ChaituVR Thank for merging. But when it available for choosing?

It is live now https://snapshot.org/#/strategy/posichain-staking


[CGP-360] [Type checker] Reduced 'NormalizedType' clutter

This introduces
newtype Normalized a = Normalized { getNormalized :: a }

and uses its Functor, Applicative, Traversable instances in order to reduce clutter. Backwards compatibility is preserved via
type NormalizedType tyname a = Normalized (Type tyname a)

pattern NormalizedType :: Type tyname a -> NormalizedType tyname a
pattern NormalizedType ty = Normalized ty

getNormalizedType :: NormalizedType tyname a -> Type tyname a
getNormalizedType (Normalized ty) = ty

which can be kept or removed in another PR.
I also removed several uses of the NormalizedType, because there was at least one bug previously related to inaccurate use of NormalizedType.
I also renamed tyReduce to normalizeType and simplified it (as per the latest call). Replaced maybeRed by normalizeTypeOpt which now doesn't receive the redundant Bool argument, because it can be just looked up in the environment.

@effectfully Procedurally, I think, you should have waited for a review before merging (and sorry for not looking at it more quickly), but I definitely approve of this PR.

Procedurally, I think, you should have waited for a review before merging (and sorry for not looking at it more quickly), but I definitely approve of this PR.

These are just syntactic changes, so I decided I can merge them. But okay, I'll keep this in mind.


[WebRTC] fix play-from-disk example no sound issue in www, even audio track is sent to www

This appears to be a sync issue. The audio is present in the SDP (and this matches what pion offers as well):
...
m=audio 9 UDP/TLS/RTP/SAVPF 111 9 0 8
...
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
...

Audio data is definitely being sent as well. In some cases it's even possible to briefly hear some audio at the very beginning of playback.
Testing the same 5 second clip with both pion and webrtc-rs, the first difference I notice in webrtc-internals is that for the RTCInboundRTPAudioStream stats graph pion's shows some jitter whereas the webrtc-rs playback shows none at all.

From chrome://webrtc-internals/,
pion's play-from-disk has non-zero audioOutputLevel output,
but webrtc-rs has always zero value audioOutputLevel.


Add theme hugo-xterm

Few modifications required:

Add your theme's URL in themes.txt in lexicographical order.
https://github.com/gohugoio/hugoThemesSiteBuilder/blob/d377ef3bf98f5e87046ea88938cc2860ba91aee0/README.md?plain=1#L25

Modification required:
https://github.com/gohugoio/hugoThemesSiteBuilder/blob/d377ef3bf98f5e87046ea88938cc2860ba91aee0/README.md?plain=1#L25

Hi @hugo-sid I tried to do that by sorting lines in vim, but it changes a lot of other lines. Can you please let me know how to this without changing other lines? or Is it OK to change a lot of other lines?

Hi @hugo-sid I have added it without sorting other lines. Please approve if this is ok.

I tried to do that by sorting lines in vim, but it changes a lot of other lines.

You are right @manid2. I will have a look at it.


Version 1.0: pool patch error and console doesn't seem to work

Just updated from 0.10.0 to 1.0.0 to try out the new console addition, but I cannot get it to work.
When I press "End" I do see a cursor appear, but no window/console anything appears - moving the mouse now only moves the cursor around the screen. Pressing "End" again goes back to normal.
Checking the logs I don't see anything related to console, but I am seeing Pool patch: error which was working before.
[2020-12-18 19:08:29.523] [info] Computed .text crc: D7E90F30
[2020-12-18 19:08:29.523] [info] 	Resolved to version: 1.04
[2020-12-18 19:08:29.542] [info] 	AMD SMT Patch: success
[2020-12-18 19:08:29.561] [info] 	Spectre patch: success
[2020-12-18 19:08:29.561] [info] 	AVX Patch: skip, cpu has AVX support
[2020-12-18 19:08:29.563] [info] 	Pool patch: error
[2020-12-18 19:08:29.566] [info] 	Virtual Input Patch: success
[2020-12-18 19:08:29.609] [info] 	Start screen patch: success
[2020-12-18 19:08:29.633] [info] 	Hook mouse clip function!
[2020-12-18 19:08:29.812] [info] 	D3D12 hook complete
[2020-12-18 19:08:30.095] [info] 	CPU RAM: 31GB, using 16.0GB, fraction: 0.5
[2020-12-18 19:08:30.161] [info] 	GPU VRAM: 11.0GB, using 11.0GB, fraction: 1.0

It is likely that another software that does overlays is conflicting with the console. For example if I use the RivaTunner overlay it doesnt show for me...

The pool error log was just a reversed log, I fixed it in 1.0.1.
Let me know if you find which overlay is preventing the console from showing.

I have same problem with version 1.0.1
Maybe this error message will help

This error means your game version is not supported. I will make it so that it doesn't crash ^^

1.0.2 won't display an error anymore but it will not show anything in your case until you fix your exe!

Hi @yamashi just to confirm that indeed running MSI Afterburner (which uses RivaTuner) was the cause for the console now showing.
Also after updating to 1.0.2 I don't get the "Pool patch: error" in the logs anymore. 👍
It's a shame I cannot run MSI Afterburner AND have the console, as I really cannot run without afterburner 😄 It doesn't seem to work as long as RivaTuner is running, even though the OSD it not shown.

Hi @yamashi just a FYI, if I disable RivaTuner dependent functionality when launching the game (using the Toggle On-Screen Display server blocking keyboard shortcut in MSI Afterburner), and then re-enable it ones the game has launched (and thus your hook also), then both the console and on-screen displays provided by RivaTuner work and co-exist just fine.
Seems a bit of a faff, but nice being able to have both. 😄

@micdah If that works, then perhaps increasing the injection delay in Cyberpunk's RTSS profile would also remedy the problem?


Fix up the readme.

Adding init example. Listing some of the features.

How will people discover this repo?

We can try to add it to this list: https://redis.io/clients#erlang


extra '/' for accounts.ur

https://github.com/inboxapp/inbox-ruby/blob/master/lib/inbox.rb#L104
has an extra '/'
api.namespaces.url does not end with '/' while api.accounts.ul ends with '/'
this causes api.accounts.find('abc') to generate the following url for the find request
<EMAIL_ADDRESS>also url_for_management is defined twice

thx!


Issue/7557 document the format used to reference the api itself

Description
closes https://github.com/inmanta/inmanta-core/issues/7557
TODO: When this is approved, open a separate PR for iso6 without the "managed resource" link.
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
- [ ] Type annotations are present
- [ ] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
- [ ] Sufficient test cases (reproduces the bug/tests the requested feature)
- [ ] Correct, in line with design
[x] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )
- [ ] If this PR fixes a race condition in the test suite, also push the fix to the relevant stable branche(s) (see test-fixes for more info)

I would keep the full doc in ISO6, only makes it easier

I would definitely send out a link to the team to look at it once it is public

Processing this pull request

Pull request rejected by merge tool. Multiple change entry files found:

Show entries
- changelogs/unreleased/7557-document-the-format-used-to-reference-the-api-itself.yml
- changelogs/unreleased/add_get_current_resource_state.yml
- changelogs/unreleased/ensure-agents-do-not-start-when-active-session.yml
- changelogs/unreleased/ensure-agents-improvements.yml
- changelogs/unreleased/fix-move-back-to-available-states.yml
- changelogs/unreleased/fix_resource_details.yml

This may happen when a change entry was removed from the remote repository due to a reverted change. In that case, make sure the latest changes from origin/master are merged into issue/7557-document-the-format-used-to-reference-the-api-itself before triggering merge bot.

Failed to merge changes into iso6 due to merge conflict. Please open a pull request for these branches separately by cherry-picking the commit that was made on the branch master (git cherry-pick b41452bf6cb4fc92d9b1a978c2f1e6869e010183).

Merged into branches master in b41452bf6cb4fc92d9b1a978c2f1e6869e010183

Not closing this pull request due to previously commented issues for some of the destination branches. Please open a separate pull request for those branches by cherry-picking the relevant commit. You can safely close this pull request and delete the source branch.

This branch was not deleted as it seems to still be in use.

Processing #7675.


Relax copy bound

This pull request removes the Copy bound from most functions and methods, fixing #121.
While removing the bound, I tried to ensure there were not too many unnecessary calls to Clone, with the idea that this should enable storing more complex data as our scalar type (such as big ints, or heap-allocated matrices to have sparse by blocks matrices) while remaining performant.
The main way the unnecessary clones have been removed is through the introduction of the MulAcc trait, which represents the fundamental operation for matrix products. Since it takes its arguments by reference, it should be possible to implement this trait without unnecessary allocations for heab-based scalar types. For convenience, this trait is automatically implemented for all Copy types that also implement num_traits::MulAdd. This ensures all common scalar types work, and should also help the compiler using the fused-multiply-add instruction when available.
Another pattern that was useful to avoid unnecessary clones was adding bounds such as for <'r> &'r N: std::ops::Add<&'r N, Output=N>. These bounds exist for all classic scalar types. However, it can be hard to use them in traits, as evidenced by https://github.com/rust-lang/rust/issues/82779. Because of this issue, implementations of std::ops::{Add,Sub} for CsVecBase were forced to use one Clone.
I have not relaxed the Copy bound in sprs-ldl yet, I think I would need to add a trait such as MulSubAcc similar to MulAcc that could be used in solvers. Otherwise I would need to sprinkle the code with calls to clone() everywhere.
@mulimoen as usual I'd be very interested in your feedback.

Thanks for the feeback @mulimoen ! I've added a Kronecker trait, and included your sparse matrices per block as a test. With a single change from your implementation: I inlined the product implementation in the MulAcc impl, to demonstrate that it can be used to remove temporaries.

Thanks for the review @mulimoen!


How to run script on all tenants?

I have serialized data unique to each tenant, and if I update how my serializer works, I don't want to individually go into each tenant with tenant_command shell and then run the script to update that tenants serialized data. Am I able to run my script from one place and have it do what it needs to do to each tenant?
Thank you

I would like to know as well.

You can write such script, that iterates over multiple tenants. Just normal for tenant in tenants: loop with with tenant: block were you do whatever you want, for example call command.

We can definitely close this @tomturner @serbboy23


What about parcentage of profit?

Do they (coinhive.com) still get 30% of the mining?

Nope, they got 0%

Thank you for your kind information!


Add modifier usage tests to generatePath

I found out that some functions of generatePath function are not documented clearly and its TypeScript definitions are not fully correct. So, I've opened this PR at DefinitelyTyped/DefinitelyTyped/pull/40901 to correct its types accordingly. However, I need to first confirm that these features are officially supported by the library. Therefore, I'm opening this pull request to make sure that usage of modifiers and array typed params are supported. I add some tests to cover such usage.
This PR covers some use cases of "Optional", "Zero or more", and "One or more" modifiers.

Closing out, since 6.0 is on the horizon.


Floss cant solve the string protection

I have a program that is in .net, it is obfuscated with some things, one of them is mutation, flow control, but one of the most important is string protection, the program is a simple virus-free crack me.
I would like someone expert in reversing issues to get the string of this program, it does not download or execute any important file
File: https://gofile.io/d/htTyHK
virustotal: https://www.virustotal.com/gui/file/b06497b5985a273bb9aa9b866e922e46d57881251a2034bc0fded5a2309e2872?nocache=1

FLOSS doesn't do anything for .NET samples, unfortunately. I'd recommend using dnSpy to debug it and extract strings that way.


bug fix

self.image can has different reference but the same data http://cl.ly/2q1T153W1H3B

Hi. Could you please give an example when current implementation doesn't work as expected? I couldn't figure out what the problem was.

Hi, I found issue, and it's not in this library. Thank you.


ToggleInsert/NormalMode

Could a single key combination be bound to switch between Insert and Normal mode? Say Ctrl+; like Keynav does.

Shift+Capslock is presently the shortcut for toggling modes . I can add another shortcut for toggling modes since this doesn't seem to work for you due to key conflicts .

Okay, thank you, I overlooked it probably as it is bound in two places (corresponding to the two modes).


Make unaligned disparity computation work for very large images

The code in stereo_tri for creating an unaligned disparity, that can be used for alignment using bundle adjustment creates the images fully in memory, and that does not work for images bigger than 80,000 pixels. That code was meant only for aerial images, which are never that big. The code should be changed to work on small tiles as we do with other large image processing.

Added in 63c31cf399323d2a69dddc6a155c2669c8e26354.  Not tested with map projected images yet.

Did you manage to make any progress with unaligning disparities for large mapprojected images?...
I've been having problems unaligning such disparities using the build from 14th April 2019...
e.g.
stereo_tri -t opticalbarmapopticalbar --alignment-method none $WDIR/DS1105-2248DF076_MP.tif $WDIR/DS1105-2248DA082_MP.tif $WDIR/$prefix-DS1105-2248DF076.tsai $WDIR/$prefix-DS1105-2248DA082.tsai $WDIR/for_aft/unaligned/dem $DEM --unalign-disparity --threads $THREADS
this is the error message:
terminate called recursively
terminate called after throwing an instance of 'terminate called recursively
vw::ArgumentErr'
terminate called recursively
terminate called recursively
terminate called recursively
what():  rasterize: Source and destination must have same dimensions.
terminate called recursively
terminate called recursively
./launch_dem_obar3.sh: line 151: 23910 Aborted                 stereo_tri -t opticalbarmapopticalbar --alignment-method none $WDIR/DS1105-2248DF076_MP.tif $WDIR/DS1105-2248DA082_MP.tif $WDIR/$prefix-DS1105-2248DF076.tsai $WDIR/$prefix-DS1105-2248DA082.tsai $WDIR/for_aft/unaligned/dem $DEM --unalign-disparity --threads $THREADS

Just to follow up on this... I also now have the same error unaligning disparities from small mapprojected images. In fact, I found that with an older build (3rd March 2019), I could successfully unalign these images. But, with a more recent build (14th April 2019, i.e. post 63c31cf), it fails. It's not a memory issue... the problem is with :
what(): rasterize: Source and destination must have same dimensions.

Unfortunately I don't know when I will have time to fix this, all of my time is on non-ASP projects now =(

This got fixed. Has been working quite well in practice with large images with no issues.


[3pt]  - Display comments for a given item on the Comments pop-up - Binyam Tegene

When the popup loads, the webapp retrieves data from the Involvement API to show the item comments.

This task does not include the counter of the comments.

https://github.com/Log-benjamin/Microverse-Javascript-Capstone/pull/52


Qiboconnection qicks you out quite fast

Feature details
It has happened to me often that, while my job is in the queue, 10 minutes can easily go by and thus I need to go back to the beginning of the notebook in order to run my access token again. This is not insurmountably terrible, but it is quite annoying.
code cell:
results = connection.get_result(job_id=5704)
output:
`{
"title": "Unauthorized",
"status": 401,
"detail": "JWTExpired: Error verifying the authorisation access token. Expired at<PHONE_NUMBER>, time:<PHONE_NUMBER>(leeway: 60) 401 Client Error:  for url: https://qilimanjaroqaas.ddns.net:8080/api/v1/jobs/5704"
}
{"title":"Unauthorized","status":401,"detail":"JWTExpired: Error verifying the authorisation access token. Expired at<PHONE_NUMBER>, time:<PHONE_NUMBER>(leeway: 60)"}
Your job with id 5704 is completed.`
Implementation
The easy solution for the user now is to put the code lines that connect them to the device (the ones that they run at the beginning of the notebook) inside a function with their credentials and run the function every time they get this message. I guess an implementation that essentially does the same thing behind the curtain would be enough.
How important would you say this feature is?
1: Not important. Would be nice to have.
Additional information
No response

Hi @anapalu, thank you for posting this issue!
@JavierSab @ziiiki when an access token expires, what do you think of requesting a new one without showing any error message to the user?


Generated YAML can be invalid

The generated YAML shown below is invalid:
---
author: James S.A. Corey
title: Leviathan Wakes
series: Expanse, #1
---

The issue is with the series field as the # needs to be quoted to be valid YAML.  One simple solution might be to quote all values in getFrontmatterLines, or make the default prefix and suffix quotes.

I worked around it by adding the quotes in my config, but is seems like something that should happen automatically.

@tllilleh Should be resolved as of 3.0.1!


all PR labels are removed when merging

https://github.com/web-platform-tests/wpt/pull/13511

also web-platform-tests/wpt#13681

Yes, this happens on every PR.


Pre-built entities does not appear on "Expected Entity in Response..." field.

When creating a new Action, pre-built entities should appear on the Entities List for the field "Expected Entity Reponse".
Entities:

New Action:

Documentation: https://docs.microsoft.com/en-us/azure/cognitive-services/labs/conversation-learner/tutorials/7-built-in-entities

Hi @BelvedereHenrique - Thanks for reporting.  The problem here is that our doc is out of date.  Pre-built entities are read-only, and can only be set by the pre-built model that extracts them from user utterances.  The issue is that many pre-built entities include resolution (eg, mapping "today" to a canonical date); populating an entity via the "expected entity" mechanism would not do resolution, which makes it messy handling pre-built entities in code.  I'll add a task to update the doc, and close this when that's deployed.  Thanks!

I get it.
Thank you!

I submitted a PR to update the doc -- will take a few days to get signed off and deployed.  Also updated the tutorial app.

I submitted a PR to update the doc -- will take a few days to get signed off and deployed. Also updated the tutorial app.  Closing.


[#389] Add new type for unknown format type

Add a new type for the unknown format type to restrict user input.
Also, add (void)bytes_read; to avoid the unused variable error.

Merged.
Thanks for your contribution !


Enhancements to backup process

Hello,
I think the backup process needs to be a bit more user friendly.
When I select backup, a pop up appears and disappears. At this stage I thought the backup was complete so was navigating away from the screen, not knowing that I needed to wait for another pop up in order to select where to save the back up.
If you navigate away from the screen you don't get the second pop up to choose where to save the backup and I didn't realise the process wasn't finished.
Could we add some more information for the users? E.g.
Backup starting...
Backup in progress, do not leave this screen...
Choose where to save your backup...
Recording1 shows the process
Recording2 shows what happens when you navigate away from the page. The second notification eventually comes but with no prompt for where to save the file.
https://user-images.githubusercontent.com/60537663/122099048-79e4d700-ce09-11eb-9b1c-75f8ba370970.mp4
https://user-images.githubusercontent.com/60537663/122099068-7ea98b00-ce09-11eb-9c20-295f82354170.mp4
Is it also possible to password protect/encrypt the backups somehow so that if someone else got hold of it they couldn't restore it?
Thanks!
Jazmin

Sorry phone details:
Issue Impact: Minor
Device Manufacturer: Samsung
Device Model: S10
Device OS: Android
Device OS Version: 11
Application Version: apk: v0.98.24
Wallet version 1.1.2
Also my phone doesn't give me any option to save the backup locally to my phone which is a shame, but I guess this is to do with the phone and not Minima.


Use C++11 delegating constuctors feature to avoid CONSTRUCT macro

What kind of change does this pull request introduce? (check at least one)

[ ] Bugfix
[ ] Feature
[ ] Code style update
[x] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Describe your Pull Request:
Related to issue #9

Well never thought of it , Thank you! :+1:


feat: rework implementation using observeFragment

[x] Verify SSR support working for oneshot queries It wasn't working, so I fixed
[x] Figure out how to implement incremental query support Turns out Seroval is able to serialize ReadableStreams happily 😍

Looks like it's good enough for now!


Reach max connections! Cann't pending fetch!

Describe Your Environment (描述你的环境)

System: centos7
PHP version: 7.4.19
Mysql version: 5.7
Swoole version: 4.6.7
SMProxy version: 1.3.1@34ff042

How to Reproduce the Problem? (如何重现问题)

Expected Behavior (预期行为)
自行重启服务
Actual Behavior (实际行为)
程序僵死
More Information (更多信息)

Please confirm if you found the reason of this issue and solution.


ECONNREFUSED When trying to bind to a legitimate socket

I have used the promise wrapper to write a client for the system I'm building, and quite liked the interface. So, I decided to convert the existing server to use this same package.
However, in doing so, I ran into an issue which I can't wrap my head around.
Firstly, let's take a bog standard net server:
require('dotenv').config({path: '../.env'});
const net = require('net');
const server = net.createServer();
server.listen(process.env.PORT);

This is a working snippet, and binds to the right port which I can telnet into. There's a bunch more going on behind the scenes, but this is the bit of functionality I can't get to work using PromiseSockets.
require('dotenv').config({path: '../.env'});

const net = require('net');
const {PromiseSocket} = require('promise-socket');
const socket = new net.Socket();
const promiseSocket = new PromiseSocket(socket);

async function main()
{
    try {
        await promiseSocket.connect(1523, 'localhost');
    } catch(e) {
        console.log(e)
    }
}

main();

But I receive the error message:
Error: connect ECONNREFUSED <IP_ADDRESS>:1523
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
  errno: -111,
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '<IP_ADDRESS>',
  port: 1523
}

I'm using "promise-socket" : "7.00"
Again, I can bind to this socket fine- and have tried numerous things to get this working. Is this an issue my end or yours? Thanks!

This is really odd. The error is pretty clear: no listening socket on <IP_ADDRESS> port 1523. Maybe you started the server on another machine? Or maybe just start the server or explicit <IP_ADDRESS> rather than implicit ipv6 address?

I can't reproduce your problem in my environment (Ubuntu 20.04.2 LTS on Windows 10 x86_64; Node 16.0.0; your scripts)

Thanks for getting back to me.
I'm also on Ubuntu 20.04.2, though I haven't had the chance to test this on a Windows machine.
npm: v7.7.6
node v14.15.1
I know for a fact the port isn't bound elsewhere, I know this as I ran:
lsof -i -n | grep :1523 - The result is blank when run as non-root and root user(s). ss -antlp | grep :1523  also reports nothing.... The port is 100% not used anywhere. To further prove this, I can bind to that very same port using any other application- for example I used the regular JS Net package, and I used a C server to bind and listen also.
I hoisted the exact code into a different directory elsewhere, to check whether other dependencies were potentially causing an issue... This does not appear to be the case, as it didn't work there either.
Is this library capable of running server applications, or is it simply for wrapping clients? I can't find any instance in the documentation RE the usage of this package for server-side promise wrapping,  and so I fear that I may have wasted some time trying to get it to do something it wasn't designed to do.
Please find my complete package-lock.json
{
  "name": "promSock",
  "version": "1.0.0",
  "lockfileVersion": 2,
  "requires": true,
  "packages": {
    "": {
      "version": "1.0.0",
      "license": "ISC",
      "dependencies": {
        "promise-socket": "^7.0.0"
      }
    },
    "node_modules/core-js": {
      "version": "3.11.0",
      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.11.0.tgz",
      "integrity": "sha512-bd79DPpx+1Ilh9+30aT5O1sgpQd4Ttg8oqkqi51ZzhedMM1omD2e6IOF48Z/DzDCZ2svp49tN/3vneTK6ZBkXw==",
      "hasInstallScript": true,
      "funding": {
        "type": "opencollective",
        "url": "https://opencollective.com/core-js"
      }
    },
    "node_modules/promise-duplex": {
      "version": "6.0.0",
      "resolved": "https://registry.npmjs.org/promise-duplex/-/promise-duplex-6.0.0.tgz",
      "integrity": "sha512-ZL7rquzjTFzInDBeWYcsT+qddolNvzigahk6MI6qLSbQvlyRRCJkU3JztgaVunzvkH28smRa2Qu/cY9RXtSkgA==",
      "dependencies": {
        "core-js": "^3.6.5",
        "promise-readable": "^6.0.0",
        "promise-writable": "^6.0.0"
      },
      "engines": {
        "node": ">=10.0.0"
      }
    },
    "node_modules/promise-readable": {
      "version": "6.0.0",
      "resolved": "https://registry.npmjs.org/promise-readable/-/promise-readable-6.0.0.tgz",
      "integrity": "sha512-5NxtmUswijvX5cAM0zPSy6yiCXH/eKBpiiBq6JfAUrmngMquMbzcBhF2qA+ocs4rYYKdvAfv3cOvZxADLtL1CA==",
      "dependencies": {
        "core-js": "^3.6.5"
      },
      "engines": {
        "node": ">=10.0.0"
      }
    },
    "node_modules/promise-socket": {
      "version": "7.0.0",
      "resolved": "https://registry.npmjs.org/promise-socket/-/promise-socket-7.0.0.tgz",
      "integrity": "sha512-Oic9BrxmcHOPEnzKp2Js+ehFyvsbd0WxsE5khweCTHuRvdzbXjHUZmSDT6F9TW8SIkAJ0lCzoHjMYnb0WQJPiw==",
      "dependencies": {
        "promise-duplex": "^6.0.0",
        "tslib": "^2.0.1"
      },
      "engines": {
        "node": ">=10.0.0"
      }
    },
    "node_modules/promise-writable": {
      "version": "6.0.0",
      "resolved": "https://registry.npmjs.org/promise-writable/-/promise-writable-6.0.0.tgz",
      "integrity": "sha512-b81zre/itgJFS7dwWzIdKNVVqvLiUxYRS/wolUB0H1YY/tAaS146XGKa4Q/5wCbsnXLyn0MCeV6f8HHe4iUHLg==",
      "engines": {
        "node": ">=10.0.0"
      }
    },
    "node_modules/tslib": {
      "version": "2.2.0",
      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz",
      "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w=="
    }
  },
  "dependencies": {
    "core-js": {
      "version": "3.11.0",
      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.11.0.tgz",
      "integrity": "sha512-bd79DPpx+1Ilh9+30aT5O1sgpQd4Ttg8oqkqi51ZzhedMM1omD2e6IOF48Z/DzDCZ2svp49tN/3vneTK6ZBkXw=="
    },
    "promise-duplex": {
      "version": "6.0.0",
      "resolved": "https://registry.npmjs.org/promise-duplex/-/promise-duplex-6.0.0.tgz",
      "integrity": "sha512-ZL7rquzjTFzInDBeWYcsT+qddolNvzigahk6MI6qLSbQvlyRRCJkU3JztgaVunzvkH28smRa2Qu/cY9RXtSkgA==",
      "requires": {
        "core-js": "^3.6.5",
        "promise-readable": "^6.0.0",
        "promise-writable": "^6.0.0"
      }
    },
    "promise-readable": {
      "version": "6.0.0",
      "resolved": "https://registry.npmjs.org/promise-readable/-/promise-readable-6.0.0.tgz",
      "integrity": "sha512-5NxtmUswijvX5cAM0zPSy6yiCXH/eKBpiiBq6JfAUrmngMquMbzcBhF2qA+ocs4rYYKdvAfv3cOvZxADLtL1CA==",
      "requires": {
        "core-js": "^3.6.5"
      }
    },
    "promise-socket": {
      "version": "7.0.0",
      "resolved": "https://registry.npmjs.org/promise-socket/-/promise-socket-7.0.0.tgz",
      "integrity": "sha512-Oic9BrxmcHOPEnzKp2Js+ehFyvsbd0WxsE5khweCTHuRvdzbXjHUZmSDT6F9TW8SIkAJ0lCzoHjMYnb0WQJPiw==",
      "requires": {
        "promise-duplex": "^6.0.0",
        "tslib": "^2.0.1"
      }
    },
    "promise-writable": {
      "version": "6.0.0",
      "resolved": "https://registry.npmjs.org/promise-writable/-/promise-writable-6.0.0.tgz",
      "integrity": "sha512-b81zre/itgJFS7dwWzIdKNVVqvLiUxYRS/wolUB0H1YY/tAaS146XGKa4Q/5wCbsnXLyn0MCeV6f8HHe4iUHLg=="
    },
    "tslib": {
      "version": "2.2.0",
      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz",
      "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w=="
    }
  }
}

P.S. Noticed that my node version was a little out of date. I updated it to now use v16.0.0, and the error is still there :disappointed:

ss -antlp | grep :1523 also reports nothing....

What do you mean "reports nothing"? Empty results? Then nothing is listening on this port. Maybe you forgot to set PORT envvar or your dotenv file is incorrect.
If you use native Ubuntu then 100% should be ok. Ubuntu on Windows with WSL might behave a little differently because of networking is isolated like in ie. Docker.
Version of Node is not important. This module works with Node >= 6.0

I meant that the ss command reports nothing as in it simply replies with a newline, thus indicating nothing is bound to that port... I wrote a small promise wrapper myself so that I can progress further, and I know for a definitive fact that the port is available for use. The environment variable cannot be the issue, as I don't even use it in that snippet. I hard-coded the value 1523 as I suspected it might be the env var. I still get the same, pervasive error message- preventing me from writing a TCP endpoint using this promise wrapper.
I'm running native Ubuntu 20.04.2, and I can confirm that the above snippet (even with the dotenv require commented out, as it's not being used in this case) - definitely does not work on my machine.

So for me:
PORT=1523 node server.js

and
node client.js

where server and client are from your snipped. And output for ss:
$  ss -antlp
State          Recv-Q         Send-Q                 Local Address:Port                  Peer Address:Port        Process
LISTEN         0              511                                *:1523                             *:*            users:(("node",pid=29015,fd=18))
LISTEN         0              511                                *:39151                            *:*            users:(("node",pid=17409,fd=18))

so everything as expected. I'm afraid your issue is not related to NodeJS at all.
Are you sure you don't have any local firewall that drops connections? Or loopback interface is shut down.

I apologise for describing this issue badly. I was trying to use PromiseSocket to actually host the server, not connect to an existing host.
Anyway, It is possible to wrap the server connections using the promise socket, I was just not binding/listening to them.
Please see the following  example of working server-side PromiseSockets, and thank you for taking the time to diagnose this non-issue.

require('dotenv').config();

const net = require('net');
const {PromiseSocket} = require('promise-socket');
const server = net.createServer();

/* This bit is where I was getting confused. I thought that the bind and listen were handled in the connect call with promise-socket.. */
server.on('connection', handleConnection);
server.listen(process.env.PORT);

async function handleConnection(socket)
{
    /* Once connection is received from client, then wrap it in a socket connection. */
    const promiseSocket = new PromiseSocket(socket);
    while (true) {
        const chunk = await promiseSocket.read(8); // Read 8 bytes
        console.log(chunk.toString().toUpperCase());
        await promiseSocket.write(chunk.toString().toUpperCase()); // Send 'em back uppercase.
    }
}

So your example works for me. I mean I can bind the socket and connect it ie. with telnet.
But please note you have to detect EOF. In this case either chunk will be undefined or its length will be lesser than expected.

Thank you for coming back to me. How would one go about detecting EOF using PromiseSocket?


Implementation of nextPage getter for refactor + unit test

This PR addresses #260. This getter makes use of the annotation tool's implicit page order. E.g. Given the current page of the app, what is the next (or following) page?
The next-page component has been altered to make use of the new getter name style get*.
The unit test sets each page as the current page and makes sure the proper 'next page' is being returned from the getter.

Thanks @rmanaem! For some reason can't reply to your first comment - but good catch re: the call to next page. In the case of the attribute and function, however, these are referring to the 'Next page' button itself so no need to rename it in line with the store getter.

Should be good now, @rmanaem. Let me know what you think re: my replies.

I see, I thought nextPageButtonColor function was referenced here before
https://github.com/neurobagel/annotation_tool/blob/9519f55719c03331549edac645cedd9a5966a646/components/next-page.vue#L19

@rmanaem Good catch. That's a find and replace error – should still be nextPageButtonColor. I just fixed and committed.


Suggestions on List field validation?

Example:
@Service
class SomeService {
   void doSomething(List<@Valid SomeItem> someItems) {}
}

Currently, ApiFieldError doesn't have a place to indicate which item within a list has the validation issue. Would it be worth adding an optional property of ApiFieldError like index to indicate the index of the problematic object in the List? I realize index may not help with Map<String, @Valid SomeItem>, for instance, or other structures. Currently we've had to reimplement ConstraintViolationApiExceptionHandler.
Thanks!

For a map like this:
        void doSomethingWithMap(Map<String, @Valid TestRequestBody> map) {

        }

This would be resulting JSON:
{
  "code": "VALIDATION_FAILED",
  "message": "Validation failed. Error count: 3",
  "fieldErrors": [
    {
      "code": "REQUIRED_NOT_NULL",
      "message": "must not be null",
      "property": "value",
      "rejectedValue": null,
      "propertyPath": "doSomethingWithMap.map[key2].value"
    },
    {
      "code": "INVALID_SIZE",
      "message": "size must be between 1 and 255",
      "property": "value2",
      "rejectedValue": "",
      "propertyPath": "doSomethingWithMap.map[key2].value2"
    }
  ],
  "globalErrors": [
    {
      "code": "ValuesEqual",
      "message": "Values not equal",
      "propertyPath": "doSomethingWithMap.map[key2]"
    }
  ]
}

For a Set, it would be this:
        void doSomethingWithSet(Set<@Valid TestRequestBody> set) {

        }

JSON result:
{
  "code": "VALIDATION_FAILED",
  "message": "Validation failed. Error count: 3",
  "fieldErrors": [
    {
      "code": "INVALID_SIZE",
      "message": "size must be between 1 and 255",
      "property": "value2",
      "rejectedValue": "",
      "propertyPath": "doSomethingWithSet.set[].value2"
    },
    {
      "code": "REQUIRED_NOT_NULL",
      "message": "must not be null",
      "property": "value",
      "rejectedValue": null,
      "propertyPath": "doSomethingWithSet.set[].value"
    }
  ],
  "globalErrors": [
    {
      "code": "ValuesEqual",
      "message": "Values not equal",
      "propertyPath": "doSomethingWithSet.set[]"
    }
  ]
}

Thanks @wimdeblauwe.
At first glance, that looks sufficient and also should handle even further nesting of various types. I only question the doSomethingWithX.y prefix as I don't see why people would need the method and argument name (or if that should even be exposed?). I would think it's more the content of the argument being validated that one would care about?
So for

List -> [0].value
Map -> [key].value
Set -> [].value

I'll circle back tomorrow and will think about it a bit more but please share any more thoughts you might have. Cheers

I agree with you. It is the reason I did not add propertyPath in the first place as I also feel it exposes too much internal information.
I'll add some more tests with further nesting to see how that behaves if I have time. Maybe we can build something intelligent that strips out the first part of the propertyPath as that seems irrelevant indeed.

If you're not already too deep into it, would you mind if I expanded the tests to try this out myself in a PR? Would like to save you some time! The design intention would be as you suggested but without the method and argument name (i.e. basically the @Valid object in its context)

Sure, go ahead!


add a login form

The Vaadin CRM app should be protected by a login form, like in the Java version of the app: https://crm.demo.vaadin.com/ / https://github.com/vaadin-learning-center/crm-tutorial.
UX requirements (implemented in the with-security branch):

accessing any view requires logging in
accessing any endpoint requires logging in
deep links work even if logging in is required
expired sessions are re-established without loosing the app state

Full DoD: https://docs.google.com/document/d/1xftbmiAw491k0uag6lJi46B7slidXfmvOMbOgKm3G8U
This addresses the following DX issue identified earlier:

The client side app doesn't know when the server session has expired, it would be good if we had some central catch-all that could redirect to login when needed
I could not figure out how to create a custom login page that would be served by spring security, but still tie into the same bundling

It would probably be better to have a client-side login view for those reasons, but the documentation should be updated to guide how to do that

This has been implemented in https://github.com/vaadin/flow/pull/8806 and https://github.com/vaadin-learning-center/crm-tutorial-typescript/pull/15. Need to check DoD if something is still missing or can we close this.

The README is still missing, it's in progress. let's close this one, I will make a separate PR for that.

@haijian-vaadin Is there some issue or PR about updating README with info about login? Should probably link it here.


0.7.2 crashes

error.txt

Yeah, needs update after RU patch. You can copy them from Shinra before i release the update.

i've already noticed that, thx. :)

Fixed in v0.7.3


Authority loggers

Correction for #212

Coverage remained the same at 56.251% when pulling 759b6150ba0dffde980a987b2e3860a3ac83b71d on jpinta:AuthorityLoggers into 307bbc45e5b554d67d12e53c88e9862efedc0168 on blossom-project:master.


Options reseting

On the Options tab on the Q menu, it resets the values I set on my server.

On the Options tab on the Q menu, it resets the values I set on my server.

Are there only "Background NPCs" installed on the server? No "Horror Mod"?

The issue was closed for lack of an answer.


Dedicated menuItem to remove claim from collection

Issue

Can't remove claim from collection after converted to Unlisted.
Can't remove claim from collection because the menuItem for removal is based on lastUsedCollection, which might not be the currently-viewed collection.

Change
Have a dedicated "Remove From List" context entry instead of relying on the lastUsedCollection mechanism.

fyi:  inf doesn't play transcoded videos, by the way.  Andriy looking into it


Read Replica RDS

Why is it Read Replica RDS Instance is not triggering sync?

Can you explain your problem more clearly?

in /etc/river.toml file , the mysql host config must is master ip address, can't slave mysql ip address ?

if your slave mysql has binlog, it can.


[BUG] PodDisruptionBudget on datadog-cluster-agent prevents nodegroup upgrade

Agent Environment
Cluster agent 1.19.0 - Commit: '083a221' - Serialization version: v5.0.16

Running on EKS v1.20, with CA deployed using Datadog Operator
Server Version: version.Info{Major:"1", Minor:"20+", GitVersion:"v1.20.15-eks-84b4fe6", GitCommit:"c813d094d1e9fa409079753049cfaa9a67524ed2", GitTreeState:"clean", BuildDate:"2022-06-09T18:20:31Z", GoVersion:"go1.15.15", Compiler:"gc", Platform:"linux/amd64"}

Describe what happened:
Attempted NodeGroup upgrade through CloudFormation which was intended to upgrade two nodes, including the one the Cluster Agent runs on.
After approximately 30 minutes, the NodeGroup entered an Update Failed state and CloudFormation aborted and rolled back the change set.
NodeGroup version update history displays
Reached max retries while trying to evict pods from nodes in node group (redacted)

Attempting to manually drain node when there is a suitable replacement node which the Cluster Agent could run on results in:
Error: Cannot evict pod as it would violate the pod's disruption budget.

Describe what you expected:
The NodeGroup upgrade should complete successfully, with two new nodes created and the two old nodes terminated.
Steps to reproduce the issue:
Attempt Node Group update which requires new nodes to be created
Additional environment details (Operating System, Cloud provider, etc):
EKS v1.20.15-eks-84b4fe6, Amazon Linux 2

This actually appears to be an issue with the Operator (https://github.com/DataDog/datadog-operator/issues/401) which despite the issue being closed is still not resolved.


Release/v2.0.0 alpha.4

Draft totdat dependencies gemerged zijn
Dependencies:

[ ] https://github.com/parley-messaging/web-library/pull/16
[x] https://github.com/parley-messaging/web-library/pull/20

PR contains:

[x] https://github.com/parley-messaging/web-library/pull/16

Closed in favor of https://github.com/parley-messaging/web-library/pull/27


image/gif: Decode ingests all frames into memory despite only returning the first one

Please answer these questions before submitting your issue. Thanks!
What did you do?

Save https://play.golang.org/p/6d9xGk8S6f and run it locally to produce bad.gif — 2.5Mb GIF file 1000x1000px and 1000 frames.

Save https://play.golang.org/p/SSLx-1wd9N, compile and run it providing bad.gif as first argument, optionally getting its rusage (i.e. with time(1)):
 command time -l ./main bad.gif

What did you expect to see?
Decent memory usage, since gif.Decode is documented to only return image for the first frame:

Decode reads a GIF image from r and returns the first embedded image as an image.Image.

What did you see instead?
High memory usage because gif.decoder.decode saves all frames in memory despite being called from gif.Decode that only needs the first frame: https://github.com/golang/go/blob/b80029ccf422cfdfa758838fd18a219901cda839/src/image/gif/reader.go#L282-L284
On macOS time -l shows it used more than 800 Mb RSS:
 917983232  maximum resident set size

I have a straightforward optimization for this by making gif.decoder.decode() only store the first frame to gif.decoder.image slice when appropriate (gif.Decode call) while still decoding file to the end so any malformed input is properly handled. Please let me know if this approach is ok and I'll submit a CL.
Memory usage reported with the modifications applied is close to what I'd expect to see for a single image:
  60616704  maximum resident set size

System details
go version go1.9.1 darwin/amd64
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/tmp/go:/Users/artyom/go"
GORACE=""
GOROOT="/Users/artyom/Library/go"
GOTOOLDIR="/Users/artyom/Library/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/lb/3rk8rqs53czgb4v35w_342xc0000gn/T/go-build415198232=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOROOT/bin/go version: go version go1.9.1 darwin/amd64
GOROOT/bin/go tool compile -V: compile version go1.9.1
uname -v: Darwin Kernel Version 17.0.0: Thu Aug 24 21:48:19 PDT 2017; root:xnu-4570.1.46~2/RELEASE_X86_64
ProductName:	Mac OS X
ProductVersion:	10.13
BuildVersion:	17A405
lldb --version: lldb-900.0.45
  Swift-4.0

/cc @nigeltao


Question: How to preserve APK Signatures

The APK I am playing with requires a login. When I use my login details they are rejected with error 401, not authenticated.
I think this is due to having re-signed the APK with jarsigner.
 I suppose this should be impossible!!!!!
Where are these signatures held and what form do they take? Does apktool see them?

https://source.android.com/security/apksigning/v3
Nothing that can be done. Especially if you are modifying the app. The entire point of signature blocks is to prevent what you are describing.
If you own your own OS you can relax these rules, but if the Playstore is involved with SafetyNet - good luck.

https://source.android.com/security/apksigning/v3
Nothing that can be done. Especially if you are modifying the app. The entire point of signature blocks is to prevent what you are describing.
If you own your own OS you can relax these rules, but if the Playstore is involved with SafetyNet - good luck.

What I thought. Pity! Thanks a lot

What I thought. Pity! Thanks a lot


[Bug]: workflow.tar.gz cannot be passed to flink runner

What happened?

Per beam docs, python code is expected to be passed to flink workers via "workflow.tar.gz", the path to local workflow.tar.gz (created by python Stager) is stored to ArtifactInformation proto in here with FILE type_urn.

When using flink job server, the workflow.tar.gz is staged to a /tmp directory in reverseArtifactRetrievalService.

The path to the locally staged file is passed to Flink worker. When attempting to read the file, the job fails, for example:

java.io.FileNotFoundException: /tmp/beam-tempokzovntq/artifacts8dekjpv4/14df1e909b80d61fc4083e34c254f7dc5cd2386afabe8a5c8997a08136bf6a97/1-ref_Environment_default_e-workflow.tar.gz (No such file or directory)
	at java.io.FileInputStream.open0(Native Method)
	at java.io.FileInputStream.open(FileInputStream.java:195)
	at java.io.FileInputStream.<init>(FileInputStream.java:138)
	at org.apache.beam.sdk.io.LocalFileSystem.open(LocalFileSystem.java:128)
	at org.apache.beam.sdk.io.LocalFileSystem.open(LocalFileSystem.java:84)
	at org.apache.beam.sdk.io.FileSystems.open(FileSystems.java:256)
	at org.apache.beam.runners.fnexecution.artifact.ArtifactRetrievalService.getArtifact(ArtifactRetrievalService.java:124)
	at org.apache.beam.runners.fnexecution.artifact.ArtifactRetrievalService.getArtifact(ArtifactRetrievalService.java:99)
	at org.apache.beam.model.jobmanagement.v1.ArtifactRetrievalServiceGrpc$MethodHandlers.invoke(ArtifactRetrievalServiceGrpc.java:315)
	at org.apache.beam.vendor.grpc.v1p48p1.io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
	at org.apache.beam.vendor.grpc.v1p48p1.io.grpc.PartialForwardingServerCallListener.onHalfClose(PartialForwardingServerCallListener.java:35)
	at org.apache.beam.vendor.grpc.v1p48p1.io.grpc.ForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:23)
	at org.apache.beam.vendor.grpc.v1p48p1.io.grpc.ForwardingServerCallListener$SimpleForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:40)
	at org.apache.beam.vendor.grpc.v1p48p1.io.grpc.Contexts$ContextualizedServerCallListener.onHalfClose(Contexts.java:86)
	at org.apache.beam.vendor.grpc.v1p48p1.io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:354)
	at org.apache.beam.vendor.grpc.v1p48p1.io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:866)
	at org.apache.beam.vendor.grpc.v1p48p1.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
	at org.apache.beam.vendor.grpc.v1p48p1.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Beam's PipelineOptions artifacts_dir suggests it is possible to stage artifacts in a cloud bucket/container. But:

The only available FileSystem is local filesystem.
There is a TODO to expose filesystem options in the Flink job server driver.
Test with "azfs://" failed with below:

I1127 22:20:24.765129<PHONE_NUMBER>65216 subprocess_server.py:126] Caused by: java.lang.IllegalArgumentException: No filesystem found for scheme azfs
I1127 22:20:24.765187<PHONE_NUMBER>65216 subprocess_server.py:126] 	at org.apache.beam.sdk.io.FileSystems.getFileSystemInternal(FileSystems.java:518)
I1127 22:20:24.765243<PHONE_NUMBER>65216 subprocess_server.py:126] 	at org.apache.beam.sdk.io.FileSystems.matchNewResource(FileSystems.java:588)
I1127 22:20:24.765300<PHONE_NUMBER>65216 subprocess_server.py:126] 	at org.apache.beam.runners.fnexecution.artifact.ArtifactStagingService$1.stagingDir(ArtifactStagingService.java:193)
I1127 22:20:24.765356<PHONE_NUMBER>65216 subprocess_server.py:126] 	at org.apache.beam.runners.fnexecution.artifact.ArtifactStagingService$1.getDestination(ArtifactStagingService.java:169)
I1127 22:20:24.765413<PHONE_NUMBER>65216 subprocess_server.py:126] 	at org.apache.beam.runners.fnexecution.artifact.ArtifactStagingService$StoreArtifact.call(ArtifactStagingService.java:271)
I1127 22:20:24.765469<PHONE_NUMBER>65216 subprocess_server.py:126] 	at org.apache.beam.runners.fnexecution.artifact.ArtifactStagingService$StoreArtifact.call(ArtifactStagingService.java:247)
I1127 22:20:24.765530<PHONE_NUMBER>65216 subprocess_server.py:126] 	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

As a side note, another bug is that ExternalEnvironmentFactory keeps waiting for the boot.go to become healthy even after it fails to read the workflow artifact (in here) and exits.
Not sure if Flink can take embedded files as an input, that would be a good option for workflow.tar.gz.
Issue Priority
Priority: 1
Issue Component
Component: runner-flink

Thanks for the report. I'm not sure what is needed here. I know that people have used Python on Flink and other runners and it should be largely the same. I will ping @tvalentyn and @chamikaramj who know about Python and portability staging files quite well. We are not able to easily diagnose flink issues but maybe they will have an idea quickly.

I have had issues where Flink could not find the job configuration on slow or failing disks sometimes, but I have not seen this particular problem.

@phoerious AzureBlobStoreFileSystemRegistrar is not included in beam-runners-flink-1.14-job-server-2.43.0.jar, so this line doesn't register the filesystem causing the exception when "azfs://" is used with artifacts_dir pipeline option.
It seems we need to add "runtimeOnly project(":sdks:java:io:azure")" in here:
https://github.com/apache/beam/blob/master/runners/flink/job-server/flink_job_server.gradle#L96
Is it possible for someone with contributor permissions to make the one line change to be included in the next release?
I confirmed that the shadow jar built locally with "./gradlew -p runners/flink/1.14/job-server build" contains AzureBlobStoreFileSystemRegistrar.class.

Feel free to close or fix differently. @kennknowles


Indexed array access type is not possibly undefined with noUncheckedIndexAccess enabled

Bug Report
🔎 Search Terms
noUncheckedIndexAccess, array
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about noUncheckedIndexAccess

⏯ Playground Link
Playground link with relevant code
💻 Code
With noUncheckedIndexAccess enabled:

const arr: string[] = [];

type IncorrectArrayType = typeof arr[0]; // string

// there's a workaround, but it involves runtime overhead
const correct = arr[0];
type CorrectArrayType = typeof correct; // string | undefined

🙁 Actual behavior
Indexing an array type doesn't include undefined with noUncheckedIndexAccess enabled
🙂 Expected behavior
IncorrectArrayType should be string | undefined

This is by design and you could find more details in https://github.com/microsoft/TypeScript/pull/39560. See the last section: Design Point: What's the type of T[number] / T[string].

Okay. Thank you for the link


Logging ideas

https://www.google.com/search?q=uber+zap+tutorial
<EMAIL_ADDRESS>

https://sunitc.dev/2019/05/27/adding-uber-go-zap-logger-to-golang-project/

https://stackoverflow.com/questions/52899535/using-logger-configs-in-multi-packages-best-practice-for-golang-productive

https://pkg.go.dev/time?utm_source=gopls#Time.Format

Similar to tee command - io.TeeReader https://www.youtube.com/watch?v=fJHNhL1FUEs


If the pre-training of UniTS includes a test dataset, can it still be called ZS?

I have a question whether the pre-trained UniTS training dataset contains the test dataset. If so, then the training process of time series prediction and time series completion is essentially a self-supervised process. Can the UniTS proposed by the author be called a zero-shot model?

Let me further clarify my question. If the dataset for training UniTS contains the same type of data used in the test, even though UniTS uses self-supervised learning, (time series imputation and prediction supervised training can also be regarded as a kind of self-supervised learning, because their label is themselves.), can the proposed UniT be regarded as a zero-shot paradigm when it is tested on the same type of data?

I have the same question with you. The paper refers to 'It excels in zero-shot forecasting for out-of-domain data'. But how can the model get the 'prompt token'? The prompt token is related to dataset_name (related code: prefix_prompt = self.prompt_tokens[dataset_name] https://github.com/mims-harvard/UniTS/blob/ce20ae50bb3c48da021f2871d8cb204eaf070ae6/models/UniTS.py#L745), but how do you get the prompt token if Units hasn't been trained on this type of dataset?

Yes, the description in the paper means that the pre-training dataset may contain the corresponding training dataset part of the test dataset. For example, the training dataset of ETT data is used for pre-training, and the test set is used for ZS testing. I hope the author can correct and clarify my impression.

I have the same question with you. The paper refers to 'It excels in zero-shot forecasting for out-of-domain data'. But how can the model get the 'prompt token'? The prompt token is related to dataset_name (related code: prefix_prompt = self.prompt_tokens[dataset_name]
https://github.com/mims-harvard/UniTS/blob/ce20ae50bb3c48da021f2871d8cb204eaf070ae6/models/UniTS.py#L745
), but how do you get the prompt token if Units hasn't been trained on this type of dataset?

Yes, the description in the paper means that the pre-training dataset may contain the corresponding training dataset part of the test dataset. For example, the training dataset of ETT data is used for pre-training, and the test set is used for ZS testing. I hope the author can correct and clarify my impression.

Let me further clarify my question. If the dataset for training UniTS contains the same type of data used in the test, even though UniTS uses self-supervised learning, (time series imputation and prediction supervised training can also be regarded as a kind of self-supervised learning, because their label is themselves.), can the proposed UniT be regarded as a zero-shot paradigm when it is tested on the same type of data?

The training/testing dataset is splited following existing works, so there is no data lackage regarding testing data. The model didn't see the same sample during training.
In our setting, we have 1) zero-shot learning with new foreasting length, which is to predict with a new forecasting length but still under the same data domain (the prompt is the same) 2) we have some inital results about the fully zero-shot learning where the model didn't see the data domain during the training, in that case, we use the same prompt tokens for all datasets during pretraining, so we don't need to obtain the domain-specific prompt tokens.

The model used for zero-shot pretraining is different from the standard UniTS, as it uses shared prompt token for all tasks.
https://github.com/mims-harvard/UniTS/blob/main/models/UniTS_zeroshot.py

Let me further clarify my question. If the dataset for training UniTS contains the same type of data used in the test, even though UniTS uses self-supervised learning, (time series imputation and prediction supervised training can also be regarded as a kind of self-supervised learning, because their label is themselves.), can the proposed UniT be regarded as a zero-shot paradigm when it is tested on the same type of data?

The training/testing dataset is splited following existing works, so there is no data lackage regarding testing data. The model didn't see the same sample during training.
In our setting, we have 1) zero-shot learning with new foreasting length, which is to predict with a new forecasting length but still under the same data domain (the prompt is the same) 2) we have some inital results about the fully zero-shot learning where the model didn't see the data domain during the training, in that case, we use the same prompt tokens for all datasets during pretraining, so we don't need to obtain the domain-specific prompt tokens.

Thanks for your reply, but my concern remains. I mean for example traffic dataset, which usually has 17544 data points, people use the first 70% data in supervised work and the last 20% data for testing. My question is in the article, whether the test set is the last 20% data in the testing phase and whether the first 70% data is used in the pre-training process.

We use the dataloader from Time-Series-Library repo, so the training/testing dataset set split follows the common practice. Testing set is only used for evaluation not used during pretraining or finetuning. For pre-training, training sets from multiple datasets are used without task-specific labels.

Thank you for your reply. Is the training sets of pre-training containing the training part of the dataset used for evaluation? For example, the test set part of ETT series dataset is used for zero-shot performance testing, then the corresponding training dataset part should not appear in the pre-training process, otherwise it does not meet the principle of zero-shot. My question is whether the training dataset part of the dataset used for testing appeared during the pre-training process? Thanks for your patients.

For Few-shot classification and forecasting, datasets are not used during pretraining, so it’s new datasets.
For-shot imputation, the imputation task is not performed during pretraining, so it's a new task. In which the ETTm1 dataset is not trained for pretraining.
For anomaly detection, the task and datasets are not used during pretraining, so it’s new task and new dataset.

For zero-shot experiments:1) Direct Multi-Step Forecasting aims to show that our model can make predictions on new forecasting length with one inference step, which is different from existing works that need a predefined forecasting length. 2) we have initial zero-shot forecasting exp in the appendix, where the dataset are not seen during pretraining.


shared libraries error in v1.3.2

Hi all,
I am getting the shared libraries error when I run fmriprep (v1.3.2) on the cluster (Sherlock). Not sure how to fix it. Please help.
I built the singularity image using:
singularity build /my_images/fmriprep-v1.3.2.simg docker://poldracklab/fmriprep:latest
Interestingly, the same image ran perfectly last week on another dataset. However, it keeps crashing with the following error with the current dataset.
Standard error: fslmaths: error while loading shared libraries: libnewimage.so: cannot open shared object file: No such file or directory Return code: 127

One simple thing to check is whether you have the "/my_images/" directory/folder. "/my_images/fmriprep-v1.3.2.simg" should be where you want to store your image and differ between computers/users.

Thanks, yes I do. "/my_images" is only a placeholder in the command I pasted above.

Sorry, I misread what your issue is. What command do you use to run fMRIprep? I encountered similar problems and the cause is that I was not using srun before the singularity command.
Did you try something like
srun singularity run --cleanenv /my_images/fmriprep-1.3.2.simg \     path/to/data/dir path/to/output/dir \     participant \     --participant-label lab     -w path/to/temprory_working_dir

Thanks. Not sure about srun. But using --cleanenv flag helped.

Yes, this is likely some LD_* environment variable leaking into the container.


I advance

Hello,
Thank you, yes indeed I understand a little better. I managed to run 'test_ev3_led.py'
But I have a mistake here:
root @ ev3dev: ~ # workon ev3_py27
(ev3_py27) ev3dev root @: ~ # python
Python 2.7.8 (default, October 18, 2014, 5:24:08 p.m.)
[GCC 4.9.1] is linux2
Type "help", "copyright", "credits" or "license" for more information.

From ev3.lego import MediumMotor
D = MediumMotor ()
Traceback (most recent call last):
   File "", line 1, in
   file"/root/.virtualenvs/ev3_py27/local/lib/python2.7/site-packages/python_ev3-<IP_ADDRESS>-py2.7.egg/ev3/lego.py", line 172, in init
   file"/root/.virtualenvs/ev3_py27/local/lib/python2.7/site-packages/python_ev3-<IP_ADDRESS>-py2.7.egg/ev3/ev3dev.py", line 323, in init
ev3.ev3dev.NoSuchMotorError: No such motor type = port = minitacho

Thank you.
Good day.

well, seems something broken. Which ev3dev do you use?

I close this issue. Please reopen if the problem happens again.