Multiple sites (Run many laravel projects)

I have recently switched from Laravel Homestead to Laradock and it is awesome, but I can't figure out how to create multiple sites and add phpmyadmin. Has someone achieved it? Thanks in advance.

The easiest way is to create multiple virtual machines if you are on mac or windows. Not really sure about any other ways to it!
However it's still doable but you have to change some ports, to do this:
Rename the laradock folder (where laradock is cloned) and run docker-compose up -d .... your new containers.
If you have projectA and projectB you have can rename the laradock folder to laradock_projectA and laradock_projectB.
Now if you run docker-compose up -d MySQL this will create a container named laradock_projectA_MySQL and if your run the command from the other project it will create laradock_projectB_MySQL.
The only problem you will be facing is Ports already in use. so edit the docker-compose.yml and change the ports.
If you found an easier way to do this in the future, please share it.

Sounds like two issues.
To run multiple sites you add the laradock folder to each project, you can then start each project in turn.
There is an issue like noted above, that you would need to stop one project and then start the next as they take over the ports (I am sure there is a solution with this)
The second one is if you want to install phpmyadmin, you would need to just put that in the project directory or in the Dockerfile to install in one of the containers. I would think if you put it inside your project you could configure it to work when it loaded

I forked this for work and have an implementation of this working. What I did is merge application and workspace into one Dockerfile. This allows me to create multiple app-{project-name} containers.
All projects are stored in ./apps/ relative to LaraDock's root.
docker-compose.yml Configuration
Just find app-projectA in this configuration and add more projects like app-projectB.
version: '2'
services:
  # Applications...
  app-projectA:
    tty: true
    build: ./containers/app-projectA
    volumes:
      - ./apps/projectA:/var/www/app-projectA

  # Services...
  php-fpm:
    build:
        context: ./containers/php-fpm
        dockerfile: Dockerfile
    volumes_from:
      - app-projectA

  nginx:
    build: ./containers/nginx
    volumes_from:
      - app-projectA
    volumes:
      - ./logs/nginx:/var/log/nginx
    ports:
      - "80:80"
      - "443:443"
    links:
      - php-fpm

  mariadb:
    build: ./containers/mariadb
    volumes_from:
      - data
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: projectA
      MYSQL_USER: laradock
      MYSQL_PASSWORD: laradock
      MYSQL_ROOT_PASSWORD: root
    links:
      - php-fpm

  redis:
    build: ./containers/redis
    volumes_from:
      - data
    ports:
      - "6379:6379"
    links:
      - php-fpm

  beanstalkd:
    build: ./containers/beanstalkd
    ports:
      - "11300:11300"
    privileged: true
    links:
      - php-fpm

  beanstalkd-console:
    build: ./containers/beanstalkd-console
    ports:
      - "2080:80"
    environment:
      - "BEANSTALK_SERVERS=beanstalkd:11300"
    links:
      - beanstalkd

  # Data Container...
  data:
    build: ./containers/data
    volumes:
      - /var/lib/mariadb
      - /var/lib/redis

Nginx Configuration
Now the bigger thing is you also have to modify the Nginx container. These are our configuration files for Nginx:
Dockerfile:
FROM nginx:latest
MAINTAINER Andrew Ellis<EMAIL_ADDRESS>
RUN mkdir -p /etc/nginx/certs

ADD nginx.conf /etc/nginx/
ADD fastcgi_params.conf /etc/nginx/
ADD app.conf /etc/nginx/

ADD apps/projectA.conf /etc/nginx/conf.d/
ADD apps/star.dev.projectA.com.cert /etc/nginx/certs/
ADD apps/star.dev.projectA.com.key /etc/nginx/certs/

RUN usermod -u 1000 www-data

EXPOSE 80 443

CMD ["nginx"]

nginx.conf:
user                      www-data;
worker_processes          1;
error_log                 /var/log/nginx/error.log  info;
pid                       /run/nginx.pid;
daemon                    off;

events {
  worker_connections      1024;
  multi_accept            on;
  use                     epoll;
}

