Rancher-compose: volumes_from with :ro or :ew is not supported, but docker 1.9.1 supports it

Trying to compose a stack where the volumes_from option is used.  This results in the stack creating hanging, the the service using volumes_from not being defined.  This happens when creating a stack from a catalogue template or from explicit YAML.
For example
portus:
  image: sshipway/portus:2.0.3
  tty: true
  stdin_open: true
  volumes:
    - /certs

sslproxy:
  image: nginx:1.9.9
  tty: true
  stdin_open: true
  links:
  - portus:portus
  volumes:
  - /etc/nginx/certs:ro
  volumes_from:
  - portus:ro

This creates a stack stuck in Activating state, with a message
Activating (Bad response statusCode [422]. Status [422 status code 422]. Body: [code=InvalidReference, fieldName=LaunchConfigName] from [https://rancher.container.auckland.ac.nz/v1/projects/1a5/services])

The sslproxy container is not shown in the interface.  Removing the volumes_from item from the sslproxy stanza makes the stack start up.  The sshipway/portus container exports the /etc/nginx/conf.d volume.
Am I doing something wrong (in which case, Rancher should give a more friendly error message and not get stuck) or has Rancher hit a bug in the parsing of the docker-compose YAML?

Verified that docker-compose works on a standalone docker system (1.9.1).
Upgraded all our docker infrastructure to docker 1.9.1 in case that was the issue, but no luck.  The problem seems to be that Rancher removes the stanza containing volumes_from before it gets as far as docker-compose.
Composing a stack in Rancher will only allow a volumes_from between a container and its sidekicks, which adds nothing to the docker-compose.yml apart from the additional rancher label.

The root cause seems to be that Rancher cannot parse the section:
volumes_from:
  - portus:ro

Specifically, the :ro suffix.   It also needs to have the io.rancher.sidekicks label set, if you are using volumes_from, and for the sidekicks to all appear in the file before the container which owns them.
If this is not done, then Rancher hangs in the 'Creating' stage and omits the offending container(s) from the generated docker_compose.
I think that the :ro suffix should be supported (by an additional checkbox?) and there should not be a requirement on the odering in the docker-compose.yml file... and also, any errors should be caught a bit more gracefully...

Rancher Compose seems to be working properly. I think this functionality just needs to be added to Cattle.
a:
  image: ubuntu
  volumes:
   - ./bundles:/bundles
b:
  image: ubuntu
  volumes_from:
   - a:ro

"dataVolumesFromLaunchConfigs": [
      "a:ro"
    ],

@joshwget says this is a Cattle issue.

@joshwget @deniseschannon @sshipway our container/service APIs lack support for volume access rights. We are going to add support for it immediately after shipping GA. @deniseschannon we should mention this limitation somewhere in the docs/release notes.

This is a nice to-have feature, but I don't think I'm going to get to it for 1.2.0. Can we either reassign or bump out?

@deniseschannon @cjellick Is there an eta for this feature? It has been bumped around for quite a few releases

In rancher 1.5.1 the volumes_from without access rights doesn't work, so the following example:
a:
  image: ubuntu
  volumes:
   - ./bundles:/bundles
b:
  image: ubuntu
  volumes_from:
   - a

produces the error:
Error (Bad response statusCode [422]. Status [422 status code 422]. Body: [code=InvalidReference, fieldName=LaunchConfigName, baseType=error]

volumes_from is being deprecated in future versions of Docker Compose (https://docs.docker.com/compose/compose-file/#volumes-volumedriver) so it's likely we'll do the same. It should be possible to accomplish something similar using top level volumes.

This Compose file will work in Rancher today and fills the same use case as far as I know. I'm going to close this issue as this seems to be the direction that Docker Compose is taking. Please reopen if this isn't what you're looking for!
version: '2'

services:
  a:
    image: nginx
    volumes:
    - vol:/vol:ro

  b:
    image: nginx
    volumes:
    - vol:/vol

volumes:
  vol: {}

@joshwget Thank you for your response.
How would I go about running this https://github.com/indiehosters/piwik/blob/master/docker-compose.yml in rancher?
version: '2'
networks:
  lb_web:
    external: true
  back:
    driver: bridge
services:
  db:
    image: mysql
    volumes:
      - ./mysql/runtime:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD
    networks:
    - back
  app:
    image: piwik
    links:
      - db
    volumes:
      - ./config:/var/www/html/config
    networks:
    - back
  web:
    image: nginx
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
    links:
      - app
    volumes_from:
      - app
    environment:
      - VIRTUAL_HOST
    networks:
    - back
    - lb_web
  cron:
    image: piwik
    links:
      - db
    volumes_from:
      - app
    entrypoint: |
      bash -c 'bash -s <<EOF
      trap "break;exit" SIGHUP SIGINT SIGTERM
      while /bin/true; do
        su -s "/bin/bash" -c "/usr/local/bin/php /var/www/html/console core:archive" www-data
        sleep 3600
      done
      EOF'
    networks:
    - back

@joshwget This is what I have so far:
docker-compose.yml
version: '2'
services:
  app:
    image: piwik
    depends_on:
      - db
    volumes:
    - /data/piwik/config:/var/www/html/config
    links:
    - db:db
    labels:
      io.rancher.container.pull_image: always
    stdin_open: true
    tty: true
  cron:
    image: piwik
    stdin_open: true
    volumes:
    - /data/piwik/config:/var/www/html/config
    # volumes_from:
    #   - app
    entrypoint: |
      bash -c 'bash -s <<EOF
      trap "break;exit" SIGHUP SIGINT SIGTERM
      while /bin/true; do
        su -s "/bin/bash" -c "/usr/local/bin/php /var/www/html/console core:archive" www-data
        sleep 3600
      done
      EOF'
    tty: true
    links:
    - db:db
    labels:
      io.rancher.container.pull_image: always
  web:
    image: nginx
    depends_on:
      - app
    environment:
      VIRTUAL_HOST: piwik.devworks.gr
    stdin_open: true
    volumes:
    - /data/piwik/nginx.conf:/etc/nginx/nginx.conf:ro
    - /data/piwik/config:/var/www/html/config
    # volumes_from:
    #   - app
    tty: true
    restart: always
    links:
    - app:app
    labels:
      io.rancher.container.pull_image: always
  db:
    image: mysql
    environment:
      MYSQL_DATABASE: piwik
      MYSQL_ROOT_PASSWORD: somepassword
    stdin_open: true
    volumes:
    - /data/piwik/mysql:/var/lib/mysql
    tty: true
    restart: always
    labels:
      io.rancher.container.pull_image: always

rancher-compose.yml
version: '2'
services:
  db:
    scale: 1
    start_on_create: true
  app:
    scale: 1
    start_on_create: true
  web:
    scale: 1
    start_on_create: true
  cron:
    scale: 1
    start_on_create: true

@ikappas Can you split this off into a separate issue (or preferably forum post)? It seems out of scope for this issue.

@joshwget No problem. I was hoping on a quick response on the suggested usage you posted earlier :)

Ran into the same issue. Eventhough docker-compose v3 now uses volumes to do handle volumes_from, yet ranger does only support v2 and it is suprising that this happens.
it took me a while to find out what was the cause and then i landed here.
Probably at least give a better error message for now, if volume_from statements are detected.

Just for the other people coming by, volumes_from cano not replaced by a setup like this https://github.com/rancher/rancher/issues/3316#issuecomment-284807974 .. this would actually make no sense - volumes_from is used when you want to mount all anon-volumes of a container - named volumes could have been mounted directly since the early days.
AFAICs https://docs.docker.com/compose/compose-file/#volumes . docker-compose has removed this functionality entirely, not sure how and why and if there is an alternative. But assume, you have an app container and you have a httpd container. Usually you would define the codebase folder, /var/www, as an anon volume and then mount it in httpd to be to serve static files using the httpd service, while passing all dynamic files like ruby/php/java to an upstream backend on app.
The point in using a anon volume and not a named volume is, that actually you want to be able to redeploy app and change the codebase ( app update ) which would not work, if app would have a named volume. That said, anon volumes are doing exactly that and thats why volumes_from is used here - using named volumes is no option is this case ( as it is very practical in a a lot of other cases ).
For me, that means i cannot use rancher for those stacks - quiet a few - since i cannot see a workaround here.

Is there any solution or alternative to this problem yet? I'm using a separate app-code sidekick with each php-fpm, nginx, and worker containers(they all need the app code to run). 4 images (appcode, php, nginx, worker), 6 services (3+3). I used to be able to update and push the app image and use rancher to update the sidekicks with their companion to deploy the app. Keeping the code separate from the php, nginx, worker, environments makes docker CI build times and rancher service updates faster. It is a little harder to manage, and i'm considering embedding the code and the environment together, building 3 images with each push to repo and tagging them differently, but i already had a working docker-compose in rancher, and now i have to figure this out again. I'm looking forward to hearing other people solutions to managing app code deployments.


Delete legacy kingdom codes.

The majoritoy of these codes should be deleted.
Some of them can be updated and reused. However, updating them takes
long time. It may be easier to delete them and rewrite when needed.

This change is

@yunyeng @uakyol since you are touching the kingdom code base.


Can't load scss

ERROR in
/components/Playlist/Playlist.scss 1:0
Module parse failed: Unexpected character '@' (1:0)
You may need an appropriate loader to handle this file type.

@mixin lines($line) {
|     overflow: hidden;
|     text-overflow: ellipsis;

sswp> script exited with code 1
sswp> Script did not load or failed HMR, not restarting

how do we make this support scss.

how do we make this support scss?!!! @antonybudianto

https://github.com/antonybudianto/cra-universal/issues/192


Add feature to block invalid arps ?

First of all, thank you very much for taking the time to maintain this project. This project has been very helpful to me in the past period of time, not only because of the effect of the project, but also because I have learned a lot of relevant knowledge.
In recent studies, I found that xdp seems to be used to block arp requests. Considering the current proliferation of intranet broadcasts, is it possible to use xdp to write an arp whitelist and reject all arp requests that are not local requests?
for example:
10:58:36.239557 ARP, Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
10:58:36.246846 ARP, Request who-has <IP_ADDRESS>.static.xtom.com tell <IP_ADDRESS>.static.xtom.com, length 46
10:58:36.248497 ARP, Request who-has <IP_ADDRESS>.static.xtom.com tell <IP_ADDRESS>.static.xtom.com, length 46
10:58:36.250049 ARP, Request who-has <IP_ADDRESS>.static.v.ps tell <IP_ADDRESS>, length 46
10:58:36.251387 ARP, Request who-has <IP_ADDRESS>.static.v.ps tell rg02nrt.v.ps, length 46
10:58:36.252702 ARP, Request who-has <IP_ADDRESS>.static.xtom.com tell <IP_ADDRESS>.static.xtom.com, length 46
10:58:36.253984 ARP, Request who-has <IP_ADDRESS>.static.xtom.com tell <IP_ADDRESS>.static.xtom.com, length 46
10:58:36.255239 ARP, Request who-has <IP_ADDRESS>.static.v.ps tell <IP_ADDRESS>, length 46
10:58:36.256391 ARP, Request who-has <IP_ADDRESS>.static.xtom.com tell <IP_ADDRESS>.static.xtom.com, length 46
10:58:36.257599 ARP, Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46

Among the bunch of arp requests above, none of them are actually my IP.
Although the kernel will ignore these invalid requests, if it can be implemented using xdp, will the performance be better? My knowledge in this area is relatively lacking, please correct me if there is anything wrong.
Thanks again in advance.

Hey! I'm glad the project has helped you gain more knowledge in the networking/security fields!
I've seen XDP used for processing ARP requests, mostly for caching ARP entries inside of BPF maps. However, I haven't implemented ARP filtering/caching in any code I've written for XDP in the past. It is certainly possible, though!
Implementing ARP filtering/caching would be faster in XDP since it's the first hook for processing packets in the Linux kernel (assuming your NIC driver supports XDP native). However, I'm not sure if there will be any noticeable difference unless if you're under attack by attackers targeting ARP specifically.
It would be interesting to implement ARP filtering into this firewall, but I'm not sure if I'll have the time to implement such a feature in the near future due to time restraints and working on other projects. With that said, it'll require reworking a lot of the XDP logic.
I hope this helps!


api-mode="false" Data not shown

Hello,
I like the vuetable component a lot.
Nice piece of work! 👍
At the moment, I have this configuration.
<template>
  <v-container fluid="fluid" class="text-xs-center">
    <vuetable
      ref="vuetable"
      :api-mode="false"
      :data="uList"
      :fields="['id', 'username']"
    ></vuetable>
  </v-container>
</template>

<script>
  import * as types from '../../types'
  import { mapActions, mapGetters } from 'vuex'
  import Vuetable from 'vuetable-2/src/components/Vuetable'

  export default {
    components: {
      Vuetable
    },
    data () {
      return {
        email<EMAIL_ADDRESS>        userList: [],
        search: '',
        pagination: {}
      }
    },
    computed: {
      uList () {
        return this._getUserList()
      }
    },
    methods: {
      ...mapActions({
        _runListUsers: types.RUN_USER_GETLIST
      }),
      ...mapGetters({
        _getUserList: types.GET_USERLIST
      }),
      listUsers () {
        this._runListUsers()
      }
    },
    created: function () {
      this.listUsers()
    }
  }
</script>

in uList I have this JSON Data:
array (
  'status' => 200,
  'msg' => 'user.list.ok',
  'users' =>
  array (
    0 =>
    array (
      'id' => 1,
      'username' => 'user1111',
      'email' =><EMAIL_ADDRESS>      'avatar' => 'https://randomuser.me/api/portraits/men/82.jpg',
      'confirmed' => 1,
      'blocked' => 0,
      'remember' => 0,
      'created_at' => '2017-08-22 20:03:03',
      'updated_at' => '2017-08-22 20:03:15',
      'roles' =>
      array (
        0 =>
        array (
          'id' => 2,
          'role' => 'ROLE_USER',
          'prio' => 100,
          'created_at' => '2017-08-22 20:03:03',
          'updated_at' => '2017-08-22 20:03:03',
          'pivot' =>
          array (
            'user_id' => 1,
            'role_id' => 2,
            'created_at' => '2017-08-22 20:03:03',
            'updated_at' => '2017-08-22 20:03:03',
          ),
        ),
      ),
    ),
    1 =>
    array (
      'id' => 2,
      'username' => 'staff1111',
      'email' =><EMAIL_ADDRESS>      'avatar' => 'https://randomuser.me/api/portraits/men/83.jpg',
      'confirmed' => 1,
      'blocked' => 0,
      'remember' => 0,
      'created_at' => '2017-08-22 20:03:03',
      'updated_at' => '2017-08-22 20:03:16',
      'roles' =>
      array (
        0 =>
        array (
          'id' => 3,
          'role' => 'ROLE_STAFF',
          'prio' => 1000,
          'created_at' => '2017-08-22 20:03:03',
          'updated_at' => '2017-08-22 20:03:03',
          'pivot' =>
          array (
            'user_id' => 2,
            'role_id' => 3,
            'created_at' => '2017-08-22 20:03:03',
            'updated_at' => '2017-08-22 20:03:03',
          ),
        ),
      ),
    ),
...
)

My question now is, what I am doing wrong or what do I miss?
I was looking on the codepen examples, but, of course, it did not work for me. :/
Thank you very much, for your suggestions.

Firstly, the uList is not really a JSON data structure, it looks more like from the PHP. Try to convert the data structure to a real JSON, it should be easier to pin point.
Secondly, Vuetable cannot find id, and username in this structure unless you specify the correct data-path. In this case, it should be data-path="users"
Thirdly, since your data is not only an array of actual data, but also containing other metadata (e.g. status and msg), you'll need to transform your data before setting it to Vuetable (see here). Or, you can use data transformation feature of Vuetable.
Please also make sure that you've go through the tutorial as well.


Analytics (update): Spatial Mode MVP Launch Walkthrough

Overview
Tool: Explorer

Feature (Optional): Spatial Mode

Description: Need to make sure Spatial Mode MVP has relevant analytics in place for beta launch in public
Updates needed
<Event name>

Current: <Description of how the event works currently>
Requested change: <Description of the update needed>

People to cc
PM: @niknak33
DS: @ainfeld
Privacy policy: https://cellxgene.cziscience.com/privacy

@ainfeld ticket created!

thank you so much @tihuan!!

@atolopko-czi this is the analytics ticket linked in the tech spec thank you!

closing this one in favor for https://app.zenhub.com/workspaces/single-cell-5e2a191dad828d52cc78b028/issues/gh/chanzuckerberg/single-cell-data-portal/6667 thank you! #6667


Compatibility with flutter null safety libraries using mainly rxdart ^0.26.0

Finally following dependencies has been updated by their owners :
cached_network_image: ^3.0.0 which depends on
flutter_cache_manager: ^3.0.0 which depends on
=> rxdart ^0.26.0
So could you please give us an update?
Thank you @Rodiii

Just upgraded cached_network_image, thanks for letting me know!
v1.2.3


How can I handle an air gapped build?

I'm in the process of creating a custom registry hosted in Azure DevOps.
The plan going forward will be to host some third party libraries as well as our own libraries in this custom registry.
Each project will then be using manifests in order to declare all dependencies and their required versions.
So far everything works as expected. I've already created a port out of one of our libraries and I'm currently distributing it via our custom registry.
Now the part I'm unsure how to handle.
At my company we do an "air gapped" build which means the source code is taken to some machine on a private network with no internet connection where the build is performed.
This is of course problematic as the air gapped machine will not have access to the custom ports registry we're hosting on ADO, nor will it have access to the repos hosting those projects we're distributing via our custom registry.
I'm trying to figure out a solution to this issue.
My first thought was to tell the Air Gap team to first clone the required repos to a USB stick. Then we could configure Visual Studio to use overlay-ports which would use the source that was cloned on to the USB stick and a custom port file. I have no idea if this would actually work.
I'm curious what other folks have done who might be in a similar situation?
Does anyone have any ideas on how I could handle this scenario using vcpkg?

@vicroms Could you please help take a look this issue?

At my company we do an "air gapped" build which means the source code is taken to some machine on a private network with no internet connection where the build is performed.

On a machine with internet:
https://github.com/microsoft/vcpkg/blob/master/docs/users/assetcaching.md (just write to something local)
and also use --downloads-root=somepath. if I remember correctly there is some option to only perform downloads (--only-downloads)
Carry data to machine without internet and setup vcpkg to use it. (ports using vcpkg_from_git may need some manual work.)

@Neumann-A Now is this something I can do in manifest mode from Visual Studio? In this case I'm thinking I could pass those options to vcpkg via Additional Options exposed in the property sheet.

OK, so I was able to get something working.
First I download the required package via the following command:
vcpkg install --x-wait-for-lock --triplet "x64-windows-static-md" --vcpkg-root "C:\dev\vcpkg\\" "--x-manifest-root=C:\Users\me\source\repos\MyApplication\MyApplication\\" "--x-install-root=C:\Users\me\source\repos\MyApplication\MyApplication\vcpkg_installed\x64-windows-static-md\\" --downloads-root="C:\Users\me\Documents\cache" --only-downloads --x-asset-sources="x-azurl,file:////ComputerName/cache/,,readwrite"

This command produced an archive of the package (via --downloads-root) and also a SAH512 file (via --x-asset-sources)
I then created a port overlay for this library. I'm only going to show what I believe is the relevant part of the portfile:
vcpkg_download_distfile(
    ARCHIVE
    URLS "//ComputerName/cache/mylib-bc21e051c938e68ed9f26fed19e6d3f80b33d8c8.tar.gz"
    FILENAME "mylib-bc21e051c938e68ed9f26fed19e6d3f80b33d8c8.tar.gz"
    SHA512 96365ba763ae8d9c7bc1b97bb89e1764a5a9d53039117bb05e7b57b95c356789e3c50dbda99434c2a8ae4bfa74285cfa7f040ebe45e939bd34fa0e1d301a0723
)

vcpkg_extract_source_archive_ex(
    OUT_SOURCE_PATH SOURCE_PATH
    ARCHIVE "${ARCHIVE}"
    NO_REMOVE_ONE_LEVEL
)

The SHA512 value you see passed to vcpkg_download_distfile is copied from the file created by passing the --x-asset-sources to vcpkg install.
The file mylib-bc21e051c938e68ed9f26fed19e6d3f80b33d8c8.tar.gz passed to vcpkg_download_distfile was copied from the file created by passing --downloads-root to vcpkg install.
I placed this port file in a directory (which will be passed to vcpkg later in VS) along side a vcpkg.json file.
Within VS I specified the following Additional Options which get passed to vcpkg:
--overlay-ports="C:\Users\me\Documents\overlay-ports"

I then attempted to build but received an error that the SHA512 value was not correct. It then showed me what it was expecting. I replaced the SHA512 value with the value that was expected and it worked (I also tried this after disabling both the wi-fi and NIC).
OK, so like I said I "kind" of have a working solution.
A couple of questions:

What am I supposed to do with the SHA512 file generated by passing --x-asset-sources= to vcpkg install?
Do I need to generate this SHA512 artifact if downloads-root seems to give me what I need?
How can I determine what the SHA512 hash is of the archive downloaded from downloads-root?
Did I do this correctly? Am I using the correct helpers in my portfile?

@wbuck when using asset caching you should keep using the original URLs in the portfiles.
Asset caching translates URLs to specific assets in a cache location, when a download is requested then we do the following:

If an asset exists in the cache, use it
If (1) failed, use the URL to download the asset
If (2) succeded, store the asset in the cache

We use a SHA512 of the URL to name the assets for easy retrieval, those are the files you see in the cache location. The SHA512 argument in the vcpkg_download_distfile() is the hash of the file, we use that argument to check that the file you downloaded is indeed the one you wanted to download, and it has not been tampered.
Downloaded assets are extracted into downloads-root.
The steps I would follow are:

Set X_VCPKG_ASSET_SOURCES to
clear;x-azurl,file:///C:/some/cache/location,,readwrite
Use a fresh vcpkg (or delete installed/, downloads/, buildtrees/ folders)
vcpkg install --no-binarycaching <pkgs you need> (disable binary caching to make sure that everything is being rebuilt).
Copy C:/some/cache/location into your air-gapped system
In you air-gapped system, set X_VCPKG_ASSET_SOURCES to
clear;x-azurl,file:///C:/some/cache/location,,read;x-block-origin

If you want to make sure that everything is cached before copying, remove all the output folders (downloads, installed, buildtrees) and run vcpkg install --no-binarycaching --x-asset-sources=x-block-origin <pkgs>. This will force vcpkg to only use artifacts from the asset cache and not attempt to download anything. If everything is set up correctly then the install should succeed.

Feel free to reach us at<EMAIL_ADDRESS>to get help from the whole team.

@vicroms Thank-you for the detailed instructions (I needed a bit of hand holding).
One question: The cached asset, is it the source code (and anything else the package included), or a compiled binary?

Asset caching, caches anything that vcpkg downloads. For ports that is usually their source code, however, vcpkg and ports may need to download binary tools to run/build (powershell-core, 7zip, CMake, Ninja, meson, mingw, etc.) and the asset cache will store those as well.
vcpkg does not download pre-built libraries from the internet, our preferred method to install a library is to download the source code and build it in the user machine. We have a feature that caches package binaries once they are built at least once (see our binary caching documentation) and those can be reused by vcpkg to skip having to rebuild the same library.

@vicroms I wasn’t wondering if it downloads the prebuilt binaries, moreover I was wondering if the package was built locally and then cached.
Regardless that answers my question, thank you. I did the steps you laid out above but it’s failing as vcpkg is looking for a cached file that doesn’t exists on the air gapped system (I suspect it’s a specific version of Cmake).
Instead of detailing the issue here I’ll use the email you provided.

I hope the hidden conversation will result in a public documentation.

If/when I get this working I’m planning on making a very detailed post of SO.

OK so I was able to get this to work if I only use the built in registry and not our custom private registry.
I also had to manually install the following tools on the air gapped machine:

Cmake
Powershell version 7.2.5
Git

Question:
It seems some tools are included in the cached files but others are not. Does vcpkg automatically detect tools that are already installed on the machine that is creating the assets and only include tools that are not currently installed?
I would like to figure out what I need to do in order to get this to work with our custom private registry.
When I attempt to do a "Rebuild" on the air gapped machine I can see that vcpkg is attempting to fetch the registry information from our private custom registry which of course fails because the air gapped machine does not have an internet connection.
This, I believe makes sense as vcpkg has no knowledge of the URL's of our private repos so it wouldn't know how to construct the SHA512 file names (There wouldn't be any port files on the local air gapped machine).
In this case should I be using the overlays?

Does vcpkg automatically detect tools that are already installed on the machine that is creating the assets and only include tools that are not currently installed in the cached asset?

Yes
You can use --x-abi-tools-use-exact-versions so the tools are probably downloaded even on your meshine with internet.

When I attempt to do a "Rebuild" on the air gapped machine I can see that vcpkg is attempting to fetch the registry information from our private custom registry which of course fails because the air gapped machine does not have an internet connection.

Afaik vcpkg needs access to the git repo and don't uses asset caching for that.

Thanks for posting this issue. Please reopen this issue if this is still a problem for you.


format blobstore in docker and rename ci

format blobstore in docker.
rename ci：

ci-tests  --> ci-test-unit
ci-scenario --> ci-test-s3
release-tests --> ci-release-tests

Test case naming is more intuitive 😃


Auto sorting to analysis tree

My Auto loading of the TGRSIRunInfo may have broken the -a command on a Midas file. I'll see if I can figure out the problem. -a still works on a fragment tree.

Jumped the gun, it was a problem with my file.


Allow Binding To A Package and Supply Parameters

Packages can have parameters (see #96) that allow users to pass in common values to all actions/feeds defined within the package. To take advantage of this, users often have to create a binding to that package with the parameters that they want to send: https://github.com/apache/incubator-openwhisk/blob/master/docs/packages.md#creating-and-using-package-bindings
As noted in #96, this could allow someone to bind database credentials to a package that interacts with that database. The binding creates an instance of that package with the parameters defined. When the actions in a package are referenced through this binding, they receive the values defined by the binding.

If not considered, it would be desirable that the bindings should support both --param and --param-file: https://github.com/apache/incubator-openwhisk/blob/master/docs/parameters.md#working-with-parameter-files


[Feat]:  Add to cart button not functioning properly

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
The "Add to Cart" button for products is currently non-functional, preventing users from adding selected items to their shopping cart.
Steps to Reproduce:
Navigate to the product page of any item.
Click on the "Add to Cart" button.
Observe that the item does not appear in the shopping cart.
Use Case
The "Add to Cart" feature enhances the project by providing a seamless shopping experience, allowing users to easily compile and manage their selected products. This functionality increases user engagement and satisfaction, potentially leading to higher conversion rates and repeat visits. Additionally, it facilitates better inventory management and supports promotional campaigns.
Benefits
No response
Priority
High
Agreements

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC contributor
[X] I'm a Hacktoberfest contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

@Tejashri-Taral please assign me this issue

@Tejashri-Taral please assign me this issue

I would like to work on this issue. Could you please assign me this task

Proceed!


Improve update-check

If a new version is available we currently get:
Current version: deep-j-development-671d632
Latest version: v2.2.0
There is a newer version of cn available. Download it here: https://github.com/ceph/cn/releases/tag/v2.2.0

Additionally, it'll be nice to have something like:
Download it with: 'curl -L https://github.com/ceph/cn/releases/download/v2.2.0/cn-v2.2.0-darwin-amd64 -o cn && chmod +x cn && mv cn /usr/local/bin/'

Instead of Download it here: https://github.com/ceph/cn/releases/tag/v2.2.0.
Depending on the platform we are running on we make the right suggestion.

@deep-j :)


Migrate rate limit tutorials to use blueprint

A couple of tutorials use raw policies instead of using blueprints.
Please migrate these to use static rate limiting blueprint --

https://docs.fluxninja.com/development/tutorials/integrations/flow-control/rate-limiting/static-rate-limiting
https://docs.fluxninja.com/development/tutorials/integrations/flow-control/classification/graphql-rate-limiting

Please look at recent updates to Concurrency Limits tutorial to see how we show the values.yaml and jsonnet mixin tabs as well as the final policy that is generated.
Bonus -- Please see if we can add rate limiting dashboard screenshot if it is not too much work. Can skip this if there are other important items.

https://github.com/fluxninja/aperture/pull/1303, https://github.com/fluxninja/aperture/pull/1339 .. this 2 PR closes the issue


Add "txid" and "txparent" to messages

Propagate the batch_pin transaction ID onto the message when the batch is assembled (sender) or when it is persisted (receiver), as a new txid field.
For token transfers and approvals that come with a message, store the token_transfer or token_approval transaction details on the message up-front, as a new txparent field.

Codecov Report

Merging #1163 (76288b5) into main (15d5c76) will decrease coverage by 0.05%.
The diff coverage is 84.61%.

@@            Coverage Diff             @@
##             main    #1163      +/-   ##
==========================================
- Coverage   99.98%   99.94%   -0.05%
==========================================
  Files         305      305
  Lines       19964    20007      +43
==========================================
+ Hits        19962    19995      +33
- Misses          2        8       +6
- Partials        0        4       +4

Impacted Files
Coverage Δ

internal/database/sqlcommon/message_sql.go
98.00% <63.63%> (-2.00%)
:arrow_down:

internal/assets/token_approval.go
100.00% <100.00%> (ø)

internal/assets/token_transfer.go
100.00% <100.00%> (ø)

internal/batch/batch_processor.go
100.00% <100.00%> (ø)

internal/events/aggregator.go
100.00% <100.00%> (ø)

internal/events/persist_batch.go
100.00% <100.00%> (ø)

pkg/core/message.go
100.00% <100.00%> (ø)

internal/apiserver/server.go
99.08% <0.00%> (-0.92%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


maxRate/clientMaxRate should be able to be float?

Right now maxRate/clientMaxRate are all integers, which can only be as small as 1 request per second. Wish it can be by minute scale (should be useful for clientMaxRate).

It works, you can give following configuration "github.com/alnyli07/krakend-ratelimit/juju/router": {                     "clientMaxRate": 0.183,                     "capacity": 1,                     "strategy": "header",                     "key": "x-test"                 }

I think you found an inconsistency in the juju ratelimiter: the proxy package accepts floats but the router goes with integers
https://github.com/devopsfaith/krakend-ratelimit/blob/master/juju/proxy/proxy.go#L51-L54
https://github.com/devopsfaith/krakend-ratelimit/blob/master/juju/router/router.go#L34-L39

Is there a chance it could be added to the router level rate limiter? We do have a use case in which we want to restrict users to make x requests per minute/hour.

@yanivshiloah thanks for the heads up! We totally forgot about the branch with the fix and a minor improvement
Cheers!

WOW Great!! thanks a lot!

Hey, I don't quite understand how to use this. Say I want to allow only 60 requests per hour per IP address, how can I do this?

check the documentation: https://www.krakend.io/docs/endpoints/rate-limit/#client-rate-limiting-client_max_rate
TLDR; this will do. You can fine tune the capacity and customize how to extract the client ip
            "extra_config":{
                "qos/ratelimit/router": {
                    "client_max_rate": 0.0167,
                    "client_capacity": 60,
                    "strategy":"ip"
                }
            }

Thanks a lot, I have no idea how I missed the client_capacity part 😂


Set trailingcomma's to ES5

Since prettier changed their default setting to all instead of es5, we have to specify es5 now.
See: https://prettier.io/docs/en/options.html#trailing-commas

This happened a while ago, and some projects have already been updated using this setting i.e.: https://github.com/leukeleu/at-frontend/commit/0c889a5535abaedd239eabea23e7c7ebf7794f2f
Browser support for trailing commas everywhere seems to be generally available since ~2017 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas#browser_compatibility).
I'm going with a -1 on this (just run prettier on projects to autofix the formatting)

We actually went through this before, where I proposed setting it to ES5 and at the time the rule was removed from our config because it was the default.  Before that, the config specified "all" and after that prettier was updated to default to "all".

Is going with all really going to give us trouble? I like trailing commas 😄


Add Alibaba cloud Bailian index intergration

Description
Alibaba cloud Bailian (Dashscope) is a platform for developing LLM based applications including RAG. We add a set of LlamaIndex intergrations including Parse, Node Parser, Index&Retriever for our platform.
Fixes # (issue)
New Package?
Did I fill in the tool.llamahub section in the pyproject.toml and provide a detailed README.md for my new integration or package?

[x] Yes
[ ] No

Version Bump?
Did I bump the version in the pyproject.toml file of the package I am updating? (Except for the llama-index-core package)

[x] Yes
[ ] No

Type of Change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Added new unit/integration tests
[ ] Added new notebook (that tests end-to-end)
[ ] I stared at the code and made sure it makes sense

Suggested Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have added Google Colab support for the newly added notebooks.
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I ran make format; make lint to appease the lint gods

Can anyone review my PR? I've been waiting for 2 weeks. @logan-markewich @nerdai

Anyone can review my PR? Or tell me why my PR can't get reviewed. @logan-markewich @sourabhdesai @Disiok @EmanuelCampos

Its been one week, and its been busy to review such a large PR 😅

Just a few minor comments.
Also, up to you, but it's probably worth writing some unit tests? Some of these integrations are pretty complicated

Since the test need API key on DashScope Cloud, we are unable to put it in unit tests publicly. We test it locally before commit.

I added BUILD files to fix tailor failures.


Change DOB format from mm/dd/yyyy to yyyy/mm/dd.

Needed for Plan VI project; won't affect US locale.

@shabiel can the import tolerate either format? if so i'd like to see some of them not have the reversed date format.

I think that would also prove that the US locale isn't affected either.

Yes. This format should work everywhere. There are two other ones that will
also work everywhere but they spell the English month names which I don't
want.
On Fri, Nov 30, 2018 at 2:56 PM Christopher Edwards <
<EMAIL_ADDRESS>wrote:

I think that would also prove that the US locale isn't affected either.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/OSEHRA/VistA/pull/14#issuecomment-443321045, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABEtwuaiFqAQf_Mv1PqO3swtzKNEnmnvks5u0Y1PgaJpZM4Y8Ki2
.


Performance: The first request to pull home page takes 7s+ on my laptop

This needs to be addressed.
Part of #40

Reserved with new store


Desktop API to send large (1 MB+) payloads to Javascript

The eval method for sending data to JavaScript cannot handle large payloads. In the following example, it freezes both the WebView and the backend when the payload exceeds 100k elements in debug mode, and 1M elements in release mode (on Windows 11, Git rev 53343bf).
use dioxus::prelude::*;

#[component]
fn Eval() -> Element {
    let mut payload_size = use_signal(|| 100usize);

    let received_size = use_resource(move || async move {
        let handler = eval(
            r#"
                console.time('recv');
                let msg = await dioxus.recv();
                console.timeEnd('recv');
                return msg.length;
            "#,
        )
        .unwrap();

        handler.send(vec![0u8; payload_size()].into()).unwrap();

        handler.await.unwrap().as_i64().unwrap()
    });

    rsx! {
        input {
            r#type: "number",
            value: "{payload_size}",
            oninput: move |ev| payload_size.set(ev.value().parse().unwrap_or(0))
        }
        h1 { "Received {received_size.read():?}" }
    }
}

fn main() {
    launch(Eval)
}

Since eval is not intended for large payloads/byte buffers, an alternative API supporting fast Rust->JS buffer transfers would be helpful. The API could look something like this:
let socket = use_binary_socket(r#"
    // defines the onmessage handler when the socket is created
    let ctx = document.getElementById("my-canvas").getContext("2d");
    let img = new ImageData(new Uint8ClampedArray(ev.data), 1000, 1000);
    ctx.putImageData(img, 0, 0);
"#);

socket.send(vec![0u8; 4_000_000]);

Also, the risks of using eval should be communicated in documentation and/or with runtime warnings for payloads exceeding some size threshold.

We would really appreciate this feature if it became available. Being able to pipe pixel buffers in opens dioxus up to a whole heap of opportunities for our commercial applications.

You can send large chunks of binary data from rust to javascript with the custom asset handler added in https://github.com/DioxusLabs/dioxus/pull/1719

I think this issue can be closed now. At the time it was created, asset handlers which included non-trivial processing time (e.g. reading a WGPU render buffer and encoding it for display in an img element) would cause other DOM edits to be applied in reverse order if the handler was called too frequently, which is what motivated trying eval and then finding that it also broke things.
That edit order bug with asset handlers doesn't happen in 0.5.1. The framerate of updates is still too low, but for now I think that's from my sub-optimal usage of the asset handler, so another solution for byte-buffer transfers probably isn't needed.

@thorn132 Thank you for the comment and update. This was very helpful


Propagate GITHUB_TOKEN to forkliftci

See https://github.com/kubev2v/forkliftci/pull/47

Codecov Report
Base: 33.94% // Head: 33.94% // No change to project coverage :thumbsup:

Coverage data is based on head (626eb8f) compared to base (b28af66).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #93   +/-   ##
=======================================
  Coverage   33.94%   33.94%
=======================================
  Files          42       42
  Lines        8077     8077
=======================================
  Hits         2742     2742
  Misses       5118     5118
  Partials      217      217

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Copyright owner

Hello!
I am packaging this opencontainers/specs for Debian and I would like to know who is the copyright owner.
It would be a good idea to mention it somewhere.
I noticed that Michael Crosby<EMAIL_ADDRESS>was the one to commit the license.
See: https://github.com/opencontainers/specs/commit/84707b0843db72c7ef4fe476f2bf641b3dac664c
Is he the copyright owner?
//cc @crosbymichael
Thanks,

On Thu, Sep 03, 2015 at 03:36:23PM -0700, Alexandre Viau wrote:

I am packaging this opencontainers/specs for Debian and I would like
to know who is the copyright owner.

The Developer Certificate of Origin 1 sets things up so that either
contributors still own the copyright for their contribution (under
clause (a)) or they're pulling their contribution from somewhere else
that licenses it appropriately (under clause (b)).  Clause (c) is for
maintainers and other folks in the patch-submission process who each
add their own Signed-off-by clause.  So that means we don't really
know who owns the copyright, and should probably say something like
“The OCI and associated contributors”.
Cheers,
Trevor
--
This email may be signed or encrypted with GnuPG (http://www.gnupg.org).
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy

On Thu, Sep 03, 2015 at 03:54:02PM -0700, W. Trevor King wrote:

So that means we don't really know who owns the copyright, and
should probably say something like “The OCI and associated
contributors”.

But this is just my 2¢.  I'm neither a lawyer nor an OCI member ;).
Cheers,
Trevor
--
This email may be signed or encrypted with GnuPG (http://www.gnupg.org).
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy

@aviau Copyright is found towards the bottom of the apache license on this line:
https://github.com/opencontainers/specs/blob/master/LICENSE#L179
Let me know if this is the information you were looking for or if you need to know more about how the DCO comes into play.
Thanks!
@wking general rule, if you don't know the answer to something, most of the time its better to say nothing than say something wrong and write a disclaimer afterwards.

On Thu, Sep 03, 2015 at 05:22:27PM -0700, Michael Crosby wrote:

@aviau Copyright is found towards the bottom of the apache license on this line:
https://github.com/opencontainers/specs/blob/master/LICENSE#L179

And for folks like me who have seen the DCO frequently, but not had
much experience with the Apache License, the copy-right-assignment
clause is 1.  I guess that means no copy/pasting code from other
projects unless you also have the power to assign copyright for the
code in question ;).

@wking general rule, if you don't know the answer to something, most
of the time its better to say nothing than say something wrong and
write a disclaimer afterwards.

Sorry, I'd intended to make the disclaimer part of the original
comment, but hit send too fast :/.  Hopefully the lag was small enough
to not cause too much uncertainty.

On Thu, Sep 03, 2015 at 07:00:59PM -0700, W. Trevor King wrote:

And for folks like me who have seen the DCO frequently, but not had
much experience with the Apache License, the copy-right-assignment
clause is 1.
…
1: https://github.com/opencontainers/specs/blob/bf52e72391ab34ef8af7afdfb308f0d5beb7c111/LICENSE#L67-L72

Ah, more hasty reading on my part :/.  Going back through more
carefully, that section is “Grant of Copyright License” not “Grant of
Copyright”.  That means that the original author still holds copyright
(if the contribution was copyrightable at all 1).  See also, 2:
Though committers retain copyright, Apache asks that they do not add
copyright statements
And 3:
Since contributors maintain their copyright ownership in the works
they submit, it is misleading to place the ASF copyright at the top
of each source file.  The previous ASF copyright notice represented
the ASF's ownership in the collective work of the entire
distribution, but placing it at the top of each source file was
causing a lot of confusion.  To avoid this confusion, we are placing
all copyright notices in a single file and leaving only the
licensing information within each source file.
So my current guess is that the LF holds “ownership in the collective
work” (whatever that means.  Maybe it means “list them in the Debian
package” ;), while the copyright for contributions is still owned by
the contributors themselves (DOC.a) or someone else that licensed the
contributor to submit the contribution here (DOC.b).  And that's
pretty much what I said in my original post 4.
Also note the caveat at the end of the Apache FAQ 5:
Does this policy apply to projects outside the ASF that use the
Apache License?
No. This is strictly an ASF policy. Other projects using the Apache
License should still refer to the license's appendix for guidance on
applying a header to their source files.
So there's some wiggle room if the LF doesn't agree with Apache's
interpretation.

@crosbymichael

Let me know if this is the information you were looking for

Absolutely! I should have noticed. Thank you.


Documentation

Installation
How does it work
Examples

Possibly I have to start with one @geohacker and then keep updating the docs as changes are made :memo: .

[ ] Inline code comments


How to debug custom loss function?

I know about 2 things needed to debug tensorflow in eager mode:

add run_eagerly=True when compiling model
add tf.config.run_functions_eagerly(True) line

Neither is working when it comes to debugging custom loss function. I used simple MNIST example to recreate the issue:
import tensorflow as tf
import tensorflow_datasets as tfds

tf.config.run_functions_eagerly(True)  # does not help

(ds_train, ds_test), ds_info = tfds.load(
    'mnist',
    split=['train', 'test'],
    shuffle_files=True,
    as_supervised=True,
    with_info=True,
)

def normalize_img(image, label):
  """Normalizes images: `uint8` -> `float32`."""
  return tf.cast(image, tf.float32) / 255., label

def custom_loss(y_true, y_pred):
    stop = 1   # BREAKPOINT HERE NOT WORKING!

ds_train = ds_train.map(
    normalize_img, num_parallel_calls=tf.data.AUTOTUNE)
ds_train = ds_train.cache()
ds_train = ds_train.shuffle(ds_info.splits['train'].num_examples)
ds_train = ds_train.batch(128)
ds_train = ds_train.prefetch(tf.data.AUTOTUNE)

ds_test = ds_test.map(
    normalize_img, num_parallel_calls=tf.data.AUTOTUNE)
ds_test = ds_test.batch(128)
ds_test = ds_test.cache()
ds_test = ds_test.prefetch(tf.data.AUTOTUNE)

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dense(10)
])
model.compile(
    optimizer=tf.keras.optimizers.Adam(0.001),
    # loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    loss=custom_loss,
    metrics=[tf.keras.metrics.SparseCategoricalAccuracy()],
    run_eagerly=True,       # does not help either
)

model.fit(
    ds_train,
    epochs=6,
    validation_data=ds_test,
)

Hi @dankal444 ! 2.x versions run eagerly by default and loss function has to be a differential one.  Above code was working after replacing custom loss with this code snippet. You can know more about  creating custom loss from here. Thank you!
def custom_loss(y_true, y_pred):
    y_true = tf.cast(y_true,tf.float32)
    y_pred = tf.cast(y_pred,tf.float32)
    squared_difference = tf.square(y_true - y_pred)
    return tf.reduce_mean(squared_difference, axis=-1)  # Note the `axis=-1`

Hi @mohantym this is not a question about this specific toy example. As you can see custom loss computation is empty, intentionally. I just want the debugger to stop there so it much easier to implement the loss.

@dankal444 ! I have tried to catch the bug using try catch block and tf.print() . Attaching updated gist for reference. Thanks!

@mohantym What is this gist for? What it has to do with debugging I issue here?

@dankal444 ! I thought your query was on debugging custom loss function. I understand you wanted  to stop at loss function instead of throwing exception.  Please post on  TF Forum on further assistance. Thank you!

@mohantym

I thought your query was on debugging custom loss function

yes

I understand you wanted to stop at loss function instead of throwing exception

yes

I updated gist accordingly to debug loss function

but if you set breakpoint in the loss function it does not work. As I have wrote "I just want the debugger to stop there so it is much easier to implement the loss, try some things, fix shapes, etc."

@dankal444 When you run model.fit, it creates a graph and I think TF/keras inspects it. In the case where there is nothing returning from a custom loss function (which is must for a model and should be differentiable), it is throwing an error. I am not exactly sure how to make the breakpoint approach to work but this is not a technically a bug. Thanks!
Here is a gist for our reference. If you want to contribute, please feel free to submit any PR to update the code. Thanks!

So, TLDR: you can't..
But there is a workaround - overwriting train_step function:
https://keras.io/guides/customizing_what_happens_in_fit/
You can debug there.
Note that not everything that works in eager mode will work in no-eager mode. Had to struggle with many not-supported things


write then_* comments

Current dependencies on/for this PR:

main

PR #1158   👈

This stack of pull requests is managed by Graphite.

Copy-edit changes are welcome, but agreed they are out-of-scope for this PR.
The text comes from the documentation on the corresponding Rust function.


Inconsistency between SetHoldings(symbol,0) and Liquidate(symbol) for Crypto-Currencies

Expected Behavior
The two methods should probably be functionally equivalent, which one is "correct" is still to be decided.
Actual Behavior
The two methods behave differently when starting the algorithm with existing holdings for the symbol:

Liquidate("BTCUSD") -- liquidates only holdings bought since the algorithm was started, not counting initial holdings
SetHoldings("BTCUSD", 0) -- liquidates totally, leaving cashbook for BTC empty

Potential Solution
This issue is open for discussion.
Reproducing the Problem
The issue can be easily reproduced by manually testing the two statements above and adding this line in Initialize:
SetCash("BTC", 1m, 0m);

System Information
n/a
Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues
[x] I have provided detailed steps to reproduce the issue

Debate is whether we should design LEAN towards:

Virtual Positions are the main focus of the portfolio (as it is now). This standardizes the behavior of other asset classes with crypto-cash-modeling; but means the cashbook (used for order buying power) and the virtual positions can get out of sync resulting in weird states.

Making cash modelled virtual positions purely pass throughs to the cashbook and fictional. So summing them could actually look like we have more than we do: 1 BTC, 1 LTC and 1 USD would give us virtual positions from:
   Portfolio["BTCUSD"], Portfolio["LTCBTC"], Portfolio["LTCUSD"],

Liquidate() simply sells the virtual holdings... so if have never made a trade it won't do anything.
SetHoldings(0) now uses the cash buying power model to figure out the cash book coins available....
Additionally, liquidate to what currency? For now we should implement to Cashbook.AccountCurrency (USD) --> so all crypto holdings should be sold off into USD? We might need to do full non-USD-base-currency support to implement it nicely (https://github.com/QuantConnect/Lean/issues/110).
Personally I lean towards making number 1 work as it'll be the closer to the other asset classes. I see the current cash-only trading on Crypto as a temporary restriction due to newness of crypto. Odds are they will move to offering same features of traditional forex-brokerages (margin, virtual positions).

I tried to do "Cashbook.AccountCurrency to ETH", and lots of Unit test have failed, so for now I have it at USD. I could help with making Lean support ETH, since I would prefer it.

The two methods behave differently when starting the algorithm with existing holdings for the symbol:
Liquidate("BTCUSD") -- liquidates only holdings bought since the algorithm was started, not counting initial holdings
SetHoldings("BTCUSD", 0) -- liquidates totally, leaving cashbook for BTC empty

This behavior is no longer happening and we currently fully support initial virtual holdings for live trading for crypto.


docs: render takes an object of props

With the former syntax I was doing component.render(fields, rows) but in fact I needed to do .render({fields, rows}). Not sure which is intended, but this PR at least updates the docs to reflect that.

The foo([bar]) syntax in the docs is to signal that the arguments are optional. Not sure we're doing a good job at it, but think it's like a convention. Should probs also mention it in the text hmmm

Oh yeah... I thought it was the one with additional args. May have just been early in the morning.


Or what other test do we still want?


SqlAzure does not support sys.sp_addextendedproperty

A SQL Azure database does not support a number of things that are available in SQL Server 2012, such as sys.sp_addextendedproperty which means that WithColumnDescription() fails when applied to a SQL Azure database, although it works perfectly fine when applied to a SQL Server 2012 database.

I'll close this issue because not enough reasons to create a sqlazure provider atm


Invoke "ninja" instead of "ninja clang"

For testing I had restricted the build only to clang. Now that the testing is
done we can switch to the full llvm builds.

This is a trivial change and I will go ahead and merge it.


Could not locate .NET Core project in F# project

Issue Description
When running in directory of F# Project (*.fsproj), running ".NET: Generate Assets for Build and Debug" produces: "Could not locate .NET Core project. Assets were not generated."
Steps to Reproduce
On Linux with .NET 6.0 SDK installed, run the following command to create a F# project with a solution file.
dotnet new console -lang F# -o FSharpProject
cd FSharpProject/
dotnet new sln
dotnet sln add .
code .

In VS Code, run ".NET: Generate Assets for Build and Debug" from Command Palette.
Expected Behavior
The config for Debug generated in .vscode/tasks.json and .vscode/launch.json so that "Ionide for F#" plugin can debug the F# project.
Actual Behavior
An error message appeared: "Could not locate .NET Core project. Assets were not generated."
F# plugin relies on OmniSharp plugin's assets to debug F# apps, but it seems OmniSharp refuses to generate them in F# project directory.
Logs
OmniSharp log

Starting OmniSharp server at 2022/7/11 19:16:29
    Target: /home//FSharpProject/FSharpProject.sln
OmniSharp server started with .NET 6.0.301
.
Path: /home//.vscode/extensions/ms-dotnettools.csharp-1.25.0-linux-x64/.omnisharp/1.39.0-net6.0/OmniSharp.dll
PID: 61734
    Starting OmniSharp on Unknown 0.0 (Unknown)

    Checking the 'DOTNET_ROOT' environment variable to find a .NET SDK

    Using the 'dotnet' on the PATH.

    DotNetPath set to dotnet

    Located 1 MSBuild instance(s)
        1: .NET Core SDK 6.0.301 17.2.0 - "/usr/share/dotnet/sdk/6.0.301/"

    Registered MSBuild instance: .NET Core SDK 6.0.301 17.2.0 - "/usr/share/dotnet/sdk/6.0.301/"

    Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpFormattingWorkspaceOptionsProvider, Order: 0

    Detecting projects in '/home/<username>/FSharpProject/FSharpProject.sln'.

    Detecting CSX files in '/home/<username>/FSharpProject'.

    Did not find any CSX files

    Configuration finished.

    Omnisharp server running using Stdio at location '/home/<username>/FSharpProject' on host 61439.

C# log
No content
Environment information
VSCode version: 1.69.0
C# Extension: 1.25.0
Ionide for F#: 6.0.6
Mono Information
        OmniSharp using mono :6.8.0
Dotnet Information
.NET SDK:
 Version:   6.0.301
 Commit:    43f9b18481
Runtime Environment:
OS Name:     ubuntu
OS Version:  22.04
OS Platform: Linux
RID:         ubuntu.22.04-x64
Base Path:   /usr/share/dotnet/sdk/6.0.301/
Host (useful for support):
Version: 6.0.6
Commit:  7cca709db2
.NET SDKs installed:
6.0.301 [/usr/share/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.6 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.6 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET runtimes or SDKs:
https://aka.ms/dotnet-download

Any updates? Please let me know.

This extension does not support F# development. Seems like the presence of a .sln file activated us unintentionally.


Fix link to twine pypi page

Fixes and closes https://github.com/pypa/warehouse/issues/7891

Thank you @deveshks!


SortedFolderEntries: Never initialize below 100

A user reported an issue when cloning a repo with no files (other than .gitignore and .gitattributes). This is recorded by #162.
The issue is that the ObjectPool throws an exception when given a pool size of 0, and we multiply the number of index entries by a double less than 1.0 and cast down to an int. This is easily fixed by adding a minimum pool size. This is verified with a simple unit test.

Does the LazyUTF8Pool or the BytePool need similar minimums?  There multipliers are greater than 1.0 so they wouldn't cause an error but might be good just to use a minimum on them as well?  Also thinking about this more and the expand might never increase if the pool is too small.

@derrickstolee Yeah that is much simpler.  Looks good.


[BUG] Team page

Description
The team page can have become better by adding on some features like:

[ ]  Adding a separate section for our team community in header, by adding a <\ hr >\ or giving it a slightly different colour to show the difference
[ ] In the meet the contributors section, the arrow cursor changes to the hand cursor but as a user it doesn't do anything on clicking which is expected and the view button can't be seen with the next horizontal cards section. I suggest to make the profile pictures clickable as expected and removing the view button, if view button is necessary though, it should be put in a card.

Screenshots
the team community in header section:

The contributors section:

Any additional information?
No response
What browser are you seeing the problem on?
Chrome
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I have read the discussion tab thoroughly and got the project idea
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

@Shweta200126 It is updated so make sure to sync before you work on this issue

Sure 😊


Version Update: Transmission.Transmission version 4.0.5

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Looks like it might be a dependency issue just like in the previous version. Same error in the logs. Not sure why though since the dependency has been declared in the manifest and installs without issue in Windows Sandbox.
InstallationVerification-x64-Scope_Undefined-Locale_Undefined-WinGet-Transmission.Transmission.4.0.5-2023-12-07-17-34-17.817.log
InstallationVerification-x86-Scope_Undefined-Locale_Undefined-WinGet-Transmission.Transmission.4.0.5-2023-12-07-17-35-06.513.log

Automatic Validation ended with:

Installation failed with exit code -1978335226
2023-12-07 17:34:20.067 [CLI ] ShellExecute installer failed: 1603 Property(S): ErrorDialog = ErrorDlg MSI (s) (C0:64) [17:34:19:825]: Product: Transmission 4.0.5 (a6fe2a64aa) (x64) -- Installation failed. MSI (s) (C0:64) [17:34:19:825]: Windows Installer installed the product. Product Name: Transmission 4.0.5 (a6fe2a64aa) (x64). Product Version: 4.0.5. Product Language: 1033. Manufacturer: Transmission Project. Installation success or error status: 1603.
2023-12-07 17:35:08.394 [CLI ] ShellExecute installer failed: 1603 MSI (s) (80:24) [17:35:08:290]: Product: Transmission 4.0.5 (a6fe2a64aa) -- Installation failed. MSI (s) (80:24) [17:35:08:290]: Windows Installer installed the product. Product Name: Transmission 4.0.5 (a6fe2a64aa). Product Version: 4.0.5. Product Language: 1033. Manufacturer: Transmission Project. Installation success or error status: 1603.

Not sure why though since the dependency has been declared in the manifest and installs without issue in Windows Sandbox.

This is an issue we are working to resolve.


CLI - add support for doc link in description

more details #2036 #2037. Link to the documentation was added to the code dom. The doc comment generation should be updated to include a link to the documentation for classes and methods

How should that present in the CLI? Also, because of package size, is it a good idea to split docs up into a different assembly that can be loaded when needed?

Kiota doesn't have an ability to split generation outcome to multiple assemblies today and it's not in the plans.
I'd be really curious to see "how big an impact" is a set of additional string constants for the help on the CLI size.
As per the doc comments, the CLI is already getting them for free from CSharp generation, but as we're building a console application I believe those are trimmed on a release build.

@calebkiage I don't believe having the link strings embedded in the binary is going to be a problem.  We just need to display the link in the help output.  Do you have any issues with that?

Hey @darrelmiller, I don't have any objections to it. We can explore package size issues when they become a serious problem.


Adds service name (closes #14)

Done similar to Nordstrom/ctrace-go#8

Coverage increased (+0.04%) to 97.706% when pulling 76cadf4ab3162c647bbcf97ff2a9a9077fa3d5fa on service-name into 0f7a82331f552355ab082829d85cc46a3cd20711 on master.

Coverage increased (+0.04%) to 97.706% when pulling 76cadf4ab3162c647bbcf97ff2a9a9077fa3d5fa on service-name into 0f7a82331f552355ab082829d85cc46a3cd20711 on master.

Also we need documentation.  You can either do it as part of this pr or create an issue to updated the docs.

Coverage increased (+0.04%) to 97.768% when pulling 957069001f1f8a02a65ba4b09767bb8aa5d41272 on service-name into 19c6366cc7379b6d8fa92ee91d1713d3fe5ddbd0 on master.

Coverage increased (+0.04%) to 97.768% when pulling 957069001f1f8a02a65ba4b09767bb8aa5d41272 on service-name into 19c6366cc7379b6d8fa92ee91d1713d3fe5ddbd0 on master.

Coverage increased (+0.04%) to 97.768% when pulling 957069001f1f8a02a65ba4b09767bb8aa5d41272 on service-name into 19c6366cc7379b6d8fa92ee91d1713d3fe5ddbd0 on master.


Switch to effect-agnostic Endpoint

This is quite huge PR related to #926 -, though I'm going to explain every big change, and there are a lot of them:

Endpoint[A] now is Endpoint[F[_], A] where F should have Effect type class
EndpointResult[A] now is EndpointResult[F[_], A]
All the built-in endpoints such as path, header, param and so on were reworked to respect F[_] type of Endpoint
Same with syntax endpoints to match methods: get, post etc
Same for iteratee streams and all related endpoints
Instead of io.finch._ customers are supposed to use io.finch.%effectName%._. By default there is the catsEffect object provided

More in PR

I think it'd be better to split it into different commits making a review easier.
@vkostyukov what do you think?

@sergeykolbasov Whoa this is huge! Both in terms of a footprint and the impact!
I'm surely glad seeing us making the first steps and excited to review this!
I, however, might be a little slow on reviews as I got flu yesterday but I will start leaving my feedback as I feel any better.
Let's keep it as a giant review for now and work through the big picture first. I'm personally fine if we just merge that as a big PR - this should go into its own branch anyway (not master).

@vkostyukov I've updated to latest cats & cats-effect and fixed some of the previous comments.

Hey @sergeykolbasov! I'm going to get another look tonight. Any chance you can rebase? Also, looks like there 1.0 release for cats-effect - we should probably update the dependency.

@vkostyukov sure, I just came back. Going to take care of it this week

Hey @sergeykolbasov! I'm going to take another closer look today. I think I'm convinced Module[IO] is a reasonable way for us to adopt cats-effect. In my head something like this reads nicely:
class Main extends App with io.finch.Module[IO] {

}

I hope that works given Module has to be a an abstract class.
I want to spend some time to understand the workaround you had to use for NotMatched. After that I feel like we can focus on polishing the smaller bits and asking more people to review.
I'm going to cut a 0.24 release today so the new effect endpoints could end up in 0.25.

@vkostyukov
Okay, so what I did is to move all the built-in stuff we have under the EndpointBuilder.
It's much better now as I removed all the duplicating code for endpoint functions with F[_] type and without, but it's still possible to use Module approach and builder one. I.e.:
Endpoint[IO].get(Endpoint[IO].path("foo")) { Ok("bar" }

//or

import io.finch.catsEffect._
get("foo") { Ok("bar") }

//or

object App extends io.finch.Module[IO] {
  get("foo") { Ok("bar") }
}

Ah, also removed Pure thingy.

Now I'd like to run benchmarks and scratch my head over some small optimizations like having constant emptyOutput and stuff

@vkostyukov Sounds good, but I still want to run benchmarks first 😄

I'm personally not too worried about performance just yet. We can track down any regression down the road.

Future can't be expressed in terms of Effect
ugh, right. We'll probably have to provide something (at least in the short term) using Rerunnable and Arrow then.

@vkostyukov @rpless
Benchmark results:
https://gist.github.com/sergeykolbasov/a0bbb20777fdf6da371a28ce707a08e3
Looks quite promising 😄

@sergeykolbasov Wow looks great so far!
And the with Twitter Futures is Finch in master?
I'm copying the product benchmark results here for better discoverability (the improvement reminds me what we got with Arrows):
Before:
[info] ProductBenchmark.bothMatched                                                 avgt   10    1058.658 ±    78.951   ns/op
[info] ProductBenchmark.bothMatched:·gc.alloc.rate.norm                             avgt   10    1472.000 ±     0.001    B/op
[info] ProductBenchmark.leftMatched                                                 avgt   10      30.222 ±     1.718   ns/op
[info] ProductBenchmark.leftMatched:·gc.alloc.rate.norm                             avgt   10      80.000 ±     0.001    B/op
[info] ProductBenchmark.rightMatched                                                avgt   10       5.572 ±     0.408   ns/op
[info] ProductBenchmark.rightMatched:·gc.alloc.rate.norm                            avgt   10      ≈ 10⁻⁶                B/op

After:
[info] ProductBenchmark.bothMatched                                                 avgt   10     272.480 ±    11.060   ns/op
[info] ProductBenchmark.bothMatched:·gc.alloc.rate.norm                             avgt   10     720.000 ±     0.001    B/op
[info] ProductBenchmark.leftMatched                                                 avgt   10      31.837 ±     0.571   ns/op
[info] ProductBenchmark.leftMatched:·gc.alloc.rate.norm                             avgt   10      80.000 ±     0.001    B/op
[info] ProductBenchmark.rightMatched                                                avgt   10       6.055 ±     0.168   ns/op
[info] ProductBenchmark.rightMatched:·gc.alloc.rate.norm                            avgt   10      ≈ 10⁻⁶                B/op

@vkostyukov yes, it's the master branch I compared with
*slaps the roof of the PR*
should I push this bad guy into separate branch?

I think we can declare a victory and just squash-and-merge it into an cats-effect branch. Unless there is anything else you wanted to clean up - just let me know.

@vkostyukov done

Folks this is awesome.
Let me know if you need help with anything. You can contact us on the Gitter channel, or me in private (usually with a high latency, but I get back).

@alexandru Sure thing, thanks for the support! 😄


[Bug]: App development don't work starter

Please confirm that you have:

[X] Searched existing issues to see if your issue is a duplicate. (If you’ve found a duplicate issue, feel free to add additional information in a comment on it.)
[X] Reproduced the issue in the latest CLI version.

In which of these areas are you experiencing a problem?
App
Expected behavior
Following https://shopify.dev/apps/getting-started/create when start ngrok server with npm run dev, sharable app url doesn't work
Actual behavior

Stack trace
No response
Reproduction steps

follow the guide

Operating System
MacOS M1
Shopify CLI version (check your project's package.json if you're not sure)
"@shopify/app": "3.39.0",     "@shopify/cli": "3.39.0"
Shell
bash
Node version (run node -v if you're not sure)
v16.3.0
What language and version are you using in your application?
Node v16.3.0

Hi there, I'm afraid there is not enough information for me to debug this issue. Could you try following the tutorial here https://ngrok.com/docs/getting-started and checking if you can create an ngrok tunnel?

I found the problem! Every time that is run the dev script will change the ngrok tunnel.
Please write in doc that need ro change the url in the app configuration in Shopify partner dashboard to help new user to know about.
Updating here the app work well in development!


Running cron job every 1 minute

I wanted to setup a Cron job to trigger a https endpoint , but I can't seem to figure out how to do it using google compute engine and the cost estimation.

I would suggest using Cloud Scheduler with an HTTP endpoint: https://cloud.google.com/scheduler/docs/creating


Failed to write control cmds: Broken pipe (os error 32)

Describe the bug
After a couple of time this error occurs suddenly
To Reproduce
wait.
A Client restart will fix this issue.
Configuration
Configuration used to reproduce the behavior:
Server
# server.toml
[server]
bind_addr = "<IP_ADDRESS>:2333" # `2333` specifies the port that rathole listens for clients
default_token = "xxx" # Must be the same with the server to pass the validation

[server.services.xxx_udp]
bind_addr = "<IP_ADDRESS>:28914" # The address of the service that needs to be forwarded
type = "udp"

[server.services.xxx_tcp]
bind_addr = "<IP_ADDRESS>:28914" # The address of the service that needs to be forwarded
type = "tcp"

Client
# client.toml
[client]
remote_addr = "xxx:2333" # The address of the server. The port must be the same with the port in `server.bind_addr`
default_token = "xxx" # Must be the same with the server to pass the validation

[client.services.xxx_udp]
local_addr = "xxx:28967" # The address of the service that needs to be forwarded
type = "udp"

[client.services.xxx_tcp]
local_addr = "xxx:28967" # The address of the service that needs to be forwarded
type = "tcp"

Logs
server:
Mar 28 05:09:47 xxx.host rathole[2802300]: Mar 28 05:09:47.076 ERROR connection{addr=x.x.x.x:47474}:handle{service=xxx_tcp}:run: rathole::server: Failed to write control cmds: Broken pipe (os error 32)
Mar 28 05:09:47 xxx.host rathole[2802300]: Mar 28 05:09:47.076  INFO connection{addr=x.x.x.x:47474}:handle{service=xxx_tcp}:run: rathole::server: Control channel shutdown
Mar 28 05:09:47 xxx.host rathole[2802300]: Mar 28 05:09:47.731  INFO connection{addr=x.x.x.x:47474}:handle{service=xxx_tcp}:run_tcp_connection_pool: rathole::server: TCPListener shutdown
Mar 28 05:09:49 xxx.host rathole[2802300]: Mar 28 05:09:49.103 ERROR connection{addr=x.x.x.x:47472}:handle{service=xxx_udp}:run: rathole::server: Failed to write control cmds: Broken pipe (os error 32)
Mar 28 05:09:49 xxx.host rathole[2802300]: Mar 28 05:09:49.103  INFO connection{addr=x.x.x.x:47472}:handle{service=xxx_udp}:run: rathole::server: Control channel shutdown

client
Mar 28 09:08:49.171 DEBUG handle{service=xxx_udp}:run: rathole::client: Received HeartBeat
Mar 28 09:09:09.634  WARN handle{service=xxx_tcp}:run: rathole::client: Heartbeat timed out
Mar 28 09:09:09.634  INFO handle{service=xxx_tcp}:run: rathole::client: Control channel shutdown
Mar 28 09:09:18.091 DEBUG handle{service=xxx_tcp}:run:run_data_channel_for_tcp{local_addr="xxx:28967"}: rathole::client: New data channel starts forwarding
Mar 28 09:09:23.331 DEBUG handle{service=xxx_tcp}:run:run_data_channel_for_tcp{local_addr="xxx:28967"}: rathole::client: New data channel starts forwarding
Mar 28 09:09:25.497 DEBUG handle{service=xxx_tcp}:run:run_data_channel_for_tcp{local_addr="xxx:28967"}: rathole::client: New data channel starts forwarding
Mar 28 09:09:25.559 DEBUG handle{service=xxx_tcp}:run:run_data_channel_for_tcp{local_addr="xxx:28967"}: rathole::client: New data channel starts forwarding
Mar 28 09:09:25.619 DEBUG handle{service=xxx_tcp}:run:run_data_channel_for_tcp{local_addr="xxx:28967"}: rathole::client: New data channel starts forwarding
Mar 28 09:09:26.164 DEBUG handle{service=xxx_tcp}:run:run_data_channel_for_tcp{local_addr="xxx:28967"}: rathole::client: New data channel starts forwarding
Mar 28 09:09:28.799 DEBUG handle{service=xxx_tcp}:run:run_data_channel_for_tcp{local_addr="xxx:28967"}: rathole::client: New data channel starts forwarding
Mar 28 09:09:29.172  WARN handle{service=xxx_udp}:run: rathole::client: Heartbeat timed out
Mar 28 09:09:29.172  INFO handle{service=xxx_udp}:run: rathole::client: Control channel shutdown
Mar 28 09:09:34.394 DEBUG handle{service=xxx_tcp}:run:run_data_channel_for_tcp{local_addr="xxx:28967"}: rathole::client: New data channel starts forwarding
Mar 28 09:09:50.638 DEBUG run_udp_forwarder: rathole::client: Forwarder created
Mar 28 09:10:51.233 DEBUG run_udp_forwarder: rathole::client: Forwarder dropped
Mar 28 09:11:05.479 DEBUG run_udp_forwarder: rathole::client: Forwarder created
Mar 28 09:11:23.472 DEBUG run_udp_forwarder: rathole::client: Forwarder created
Mar 28 09:11:59.590 DEBUG run_udp_forwarder: rathole::client: Forwarder created
Mar 28 09:12:06.468 DEBUG run_udp_forwarder: rathole::client: Forwarder dropped
Mar 28 09:12:24.024 DEBUG run_udp_forwarder: rathole::client: Forwarder dropped
Mar 28 09:12:52.334 DEBUG run_udp_forwarder: rathole::client: Forwarder created
Mar 28 09:13:00.596 DEBUG run_udp_forwarder: rathole::client: Forwarder dropped
Mar 28 09:14:03.845 DEBUG run_udp_forwarder: rathole::client: Forwarder dropped
Mar 28 09:15:25.524 DEBUG run_udp_forwarder: rathole::client: Forwarder created
Mar 28 09:16:22.362 DEBUG run_udp_forwarder: rathole::client: Forwarder created
Mar 28 09:16:35.544 DEBUG run_udp_forwarder: rathole::client: Forwarder dropped
Mar 28 09:16:47.899 DEBUG run_udp_forwarder: rathole::client: Forwarder created
Mar 28 09:17:24.186 DEBUG run_udp_forwarder: rathole::client: Forwarder dropped
Mar 28 09:17:39.684 DEBUG run_udp_forwarder: rathole::client: Forwarder created
Mar 28 09:17:49.893 DEBUG run_udp_forwarder: rathole::client: Forwarder dropped

ignore time differecnes - different timezones
Environment:

OS: ubuntu 20.04
rathole --version output:

rathole
Build Timestamp:     2022-03-09T04:41:52.409645741+00:00
Build Version:       0.4.0
Commit SHA:          Some("952c4134c3e3e64fd0e479fa7327abb3e9bea0f3")
Commit Date:         Some("2022-03-09T04:34:45+00:00")
Commit Branch:       Some("detached HEAD")
cargo Target Triple: x86_64-unknown-linux-gnu
cargo Profile:       release
cargo Features:      base64,client,default,hot_reload,noise,notify,server,snowstorm,tls,tokio_native_tls

CPU architecture: x86_x64

Network loss can cause these errors and it's expected to recover by the client. Possibly dup of #145 and #143 ( issues in Chinese)
A fix has been made. Can you try https://github.com/rapiz1/rathole/actions/runs/2038127693 to see if it fix the issue?

are there any docker builds because my client is using docker....
Otherwise I'm waiting for the next official release.
Thanks for the quick response.

You can try docker now

Lgtm. Thank you


Stochastic RSI (division by zero)

I noticed that when the prices are the same for the previous and current candle in StochRSI, there is a Big division by zero issue. After debugging in, it looks like it's because the prev price is subtracting current, therefore the result is 0.
if (this.avgGain.isStable) {
    const relativeStrength = this.avgGain.getResult().div(this.avgLoss.getResult());
    return this.setResult(this.maxValue.minus(this.maxValue.div(relativeStrength.add(1))));
}

Line 35: node_modules/trading-signals/dist/RSI/RSI.js

Great catch! Thanks for reporting it to me.
I checked what other libraries are doing in this case and saw that defaulting to 100 seems to be reasonable (see here and here). I made a fix (https://github.com/bennycode/trading-signals/pull/379) and released it with trading-signals v3.2.1.
Please try out my fix and report back if it helps.

Thanks very much, by the way love your work so far.


Wrong description of PageBlobClient.OpenWriteAsync return value

[Enter feedback here]
Returns
Task
A stream to write to the Append Blob.
Should be Page Blob

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

ID: 76be5826-c677-4697-c39c-b5e149d11ab5
Version Independent ID: 23fb1dbf-e5d5-e22c-1490-de4e545127fc
Content: PageBlobClient.OpenWriteAsync(Boolean, Int64, PageBlobOpenWriteOptions, CancellationToken) Method (Azure.Storage.Blobs.Specialized) - Azure for .NET Developers
Content Source: xml/Azure.Storage.Blobs.Specialized/PageBlobClient.xml
Service: azure
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Thanks for submitting this issue, we will looking to correcting this as soon as we can. After it's corrected (The PR is merged) it will take some time for the Docs to get regenerated.


Bug/Edit Default Image

Title:
Edit the default image of profile slider replace image to first letter of user name.
Issue No.:
Close #108

Screenshots
When user created then user model will have default image of current username.

Checklist:

[X] I have mentioned the issue number in my Pull Request.

Additional context (Mandatory):
Are you contributing under any Open-source programme?

[X] I'm a GSSOC-EXT contributor
[X] I'm a HACKTOBERFEST contributor

Well Done @harshbhar0629, Can you give star to this repo?


Feature: Create a switch for accessing analytics of an app

abc app -a|--analytics --overview|--popularsearches|--noresults|--popularfilters|--popularresults|--geoip|--latency [ID|Appname]

There are six different kinds of analytics that can be accessed for an app.

[ ] Handle errors, only paid users can access analytics via token and API access.

Reference: https://documenter.getpostman.com/view/2848488/RW81vt5x#8dc72506-5bfa-4005-962d-d5455fd17009

PR ready for review https://github.com/appbaseio/abc/pull/119


Release notes

post Release notes
with version

encode that file original metadata possible?
{
"quality": "12kbps",
"url": "https://aac.saavncdn.com/091/0d3cfd6080a23f13ace1c38c3296e18f_12.mp4"
},
{
"quality": "48kbps",
"url": "https://aac.saavncdn.com/091/0d3cfd6080a23f13ace1c38c3296e18f_48.mp4"
},
{
"quality": "96kbps",
"url": "https://aac.saavncdn.com/091/0d3cfd6080a23f13ace1c38c3296e18f_96.mp4"
},
{
"quality": "160kbps",
"url": "https://aac.saavncdn.com/091/0d3cfd6080a23f13ace1c38c3296e18f_160.mp4"
},
{
"quality": "320kbps",
"url": "https://aac.saavncdn.com/091/0d3cfd6080a23f13ace1c38c3296e18f_320.mp4"
}

it would significantly slow down the api responses and therefore is out of the scope of this project

https://github.com/sumitkolhe/jiosaavn-api/releases/tag/v0.0.2 @sivasoft-cloud release notes will be added alongside new release here onwards

Done !


[Snyk] Upgrade @loopback/boot from 7.0.2 to 7.0.8

Snyk has created this PR to upgrade @loopback/boot from 7.0.2 to 7.0.8.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 6 versions ahead of your current version.

The recommended version was released on 23 days ago.

Issues fixed by the recommended upgrade:

Issue
Score
Exploit Maturity

Improper Input ValidationSNYK-JS-NANOID-8492085
300
No Known Exploit

Release notes

Package name: @loopback/boot

7.0.8 - 2024-11-18

7.0.7 - 2024-10-15<EMAIL_ADDRESS>

7.0.6 - 2024-09-12

7.0.5 - 2024-08-14

7.0.4 - 2024-07-09

7.0.3 - 2024-06-11

7.0.2 - 2024-05-17

    from @loopback/boot GitHub release notes

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
This PR was automatically created by Snyk using the credentials of a real user.
Max score is 1000. Note that the real score may have changed since the PR was raised.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:

🧐 View latest project report
📜 Customise PR templates
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

done in https://github.com/sourcefuse/loopback4-vault/pull/138


Sample project renders cells seemingly in the wrong position.

I have obtained and installed the addon regularly from the AssetLib. After I adjusted the settings of the sample project, the project was compiled without errors. The game starts with the StartingPoint scene, the player can be moved normally up to the exits.
The minimap also shows the change of the cell, but at the level borders the adjacent room does not appear as expected or the room appears in the wrong position, so that it is not possible to move across and the player falls down.
GD 4.2.1. / MetSys 1.1
Win 11
https://github.com/KoBeWi/Metroidvania-System/assets/134631577/23c1f12e-19fa-41fe-88d2-6587b96e1567
https://github.com/KoBeWi/Metroidvania-System/assets/134631577/964687cd-f0e8-40d4-860b-8e5317c0ee9b

Looks like your settings are misconfigured. If you want to play the sample project, you need to use its project.godot and the Settings.tres file in Resources folder

I have adjusted the path in "Resources/Settings.tres". But I have just noticed that the cell size is different. MetSysSettings.tres shows a cell size of 1152x648.

Make sure addons/metroidvania_system/settings_file points to the correct file.

That was exactly it, the window size was different, which is why MetSysSettings.tres contained different values.
Now, it works fine. Thank you very much! :-)

Maybe I should mention it in the README. You are not really supposed to launch the example project from AssetLib download, because it causes problems like this.

I have rewritten the Getting Started section in 8db49190145fb7e68e699e9205d0914e27713443. It has a paragraph about runnin the sample project.


dependency conflicts?

Install dependency for LSeg, openclip, openai chatgpt api and other dependencies.
cd <project_main_dir>
pip install -r requirements.txt

after I run this code , the terminal show the information"
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
typer 0.13.0 requires shellingham>=1.3.0, which is not installed.
torchaudio 2.0.2 requires torch==2.0.1, but you have torch 2.4.1 which is incompatible.
habitat 0.2.2 requires protobuf==3.20.1, but you have protobuf 3.20.0 which is incompatible.
Successfully installed Pillow-9.5.0 PyWavelets-1.4.1 aiofiles-23.1.0 aiohappyeyeballs-2.4.3 aiohttp-3.10.10 aiosignal-1.3.1 altair-5.0.0 anyio-4.5.2 async-timeout-4.0.3 blinker-1.8.2 clip-1.0 distro-1.9.0 exceptiongroup-1.2.2 fastapi-0.88.0 ffmpy-0.3.0 frozenlist-1.5.0 fsspec-2024.10.0 ftfy-6.1.1 gradio-3.29.0 gradio-client-0.10.0 h11-0.14.0 httpcore-0.17.3 httpx-0.24.0 huggingface-hub-0.26.2 joblib-1.4.2 jsonschema-4.23.0 jsonschema-specifications-2023.12.1 lightning-utilities-0.11.8 linkify-it-py-2.0.3 markdown-it-py-2.2.0 mdit-py-plugins-0.3.3 mdurl-0.1.2 multidict-6.1.0 nose-1.3.7 numpy-1.22.4 nvidia-cublas-cu12-<IP_ADDRESS> nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-<IP_ADDRESS> nvidia-cufft-cu12-<IP_ADDRESS> nvidia-curand-cu12-<IP_ADDRESS> nvidia-cusolver-cu12-<IP_ADDRESS> nvidia-cusparse-cu12-<IP_ADDRESS> nvidia-nccl-cu12-2.20.5 nvidia-nvjitlink-cu12-12.6.77 nvidia-nvtx-cu12-12.1.105 open_clip_torch-2.29.0 openai-1.12.0 opencv-python-<IP_ADDRESS> orjson-3.10.11 pkgutil-resolve-name-1.3.10 portalocker-2.10.1 propcache-0.2.0 pyarrow-17.0.0 pycocotools-2.0.7 pydantic-1.10.19 pydeck-0.9.1 pydub-0.25.1 pygments-2.18.0 python-multipart-0.0.17 pytorch-lightning-2.4.0 referencing-0.35.1 regex-2024.11.6 requests-2.28.2 rich-13.9.4 rpds-py-0.20.1 safetensors-0.4.5 scikit-fmm-2024.5.29 scikit-image-0.19.3 scikit-learn-1.3.2 scipy-1.10.1 semantic-version-2.10.0 sniffio-1.3.1 starlette-0.22.0 streamlit-1.40.1 tenacity-9.0.0 tensorboardX-<IP_ADDRESS> test-tube-0.7.5 threadpoolctl-3.5.0 tifffile-2023.7.10 tokenizers-0.13.3 toml-0.10.2 toolz-1.0.0 torch-1.13.1 torch-encoding-1.2.2b20241113 torchmetrics-1.5.2 torchvision-0.14.1 transformers-4.30.2 triton-3.0.0 typing-extensions-4.11.0 uc-micro-py-1.0.3 urllib3-1.26.15 uvicorn-0.32.0 watchdog-4.0.2 wcwidth-0.2.13 websockets-11.0.3 yarl-1.15.2
"
but you have said that we should install the pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 and install habitat-sim==0.2.2, so which veriosn I need to choose?is the pip and conda conflicts?


Create release endpoint

Closes #18
I've never worked with php before and wasn't able to get project running(it always responds with ERR_CONNECTION_REFUSED) so there are few things I need help with:
1. I left 3 TODO comments on parts of code that I'm not sure are correct.
2. Since I wasn't able to run it, I can't test it either.
3. New post method uses web session token for authentication, but this token only lives for 2 weeks. We want to add a page/endpoint that allows to generate an API key(just like session token on login) for a user that won't expire.

any chance you could test this still?

Hello, I've tried to set it up once again, but neither docker nor Remote Containers work for me. I can't get the website running even on the master branch and therefore can't test this PR.
I'm ok with it being closed unless someone wants to take over.


Inconsistent behavior when using bunx jsr add (on Windows)

Description:
There are inconsistencies in how bun handles jsr.io packages when using bunx jsr add compared to other package managers like pnpm. This leads to issues with package references and update failures.

Steps to reproduce:

Using pnpm (baseline):
Run: pnpm dlx jsr add @yyhhenry/rust-result or pnpm dlx jsr add @yyhhenry/rust-result@latest
Result in package.json: "@yyhhenry/rust-result": "npm<EMAIL_ADDRESS>
Using bun:
a. Run: bunx jsr add @yyhhenry/rust-result
Result in package.json: "@yyhhenry/rust-result": "npm:@jsr/yyhhenry__rust-result"

b. Run: bunx jsr add @yyhhenry/rust-result@latest
Result in package.json: "@yyhhenry/rust-result": "^0.2.9"

c. After step b, run: bun update
Error (another @yyhhenry/rust-result has been published to npmjs):

bun update v1.1.17 (bb66bba1)
error: No version matching "^0.2.9" found for specifier "@yyhhenry/rust-result" (but package exists)
error<EMAIL_ADDRESS>failed to resolve

Expected behavior:

bunx jsr add @yyhhenry/rust-result should result in a package reference similar to the pnpm result, including the version number.
bunx jsr add @yyhhenry/rust-result@latest should maintain the jsr.io package reference format.
bun update should successfully update the package without errors.

Actual behavior:

The package reference lacks the version number.
The package reference is changed to a regular npm-style version number.
bun update fails due to inability to resolve the package.

Environment:

Bun version: 1.1.17
Operating System: Win 11

Additional information:
This inconsistency in handling jsr.io packages leads to difficulties in managing dependencies and potential build failures. It's important to align bun's behavior with other package managers or provide clear documentation on these differences.

That sounds like a bug in bun's package manager code. It seems like it's not inserting the version string. The JSR CLI directly shells out to bun and follows the npm protocol to a tee. Please report this bug at the bun repo.


Move getStagingDirectoryPath() from FunctionMojo to AppServiceMojo

resolve #315

Codecov Report

Merging #317 into develop will increase coverage by 0.17%.
The diff coverage is 85%.

@@             Coverage Diff             @@
##           develop     #317      +/-   ##
===========================================
+ Coverage    56.21%   56.38%   +0.17%
===========================================
  Files           60       60
  Lines         1747     1747
  Branches       202      202
===========================================
+ Hits           982      985       +3
+ Misses         699      696       -3
  Partials        66       66

Impacted Files
Coverage Δ

...oft/azure/maven/function/AbstractFunctionMojo.java
60% <ø> (-6.67%)
:arrow_down:

...crosoft/azure/maven/webapp/AbstractWebAppMojo.java
0% <ø> (ø)
:arrow_up:

.../maven/webapp/handlers/JarArtifactHandlerImpl.java
0% <0%> (ø)
:arrow_up:

...function/handlers/MSDeployArtifactHandlerImpl.java
78.33% <100%> (ø)
:arrow_up:

.../microsoft/azure/maven/AbstractAppServiceMojo.java
46.15% <100%> (+46.15%)
:arrow_up:

...ure/maven/artifacthandler/ArtifactHandlerBase.java
78.57% <100%> (-2.68%)
:arrow_down:

...unction/handlers/FunctionCoreToolsHandlerImpl.java
86.11% <100%> (ø)
:arrow_up:

.../maven/artifacthandler/ZIPArtifactHandlerImpl.java
100% <100%> (ø)
:arrow_up:

.../maven/artifacthandler/FTPArtifactHandlerImpl.java
94.73% <100%> (ø)
:arrow_up:

...om/microsoft/azure/maven/function/PackageMojo.java
78.07% <100%> (+0.19%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3cfa764...c409686. Read the comment docs.


Update Puppeteer to version 20

This commit makes the following required changes:

Replace custom cache trimming logic in favor of the (per our request) newly added trimCache method in Puppeteer. Not only does this greatly simplify our code and prevents having to import Puppeteer internals, it's also necessary because Puppeteer 20 removed the BrowserFetcher API in favor of the new separate @puppeteer/browsers package.
Start browsers in series instead of in parallel. Parallel browser starts broke since Puppetter 19.1.0 and it turns out that it has never been supported officially, so it worked more-or-less by accident. Starting browsers in series is the supported way, is almost equally fast and ensures that we avoid any race conditions during startup. Finally, it also allows us to remove the browserPromise state on our session objects.

Fixes #15865.

/botio test

/botio makeref


NuGet packages reference SourceLink as a runtime dependency rather than dev dependency

Version
4.2.x
Describe the bug
The libraries that produce NuGet packages have a reference to the SourceLink.Create.CommandLine package, but they lack the PrivateAssets="All" attribute which ultimately results in there being a transitive dependency to the package for consumers of the SDK.
To Reproduce
Steps to reproduce the behavior:

Install any SDK package (e.g. Microsoft.BotBuilder.Schema) from NuGet
Notice that SourceLink.Create.CommandLine is installed as a transitive dependency to your application's project

Expected behavior
Since SourceLink is a tool used during the development of the SDK packages, I would not expect there to be a transitive dependency to it from the published packages.
Additional Context
One fix is to simply manually add PrivateAssets="All" to the PackageReference  for SourceLink.Create.CommandLine across all the projects.
Another, simpler fix is to just update the package to 2.8.3 (latest as of right now) which will has the proper metadata to trigger PrivateAssets to be set automatically (along with some other properties).
[bug]

As of version 4.2.2 this is still an issue. Is there an open PR to change the proejcts to use PrivateAssets=All?

Still see this issue on 4.3.2. Why it's closed? @cleemullins

@cleemullins, this bug should be reopened, because #1324
did not fix the bug, it only updated the version number


Datatables bootstrap style fix

Renable bootstrap-compatible datatables plugin.
So all elements like the page-buttons are rendered in bootstrap style.
This has previously already been merged into master in Pullrequest #61 but (by accident?) removed during a version update of the datatables plugin in Pullrequest #86.
Datatables version update
While i was at it, also update the datatables plugin to the most recent version.

Great, thanks!


[New Port Request] Emscripten

Library name: Emscripten
Library description: Emscripten compiles C and C++ to WebAssembly using LLVM and Binaryen. Emscripten output can run on the Web, in Node.js, and in wasm runtimes.
Source repository URL:https://github.com/emscripten-core/emscripten
Project homepage (if different from the source repository):
This is required by Qt to run apps in a browser.
https://doc.qt.io/qtcreator/creator-setup-webassembly.html
It is supported by other package installers.

If you wish to add this port in the future, you can reopen this issue, but we're closing it for now.