http {
  include                 /etc/nginx/fastcgi_params.conf;
  include                 /etc/nginx/mime.types;
  default_type            application/octet-stream;
  set_real_ip_from        <IP_ADDRESS>;
  real_ip_header          X-Forwarded-For;
  charset                 utf-8;

  proxy_redirect          off;
  proxy_set_header        Host  $host;
  proxy_set_header        X-Real-IP $remote_addr;
  proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  client_max_body_size    10m;
  client_body_buffer_size 128k;
  proxy_buffers           32 4k;
  fastcgi_send_timeout    60s;
  fastcgi_read_timeout    1d;

  gzip                    on;
  gzip_types              text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
  gzip_disable            "MSIE [1-6]\.";
  gzip_static             on;

  tcp_nodelay             on;
  tcp_nopush              on;
  keepalive_timeout       65;
  sendfile                off;

  types_hash_max_size     2048;
  server_names_hash_bucket_size 64;

  include                 /etc/nginx/conf.d/*.conf;
}

fastcgi_params.conf:
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

fastcgi_param  HTTPS              $https;

app.conf:
## Deny dot files:
location ~ /\. {
  deny all;
}

## PHP
location ~ \.php$ {
  include       /etc/nginx/fastcgi_params.conf;
  fastcgi_pass  php-fpm:9000;
  fastcgi_index index.php;
}

apps/projectA.conf:
server {
  include             /etc/nginx/app.conf;

  listen              443 ssl;
  server_name         *.dev.projectA.com;

  access_log          off;
  error_log           /var/log/nginx/error.log;

  root                /var/www/app-projectA/public;
  index               index.php index.html;

  ssl                 on;
  ssl_certificate     /etc/nginx/certs/star.dev.projectA.com.cert;
  ssl_certificate_key /etc/nginx/certs/star.dev.projectA.com.key;
  ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers         ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;

  # Application Routes
  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }
}

MySQL Configuration
Unfortunately at this time I only know how to create one database, which is fine for our stack, but not for others using one set of containers for multiple projects locally. There's talk about a VOLUME and running a .sh script on ENTRYPOINT to create your schemas. But I haven't dug too far into it.
Project Dockerfile
With what I mentioned above. The workspace container went away. We now have a per-project Dockerfile that looks like the following and lives in ./containers/app-projectA/Dockerfile:
FROM phusion/baseimage:latest
MAINTAINER Andrew Ellis<EMAIL_ADDRESS>
RUN DEBIAN_FRONTEND=noninteractive
RUN locale-gen en_US.UTF-8

ENV LANGUAGE=en_US.UTF-8
ENV LC_ALL=en_US.UTF-8
ENV LC_CTYPE=UTF-8
ENV LANG=en_US.UTF-8
ENV TERM xterm

# Install "software-properties-common" (for the "add-apt-repository")
RUN apt-get update && apt-get install -y software-properties-common curl python-dev build-essential g++ unzip

# Install NodeJS Repo
RUN curl -s -L https://deb.nodesource.com/setup_5.x | sudo bash -

# Add the "PHP 7" ppa
RUN add-apt-repository -y ppa:ondrej/php

# Install PHP-CLI 7, some PHP extentions and some useful Tools with APT
RUN apt-get update && apt-get install -y \
        php7.0-cli \
        php7.0-common \
        php7.0-curl \
        php7.0-json \
        php7.0-xml \
        php7.0-mbstring \
        php7.0-mcrypt \
        php7.0-mysql \
        php7.0-zip \
        git \
        curl \
        vim \
        nano \
        nodejs

# Clean up, to free some space
RUN apt-get clean

# Install gulp with NPM
RUN npm install -g gulp

# Add an alias for PHPUnit
RUN echo "alias phpunit='./vendor/bin/phpunit'" >> ~/.bashrc

# Install Composer
RUN curl -s http://getcomposer.org/installer | php \
    && mv composer.phar /usr/local/bin/composer

# Install Ngrok2
RUN curl -s -O https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip \
    && unzip ngrok-stable-linux-amd64.zip \
    && mv ngrok /usr/local/bin/ \
    && rm -f ngrok-stable-linux-amd64.zip

# Clean up
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

WORKDIR /var/www/app-projectA

Conclusion
Hopefully this helps the package maintainer make this a possibility.

I am pursuing this approach. I have one project app1 working however, when I add app2 with app2.conf to nginx it fails. I ripped out SSL for the time being. Has anyone got two projects running without SSL and would be willing to share your nginx related conf's? :)

I slugged my way through nginx conf's and got the following conf's to enable two separate sites:
app1.conf
server
{
    include       /etc/nginx/app.conf;

    server_name app1;
    root /var/www/app1/public;
}

app2.conf
server
{
    include       /etc/nginx/app.conf;

    server_name app2;
    root /var/www/app2/public;
}

app.conf
    listen 80;

    index index.php index.html index.htm;

    location ~ /\.ht {
        deny all;
    }

    location ~ \.php$ {
        fastcgi_pass  php-fpm:9000;
        fastcgi_index index.php;
        include       /etc/nginx/fastcgi_params.conf;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    }

  # Application Routes
  location / {
         try_files $uri $uri/ /index.php$is_args$args;
  }

Clearly not production-ready but it gives me a way to work on and continue running multiple apps/projects from/on same base container/services, ie, php-fpm, mariandb, nginx, etc.

I have a pretty easy way to do it, at least for local development. My solution: https://github.com/EricTendian/laradock/commit/b4d79969d16e107048ef04126774d1d4fa6c9790
This multiproject_docker-compose.yml file I copied from Laradock's docker-compose.yml file. It has some changes, as you can see in the diff, that allow for multiple projects to use it at once.
If you want to try it out for yourself:

You must have an existing Laravel project.
Add my repo as a submodule in your Laravel root directory: git submodule add https://github.com/EricTendian/laradock.git
While still in your Laravel root directory, run cp laradock/multiproject_docker-compose.yml docker-compose.yml to copy multiproject_docker-compose.yml into the root directory.
Start the services you need with docker-compose up -d {service-name} like docker-compose up -d nginx
Now that your services have started, run docker-compose ps to see the port mappings. A line like <IP_ADDRESS>:32790->443/tcp, <IP_ADDRESS>:32791->80/tcp means that you should use http://<IP_ADDRESS>:32791/ to visit the nginx server. Why this strange port? As you have multiple projects, you don't want each nginx container to bind to port 80 so I changed "80:80" to "80" which will bind the container's port 80 to a random available port number on the host. This will change on every up/down cycle, which can be annoying.

To avoid the annoying business of changing ports, you could change "80" back to something like "12345:80" and then visit port 12345 each time (this applies for all other ports). There's also Docker DNS servers like https://github.com/duck1123/dnsdock (I've found that fork to work, the main one isn't) which will hook into your Docker networks and resolve container IPs.
Anyway, this method isn't production ready either, but it's my simple solution for being able to use Laradock on multiple projects.

i hope adding new site is simple as serve sitename.com /pathtositename/public like laravel homestead...

I created a PR that may be of interest. Doesn't touch db at this point but it is a way to host multiple sites on one LaraDock. At this point it is a 'proof-of-concept'. :)

More info on Multi Site. I closed the other issue I opened because I didn't realize this one was still open.
http://blog.dubizzle.com/boilerroom/2016/08/18/setting-development-environment-docker-compose/

@tjb328 that looks a decent solution. Looking forward for anyone interested to implement it..

@luis-don-dev @ellisio @LarryEitel @tjb328 @midascodebreaker @EricTendian @tristanbailey @appleboy @philtrep hi guys first I'd like to thank you for your support and inspiration to implemented this feature.
Kindly note that today I implemented that feature. This is definitely not a production feature but it seems to be very useful on development to speed up things..
Kindly check this doc and feel free to test, fix, edit anything to make it even better.
This currently works fine with Nginx, it will need to be implemented in the other supported server as they will not work by default due to changing var/www/laravel to var/www.
Know issues:

Multiple Databases Initialization: I've tried adding sql files to docker-entrypoint-initdb.d with sql create db commands but for some reasons didn't worked with me.

Subdomains not working: in case of multiple websites when visiting site1.dev will work but xxx.site1.dev will not.

Hi @Mahmoudz,
I followed the steps in the doc for setting up multiple projects but I'm unable to access http://project1.dev from the host (Mac OS X El Capitan).
Is there any step missing on the doc?
The nginx/sites setup seems to be correct, as verified with the commands below:
# connect to the nginx container
docker-compose exec nginx bash

# installs curl, if not yet installed
apk add curl

# retrieves project1 home page
curl http://project1.dev # successful response

Any ideas why http://project1.dev is not accessible when browsing from the host?

Of course I was forgetting some very simple step: I fixed by editing /etc/hosts file adding new entries for my new projects:
<IP_ADDRESS>   project1.dev
<IP_ADDRESS>   project2.dev

This did the trick! Thanks!

@jfoliveira sorry for that yes this is a missed step, I'll add it to the doc soon. Thanks

I think that this is still an issue, or at least a non documented case.
What we need is that every project run on own ip, so no need to change the port.
 The idea is to add non only port:80 to etc/host, but also adminer/phpmyadmin and other tools.
ex: using adminer.dev  ( as one usually do on vagrant) instead of <IP_ADDRESS>:8080
I think this must be the  default.

Are there multiple hosts files?

4 - Add the domains to the hosts files.

I have a pretty easy way to do it, at least for local development. My solution: EricTendian@b4d7996
This multiproject_docker-compose.yml file I copied from Laradock's docker-compose.yml file. It has some changes, as you can see in the diff, that allow for multiple projects to use it at once.
If you want to try it out for yourself:

You must have an existing Laravel project.
Add my repo as a submodule in your Laravel root directory: git submodule add https://github.com/EricTendian/laradock.git
While still in your Laravel root directory, run cp laradock/multiproject_docker-compose.yml docker-compose.yml to copy multiproject_docker-compose.yml into the root directory.
Start the services you need with docker-compose up -d {service-name} like docker-compose up -d nginx
Now that your services have started, run docker-compose ps to see the port mappings. A line like <IP_ADDRESS>:32790->443/tcp, <IP_ADDRESS>:32791->80/tcp means that you should use http://<IP_ADDRESS>:32791/ to visit the nginx server. Why this strange port? As you have multiple projects, you don't want each nginx container to bind to port 80 so I changed "80:80" to "80" which will bind the container's port 80 to a random available port number on the host. This will change on every up/down cycle, which can be annoying.

To avoid the annoying business of changing ports, you could change "80" back to something like "12345:80" and then visit port 12345 each time (this applies for all other ports). There's also Docker DNS servers like https://github.com/duck1123/dnsdock (I've found that fork to work, the main one isn't) which will hook into your Docker networks and resolve container IPs.
Anyway, this method isn't production ready either, but it's my simple solution for being able to use Laradock on multiple projects.

Basically this worked for me on my dev machines. I removed all the port mappings on the right (starting with the : onwards) for each service that I was interested in i.e. Apache2, redis and mysql. This makes all the services connect to a random port that is available once they are started hence preventing port conflicts.
Nevertheless, I am not sure whether this will scale in production. If I run the same many laravel projects on one server (kinda like a blonde microservices approach)  I do think it will cause issues since every time I restart docker I might have to edit my virtualhosts on linux and make sure they are pointing to the correct ports so that DNS for these applications can work correctly
Any better thinking for the above to help me not edit my virtual hosts will be appreciated.


Refactoring ensemble tools

Resolves #25 and #26 , refactoring the calculation of parameter grid values and directory names, and including unit tests for these new methods.
Also refactors out the xml parser from the tests, so that this method can be used later in the VBMC code.
Regarding the refactoring of calculate_parameter_value (issue #25); I considered making the method return an iterator, but the logic for the dictionary sweep methods didn't seem compatible with this, so I left it instead as a direct calculation of the parameter value at a point instead. Open to alternative suggestions on that, though.

Resolves #26

I've also gone ahead and refactored the indices calculation to a generator in ensemble_tools, since we were using that in several different places too.


Fix help for destiny

Help text stated n for darkside while d actually works

@SkyJedi Luke, is it possible to get this fix merged?

@SkyJedi could you merge this fix and deploy it?


[BUG] data is unsorted after Refresh/Retrieve.js finished

it's simply presented in whatever order the data came in

fixed by commit a979b7b


Apple pay not working

In some iPhone mobiles, Apple Pay has not appeared
When appears to have an issue id returns null

Hello @araafat3
Maybe this issue is related to this one? https://github.com/moyasar/moyasar-flutter/issues/25
If not, please ensure you are using the latest SDK version and using a real device in a supported country
If the issue is still persistent, please share the following information:
Dart Version
Flutter Version
iOS Version
Physical or Simulator device
The PaymentConfig object used to initialize the widget


Adds websocket note for remap config

Backport Rationale: This functionality is unlikely to have changed, and could help administrators using older versions when proxying HTTP/S requests that upgrade to WS/S.

Cherry picked to 8.1.0


Could not pass FMLServerStartedEvent to Plugin

I only noticed this starting in the last few days after a scheduled server restart initiated by my host.
Console log: http://pastebin.com/zsHYq1q4
I have re-downloaded the mod and double checked my config.  All seems well on my end.
Do you suggest I down grade it a version and see if it still does this?  I can go back as far as 0.13.3.
Edit:
I should mention that all of the modules I have set to true work fine with no error in the console.

Bump

http://pastebin.com/ZztXPJTW

Has anything been done on this yet?

Only current way to fix this is deleting the data file in the config directory and starting over, until I come up with a solution for fixing broken/corrupt data

Thank you!

Are there plans on adding MySQL support for database storage?

Only current way to fix this is deleting the data file in the config directory and starting over, until I come up with a solution for fixing broken/corrupt data

Will I have to do this every day?  My host does a system initiated server restart every night around midnight server time, and every morning when I look at the console I get the same error.
How is the data being corrupted?

Yes MySQL support is coming
You using any special block types for your portals like from mods or something? Sponge's serialization is a huge pain and seems to break frequently when mods get thrown in the mix. Been trying to come up with a solution to fix this for quite sometime but no luck yet.

So far I have only used buttons (which stop working after I leave that dimension) and signs (which seem to retain the pjp data even after a restart).
The only attempt at a portal was abandoned.  It created the nether portal behind it, and didn't take me to the destination I wanted it to.  I ended up at the set coordinated in the nether instead.


🐛 [Firebase Auth Flutter] Sign in with Apple crash on ^3.11.0

Bug report
Describe the bug
When I sign in with apple, after the authentication from apple part, the app just crashes.
After some dig-ins, I found the error is caused by giving a nil value to the NSDictionary object.

The current version has added a fourth field (kArgumentAccessToken) to the getNSDictionaryFromAuthCredential result, but the accessToken is always nil, so it throws the error.

Steps to reproduce
Steps to reproduce the behavior:

Tap sign in with apple,
After apple authentication, the app just crashed,
The log indicates:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:

-L.
__NSPlaceholderDictionary initWithobjects: forKeys:count:]: attempt to insert nil object from objects[3]'
Expected behavior
Should not crash and must work as before.
Sample project
Providing a minimal example project which demonstrates the bug in isolation from your main App greatly enhances the chance of a timely fix.
Please link to the public repository URL.

Additional context
Add any other context about the problem here.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
PASTE OUTPUT INSIDE HERE

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
PASTE OUTPUT INSIDE HERE

I just hit this today - please resolve quickly!

The same issue with me. Tested in real device iPhone 7.
Notice, in line 496 we have a OAuthCredential without accessToken. But in case you sign in with Google there will be accessToken. The question is "Why we do not have access token is case with Apple?"

Same issue here with iPhone SE 2.
Flutter 3.3.3.
firebase_core: 1.24.0
firebase_auth: 3.11.0
Works fine with Auth 3.9 or 3.10.

Already being worked here: https://github.com/firebase/flutterfire/issues/9638


Nproc implementation

Why copy the code verbatim from the vlib runtime.nr_cpus routine?

Why copy the code verbatim from the vlib runtime.nr_cpus routine? If it was just to get the extra header included, it would be better to make a PR against vlib to handle that, then just use the nr_cpus routine without copying it.

The --all flag returns the number of installed CPUs (Or the total number of cores) without the flag nproc returns the number of actives core (If a core is disabled in a big.Little architecture, it won't show up) so the syscall flag is different.

it would be better to make a PR against vlib to handle that

Imho, that can be done in a separate PR(s), if it proves useful.


Wrong java root src dir in IDEA

Hi
I tried different configurations, IDEA shows instead of java dir the directory right beneath it i.e. the domain name, thus wrong package naming etc.
like:                  main -> java -> org
should be:      main -> java -> org
My setup:
idea 163.12024
plugin 02.13.01

andy@laptop:~/repo/someapp$ bazel version
Build label: 0.4.4
Build target: bazel-out/local-fastbuild/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Wed Feb 1 18:54:21 2017<PHONE_NUMBER>)
Build timestamp:<PHONE_NUMBER>
Build timestamp as int:<PHONE_NUMBER>

Hi,
We try to parse package paths during bazel execution, and only in the case where that fails, we fall back to skipping "java" / "javatests" at the start of a path (to adhere to an internal convention).
Are these java sources covered by a target in your .bazelproject file?

Now it is back to normal, but back then there where no other java directory beneath, and sources were set all above, anyway, cant reproduce reliably now

Ok, thanks for letting us know. I'll close for now, but please reopen if this happens again, and you have java sources below the directory covered by your .bazelproject 'targets'.

ok. thanks. one other question though -  did not find any forum to ask that.
what is the right way to link external (maven) dep into idea project? I figured out where external  jar is kept in bazel directories, but it looks like I cant add them into idea project, because these directories are set up by default as "ignored"

Any external jars covered by the 'targets' in your .bazelproject file should be indexed as external libraries during bazel sync (you can see them in the 'External Libraries' section of the project tab).
So you should be able to navigate to external imports in java classes, etc.
Or do you mean navigating in BUILD files (e.g. following an external target like '@junit//:junit.jar')?

Hm.. Cant add external jar there, I get
Error:(2, -1) Workspace path must be relative; cannot start with '/': /external:junit4

when i set i .bazelproject:
directories:
  .
  //external:junit4

Sorry, I meant covered by the transitive closure of your targets.
You can't add external workspace deps directly into the .bazelproject file -- that's only for specifying project targets. Any external libs must be brought in as dependencies of your project targets.


cherry-pick toleration changes into v1.13

Description

typha affinity
automatic virtual-node anti-affinity for calico-node in aks

For PR author

[ ] Tests for change.
[ ] If changing pkg/apis/, run make gen-files
[ ] If changing versions, run make gen-versions

For PR reviewers
A note for code reviewers - all pull requests must have the following:

[ ] Milestone set according to targeted release.
[ ] Appropriate labels:

kind/bug if this is a bugfix.
kind/enhancement if this is a a new feature.
enterprise if this PR applies to Calico Enterprise only.

Closing. We'll get these changes in the next minor release 👍

Closing. We'll get these changes in the next minor release 👍


can I exclude files from the check?

I started to use this rebar3 plugin to run lint check on my project mongoql.
I'm using yecc and leex and they generate some .erl files on which I have no control.
I have many warnings on them.
Exists the possibility to exclude them from the check?

Yes, you can exclude any module(s) by setting the ignore parameter in the rule you want to skip, e.g:
{elvis_style, no_debug_call, #{ignore => [elvis, elvis_utils]}}

In the previous tuple we are telling elvis to ignore elvis and elvis_utils modules when running no_debug_call check.

In the last comment I show you how to ignore one or many files for a given check. If what you want is just to ignore a group of checks for one or more files, you can also do that by setting the ignore group level option for the group you want to skip, e.g:
#{dirs => ["src"],
  filter => "*.erl",
  ruleset => erl_files,
  ignore => [module1, module4]
 }

In the last example, none of the checks for erl_files would be applied to module1.erl and module4.erl files.
Also, we have created an issue for adding documentation about that group level option.

Thank you very much for the help!
This is a very nice tool! I already added it to all my projects... XD
Do you know if there is some integration of elvis with vim-erlang tools? (If no, if there are plans to integrate)

@hachreak there is no integration with vim that I know of and no plans for it around here… but you're very much welcome to add it yourself :)


Added pip install padl in notebooks

Description

Part of https://github.com/lf1-io/padl/issues/324
Makes notebook complete with installation of padl.

@jasonkhadka Could you also add all additional requirements that need to be installed? For example, pip install matplotlib. If they are commented out, then just uncomment then. The goal is to be able to click run all and just to have it work.

Additionally, could you see if the instructions on how to download and access the data need to be updated to reflect the colab environment?

Added colab badge and links to docs as part of Issue #324

Last thing @jasonkhadka. Do you think it's worth uncommenting the other pip install dependencies in the notebooks? Otherwise looks good!

Last thing @jasonkhadka. Do you think it's worth uncommenting the other pip install dependencies in the notebooks? Otherwise looks good!

yeah, i think so, I am testing the colab notebook, also regards to data.
I will update the notebooks once again with the changes so they can run directly on colab.

Now, notebooks can run on colab directly.
For sentiment analysis, kaggle data needs to be downloaded, so users will have to do that on their own. Except all good.

@jasonkhadka

kaggle data needs to be downloaded, so users will have to do that on their own. Except all good.

would it be possible to add that to the nodebook also? I think we should make it as easy as possible to use that.

@jasonkhadka

kaggle data needs to be downloaded, so users will have to do that on their own. Except all good.

would it be possible to add that to the nodebook also? I think we should make it as easy as possible to use that.

We could use the kaggle api for this potentially. https://stackoverflow.com/questions/49386920/download-kaggle-dataset-by-using-python
import kaggle

kaggle.api.authenticate()

kaggle.api.dataset_download_files('The_name_of_the_dataset', path='the_path_you_want_to_download_the_files_to', unzip=True)

You need your kaggle account to authenticate against kaggle api to download the files.
I will check if there is another way, else anther easy way is to add the data to PADL repo. It seems it is not that big.

@jasonkhadka

kaggle data needs to be downloaded, so users will have to do that on their own. Except all good.

would it be possible to add that to the nodebook also? I think we should make it as easy as possible to use that.

We could use the kaggle api for this potentially. https://stackoverflow.com/questions/49386920/download-kaggle-dataset-by-using-python
import kaggle

kaggle.api.authenticate()

kaggle.api.dataset_download_files('The_name_of_the_dataset', path='the_path_you_want_to_download_the_files_to', unzip=True)

Thanks @jasonkhadka!

Codecov Report

Merging #329 (897065c) into main (fe7fe5d) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 897065c differs from pull request most recent head 2affdbf. Consider uploading reports for the commit 2affdbf to get more accurate results

@@           Coverage Diff           @@
##             main     #329   +/-   ##
=======================================
  Coverage   89.46%   89.46%
=======================================
  Files          15       15
  Lines        2572     2572
=======================================
  Hits         2301     2301
  Misses        271      271

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 fe7fe5d...2affdbf. Read the comment docs.

issues on GoogleColab to track progress on python update:
Upgrade Ubuntu: https://github.com/googlecolab/colabtools/issues/1880
Upgrade Python: https://github.com/googlecolab/colabtools/issues/2165

closed until Colab is updated.


[Feature] contributing to add new features

Awesome idea and implementation, i was wondering if it is possible to contribute and add new feature (more templates for example or some customization to the current one). I will open an issue first before submitting anything for sure :D

Hey there @abdelrahmanahmed!
It makes me ecstatic and filled to the brim with joy when I see people from across the world willing to use the app itself, much less contribute to it. Thank you so much for showing interest in developing this further. You can take up any change you want on the app, and if you see any issues crop up on GitHub, you can work on those as well once you've assigned it to yourself.
Right now, the whole system of creating templates is a bit too complicated even for me, cause things just keep moving around and around, it's not static. You can take a stab at it by looking at the templates folder and going through the code. It's not really that difficult, just a lot of boilerplate code.
Some other ways you can contribute are by translating the app, which I think you've already done by adding Arabic to the mix. Thanks to you, PR #116 has been merged to add Arabic to the app.
You're helping out as much as you can and that's great. I really appreciate all the efforts, it means so much to be. The only thing left would be to spread the word as much as you can, to those who are in need of a refresh in their resume.
Thank you so much for the support :)


DiemIdDomainEvents

Motivation
Adding TC account type to Accounts view and adding tests for reading DiemIdDomainEvents once domains have been added or removed.
Test Plan
json rpc integration_test.rs
Related PRs
https://github.com/diem/diem/pull/8363

/land


编译error

在CENTOS8上编译的时候报这个error
[root@localhost clickhouse_fdw-1.2.1]# mkdir build
[root@localhost clickhouse_fdw-1.2.1]# cd build/
[root@localhost build]# ls
[root@localhost build]# cmake ..
-- The C compiler identification is GNU 8.4.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Setting clickhouse_fdw build type -
-- The CXX compiler identification is GNU 8.4.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.4.2")
-- Checking for module 'libcurl'
--   Found libcurl, version 7.61.1
-- Checking for module 'uuid'
--   Found uuid, version 2.32.1
-- Configuring done
-- Generating done
-- Build files have been written to: /thunisoft/clickhouse_fdw-1.2.1/build
[root@localhost build]# make
Scanning dependencies of target clickhouse_fdw_sql
[  1%] Generating ../clickhouse_fdw--1.2.sql
[  1%] Built target clickhouse_fdw_sql
Scanning dependencies of target lz4-lib
[  2%] Building C object src/clickhouse-cpp/contrib/lz4/CMakeFiles/lz4-lib.dir/lz4.c.o
[  4%] Building C object src/clickhouse-cpp/contrib/lz4/CMakeFiles/lz4-lib.dir/lz4hc.c.o
[  5%] Linking C static library liblz4-lib.a
[  5%] Built target lz4-lib
Scanning dependencies of target cityhash-lib
[  7%] Building CXX object src/clickhouse-cpp/contrib/cityhash/CMakeFiles/cityhash-lib.dir/city.cc.o
[  8%] Linking CXX static library libcityhash-lib.a
[  8%] Built target cityhash-lib
Scanning dependencies of target clickhouse-cpp-lib-static
[ 10%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/base/coded.cpp.o
[ 11%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/base/compressed.cpp.o
[ 12%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/base/input.cpp.o
[ 14%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/base/output.cpp.o
[ 15%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/base/platform.cpp.o
[ 17%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/base/socket.cpp.o
[ 18%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/array.cpp.o
[ 20%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/date.cpp.o
[ 21%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/decimal.cpp.o
[ 22%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/enum.cpp.o
[ 24%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/factory.cpp.o
[ 25%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/ip4.cpp.o
[ 27%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/ip6.cpp.o
[ 28%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/lowcardinality.cpp.o
[ 30%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/nullable.cpp.o
[ 31%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/numeric.cpp.o
[ 32%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/string.cpp.o
[ 34%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/tuple.cpp.o
[ 35%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/uuid.cpp.o
[ 37%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/columns/itemview.cpp.o
[ 38%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/types/type_parser.cpp.o
[ 40%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/types/types.cpp.o
[ 41%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/block.cpp.o
[ 42%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/client.cpp.o
[ 44%] Building CXX object src/clickhouse-cpp/clickhouse/CMakeFiles/clickhouse-cpp-lib-static.dir/query.cpp.o
[ 45%] Linking CXX static library libclickhouse-cpp-lib-static.a
[ 45%] Built target clickhouse-cpp-lib-static
Scanning dependencies of target clickhouse_fdw
[ 47%] Building C object src/CMakeFiles/clickhouse_fdw.dir/clickhouse_fdw.c.o
/thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c: 在函数‘clickhousePlanForeignModify’中:
/thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c:1036:8: 警告：implicit declaration of function ‘heap_open’; did you mean ‘path_open’? [-Wimplicit-function-declaration]
rel = heap_open(rte->relid, NoLock);
^~~~~~~~~
path_open
/thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c:1036:6: 警告：assignment to ‘Relation’ {或称 ‘struct RelationData *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
rel = heap_open(rte->relid, NoLock);
^
/thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c:1070:2: 警告：implicit declaration of function ‘heap_close’; did you mean ‘path_close’? [-Wimplicit-function-declaration]
heap_close(rel, NoLock);
^~~~~~~~~~
path_close
/thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c: 在函数‘clickhouseBeginForeignModify’中:
/thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c:1118:43: 错误：‘ModifyTableState’ {或称 ‘struct ModifyTableState’} has no member named ‘mt_plans’; did you mean ‘mt_done’?
mtstate->mt_plans[subplan_index]->plan,
^~~~~~~~
mt_done
/thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c: 在函数‘foreign_grouping_ok’中:
/thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c:2158:30: 警告：传递‘make_restrictinfo’的第 1 个参数时在不兼容的指针类型间转换 [-Wincompatible-pointer-types]
rinfo = make_restrictinfo(expr,
^~~~
In file included from /thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c:32:
/usr/pgsql-14/include/server/optimizer/restrictinfo.h:24:22: 附注：需要类型‘PlannerInfo *’ {或称 ‘struct PlannerInfo *’}，但实参的类型为‘Expr *’ {或称 ‘struct Expr *’}
extern RestrictInfo *make_restrictinfo(PlannerInfo *root,
^~~~~~~~~~~~~~~~~
/thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c:2159:12: 警告：传递‘make_restrictinfo’的第 2 个参数时将整数赋给指针，未作类型转换 [-Wint-conversion]
true,
^~~~
In file included from /thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c:32:
/usr/pgsql-14/include/server/optimizer/restrictinfo.h:24:22: 附注：需要类型‘Expr *’ {或称 ‘struct Expr *’}，但实参的类型为‘int’
extern RestrictInfo *make_restrictinfo(PlannerInfo *root,
^~~~~~~~~~~~~~~~~
/thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c:2163:23: 警告：传递‘make_restrictinfo’的第 6 个参数时将指针赋给整数，未作类型转换 [-Wint-conversion]
grouped_rel->relids,
~^~
In file included from /thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c:32:
/usr/pgsql-14/include/server/optimizer/restrictinfo.h:24:22: 附注：需要类型‘Index’ {或称 ‘unsigned int’}，但实参的类型为Relids’ {或称 ‘struct Bitmapset *’}
extern RestrictInfo *make_restrictinfo(PlannerInfo *root,
^~~~~~~~~~~~~
/thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c:2158:12: 错误：提供给函数‘make_restrictinfo’的实参太少
rinfo = make_restrictinfo(expr,
^~~~~~~~~~~~~~~~~
In file included from /thunisoft/clickhouse_fdw-1.2.1/src/clickhouse_fdw.c:32:
/usr/pgsql-14/include/server/optimizer/restrictinfo.h:24:22: 附注：在此声明
extern RestrictInfo *make_restrictinfo(PlannerInfo *root,
^~~~~~~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/clickhouse_fdw.dir/build.make:82：src/CMakeFiles/clickhouse_fdw.dir/clickhouse_fdw.c.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:255：src/CMakeFiles/clickhouse_fdw.dir/all] 错误 2
make: *** [Makefile:149：all] 错误 2

OK I will fix it right now!

Have you fixed it?

You are probably using Postgres v13? If so, you should use version 1.3.0 for clickhouse_fdw because of this commit: https://github.com/adjust/clickhouse_fdw/commit/dbf10e1bbe9a349496cd9048ce8c65565a6d51db#diff-ecda780ef4ce082168a0daee70178928d4d68b9869b749e35fec28f86483078d
In your bugreport it says you are using 1.2.1.

  Bet you can't even read mandarin

For your information, I did 2 and a half duolingo checkpoints in mandarin.  你好


[Runtime] Extend generic func with get_packed_func() interface

This PR add get_packed_func interface to GenericFunc. This interface is used to get the packed function specified for the current target. As a third-party user, we can use this interface along with python context manager to temporary override op strategy with our own device strategy.
We can create temporary stratey registry as below:
with TempOpStrategy("nn.conv2d", "cuda", general_strategy):
    lib = relay.build(...)

We save the current strategy function when TempOpStrategy init and register the strategy funtion back when TempOpStrtegy exit.
class TempOpStrategy(object):
    def __init__(self, op_name, target, fstrategy):
        generic_fstrategy = relay.op.get(op_name).get_attr("FTVMStrategy")
        self.op_name = op_name
        self.target = target
        with tvm.target.Target(target) as target_obj:
            self.origin_func = generic_fstrategy.get_packed_func()
            for tgt_key in target_obj.keys:
                generic_fstrategy.register(fstrategy, tgt_key, allow_override=True)

    def __enter__(self):
        return self

    def __exit__(self, typ, value, traceback):
        generic_fstrategies = relay.op.get(name).get_attr("FTVMStrategy")
        with tvm.target.Target(self.target) as target_obj:
            for tgt_key in target_obj.keys:
                generic_fstrategies.register(self.origin_func, tgt_key, allow_override=True)

Can we direct backup generic_fstrategy and recover it during __exit__?

@Hzfengsy  generic_fstrategy will change after generic_fstrategy.register. So I can't find a way to backup the generic_fstrategy properly.


Compile chapter opening images

In the ebook, it'll be a full-page image on the left and the first page of the chapter on the right.

It should include a default image that says something like "an image should go here" for those chapters which don't have an image yet.

Depends on #2


Handling Stack Parameters

Initially didn't consider this as Qaz is able to write values from the config directly their respective locations in the template. However, given the issue of sensitive data, for eg. DB passwords and such. I believe I need to support parametrisation so the NoEcho Cloudformation flag can be implemented when needed.
I'm thinking a new keyword in config. So stack config would look like this:
stacks:
  rds:
    depends_on:
       - vpc

    parameters:
       - param_name: param_value

    cf:
      yourvalues: value

Functionality added with release v0.35.6-alpha


TEST-#2616: remove DEFAULT_NPARTITIONS values assigning

Signed-off-by: Alexander Myskov<EMAIL_ADDRESS>
What do these changes do?

[ ] commit message follows format outlined here
[ ] passes flake8 modin
[ ] passes black --check modin
[ ] signed commit with git commit -s
[ ] Resolves #2616
[ ] tests passing

I will fix this issue. I think we should set up a config to be able to change it at runtime as well instead of setting once.

I will fix this issue. I think we should set up a config to be able to change it at runtime as well instead of setting once.

I will fix this issue. I think we should set up a config to be able to change it at runtime as well instead of setting once.

Great, config is better way.

I will fix this issue. I think we should set up a config to be able to change it at runtime as well instead of setting once.

Great, config is better way.

Fix is in #2622

Fix is in #2622

Superceded by #2622

Superceded by #2622


FR: Allow disabling --infobutton

Feature Request: Please allow disabling --infobutton.

(If you have the cycles, what'd be cool is if there was a new --infotext option which wasn't a button, in addition to --infobutton; both of which would be mutually exclusive.)

@dan-snelson I've added this in. It's a simple --infotext which when invoked, replaces the info button

Excellent! Can’t wait to try it out.


Create Carousel widget - Part 1

This PR is to create an "uncontained" Carousel.
https://github.com/flutter/flutter/assets/36861262/947e6b2c-219f-4c8b-aba1-4a1a010221a7
The following PR is to create Carousel.weighted so the size of carousel item is based on weight.
https://github.com/flutter/flutter/assets/36861262/181472b0-6f8b-48e7-b191-ab5f7c88c0c8
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported.
[x] All existing and new tests are passing.

Creating a new one to separate code.


Roadmap: O3DE Docs & Community SIG Elections | 03-2023

Summary
We've reached the end of a term and it's time to run elections for D&C SIG chair/co-chair. This is a standard process for running SIG business. Elections period is typically two weeks long.
Timeline:

March 7: At team meeting, announce sig elections and determine sig member to create the open election announcement. Announce open election announcement to sig-docs-community mailing list and sig-all in Discord.
March 20-31: Nominations period. Follow Election Guidelines
April 4: Announce new SIG chair

### Tasks
- [ ] Member of the docs-community SIG (non-chair) must create the open election announcement. ([Example](https://github.com/o3de/sig-docs-community/issues/57))
- [ ] At the next sig meeting April 4, we'll review the elections and determine the next sig chairs. Voting during the meeting may occur to come to a unanimous decision.

Related Links
Link to additional information such as RFC related to the roadmap item.

Learn more about O3DE roadmaps.

This is a year and a half old, and the SIG team has completely turned over, so closing this.


pufferpanel: 2.2.0 -> v2.6.6

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Cc @ckiee as you are listed as maintainer for this package.

Just a small note, I’ve noticed that the build included a program used for internal PufferPanel testing (templatetester), removed it in the last push.
https://github.com/NixOS/nixpkgs/blob/66a81b0db8220e1ca4e2859796bba2ee0d1a4934/pkgs/servers/pufferpanel/default.nix#L80-L83

Oh.. Sorry everyone! Forgot about that..

Please reopen this, we can't unping folks.


Revert changes on failure

Codecov Report

Merging #67 (e3e68f2) into int (165ef71) will increase coverage by 0.53%.
The diff coverage is 50.74%.

@@            Coverage Diff             @@
##              int      #67      +/-   ##
==========================================
+ Coverage   54.54%   55.08%   +0.53%
==========================================
  Files          12       12
  Lines        1023     1122      +99
==========================================
+ Hits          558      618      +60
- Misses        399      420      +21
- Partials       66       84      +18

Impacted Files
Coverage Δ

apiclient.go
86.36% <ø> (-9.36%)
:arrow_down:

main.go
0.00% <0.00%> (ø)

dnsconfig.go
46.35% <45.07%> (-3.04%)
:arrow_down:

agent.go
70.19% <47.72%> (+8.54%)
:arrow_up:

firewall.go
54.34% <83.33%> (+3.93%)
:arrow_up:

netmon.go
40.32% <0.00%> (+4.83%)
:arrow_up:

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 165ef71...e3e68f2. Read the comment docs.


How can I attach the original color and texture of teeth to this obj file？

How to paste the original color and texture of teeth back onto the generated OBJ file?

I think you can design your texture map and a mapping relationship with some extra files. This is common in obj but you need to pay attention to the position of triangle face and vertices.


Loading blink + anchor bug

When the example pseudo_ortho  loads, I can see a blink frame where the model is not visible, if I start orbiting at that time, I lose completely all models (I can't see them anymore whatsoever), and the anchor is rendering weirdly.
Video reproduction

Screencast from 12-16-2024 10:35:58 AM.webm

The camera seems catapulted far away, and scrolls is more sensitive, but I didn´t investigate more.

That example is a bit of a hack already. I'd like to just remove it. The problem I was trying to solve was that certain depth effects were not working in ortho, however, that is a different problem related to precision caused by the near/far planes.

Example removed as it was a big hack anyway.


BUG: sparse: Restore random coordinate ordering to pre-1.12 results

Reference issue
Fixes gh-20027.
What does this implement/fix?
This restores the coordinate ordering that we used to return in version 1.11, which was inadvertently changed when we overhauled the sparse array creation functions for 1.12.
Additional information
We don't 100% guarantee that the random creation functions will produce exactly the same results from version to version, but this was a simple enough fix that I think it's worth maintaining consistency.
Demo of the new behavior with this PR (see gh-20027 for reference):
In [3]: x = ss.random(3, 3, density=0.7, random_state=1)

In [4]: print(str(x))
  (2, 2)        0.23608897695197606
  (2, 0)        0.3965807272960261
  (0, 2)        0.3879107411620074
  (1, 2)        0.66974603680348
  (1, 0)        0.9355390708060318
  (0, 0)        0.8463109166860171

Yeah, I'm hesitant to add a test here because I don't want to implicitly prevent improvements to sparse matrix creation in the future. There's precedent for this here: https://github.com/scipy/scipy/pull/9051#issuecomment-434890498

Ok, looks like Ralf, Pauli and you discussed breaking backcompat six years ago and the CI failures are unrelated.


Samsung S6 small view of camara

Hi, I have been using a cell samsumg S6 and when opening the camera gives me a little screen of the camera that is not respect the size you assign can help me solve it.
In the line: var rect = {x: 100, y: 100, width: 200, height: 200}; assign values to get the width and height of the screen "$ (window) .width (), $ (window) .height ()".
The measures are right but the box is very small.
We are in contact

Hi, i have the same exact issue ... i have tried everything, this only happens on samsung, is there any workaround?


feat(cli): show commit hash of created template

/close #187

Since the lib we're using downloads the archive via HTTP and do not use any git protocol, there's no way to get this information directly.
I opened an issue upstream to implement the git get-tar-commit-id equivalent to giget.


Output reservoir level

https://github.com/eklem/justini

Store the data as round robin databse style, but maybe just in JSON? Or maybe store the whole year, and then Justini can figure out what / how to show. Create a new file for each year.
Have two different events: filling and watering. The way to detect filling is when water level is higher than last stored event.


Source data model in Feast Core should be generalized

Expected Behavior
Sources are generic and extensible.
Current Behavior
Currently the sources data model in Feast Core is hardcoded specifically to KafkaSource.
Possible Solution
Make sure none of the columns in our data model is specific to a single source. The pattern we have followed thus far is to use Map<String,String> for Source, Runner, Store configurations. One way to solve this problem is to have source configuration stored as a serialized JSON map in a single column in the Source table.

While I get the utility and convenience especially for deploying Feast with more distributed ownership in the organization, we ignore / work around a lot of the Source and Store configuration kept in the registry RDBMS, in favor of service discovery.
I also think that asking data scientists and data engineers to be concerned with operational infra configuration like Kafka broker addresses when registering feature sets is not an elegant separation of concerns.
Maybe we can take this as an opportunity to consider design alternatives as well.

Hi @ches, would love to continue the discussion. I've created an issue specifically for the topic over here: #633
That allows this card to stay on track separately since I don't see us making fundamental changes to sources in 0.5


146 addresses, carefully executed airdrop farming scheme from fresh wallets

Related Safe Addresses
0x58ad3f6263ec5a080f52668e0114ab3c7dc4d5f4
0xa75882fa2b637c1f1ec133ad17c569bc0ade4a28
0x83ee0333cfb3eb4aa14188c099d3c9e5ca3dadec
0xa4daadfba6264eb98232acb28ce0cff3aadc6d36
0x877b3f0dfa0a37e27b2194e90ab40343f0792e79
0xcae4159d70462ba56a949f5cab922ff6b9c4ff54
0x2f6049f03eb16a49d3c6391801338fcefacbcdc1
0x8a0068e16d4203bbd469f1efcb7119d72352874d
0x9da8bb371044b1e85a6078f002163304aa74aa1c
0x4387f1cbacabf6a514e8653eacc086998c14ea41
0xf7d912893fcf833a287f3a6b018f0be09b597471
0xd120adababe6b959d28bfcb7114c705c4409d025
0x7b3c6405338fdc09e2cb31c02cbe50c2b28121b2
0x2dea964e4f37d3cd6a36a390ffd74a49d304eb82
0x632e13064933ae40d56942d1bc15c240c2ae4d61
0x45fe72a0f491358aff381acbdbe0a66b3bc34397
0xa5e649024678e7e4e7b196a08e8e932b2fa339c2
0x78e9dcbab5f8fb0cabba03606d7897c81c6ac291
0x51cdf09d77421643f1f9710d991d5430ac12ef2e
0xfce70ff33d2607296b117a29f964bdfcb2c40f02
0x85a97318db245ee5aaad85ca1280014c78171670
0x9039319d752b1fca07d2f4b2bac26a78b5bca6f2
0xbe0bfb0b40cbcf812ea50495ecada7f8f43e3b84
0xae9b84ac59d6e5fe0999a7a6937a88a46c93f3bc
0x3ac66a76b15e2aed55915968dd8e09235dc45b24
0xbaa0e3436a34e1419733f56dc08f624f3c9d4df1
0x6d6757abd430283ee7930cb5f739d1e159d02892
0xcd585509f7e0c59179a1396a78d17d387802a9ae
0x3127f62a428f4e3e9995675cfe96f456730be067
0x58716bab52f1d0dbdf59fce94c2e93497ce0d650
0x8885b4945b98d313f55f3998ec69ed9d3fd3c3ae
0xdc77d0d8371219a4dc2a2da0d402714fad7d0bf4
0xedcbd9343b0d1fc9fb577c41476549cc942edd44
0x314b40bb168f58d501e79db8fab7410071f61814
0xfc9c2479d6c79664b3ef7b3e79facfaa11b9c296
0xefe704c69e7ea27798c6bea2f28105e83b6f1cb2
0x2f2ba7d20c439ecc3859aced29d0b3c1e1dca993
0xa2765d60b6e645a78a2976286a5e246f3955a5d4
0x9e1c2e8619eeceb8c0a03901585ac6d268b49cca
0x7c4a07fc965ffd8404441cab2b1bcbba3fdad0fa
0x576a664592d5a8041bf36de62f0dc68dd2538d26
0xccc74799f84c856f7e8c79f98a32e4d5fa8a604e
0x06a5308356571070ecea24a990091b1caba3268d
0x026a5311f67b988808e94083bb14138daa012b6f
0x7c3522b0db0b58ae6a88217745115b7034e3a0ed
0x63a50db7006912a1cbace03f17186ce2260fb8b9
0x3eaf8be99e07b3b1a9fc9b5030eaf0645801993c
0x91cdf1b534beb56ceaef0e0a79de41c940c59ddc
0x170984c99c187b86d136a21ff989de075a9c28e8
0x3e13719032917e354275c9160d2da83b923f6125
0x58406fe5212a84093067d4903fe53fba33eb90b1
0x0ff3854632becaf8afa10ba18c775b55be3d54b4
0x291df36ecedf9b804729ff760e261dea3854bfb7
0x7354a266f4fa66d991b30e6402c499e9d17f836b
0x820ff466d10c036363ab6933d9e8653a3118f56a
0x969a1ad9f4e943904eb771bd60515bcf7e0d8775
0x7839ab0ffcefb6dc26fd661cab2d756351d1f3ab
0x9a6976274532883d462e376753fdb2e4c6fbe680
0xc975c94b6bbdbd2756240a4f2f583ee64a4db9e0
0x65704cb168ed6b1569fe466d3e21fc71606ec534
0x49c0c92be50e1353e8d99aa076ca8f8d994a37c2
0x7be985b997cc84110328289c84c513a0e51e7ab9
0x5fabbcd93604f9bbb4f38b313577c1200923ae06
0xdb23090ae36e5677854b8a2414872829808d89bf
0x9836d78c87f78f1f43f454d7d3af0141a6d75f5a
0x23d454d30caa725041f2b5fe36285e76e3361e27
0x4412beedc64f5b1ac6b7c016c03363a6f575d0ff
0x9751ab834f1747797c45483c75a9367667e3ebd1
0x4a26b9d2122830461375aeeb2adfe012565e1d81
0x6eec0c6ac830c335bf6a729bc906a3ba803a4188
0x502e033dea88ddeade8821e956d3561d01bd50cd
0x995e2bbc9a4195d08006f4f6b4b4b80a3efc4d24
0x967e9779614d67af4f43020d7f72b7c1693fd36c
0x9202b1a266b3ce79a68a774534fdedb58bdde34a
0x57eff7cf7bf0154544b295cea5387ea870d49a9c
0xf5b025c7f2c42dc8c1572e10ab6b515d37c8dce6
0x5168362bf8506dcd2023ebe906b34d44dc824cab
0xf0555e11de62206d6985227c7b56c222f5b6a434
0xb74268ccd6437e52ccd2ec0b333bbaa744f5e821
0x323c39b651b7949703d600359da0bf0c5b396589
0x89dfe63274439ca32a0a132088381006ddb10259
0x3ba7c3648af1e61982098a2dac55a8f6b508ba47
0x11b82db7f59727b77ba0136ae69bdbe7e095c9fa
0xd1e7a84f4e0949c744960914e8b06ac95edb14a9
0xb16e88c792210a601b16523ce233b39b71f61538
0x805ca2eeba31f315269a4f1f9981446ce17c27b6
0xd0a9a90a53e914049acce65d2f1bb44797bd07ae
0x46c78a1eb1fa3c441306ccc94fe633d8db6769eb
0x06c2bc54de2b92e1f533aa189edb9f7ed805d05b
0xbe86d838cef84ba8da69de7ef76d8df42cde645e
0x3e9516d4ec7f1d187ad9196132b4f118d771c979
0xd4f419b75888021f0bd9a74d56e4fe0f81ddfdb0
0x4dc75b1cba0c317c101cf6b03cc643bb8b0bc49b
0x7543e222602d25a9cd83a49fcb8156a7982869a2
0x2c4e2ea67941ba82d99d0769c45edeef46b00356
0xd7f6026c718523f520ec194746710a2303bc34f6
0x62424ffcb2f989b690c767ba19f4b1659dca0dca
0xd4d9261a7bf3bc9a8bc6f0b2ef859598dadb0cb3
0xe25257a8794936ca3037a0274e29a499674002f1
0x38276ef08893a5db2c9389e6e52360e172139e48
0x59f3b6aff0122327ac5847341ec3615741bfb533
0x9742a2d39619ebe90cf2f9e85b3e02bd0afcd210
0xf63f22dc990e97cdcd7ad46a67f0240d666a59ae
0x172e55241869c004d73f86d7e87415822bd9a828
0xe42d5f72e6edcee6f8d087ea50622a98e7f510ff
0xc92423310fbff3d77d4dd91c99f6e668ed42e80a
0xb0013c6d2ef9bc3675cf5f8dbfc7c0ed13150ccf
0x0c542b53ecff2f2ed391db0626e84c7479225ab4
0x75ecbaed6d5647890e947808054a25c6d96a5ec1
0xe093f1a6a2e425e4692095fb9b0a0264b89bdfc4
0xacfd31497855673c5dd0af7e4023747c1deea10f
0x1aba02ecf2f2060b02653099a2ab9b5750ec591b
0xbe75f40adebdb2a1802c623240c4a99ca26a28a8
0xddf57cb4f223fdb8ddff03e05bf35255d6a518b6
0xc02caf142ca5fb84ad60883c47d20159bbf0f131
0x86516b9e9111e57930e5a3e5d3ce30b4eadf38fe
0xc1f4ad4212207436a8bd3635b3f5bcda9731a7a0
0x5731ed586b64e5bc929faf5e324b7bf6d0e300ed
0x29ca4086ff0a8ba7a1af96053f29cb660deea5e5
0xe2504416481a2aa96c2010a456dc918823337ef8
0x15b56c1af9918e5ec3ad0bc8bdd8a2e55b80a431
0x973c7c67b3bf62d8864aa94fe79aa6de94930fff
0xa3d0bcb6b7c6d321f67ae839e9feed04e7fafed5
0xdf3928384750b40fe6f21a73a5e236c44cf2b485
0x2defd07615810e5726c7272ba4361e89fe666fd2
0x74520bebbf0ba5be15373621845e51045387a227
0x03efc1ebb6b3ebd280addfea0c7778bf203c188c
0x0e77fe049f400a5c2d7598fa133d1d636065b6ed
0x8f105799a3adc9e012d38921e8c0467f6d86dcd0
0xca33124e8b4b3b7a530c8073d221658c3d10bb6d
0x6d0e9e5562500717323a7ccef6551476766d27b7
0x04b3d94dc72e01ff320e601523ddcbf6cd6915ab
0x230006ed9586eaf550d74b8120018b9d117c62cd
0x41f6ce42940ffc7295bf36ea90d3ad1a1902e37c
0xf4a863c9d6598005ccdab4f5f0b711ea029dcc58
0x9ca9a16ed1079f544410aa5996ea6c9090f1546c
0xecc9db98051882b48229c0d607f2ded829674c51
0x0341bd434f39abab044adfc5f89634e818e1c977
0x1b8e8790467d4f994d5ec519c73ba95d2af06279
0x73a74cb40a2242a9108f4c4c9149ff9a310a0e53
0xc9510f3057522db12277c492bb60137a149deb11
0x3fce98809bef3782b1c7fd4674f3ea856cd5f246
0xe7d00ca7c8cb108d14b308e4d4cff98a2070e941
0xd31e963dda3d815e6fdfe7d274fbf1e603a96914
0x42b9ed2779bd96fae33cf9cadc84ac27019e1a15
0x7da590f6428152112bd3927fb3508bfce65b97ad

Reasoning

Suspected airdrop farmer starts funding wallets from FTX (0.0115-0.01549) on 2022-08-04 02:16:59 UTC and by 2022-08-04 02:43:14 has funded 146 fresh addresses.

Then between 2022-08-04 18:23:12 and 2022-08-04 18:32:58 105 of the fresh funded addresses create a safe all in separate transactions, in 4 different blocks all using exactly 8 gwei as gas price.
Later on the same day between 21:50:52 and 21:51:19 the remaining 41 fresh addresses continue creating safes in transactions, in 2 different blocks, all using exactly 6 gwei.

All 146 freshly created safes are funded from FTX (0.0045-0.00649) between 2022-08-05 00:38:07 - 01:01:33.

Then between 2022-08-05 06:22:43 - 08:46:11 all the creator addresses of safes start signing transfers from safe to completely fresh wallets (separate for every safe).
For example 0xe0ea1531163be158f47b948a274187d3bbd3ffc1 (creator of 0x230006ed9586eaf550d74b8120018b9d117c62cd) executes transfer of 0.00232 ETH to 0x38f8da5c4727e7148d0f766bd83d245b7243b728.

Then during 2022-08-06 09:44:28 - 10:10:06 all the addresses that received ETH in previous step, return part of it to the safe that transfered it.

After more than 3 weeks of no transactions in any address of safe, all addresses transfer some eth back to safes, during 3 time periods 2022-08-28 17:35:06-17:34:53, 2022-08-28 21:15:20-2022-08-28 21:15:30 and 2022-08-29 01:59:37-01:59:52)

All the safes have exactly 4 events:

Funded from FTX wallet.
Transfer ETH to fresh wallet.
Receive some ETH back from the wallet in 2.
Reveive some ETH back again from the wallet in 2.

All the safe creating addresses have exactly 3 events (except 0xaf73951c4b13af0f363b6a6a3b50e304723c6f32 which was funded from FTX 2 times):

Funded from FTX wallet.
Create Safe.
Exec transaction in Safe.

146 addresses + safes performing all the same actions in tight time-windows clearly indicates that this is extensive and well-executed air drop farming performed by 1 person.
Methodology
Pulled data from Etherscan and detected an anomaly where suspiciously high amount of new safes were created in short time frame.
Source datasets:
Full transaction log from creators of all mentioned safes:
sybil_creator_full_transaction_log.csv
Full transaction log from all mentioned safes:
sybil_safe_transaction_log.csv
Safe address and safe creator address:
sybil_safe_creators.csv
Safe Address
0x3B0f3e067cc24F40C28CDd8f36C8243F5d7DE72A

Failed with the search and thought these were unreported. These addresses are the same as earlier reported in https://github.com/safe-global/safe-user-allocation-reports/issues/306#issue-1368160691

Hi, I accidentally found out a wallet of mine was included in this report. Let me first express my respect, this was indeed quality work and really impressive. And I also would like to point out that issue #306 was actually plagiarizing from this one, and you will know that if you check its edit history. What a shame on that reporter, and kudos to your gesture on your comments under both reports.
However, though your reasoning might look plausible, this was not airdrop farming by 1 person. I believe most of these addresses (I know a few) likely belong to members of an elite DAO I'm in, and we had zoom meetings to hangout and talk about crypto investments. These were mostly created and operated during a few recent zoom meetings with step by step instructions demonstrated by our founder, and we just followed. One of our members had a hot wallet hacked and lost all his tokens and NFTs which were worth more than $100k, so we felt we needed some safer wallets. But unfortunately many of us don't have a reliable channel to get good hardware wallets, so the founder proposed to use Safe wallets signed by a few new hot wallets as a safe way for asset storage, which is much safer than putting assets in a hot wallet. These were our practice Safes, and our upcoming membership NFT would also be sent to these Safes. To encourage participation, he used a bit of our donated DAO fund to pay for gas for Safe creation, and later transactions to make sure we can actually sign transactions using our hot wallets.
That's how I learned about Safe and I think it's great. It's a pleasant surprise that we may even get some SAFE tokens, but when I was checking I found this report that made the incorrect claim. Getting the SAFE airdrop was clearly not our purpose, and to be honest I think most of us don't even care about it. When I first heard about the airdrop eligibility, I was planning to donate it to our DAO fund anyways, same as many other DAO members would do. But it is an insult to me and other members to be called a "sybil" or "airdrop farmer", and that's what we really care about. We are just some individual investors trying to learn some crypto basics, and also we don't want to stop using Safe just because we are called as "sybils" like this. Hope you can understand our position.
Other than that part, again, I respect your work here and it definitely has higher quality than most others I spot checked, and I respect even more the nobleness you showed after you thought issue #306 was earlier (which was clearly not the case). Please don't be disappointed, and keep up with the good work!

The post was created on September 9 and the content is empty
On September 13th, GMT+0, before 4:00, the content of your post was still empty
#389 was posted on September 12th, GMT+0, 21:44
On September 13th, GMT+0, 4:11, you copied the method of #389 and posted the content
This is the real witch act, it's shameful

Someone in my DAO alerted me that I had been reported as a witch. (By the way, it took me quite a while to sign up a github account). I want to say, is it  just because someone taught us who can't buy reliable ledger in some area in the world and then teach us the reason for transferring money? What if I prove later that I'm not a witch?  In addition, at the time of time, I didn’t know that safe had an airdrop. Didn’t the snapshot happen very early?

Thanks for the report. We've found the following to be related to airdrop farming:
0x58ad3f6263ec5a080f52668e0114ab3c7dc4d5f4
0xa75882fa2b637c1f1ec133ad17c569bc0ade4a28
0x83ee0333cfb3eb4aa14188c099d3c9e5ca3dadec
0xa4daadfba6264eb98232acb28ce0cff3aadc6d36
0x877b3f0dfa0a37e27b2194e90ab40343f0792e79
0xcae4159d70462ba56a949f5cab922ff6b9c4ff54
0x2f6049f03eb16a49d3c6391801338fcefacbcdc1
0x8a0068e16d4203bbd469f1efcb7119d72352874d
0x9da8bb371044b1e85a6078f002163304aa74aa1c
0x4387f1cbacabf6a514e8653eacc086998c14ea41
0xf7d912893fcf833a287f3a6b018f0be09b597471
0xd120adababe6b959d28bfcb7114c705c4409d025
0x7b3c6405338fdc09e2cb31c02cbe50c2b28121b2
0x2dea964e4f37d3cd6a36a390ffd74a49d304eb82
0x632e13064933ae40d56942d1bc15c240c2ae4d61
0x45fe72a0f491358aff381acbdbe0a66b3bc34397
0xa5e649024678e7e4e7b196a08e8e932b2fa339c2
0x78e9dcbab5f8fb0cabba03606d7897c81c6ac291
0x51cdf09d77421643f1f9710d991d5430ac12ef2e
0xfce70ff33d2607296b117a29f964bdfcb2c40f02
0x85a97318db245ee5aaad85ca1280014c78171670
0x9039319d752b1fca07d2f4b2bac26a78b5bca6f2
0xbe0bfb0b40cbcf812ea50495ecada7f8f43e3b84
0xae9b84ac59d6e5fe0999a7a6937a88a46c93f3bc
0x3ac66a76b15e2aed55915968dd8e09235dc45b24
0xbaa0e3436a34e1419733f56dc08f624f3c9d4df1
0x6d6757abd430283ee7930cb5f739d1e159d02892
0xcd585509f7e0c59179a1396a78d17d387802a9ae
0x3127f62a428f4e3e9995675cfe96f456730be067
0x58716bab52f1d0dbdf59fce94c2e93497ce0d650
0x8885b4945b98d313f55f3998ec69ed9d3fd3c3ae
0xdc77d0d8371219a4dc2a2da0d402714fad7d0bf4
0xedcbd9343b0d1fc9fb577c41476549cc942edd44
0x314b40bb168f58d501e79db8fab7410071f61814
0xfc9c2479d6c79664b3ef7b3e79facfaa11b9c296
0xefe704c69e7ea27798c6bea2f28105e83b6f1cb2
0x2f2ba7d20c439ecc3859aced29d0b3c1e1dca993
0xa2765d60b6e645a78a2976286a5e246f3955a5d4
0x9e1c2e8619eeceb8c0a03901585ac6d268b49cca
0x7c4a07fc965ffd8404441cab2b1bcbba3fdad0fa
0x576a664592d5a8041bf36de62f0dc68dd2538d26
0xccc74799f84c856f7e8c79f98a32e4d5fa8a604e
0x06a5308356571070ecea24a990091b1caba3268d
0x026a5311f67b988808e94083bb14138daa012b6f
0x7c3522b0db0b58ae6a88217745115b7034e3a0ed
0x63a50db7006912a1cbace03f17186ce2260fb8b9
0x3eaf8be99e07b3b1a9fc9b5030eaf0645801993c
0x91cdf1b534beb56ceaef0e0a79de41c940c59ddc
0x170984c99c187b86d136a21ff989de075a9c28e8
0x3e13719032917e354275c9160d2da83b923f6125
0x58406fe5212a84093067d4903fe53fba33eb90b1
0x0ff3854632becaf8afa10ba18c775b55be3d54b4
0x291df36ecedf9b804729ff760e261dea3854bfb7
0x7354a266f4fa66d991b30e6402c499e9d17f836b
0x820ff466d10c036363ab6933d9e8653a3118f56a
0x969a1ad9f4e943904eb771bd60515bcf7e0d8775
0x7839ab0ffcefb6dc26fd661cab2d756351d1f3ab
0x9a6976274532883d462e376753fdb2e4c6fbe680
0xc975c94b6bbdbd2756240a4f2f583ee64a4db9e0
0x65704cb168ed6b1569fe466d3e21fc71606ec534
0x49c0c92be50e1353e8d99aa076ca8f8d994a37c2
0x7be985b997cc84110328289c84c513a0e51e7ab9
0x5fabbcd93604f9bbb4f38b313577c1200923ae06
0xdb23090ae36e5677854b8a2414872829808d89bf
0x9836d78c87f78f1f43f454d7d3af0141a6d75f5a
0x23d454d30caa725041f2b5fe36285e76e3361e27
0x4412beedc64f5b1ac6b7c016c03363a6f575d0ff
0x9751ab834f1747797c45483c75a9367667e3ebd1
0x4a26b9d2122830461375aeeb2adfe012565e1d81
0x6eec0c6ac830c335bf6a729bc906a3ba803a4188
0x502e033dea88ddeade8821e956d3561d01bd50cd
0x995e2bbc9a4195d08006f4f6b4b4b80a3efc4d24
0x967e9779614d67af4f43020d7f72b7c1693fd36c
0x9202b1a266b3ce79a68a774534fdedb58bdde34a
0x57eff7cf7bf0154544b295cea5387ea870d49a9c
0xf5b025c7f2c42dc8c1572e10ab6b515d37c8dce6
0x5168362bf8506dcd2023ebe906b34d44dc824cab
0xf0555e11de62206d6985227c7b56c222f5b6a434
0xb74268ccd6437e52ccd2ec0b333bbaa744f5e821
0x323c39b651b7949703d600359da0bf0c5b396589
0x89dfe63274439ca32a0a132088381006ddb10259
0x3ba7c3648af1e61982098a2dac55a8f6b508ba47
0x11b82db7f59727b77ba0136ae69bdbe7e095c9fa
0xd1e7a84f4e0949c744960914e8b06ac95edb14a9
0xb16e88c792210a601b16523ce233b39b71f61538
0x805ca2eeba31f315269a4f1f9981446ce17c27b6
0xd0a9a90a53e914049acce65d2f1bb44797bd07ae
0x46c78a1eb1fa3c441306ccc94fe633d8db6769eb
0x06c2bc54de2b92e1f533aa189edb9f7ed805d05b
0xbe86d838cef84ba8da69de7ef76d8df42cde645e
0x3e9516d4ec7f1d187ad9196132b4f118d771c979
0xd4f419b75888021f0bd9a74d56e4fe0f81ddfdb0
0x4dc75b1cba0c317c101cf6b03cc643bb8b0bc49b
0x7543e222602d25a9cd83a49fcb8156a7982869a2
0x2c4e2ea67941ba82d99d0769c45edeef46b00356
0xd7f6026c718523f520ec194746710a2303bc34f6
0x62424ffcb2f989b690c767ba19f4b1659dca0dca
0xd4d9261a7bf3bc9a8bc6f0b2ef859598dadb0cb3
0xe25257a8794936ca3037a0274e29a499674002f1
0x38276ef08893a5db2c9389e6e52360e172139e48
0x59f3b6aff0122327ac5847341ec3615741bfb533
0x9742a2d39619ebe90cf2f9e85b3e02bd0afcd210
0xf63f22dc990e97cdcd7ad46a67f0240d666a59ae
0x172e55241869c004d73f86d7e87415822bd9a828
0xe42d5f72e6edcee6f8d087ea50622a98e7f510ff
0xc92423310fbff3d77d4dd91c99f6e668ed42e80a
0xb0013c6d2ef9bc3675cf5f8dbfc7c0ed13150ccf
0x0c542b53ecff2f2ed391db0626e84c7479225ab4
0x75ecbaed6d5647890e947808054a25c6d96a5ec1
0xe093f1a6a2e425e4692095fb9b0a0264b89bdfc4
0xacfd31497855673c5dd0af7e4023747c1deea10f
0x1aba02ecf2f2060b02653099a2ab9b5750ec591b
0xbe75f40adebdb2a1802c623240c4a99ca26a28a8
0xddf57cb4f223fdb8ddff03e05bf35255d6a518b6
0xc02caf142ca5fb84ad60883c47d20159bbf0f131
0x86516b9e9111e57930e5a3e5d3ce30b4eadf38fe
0xc1f4ad4212207436a8bd3635b3f5bcda9731a7a0
0x5731ed586b64e5bc929faf5e324b7bf6d0e300ed
0x29ca4086ff0a8ba7a1af96053f29cb660deea5e5
0xe2504416481a2aa96c2010a456dc918823337ef8
0x15b56c1af9918e5ec3ad0bc8bdd8a2e55b80a431
0x973c7c67b3bf62d8864aa94fe79aa6de94930fff
0xa3d0bcb6b7c6d321f67ae839e9feed04e7fafed5
0xdf3928384750b40fe6f21a73a5e236c44cf2b485
0x2defd07615810e5726c7272ba4361e89fe666fd2
0x74520bebbf0ba5be15373621845e51045387a227
0x03efc1ebb6b3ebd280addfea0c7778bf203c188c
0x0e77fe049f400a5c2d7598fa133d1d636065b6ed
0x8f105799a3adc9e012d38921e8c0467f6d86dcd0
0xca33124e8b4b3b7a530c8073d221658c3d10bb6d
0x6d0e9e5562500717323a7ccef6551476766d27b7
0x04b3d94dc72e01ff320e601523ddcbf6cd6915ab
0x230006ed9586eaf550d74b8120018b9d117c62cd
0x41f6ce42940ffc7295bf36ea90d3ad1a1902e37c
0xf4a863c9d6598005ccdab4f5f0b711ea029dcc58
0x9ca9a16ed1079f544410aa5996ea6c9090f1546c
0xecc9db98051882b48229c0d607f2ded829674c51
0x0341bd434f39abab044adfc5f89634e818e1c977
0x1b8e8790467d4f994d5ec519c73ba95d2af06279
0x73a74cb40a2242a9108f4c4c9149ff9a310a0e53
0xc9510f3057522db12277c492bb60137a149deb11
0x3fce98809bef3782b1c7fd4674f3ea856cd5f246
0xe7d00ca7c8cb108d14b308e4d4cff98a2070e941
0xd31e963dda3d815e6fdfe7d274fbf1e603a96914
0x42b9ed2779bd96fae33cf9cadc84ac27019e1a15
0x7da590f6428152112bd3927fb3508bfce65b97ad

@tschubotz I just got email notification that this report has been accepted as valid. This is particularly sad as you just violated the principle stated in your own announcement "Methodology that has a non-negligible chance of eliminating legitimate users will not be considered. When in doubt, we opt for “this is legit usage”." Basically a group of elite DAO members following live demo trying to learn how to use Safe as a safe asset store is not "legit usage" in your opinion. While at the same time, I saw some other reports clearly showing one address owning hundreds of Safes with little transactions are marked as invalid reports. Nice job.
I mentioned this report in our community earlier and most of us didn't care about the airdrop (ironically, aren't we "sybils"? lol) and we never expected it anyway, but many (including myself) were pissed off to be called "sybils". I think most of us would stop using Safe (some of us already created main Safe accounts separately other than these practice accounts created during our meetings), and we will for sure not distribute our membership NFT to these addresses now (glad we haven't done that yet). Goodbye Safe, sadly.


Re-running review when PR is synchronized

I'm running the pr-agent as a git action. When a PR is opened, the review is running and a comment is added.
Is there a way to re-run review automatically also when the PR gets synchronized with additional commits?

If you set up the workflow as below, the workflow will start twice, but PR-Agent can be started for each syncronize event.
name: "PR Agent"

on:
  pull_request:
  issue_comment:

jobs:
  pr_agent_job:
    runs-on: ubuntu-latest
    name: Run pr agent on every pull request, respond to user comments
    permissions:
      issues: write
      pull-requests: write
      contents: write
    steps:
      - name: Review command
        if: github.event_name == 'pull_request' && github.event.action == 'synchronize'
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh pr comment ${{ github.event.pull_request.number }} --repo ${{ github.repository }} --body "/review"

      - name: PR Agent action step
        id: pragent
        uses: Codium-ai/pr-agent@main
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          OPENAI_KEY: ${{ secrets.OPENAI_KEY }}

Thanks @ken109
For some reason it doesn't work for me.
When I add a "/review" comment to the PR manually, the pr-agent runs and provides a feedback.
When it happens from the workflow, the "/review" comment is added but the pr-agent is not triggered...

@nataliezeller1
I wonder why,,
Try using PAT instead of secrets.GITHUB_TOKEN as the token when commenting /review.

@nataliezeller1
have you added the push commands ?
for example:
push_commands = [
    "/describe --pr_description.add_original_user_description=true --pr_description.keep_original_user_title=true",
    "/auto_review ",
]

you need to define which tools will run each push.
if it still doesn't work, please send a full og

yes there is a dot at the beginning of the file - .pr_agent.toml
here is the full log
logs-from-codiumai-in-codiumai-689577d5d8-st4sz.log

@nataliezeller1 did you enable push events in the app settings?

@nataliezeller1
are you able to get any configuration change from .pr-agent.toml ?
try something far more simpler, like:
[pr_reviewer]
num_code_suggestions=1

Make sure the file is in the root of the repo's main branch prior to creating a PR.

yes the other configurations in this file are reflected, just not the handle_push_trigger.
the file is in the root of the repo's main

@nataliezeller1
Thanks for the feedback and the patience.
I have identified an issue with 'synchronize' events in GithubApp, and opened a PR to fix it:
https://github.com/Codium-ai/pr-agent/pull/511

Thanks for handling this so quickly!

@nataliezeller1 we merged https://github.com/Codium-ai/pr-agent/pull/511
you are welcome to test it and give feedback if it works

@mrT23 It works, thanks!


License

Hi, we thought about making our own minimalistic CANopen crate, but this looks like it may fit the bill so we would be happy to use it and possibly contribute if our needs become more complex.
I couldn't find the license though, would you consider making it available under the usual MIT+Apache 2.0 dual license?

Ya sure thing. This isn't something I'd say it complete by any means but it is something I'd like to get back to at some point

Added MIT license

Fantastic, thank you very much!


chore(TDI-46766): https connection for JCenter.

What is the current behavior? (You can also link to an open issue here)
https://jira.talendforge.org/browse/TDI-46766
What is the new behavior?
Please check if the PR fulfills these requirements

[X] The commit message follows Talend standard
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features) ?
[ ] The code coverage on new code >75%
[X] The new code does not introduce new technical issues (sonar / eslint)

What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[X] Chore

Does this PR introduce a breaking change?

[ ] Yes
[X] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:

Pull request test result: failure :x:


makefile is broken

Since c6a750b0:
$ make clean
make: *** No rule to make target 'makefiles/Makefile.third_party.unix', needed by 'Makefile.local'.  Stop.

So far as I can see, the fix should just be add the .mk suffix at this line.
Maybe consider setting up CI...?

THis is fixed. Sorry for the delay.

Hi,
I fixed that some time ago, but never reported it.
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
2017-03-12 8:30 GMT-04:00 David Hotham<EMAIL_ADDRESS>
Since c6a750b
https://github.com/google/or-tools/commit/c6a750b0e08bb8232ad07ad52a9b36b74ce2bed2
:
$ make clean
make: *** No rule to make target 'makefiles/Makefile.third_party.unix', needed by 'Makefile.local'.  Stop.
So far as I can see, the fix should be just to remove the bogus dependency
at this line
https://github.com/google/or-tools/blob/f4d007098d421500c683248626eb0389d195c479/makefiles/Makefile.third_party.unix.mk#L475
.
Maybe consider setting up CI...?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/341, or mute the thread
https://github.com/notifications/unsubscribe-auth/AKj17aNMYq6Y0EaFG_6YXAJ6c1KKd6Lxks5rk-V1gaJpZM4Mahl2
.


Google Drive Webhooks: stable fix for better renewal

As discussed with @lasryaric and @spolu IRL; related discussion

@lasryaric do you plan to have a look? do you have time?

sitrep?

Still planning to work on it, next in my list.

Done. PR is here. Closing


ICAO already exists when editing smartCARS airport

When editing an airport within the FTE administration panel, the validation rule isn't skipping the id of the entry currently being edited. Hence, it's throwing an error showing that the ICAO is already in use.

https://github.com/VATSIM-UK/core/blob/fdce39f4af9a9d8bd5ef86bd8464dc06c669cd81/app/Http/Controllers/Adm/Smartcars/Resources/AirportController.php#L19

:tada: This issue has been resolved in version 6.4.22 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add list of supported CSS classes in annotations

@keithpitt was this the kind of thing you'd imagined with #387?
This adds a big list of all the classes we support from Basscss. I've done some further grouping of the classes to separate them out a bit, does it look like they're all in appropriate places @ticky?
Closes #387

I was hesitant to do this primarily because the class names only tell some of the story, and I didn't think duplicating the basscss docs made sense. This list looks reasonable otherwise!

Perfect, thanks @harrietgrace!

Thanks @ticky and @keithpitt! 🙏🏻


The string 'Cold' is not translated on the 'Update Access Tier' dialog

Storage Explorer Version: 1.29.0-dev
Build Number: 20230324.2
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 20.04/MacOS Ventura 13.2.1 (Apple M1 Pro)
Language: All languages
How Found: From running test case
Regression From: Not a regression
Steps to Reproduce

Launch Storage Explorer.
Open 'Settings' -> Application (Regional Settings) -> Select '中文(简体)' -> Restart Storage Explorer.
Expand one storage account -> Blob Containers.
Create a blob container -> Upload one blob -> Update the blob access tier to 'Cold'.
Right click the blob -> Click 'Change access tier...'.
Check whether all strings are translated on the dialog.

Expected Experience
All strings are translated on the dialog.
Actual Experience
The string 'Cold' is not translated.

We added the string for translation. We will track the translation in this issue https://github.com/microsoft/AzureStorageExplorer/issues/6700


feat(devtool): add "eval" support

Summary

support "eval" only output for devtool.
please feel free to close the pr if it is not planned.
Test Plan

Require Documentation?

[ ] No
[ ] Yes, the corresponding rspack-website PR is __

!bench

@ahabhgk Great work! This looks good to me.

Thanks!


docs(readme): Add scoop install method

If there are any additional docs or comments wanted, like linking the manifest itself, lmk

Looks good to me.


Fang/qa

Coverage decreased (-0.1%) to 86.254% when pulling 68762557ce637a0319399b10f51c5fdff90d36d5 on fang/qa into 27499a74f609f7d9af66dac4d6fb78b704037cd9 on qa.


cargo-deny crashes on crates using custom defined license-file's

Describe the bug
cargo-deny mixes absolute and relative paths for license-file license file paths and crashes on custom^ relative paths specified by crate authors in the Cargo.toml.
^custom meaning: a path which is not located in the crates' root and does not start with "LICENSE".
To Reproduce
Steps to reproduce the behavior:

Create a new rust crate, for example cargo new mycrate
Add a (text) file which name does not start with LICENSE (or isn't located at the root of the crate).
Update the Cargo.toml to include this file as license-file*  (akin to this example)
Include a deny.toml example
Run cargo deny check

*note that the path should be relative; if one includes an absolute path as value for the license-file key, the program runs fine.
Expected behavior
An analysis result of the included custom license text. (i.e. not a crash)
Actual behavior
cargo-deny crashes (see screenshots)
Screenshots
Original discovery based on:

Running both the latest master and the latest crates.io version against a minimal example:

Device:

OS: Linux/Ubuntu 19.10
Browser: N/A
Version: 19.10

Additional context

Fixed by #46


After creating an environment, the layout is not updated properly

I created an environment, and clicked "Create".
The layout is switched back to editable mode, but multiple problems appear :

the environment metadata doesn't show the "build" and "status" lines
the description field is left editable
the requested packages is empty
the channels list is empty (you need to expand it to see it) whereas it should display the list of channels
the tab name is still "create environment" whereas it should display the env name
the list of environments on the left panel is not updated

though, refreshing the page displays the expected data.

PR #112


Add missing check from after commit 4c0d0177f3a8de509925a809c5c53d8fa28b69cb

https://github.com/AlphaWallet/alpha-wallet-ios/pull/4494/commits/4c0d0177f3a8de509925a809c5c53d8fa28b69cb#diff-1353eb4ee252ece4990e045f0f016d0fd2a9293bbe88e48b82e8c13e1a1e7bba


"Analytics Home" (winter 23) vs 🤪 Analytics tab in OrgCheck

I don't know if this is something on my end.
From the Salesforce Help doc "Find Your Reports and Dashboards Faster in Analytics Home":

From Setup, in the Quick Find box, enter reports, and then select Reports and Dashboards Settings.
Select Enable the Unified Experience for Analytics Home. [I confirmed this is checked]
From the App Launcher, select Analytics. [The only option for me is the Analytics tab for OrgCheck.]

Am I missing something?
Thank you!

the article is not specifying if your user must have a special system permission to view this Analytics Home tab.
I am almost certain that there is something we are missing here in terms of permission / profile assignment for your user.
First, if you uninstall Org Check from this org, do you have access to the Analytics Home tab that you targeted? Or you have no analytics tab anymore (which i suspect).
Second of course re-install Org Check in this org ! and check if you have like System Profile, and system permission called "see all reports and dashboard" or "see all analytics". I honestly don't know what are the pre-requisite for this feature.

Hi Vincent - Thank you for the follow-up.
I will uninstall Org Check shortly, but I wanted to share another wrinkle first.
Last week, while poking around something else, I noticed that a report I looked at had a slightly different header (the actual webpage).  I copied the URL and then removed the reference to the actual report ID and found myself at the main analytics tab.  I bookmarked the URL so I could get back to it (
.

I have uninstalled Org Check.  You are correct, I am still not able to find the "Analytics" tab in the App Launcher.  But the URL that I had saved still works.  Reinstalling now.

so it seems not linked to orgcheck. the next version will be less intrusive as i revmoed the custom tabs.. :D

Thank you!

UPDATE - Hi Vincent - just wanted to let you know that there was a disconnect between the keyboard and the desk chair that was causing this issue.  Apparently, someone (cough, me) didn't realize that the permission set "CRM Analytics Platform Admin" was needed in order to have access to the Analytics tab (aka Analytics Studio).
So mystery solved!
Thanks again for providing a really helpful (and awesome) tool!

This is nice to finally see a logical solution for this issue.
:D


Virtlet streamer

Configure qemu to connect console to virtlet using unix sockets. Virtlet
will use stdout to save pod logs so kubectl log <pod> will work.
Use kubelete streaming server so kubectl attach <pod> will work.

This change is

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

Reviewed 1 of 41 files at r1.
Review status: 1 of 41 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

pkg/stream/utils_test.go, line 56 at r2 (raw file):

}

func TestGerProcessEnvironment(t *testing.T) {

typo: TestGetProcessEnvironment

Comments from Reviewable

Review status: 1 of 41 files reviewed at latest revision, 2 unresolved discussions.

pkg/stream/streamer.go, line 73 at r3 (raw file):

	}()

	err := (error)(nil)

maybe var err error is a bit simpler?

Comments from Reviewable

Review status: 1 of 41 files reviewed at latest revision, 2 unresolved discussions.

pkg/stream/streamer.go, line 73 at r3 (raw file):
Previously, ivan4th (Ivan Shvedunov) wrote…
maybe var err error is a bit simpler?

heh, a bit :D

Comments from Reviewable

Review status: 1 of 41 files reviewed at latest revision, 2 unresolved discussions.

pkg/stream/utils_test.go, line 56 at r2 (raw file):
Previously, ivan4th (Ivan Shvedunov) wrote…
typo: TestGetProcessEnvironment

Done.

Comments from Reviewable

Reviewed 34 of 41 files at r1, 1 of 1 files at r2, 3 of 3 files at r3, 2 of 2 files at r4.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Reviewed 35 of 41 files at r1, 1 of 1 files at r2, 3 of 3 files at r3, 2 of 2 files at r4.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable