text:
Solarium\Exception\HttpException: Solr HTTP error: HTTP request failed, Failed to connect to localhost port 8983: Connection refused

Issue Type

Bug Report / Support Request

Your Environment
Vagrant 1.9.2
VirtualBox 5.1.26r117224
ansible 2.2.1.0
  config file =
  configured module search path = Default w/o overrides

DrupalVM v4.2.1
Your OS

macOS (10.12.6)

Summary
I have destroyed my VM and provisioned it a few times, but it seems to be refusing to connect to my local solr instance via Search API. I have ssh'd into the server, and solr status says:
> service solr status
* solr.service - Apache SOLR
   Loaded: loaded (/etc/systemd/system/solr.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2017-09-13 19:28:21 UTC; 10min ago
  Process: 1079 ExecStop=/bin/kill -s QUIT $MAINPID (code=exited, status=0/SUCCESS)
  Process: 1068 ExecStart=/opt/solr/bin/solr -e cloud -noprompt (code=exited, status=203/EXEC)
 Main PID: 1068 (code=exited, status=203/EXEC)

Also, if I try to run the example provision script for solr, I get this output:
/opt/solr/bin/solr: No such file or directory

Solr exists at /opt/solr, but no /bin folder.
Console output from last provision:
TASK [geerlingguy.solr : Ensure solr_user group exists.] ***********************
changed: [pncbdev]

TASK [geerlingguy.solr : Ensure solr_user exists.] *****************************
changed: [pncbdev]

TASK [geerlingguy.solr : Set solr_filename for Solr 4+.] ***********************
ok: [pncbdev]

TASK [geerlingguy.solr : Set solr_filename for Solr 3.x.] **********************
skipping: [pncbdev]

TASK [geerlingguy.solr : Download Solr.] ***************************************
changed: [pncbdev]

TASK [geerlingguy.solr : Expand Solr.] *****************************************
changed: [pncbdev]

TASK [geerlingguy.solr : Check if Solr is already installed.] ******************
ok: [pncbdev]

TASK [geerlingguy.solr : Copy Solr into place.] ********************************
changed: [pncbdev]

TASK [geerlingguy.solr : Ensure Solr install files are owned by the solr_user.]
changed: [pncbdev]

TASK [geerlingguy.solr : Check if solr_home is already set up.] ****************
ok: [pncbdev]

TASK [geerlingguy.solr : Ensure solr_home directory exists.] *******************
changed: [pncbdev]

TASK [geerlingguy.solr : Copy Solr example into solr_home.] ********************
changed: [pncbdev]

TASK [geerlingguy.solr : Fix the example solrconfig.xml file.] *****************
ok: [pncbdev]

TASK [geerlingguy.solr : Ensure Solr home files are owned by the solr_user.] ***
changed: [pncbdev]

TASK [geerlingguy.solr : Ensure log file is created and has proper permissions.] ***
ok: [pncbdev]

TASK [geerlingguy.solr : Copy solr init script into place.] ********************
changed: [pncbdev]

TASK [geerlingguy.solr : Ensure daemon is installed (Debian).] *****************
changed: [pncbdev]

TASK [geerlingguy.solr : Copy solr systemd unit file into place (for systemd systems).] ***
changed: [pncbdev]

TASK [geerlingguy.solr : Ensure lsof is present (RedHat).] *********************
skipping: [pncbdev]

TASK [geerlingguy.solr : Ensure setfacl support is present.] *******************
skipping: [pncbdev]

TASK [geerlingguy.solr : Run Solr installation script.] ************************
skipping: [pncbdev]

TASK [geerlingguy.solr : Ensure solr is stopped (RHEL 7 workaround).] **********
skipping: [pncbdev]

TASK [geerlingguy.solr : Run systemd daemon_reload (RHEL 7 workaround).] *******
skipping: [pncbdev]

TASK [geerlingguy.solr : Ensure solr is started and enabled on boot.] **********
changed: [pncbdev]

TASK [geerlingguy.solr : Check current list of Solr cores.] ********************
skipping: [pncbdev]

TASK [geerlingguy.solr : Ensure Solr conf directories exist.] ******************
skipping: [pncbdev] => (item=collection1)

TASK [geerlingguy.solr : Ensure core configuration directories exist.] *********
skipping: [pncbdev] => (item=collection1)

TASK [geerlingguy.solr : Create configured cores.] *****************************
skipping: [pncbdev] => (item=collection1)

TASK [geerlingguy.solr : Remove existing SOLR_HEAP configuration.] *************
skipping: [pncbdev]

TASK [geerlingguy.solr : Apply Solr configuration changes.] ********************
skipping: [pncbdev] => (item={u'regexp': u'^.?SOLR_JAVA_MEM=', u'line': u'SOLR_JAVA_MEM="-Xms64M -Xmx128M"'})
skipping: [pncbdev] => (item={u'regexp': u'^SOLR_PORT=', u'line': u'SOLR_PORT="8983"'})
skipping: [pncbdev] => (item={u'regexp': u'^.?SOLR_TIMEZONE=', u'line': u'SOLR_TIMEZONE="UTC"'})

TASK [geerlingguy.solr : Ensure solr is started and enabled on boot.] **********
changed: [pncbdev]

...seems to indicate it started—but solr's init scripts can be baffling sometimes.
Was this working before, and now it's not? Also, can you share what customizations you have in your config.yml? Maybe this is something new in a later version or in an older version?

Yeah, it was previously working. Came back to the project a few months later, now does not work. The only new addition was a new apache vhost.
---
# `vagrant_box` can also be set to geerlingguy/centos6, geerlingguy/centos7,
# geerlingguy/ubuntu1404, geerlingguy/ubuntu1204, parallels/ubuntu-14.04, etc.
vagrant_box: geerlingguy/ubuntu1604
vagrant_user: vagrant
vagrant_synced_folder_default_type: nfs

# If you need to run multiple instances of Drupal VM, set a unique hostname,
# machine name, and IP address for each instance.
vagrant_hostname: pncb.local
vagrant_machine_name: pncbdev
vagrant_ip: 0.0.0.0

# Allow Drupal VM to be accessed via a public network interface on your host.
# Vagrant boxes are insecure by default, so be careful. You've been warned!
# See: https://docs.vagrantup.com/v2/networking/public_network.html
vagrant_public_ip: ""

# A list of synced folders, with the keys 'local_path', 'destination', and
# a 'type' of [nfs|rsync|smb] (leave empty for slow native shares). See
# http://docs.drupalvm.com/en/latest/extras/syncing-folders/ for more info.
vagrant_synced_folders:
  # The first synced folder will be used for the default Drupal installation, if
  # any of the build_* settings are 'true'. By default the folder is set to
  # the drupal-vm folder.
  - local_path: ../../
    destination: /var/www/pncbdev
    type: nfs
    create: true

# Memory and CPU to use for this VM.
vagrant_memory: 2048
vagrant_cpus: 2

# Minimum required versions.
drupalvm_vagrant_version_min: '1.8.6'
drupalvm_ansible_version_min: '2.2'

# Force use of ansible_local provisioner, even if Ansible is installed on host.
force_ansible_local: false

# The web server software to use. Can be either 'apache' or 'nginx'.
drupalvm_webserver: apache

# The database system to use. Can be either 'mysql' or 'pgsql'.
drupalvm_database: mysql

# Set this to 'false' if you are using a different site deployment strategy and
# would like to configure 'vagrant_synced_folders' and 'apache_vhosts' manually.
build_makefile: false
drush_makefile_path: "{{ config_dir }}/drupal.make.yml"
drush_make_options: "--no-gitinfofile"

# Set 'build_makefile' to 'false' and this to 'true' if you are using a
# composer based site deployment strategy.
build_composer: false
drupal_composer_path: "{{ config_dir }}/drupal.composer.json"
drupal_composer_install_dir: "/var/www/docroot/drupal"
drupal_composer_dependencies:
  - "drupal/devel:1.x-dev"

# Set this to 'true' and 'build_makefile', 'build_composer' to 'false' if you
# are using Composer's create-project as a site deployment strategy.
build_composer_project: false
drupal_composer_project_package: "drupal-composer/drupal-project:8.x-dev"
drupal_composer_project_options: "--prefer-dist --stability dev --no-interaction"

# Set this to 'false' if you don't need to install drupal (using the drupal_*
# settings below), but instead copy down a database (e.g. using drush sql-sync).
install_site: false

# Required Drupal settings.
drupal_core_path: "/var/www/pncbdev/docroot"
drupal_db_user: drupal
drupal_db_password: drupal
drupal_db_name: drupal
drupal_ipn_db_user: drupal
drupal_ipn_db_password: drupal
drupal_ipn_db_name: drupal_ipn

# Settings for installing a Drupal site if 'install_site:' is 'true'.
drupal_major_version: 8
drupal_domain: "{{ vagrant_hostname }}"
drupal_site_name: "Drupal"
drupal_install_profile: standard
drupal_enable_modules: [ 'devel' ]
drupal_account_name: admin
drupal_account_pass: admin

# Additional arguments or options to pass to `drush site-install`.
drupal_site_install_extra_args: []

# Cron jobs are added to the vagrant user's crontab. Keys include name
# (required), minute, hour, day, weekday, month, job (required), and state.
drupalvm_cron_jobs: []

# Drupal VM automatically creates a drush alias file in your ~/.drush folder if
# this variable is 'true'.
configure_drush_aliases: true

# Helper variable to configure the PHP-FPM connection for each Apache
# VirtualHost in the `apache_vhosts` list.
apache_vhost_php_fpm_parameters: |
    <FilesMatch \.php$>
      SetHandler "proxy:fcgi://{{ php_fpm_listen }}"
    </FilesMatch>

# Apache VirtualHosts. Add one for each site you are running inside the VM. For
# multisite deployments, you can point multiple servernames at one documentroot.
# View the geerlingguy.apache Ansible Role README for more options.
apache_vhosts:
  - servername: "{{ drupal_domain }}"
    serveralias: "www.{{ drupal_domain }}"
    documentroot: "{{ drupal_core_path }}"
    extra_parameters: "{{ apache_vhost_php_fpm_parameters }}"

  - servername: "ipn.local"
    documentroot: "{{ drupal_core_path }}"
    extra_parameters: "{{ apache_vhost_php_fpm_parameters }}"

  - servername: "adminer.{{ vagrant_hostname }}"
    documentroot: "{{ adminer_install_dir }}"
    extra_parameters: "{{ apache_vhost_php_fpm_parameters }}"

  - servername: "xhprof.{{ vagrant_hostname }}"
    documentroot: "{{ php_xhprof_html_dir }}"
    extra_parameters: "{{ apache_vhost_php_fpm_parameters }}"

  - servername: "pimpmylog.{{ vagrant_hostname }}"
    documentroot: "{{ pimpmylog_install_dir }}"
    extra_parameters: "{{ apache_vhost_php_fpm_parameters }}"

  - servername: "{{ vagrant_ip }}"
    serveralias: "dashboard.{{ vagrant_hostname }}"
    documentroot: "{{ dashboard_install_dir }}"
    extra_parameters: "{{ apache_vhost_php_fpm_parameters }}"

apache_packages_state: latest
apache_remove_default_vhost: true
apache_mods_enabled:
  - expires.load
  - ssl.load
  - rewrite.load
  - proxy.load
  - proxy_fcgi.load

# Nginx hosts. Each site will get a server entry using the configuration defined
# here. Set the 'is_php' property for document roots that contain PHP apps like
# Drupal.
nginx_hosts:
  - server_name: "{{ drupal_domain }} www.{{ drupal_domain }}"
    root: "{{ drupal_core_path }}"
    is_php: true

  - server_name: "adminer.{{ vagrant_hostname }}"
    root: "{{ adminer_install_dir }}"
    is_php: true

  - server_name: "xhprof.{{ vagrant_hostname }}"
    root: "{{ php_xhprof_html_dir }}"
    is_php: true

  - server_name: "pimpmylog.{{ vagrant_hostname }}"
    root: "{{ pimpmylog_install_dir }}"
    is_php: true

  - server_name: "{{ vagrant_ip }} dashboard.{{ vagrant_hostname }}"
    root: "{{ dashboard_install_dir }}"
    is_php: true

nginx_remove_default_vhost: true
nginx_ppa_use: true

# MySQL databases and users.
mysql_databases:
  - name: "{{ drupal_db_name }}"
    encoding: utf8mb4
    collation: utf8mb4_general_ci
  - name: "{{ drupal_ipn_db_name }}"
    encoding: utf8mb4
    collation: utf8mb4_general_ci

mysql_users:
  - name: "{{ drupal_db_user }}"
    host: "%"
    password: "{{ drupal_db_password }}"
    priv: "{{ drupal_db_name }}.*:ALL"
  - name: "{{ drupal_ipn_db_user }}"
    host: "%"
    password: "{{ drupal_ipn_db_password }}"
    priv: "{{ drupal_ipn_db_name }}.*:ALL"

# PostgreSQL databases and users.
postgresql_databases:
  - name: "{{ drupal_db_name }}"

postgresql_users:
  - name: "{{ drupal_db_user }}"
    password: "{{ drupal_db_password }}"
    db: "{{ drupal_db_name }}"
    priv: "ALL"

# Comment out any extra utilities you don't want to install. If you don't want
# to install *any* extras, set this value to an empty set, e.g. `[]`.
installed_extras:
  - adminer
  # - blackfire
  #- drupalconsole
  - drush
  # - elasticsearch
  # - java
  - mailhog
  - memcached
  # - newrelic
  # - nodejs
  - pimpmylog
  # - redis
  # - ruby
  # - selenium
  - solr
  # - upload-progress
  #- varnish
  - xdebug
  # - xhprof

# Add any extra apt or yum packages you would like installed.
extra_packages:
  - sqlite

# You can configure almost anything else on the server in the rest of this file.
extra_security_enabled: false

drush_version: "8.x"
drush_keep_updated: true
drush_composer_cli_options: "--prefer-dist --no-interaction"

firewall_allowed_tcp_ports:
  - "22"
  - "25"
  - "80"
  - "81"
  - "443"
  - "4444"
  - "8025"
  - "8080"
  - "8443"
  - "8983"
  - "9200"
firewall_log_dropped_packets: false
firewall_disable_firewalld: true
firewall_disable_ufw: true

# PHP Configuration. Currently-supported versions: 5.6, 7.0, 7.1.
# See version-specific notes: http://docs.drupalvm.com/en/latest/configurations/php/
php_version: "7.0"
php_install_recommends: no
php_memory_limit: "256M"
php_display_errors: "On"
php_display_startup_errors: "On"
php_realpath_cache_size: "1024K"
php_sendmail_path: "/opt/mailhog/mhsendmail"
php_opcache_enabled_in_ini: true
php_opcache_memory_consumption: "192"
php_opcache_max_accelerated_files: 4096
php_max_input_vars: "4000"

# Drupal VM defaults to using PHP-FPM with either Apache or Nginx. If you wish
# to instead use Apache + mod_php with an Ubuntu base box, make sure you add
# libapache2-mod-php7.0 to `extra_packages` elsewhere in this config file.
php_enable_php_fpm: true
php_fpm_listen: "127.0.0.1:9000"

xhprof_download_url: https://github.com/phacility/xhprof/archive/master.tar.gz
xhprof_download_folder_name: xhprof-master

composer_path: /usr/bin/composer
composer_home_path: "/home/{{ drupalvm_user }}/.composer"
composer_home_owner: "{{ drupalvm_user }}"
composer_home_group: "{{ drupalvm_user }}"
composer_global_packages:
  - { name: hirak/prestissimo, release: '^0.3' }

# Run specified scripts before or after VM is provisioned. Path is relative to
# the `provisioning/playbook.yml` file.
pre_provision_scripts: []
post_provision_scripts: []
  #- "../scripts/configure-solr.sh"

# MySQL Configuration.
mysql_root_password: root
mysql_slow_query_log_enabled: true
mysql_slow_query_time: 2
mysql_wait_timeout: 300
adminer_install_filename: index.php

# Node.js configuration (if enabled above).
# Valid examples: "0.10", "0.12", "4.x", "5.x".
nodejs_version: "0.12"
nodejs_npm_global_packages: []
nodejs_install_npm_user: "{{ drupalvm_user }}"
npm_config_prefix: "/home/{{ drupalvm_user }}/.npm-global"

# Ruby Configuration (if enabled above).
ruby_install_gems_user: "{{ drupalvm_user }}"
ruby_install_gems: []

# Varnish Configuration (if enabled above).
varnish_listen_port: "81"
varnish_default_vcl_template_path: templates/drupalvm.vcl.j2
varnish_default_backend_host: "127.0.0.1"
varnish_default_backend_port: "80"

# Pimp my Log settings.
pimpmylog_install_dir: /usr/share/php/pimpmylog
pimpmylog_grant_all_privs: true

# XDebug configuration. XDebug is disabled by default for better performance.
php_xdebug_default_enable: 1
php_xdebug_coverage_enable: 0
php_xdebug_cli_enable: 1
php_xdebug_remote_enable: 1
php_xdebug_remote_connect_back: 1
# Use PHPSTORM for PHPStorm, sublime.xdebug for Sublime Text.
php_xdebug_idekey: PHPSTORM
php_xdebug_max_nesting_level: 256
php_xdebug_remote_port: "9000"

# Solr Configuration (if enabled above).
solr_version: "4.5.1"
solr_xms: "64M"
solr_xmx: "128M"

# Selenium configuration.
selenium_version: 2.53.0

# Other configuration.
dashboard_install_dir: /var/www/dashboard
known_hosts_path: ~/.ssh/known_hosts
#ssh_home: "{{ drupal_core_path }}"

Is there a way to kickstart this manually, for now?

service solr start also displays:
Failed to start solr.service: The name org.freedesktop.PolicyKit1 was not provided by any .service files
See system logs and 'systemctl status solr.service' for details.

Previously, it did not output anything.

I nuked it and started over with a fresh copy of DrupalVM (4.6.0) and still have the same result. Still using Solr 4.5.1 in config.yml.
Trying again with 5.5.4, just to see if there is a difference (I see there are different tasks for solr 5+ or lower than 5).

Solr 5.5.4 worked and installed on the first try. Though, this could be problematic as Acquia (at least all my client runs 4.5.1 and there are surely differences.
I am fairly baffled. But yeah, using 4.5.1 didn't work at all - it used to. I probably attempted 5 new provisions, and it only worked when I tried 5.5.4.

Hi, I was having the same issue with the latest version of the VM but with versions 6.4.x and 6.6.x and actually the Solr server wasn't running. After many tries I boosted VM memory form 2Gb to 2.5Gb and Solr JVM memory from 64/128Mb up to 256/512Mb (defaults) and after reloading the VM it just start working thus if I run service solr status it just drop existed state but if checked from init.d script it show the Solr server running as expected.

I had a similar problem at home recently.
Because I can and it was a local thing, I simply completely removed Solr and started fresh.
Worked like a breeze since, but a cause - nothing changed, so I've no notion as to why.
To be fair, I was running some automated scripts to create and remove cores so I assumed it was my fault. A fresh start is always a good idea when automating stuff like this.

I just ran into this issue and it seems it is due to invalid systemd configuration for solr 4 as reported in https://github.com/geerlingguy/ansible-role-solr/pull/81. Since that has not been merged yet I needed re-install the solr role after changing requirements.yml:
- src: https://github.com/jonathonwalz/ansible-role-solr
  version: fix-pre5-systemd
  name: geerlingguy.solr

After a vagrant reload --provision solr 4.5.1 is working without issue.

@lcatlett you mention modifying a requirements.yml, where exactly would that be? There is no requirements.yml in BLT-generated projects, only box/config.yml, which doesn't really make sense as a target for that change.
I found this can be worked around using the change I suggest for BLT here: https://github.com/acquia/blt/pull/2841

authors: d70rr3s danepowell fubarhouse geerlingguy kevinquillen lcatlett


text:
TASK [Configure host machine drush aliases.] *** Failed

Bug Report / Support Request

I am trying to run the VM, but i got this:
TASK [Configure host machine drush aliases.] ***********************************
failed: [angudru -> 127.0.0.1] (item={u'dest': u'~/.drush/angudru.aliases.drushrc.php', u'src': u'templates/angudru.aliases.drushrc.php.j2'}) => {"changed": false, "item": {"dest": "~/.drush/angudru.aliases.drushrc.php", "src": "templates/angudru.aliases.drushrc.php.j2"}, "msg": "Could not find or access 'templates/angudru.aliases.drushrc.php.j2'\nSearched in:\n\t/vagrant/provisioning/tasks/templates/angudru.aliases.drushrc.php.j2\n\t/vagrant/provisioning/templates/angudru.aliases.drushrc.php.j2"}
failed: [angudru -> 127.0.0.1] (item={u'dest': u'~/.drush/sites/angudru.site.yml', u'src': u'templates/angudru.aliases.yml.j2'}) => {"changed": false, "item": {"dest": "~/.drush/sites/angudru.site.yml", "src": "templates/angudru.aliases.yml.j2"}, "msg": "Could not find or access 'templates/angudru.aliases.yml.j2'\nSearched in:\n\t/vagrant/provisioning/tasks/templates/angudru.aliases.yml.j2\n\t/vagrant/provisioning/templates/angudru.aliases.yml.j2"}

That blocks the installation, or for be more specific, it said:
PLAY RECAP *********************************************************************
angudru                    : ok=211  changed=85   unreachable=0    failed=1

Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

I don't have any configuration in my Drush Alias. Just this:
configure_drush_aliases: true
drush_aliases_host_template: "templates/angudru.aliases.drushrc.php.j2"
drush_aliases_host_template_yml: "templates/angudru.aliases.yml.j2"
drush_aliases_guest_template: "templates/angudru-local.aliases.drushrc.php.j2"
drush_aliases_guest_template_yml: "templates/angudru-local.aliases.yml.j2"

Should i set the Drush aliases: false??

I am experiencing the same issue

@josuevalrob - The error is:
Could not find or access 'templates/angudru.aliases.drushrc.php.j2'
Searched in:
  /vagrant/provisioning/tasks/templates/angudru.aliases.drushrc.php.j2
  /vagrant/provisioning/templates/angudru.aliases.drushrc.php.j2"

So it looks like you may have changed drush_aliases_host_template and the other template variables. Can you not override those? Unless you need to use a bunch of custom drush alias templates, there is no need to override all those four variables. If you do, Drupal VM expects there to be a template file named like templates/angudru.aliases.drushrc.php.j2 somewhere in the project...
Or if you don't care about the drush alias files at all, set configure_drush_aliases: false (but still don't override all those template variables unless you have custom templates that you want to use).

source: gharchive/issue

authors: geerlingguy isramv josuevalrob

repo: geerlingguy/drupal-vm

license: mit

license_type: permissive

license_source: bigquery


text:
Request: Pi-Hole metrics in the grafana dash

Hey, Awesome playbook and a massive thankyou from me as it's very slick and has been super easy to get set up.
I've taken it one step further got it working with https://github.com/vmstan/gravity-sync so have 2 pi's running pihole and working well.
I was thinking it would be useful to have the metrics from pihole on the grafana dashboard.
I found this project https://github.com/eko/pihole-exporter which looks to do what i'm after.
I'm very new to docker and grafana and have spent a few hours tonight trying to work out how to get this integrated.
It seems like something that should be simple to do but something isn't clicking for me currently.
I'll keep playing with it see what i can do but if you can roll it in pretty easily I would appreciate it.

This does seem like a logical addition—at least having a basic overview of Pi-hole metrics inside Grafana would be nice.

@geerlingguy @jeffstu I would like to +1 this. I don't have much exposure with Pi-Hole and no exposure with grafana, but I will try to help as much as I can. Please let me know if we are going forward.

I took a stab at configuring pihole-exporter. Hopefully in a way that doesn't break everything: https://github.com/geerlingguy/internet-pi/pull/280

authors: DeshmukhMalhar geerlingguy ian-rose jeffstu

repo: geerlingguy/internet-pi

license: MIT

license_source: github-api


text:
Spacing-function for unified spacing dimensions

Feature request 🚀

[ ] I will create Pull Request
[x] It's just a suggestion

Expected
To improve consistency across a user's app, I think a well defined Design System should provide a way to set dimensions as a multiple based on a "ground truth" value. An example would be Material UI, where the theme provides a spacing function that returns a number as a multiple based on the input number.
The benefit would be a uniform distancing between components. This would be a "low level" enhancement for the already available theme.layout. ....
Examples
function Component(){
  const theme = useTheme();

  // If we use a base value of '8', this would yield 16px for 'marginTop'.
  return

}

Others (Optional)
This is my first issue in this repo and I think it would be nice addition to an already great ui lib. If desired, I can create a PR as POC for it.

Good points. I totally agree with you, in fact, have had others complain to me about this in chats.
I think the material is very worth learning from, In our system we can try to implement it like this:

Add some public spacing attributes to the theme, used to replace the abused gap: margin / padding.
The theme sets the base values for these properties by default: layout: { margin: '10px' }, then we can migrate themargin of most internal components to the Theme.

Users can use it in the following way:
1. Use theme presets directly:
const myMargin = `calc(2 * ${theme.layout.margin})`

return

2. Users modify the base value by customizing the theme:
const myTheme = Theme.createFromLight({
  type: 'coolTheme',
  layout: {
    margin: '50px'
  },
})

3. Allow users to modify the value of individual components:
<Spacer y={3} margin="1px" />
<Card padding="20px" />

4. As an advanced usage, passing a string is a different meaning from a number:
// Means 2 times the base spacing
// 2 * '10px'
<Card margin={2} />

// Means '2px'
<Card margin="2px" />

The above idea is similar to your proposal. but the implementation is a bit different. I would like to use the fact that when using theme.layout.margin you get a value instead of a function, which would be simpler.
There are a lot of details to think about here and would like to hear your thoughts.

This looks quite exciting! Looking at your proposal, the following thoughts come to my mind:
Wording
I've noticed you're using both margin and padding as variables for a defined base space. My inital mental model only included a single value, for example theme.layout.unit, which would represent the single base value for all spacing in the theme + the base spacing value for the user to access as well. As I'm new to Geist UI, is there a special difference to distinguish between padding/margin?
Having said that, I really like the idea of themed space values for padding and margin - they as well could be based on a fictional unit-space in this scenario.
String/number prop
This actually looks like a great developer UX! I really appreciate the proposal and think two things should be determined before going all-in on such a change:

are there an potential performance penalties? thinking of if/else checks in the component that add (only a very slight) overhead
how ergonomic/self-explanatory will it be for new users, i.e. can we expect an intuitional understanding that a number is a multiplier? might be only very minor and work out just fine

Overall, I think your proposal is pretty much spot on regarding a first draft for a new spacing-spec. I'm looking forward on your further feedback! As you've said, the changes would be quite subsential, therefore adequate planing is required.

@flaming-codes
Thanks for your thoughts, I summarized on your basis and got a good idea: Maybe we can make all components get scaling capabilities.
About units
Right now Geist's code is making extensive use of a unit called gap, which has the exact value of 16pt,  Although users can customize the size of the gap in Theme, they cannot precisely change the margin and padding of the component.
How components work now:
For example, the Card component uses the gap from theme:
// card.tsx
margin: calc(theme.layout.gap * 1.2);
padding: calc(theme.layout.gap * 0.4);

There may even be other spacings that rely on gap, so when the user arbitrarily changes the value of the gap, it may cause the layout to crash.
Thoughts on Proportionality
After thinking for a while, I think this design model should have the following goals:

(Important) The space contained in the component should be scalable, but the font should not be scaled. (FontSize depend on the user's settings, or if necessary, we can consider going in.)
width, height, padding, margin, etc. should follow the theme and should also be able to be set on individual components.
Components should be able to be scaled directly. (with props)

So, for the Card component, it can be designed as follows:
type Props = {
 margin = 1, padding = 0.2, width, height, unit ... // add an extra unit
}

// merge settings, the actual work will use the 'cache function' instead of
const theme = useTheme()
const mergedMargin = margin || theme.layout.margin
const mergedUnit = unit || theme.layout.unit

styles = {
  margin: mergedMargin * mergedUnit;
}

The user has great freedom in using the components:
// Double margin
<Card margin={2} />

// larger padding, smaller margin, scaling by unit
<Card padding={1.5} margin={0.5} />

// Scaling all values
// This will change all the margin values that can be changed at the same time
<Card unit="10pt" />

// Very few scenarios where the user needs to define an exact value
// If it is an exact value, the value will be out of the scaling system
<Card margin="10vw" />

// The margin will no longer follow the unit scaling,  because the margin is defined with an exact value
<Card margin="10vw" unit="20pt" />

I was inspired by your unit idea so that we could get a simpler system for scaling, but one that would work very powerfully. Even any component can be scaled to the size of the frame, and a part of the frame can be precisely defined. In our theme, there is still only one value for unit.
// unit
User settings on components >  User settings on Themes > default Themes > default Component

Ease to use

For each user, in most scenarios they only need to focus on the unit: changing the unit will scale the component. It's easy, and most of the time it's enough.
When the user needs to adjust a property, then scale the property: height={20}. It is also very easy to increase the height to 20 times.
For advanced users, who need to define precise values to meet their design requirements, they can set the property to the exact value to do this.

If everything goes very well, we can even remove all size related props, dynamic scaling each component with unit. I have to say, it's also so cool that! 😃 If we can adjust each component and make them work, this will be an unprecedented library of components.
Performance
The current Geist code already uses a lot of dynamic styles, in fact, the performance is still very high, we just need to add some memo-based tool functions to automatically merge the properties, for a simple value comparison between true and false, this is almost no burden.
As you can see in the Grid component (One of the dynamically styled components), we have cleverly left the rendering to CSS and actually got a Grid component that is far superior to other libraries, with excellent performance.

These are my thoughts just now, welcome to leave your own views. No need to rush to a conclusion, I think this will be a relatively large change. (also very exciting new feature)

@unix Lit! This sounds very exciting! I agree with you that there's no need to rush things. In the meantime, what open issue do you think would be a good first one for me to start contributing to Geist? Thanks for you awesome work, looking forward to providing some of my coding foo ;)

I'm trying to add this feature in #531, but it's still a first draft. Anyone can leave comments on the details of the implementation.

This feature has been released in version v2.2.0-canary.7.
release nodes

authors: flaming-codes unix

repo: geist-org/react


text:
correct URL of GEM_ERP_VS_DocumentType to `https://gematik.de/fhir/…

Hier ein Vorschlag zur Diskussion.
Bei der Einführung der Rulesets ist aufgefallen, dass es eine Unstimmigkeit bei der URL von GEM_ERP_VS_DocumentType gibt.
Nachfolgend sind die Auswirkungen zu sehen, die eine Korrektur der URL auf https://gematik.de/fhir/erp/ValueSet/GEM_ERP_VS_DocumentType hätte.
Änderungen gäbe es in der SDs von Composition, Task und DocumentType. Auf die Beispiel-Instanzen und Echtwelt-Instanzen sollte dies meiner Meinung keine Auswirkungen haben, da sich hier auf das CodeSystem bezogen wird.

Angesichts der Tatsache, dass der Fehler keine direkten Auswirkungen hat, sehe ich keinen wesentlichen Vorteil in seiner Behebung. Daher empfehle ich, ihn als "bekannten Bug" in der API zu vermerken. Es ist zwar bedauerlich, dass dieser Fehler besteht, aber es birgt ein höheres Risiko und könnte theoretisch das Produktivsystem beeinträchtigen, sollten wir versuchen, diesen speziellen Fehler zu beseitigen.
Branch kann geschlossen werden als "Won't fix" und das Problem kann gerne als neues Issue in dem Repo weiterleben.

Wird nicht angepasst, da eine Anpassung ein deutlich höheres Risiko für das Produktivsystem darstellen kann.

source: gharchive/pull-request

authors: SvenSommer cybernop

repo: gematik/fhir-profiles-erp


text:
Missing parent: should protein folding chaperone and RNA folding chaperone have a common parent?

GO term ID and label for which you request a new superclass

See

both are directly under molecular function

New superclass (parent) suggested

Reference(s), if appropriate
PMID:nnnnnnn

that would work.

I have trouble defining macromolecular folding chaperone. Perhaps what you want is a term like 'protein/RNA folding chaperone'?
I am not sure what should be the limit of macromolecules. CHEBI:33839 A macromolecule is a molecule of high relative molecular mass, the structure of which essentially comprises the multiple repetition of units derived, actually or conceptually, from molecules of low relative molecular mass.
I don't think the types of proteins (or RNAs PMID: 27791471) are similar between RNA folding chaperones and protein folding chaperones thus this grouping class may not be very useful.

Hi @raymond91125
The term  GO:0140691  RNA folding chaperone
Binding to an RNA or an RNA-containing complex to assist the folding process. PMID:31165735
is describing proteins which act as chaperones for correct  RNA folding, not for RNA's acting as chaperones for protein folding (as in PMID: 27791471) .
I'm not sure that my thinking is correct here, but I think what we are trying to group is "activity" not mechanism,
and the 'activity' of an "RNA folding chaperone" and a "protein folding chaperone" are broadly aligned as they are both
binding the protein  (or RNA) to stabilize various folding intermediates ensure correct folding by preventing non specific binding or aggregation.
That said, I also cannot easily think of a suitable grouping term, which might be why they were never grouped. They may be different enough to keep separate, and they are relatively easy to locate as they are both direct children of molecular function.
I'm happy for this to close, as it isn't critical.

Closed for now. Thanks.

repo: geneontology/go-ontology


text:
Reactome release 82 models with correct contributor

A repeat of #245 but with the code fix included to correctly emit GOC:reactome_curators as contributor.
This load is from https://github.com/geneontology/reactome-go-cams/pull/9.

dev always good.

repo: geneontology/noctua-models


text:
"A fun, playful scene where a young man and a young woman are joking and laughing together in a lush garden. They are in a light-hearted mood, exchanging jokes with big smiles on their faces. The background is a vibrant green garden with blooming flowers and trees. The video is shot in a 16:9 ratio with a green screen effect so that the background can be replaced with any desired setting. The characters should be animated with exaggerated expressions, and the scene should have a lively, comedic tone. Both characters are dressed casually and look relaxed, making it perfect for a humorous, cheerful interaction."

"A fun, playful scene where a young man and a young woman are joking and laughing together in a lush garden. They are in a light-hearted mood, exchanging jokes with big smiles on their faces. The background is a vibrant green garden with blooming flowers and trees. The video is shot in a 16:9 ratio with a green screen effect so that the background can be replaced with any desired setting. The characters should be animated with exaggerated expressions, and the scene should have a lively, comedic tone. Both characters are dressed casually and look relaxed, making it perfect for a humorous, cheerful interaction."

Hello, we tried to solve the issue.
This is what we did:
Modified the default prompt to match the requested scene description and adjusted the default video dimensions to 16:9 aspect ratio.
You can review changes in this commit: https://github.com/mnmnk43434/genmoai-mochi-109/commit/a7c0fb9370f65ca9f607e4a264a0b8ad1bc85401.

[!CAUTION]
Disclaimer: The concept of solution was created by AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.

If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.

repo: genmoai/mochi


text:
Include occurrence count in GBIF layer listing

[ ] I added an entry to CHANGELOG.md if knowledge of this change could be valuable to users.

Here is a brief summary of what I did:

 GBIF Provider UX verbessern

Pull Request Test Coverage Report for Build 4698328107

28 of 29 (96.55%)  changed or added relevant lines in 1 file are covered.
114 unchanged lines in 4 files lost coverage.
Overall coverage increased (+0.08%) to 89.373%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

services/src/datasets/external/gbif.rs
28
29
96.55%

Files with Coverage Reduction
New Missed Lines
%

operators/src/source/ogr_source/mod.rs
1
95.4%

operators/src/util/stream_zip/vec_zip.rs
1
90.65%

services/src/pro/users/postgres_userdb.rs
3
95.28%

operators/src/source/gdal_source/mod.rs
109
94.04%

Totals

Change from base Build 4678337851:
0.08%

Covered Lines:
96151

Relevant Lines:
107584

💛  - Coveralls

authors: coveralls dbrandenstein

repo: geo-engine/geoengine


text:
[Feature Request] Improve expand selection

I guess that intellij idea IDEs ctrl-w/ctrl-shift+w use parsed tree...
Is it possible to improve vscode's expand selection by tree-sitter?
For example: expand selection for ruby is not fully supported in vscode.

Yes, this would be a logical feature.

It's absolutely possible, in fact it was one of the launch features in Atom 😉.

authors: Arcanemagus amerov georgewfraser

repo: georgewfraser/vscode-tree-sitter


text:
Notifications example in the readme doesn't work

The example from the readme doesn't work.
var NotifierPlugin = require('friendly-errors-webpack-plugin');
var notifier = require('node-notifier');
var ICON = path.join(__dirname, 'icon.png');

new NotifierPlugin({
    onErrors: (severity, errors) => {
      if (severity !== 'error') {
        return;
      }
      const error = errors[0];
      notifier.notify({
        title: context.pkg.name,
        message: severity + ': ' + error.name,
        subtitle: error.file || '',
        icon: ICON
      });
    }
  })
]

title property passed to the notifier.notify uses a variable context that is not defined and the whole thing fails.
I tried googling this and looking into the code but haven't came up with anything. Where is context supposed to come from?
Thanks in advance!

You should have something like that in your webpack.config.js:
const NotifierPlugin = require('friendly-errors-webpack-plugin');
const notifier = require('node-notifier');
const ICON = path.join(__dirname, 'icon.png');
const pkg = require('./package.json');

module.exports = {
plugins: [
new NotifierPlugin({
    onErrors: (severity, errors) => {
      if (severity !== 'error') {
        return;
      }
      const error = errors[0];
      notifier.notify({
        title: pkg.name,
        message: severity + ': ' + error.name,
        subtitle: error.file || '',
        icon: ICON
      });
    }
  })
]
};

Ah, thanks! I thought context.pkg.name is some webpack thingie that would return me a name of the package that caused the error :).

@christophehurpeau I made a PR. Docs are shit and you repeat the same shit here.

authors: atilkan christophehurpeau wojtiku

repo: geowarin/friendly-errors-webpack-plugin


text:
[Question] ValueError: * must be a valid directory

1. Summary
I can not set path to my projects.
2. Settings

I have Sublime Text 3 Portable for Windows.
Absolute path to my Sublime Text working directory — D:\Sublime Text 3 x64
Absolute path to my sublime-project and sublime-workspace files — D:\Sublime Text 3 x64\Data\Packages\User\Projects.
I set user environment variable and restart Windows: PROJECTS_PATH = D:\Sublime Text 3 x64\Data\Packages\User\Projects
Example part of my User/Preferences.sublime-settings

"open-sesame.projects_path": "PROJECTS_PATH",
"open-sesame.projects_depth": 1,

3. Steps to reproduce
I reproduce the problem in a version of Sublime Text without plugins and user settings.
I install Open Sesame → I restart Sublime Text → I open any file in Sublime Text → Ctrl+Shift+P (⌘⇧p for Mac) → Open Sesame: Add Project Folder.
4. Expected behavior
Successful add a project to the active window.
5. Actual behavior
command: open_sesame_add_folder
Traceback (most recent call last):
  File "D:\Sublime Text 3 x64\sublime_plugin.py", line 797, in run_
    return self.run()
  File "plugin in D:\Sublime Text 3 x64\Data\Installed Packages\open-sesame.sublime-package", line 45, in run
  File "plugin in D:\Sublime Text 3 x64\Data\Installed Packages\open-sesame.sublime-package", line 78, in find_folders
ValueError: PROJECTS_PATH must be a valid directory

If
"open-sesame.projects_path": "./Projects",

I get similar stack trace:
command: open_sesame_add_folder
Traceback (most recent call last):
  File "D:\Sublime Text 3 x64\sublime_plugin.py", line 797, in run_
    return self.run()
  File "plugin in D:\Sublime Text 3 x64\Data\Installed Packages\open-sesame.sublime-package", line 45, in run
  File "plugin in D:\Sublime Text 3 x64\Data\Installed Packages\open-sesame.sublime-package", line 78, in find_folders
ValueError: ./Projects must be a valid directory

I try set path to my Projects directory use Sublime Text Build System variables → I get similar behavior.
6. Environment
Operating system and version:
Windows 10 Enterprise LTSB 64-bit EN
Sublime Text:
Build 3126
Package:
I use the latest stable version of this package for Sublime Text 3
Thanks.

Thank you for a detailed report.
There are a few issues.
PROJECTS_PATH is not a environment variable, it's a string. So "open-sesame.projects_path": "PROJECTS_PATH" just sets the projects_path to a string PROJECTS_PATH. Assuming the environment variable is set correctly then changing it to ``"open-sesame.projects_path": "$PROJECTS_PATH"` will solve the issue it.
However, if you're setting the environment variable then you don't have to set the projects path in Sublime Text, this is one of the main advantages of using the environment variable. So given that you've set the PROJECTS_PATH environment, Open Sesame will auto detect and use it as the projects path. So you won't need to set "open-sesame.projects_path": "$PROJECTS_PATH".
"open-sesame.projects_path": "./Projects" won't work because ./ is the current working directory and you're probably not launching Sublime from that directory.
If the above fixes above don't solve the issue then try setting the absolute path.
open-sesame.projects_path": "D:\Sublime Text 3 x64\Data\Packages\User\Projects"

The above should certainly work.
If the environment variable is set correctly i.e. PROJECTS_PATH="D:\Sublime Text 3 x64\Data\Packages\User\Projects" then the following should also work.
open-sesame.projects_path": "$PROJECTS_PATH"

But of course if the above works then you don't even need to set it so remove the above setting and it should work too.

Update
1. Settings
I set absolute path to my Projects folder in User/Preferences.sublime-settings:
"open-sesame.keymaps": true,
"open-sesame.projects_depth": 2,
"open-sesame.projects_path": "D:\\Sublime Text 3 x64\\Data\\Packages\\User\\Projects",

2. Steps to reproduce
I restart Sublime Text after change settings → I open any file in Sublime Text →

Ctrl+Shift+P (⌘⇧p for Mac) → Open Sesame: Open Project.
Ctrl+Shift+P (⌘⇧p for Mac) → Open Sesame: Add Project Folder.

3. Expected behavior
Any actions.
4. Actual behavior
Nothing occurs. Also, I don't get output in Sublime Text console.
command: open_sesame
command: open_sesame_add_folder

Thanks.

When you set open-sesame.projects_path" back to an invalid string
"open-sesame.projects_path": "foobar",

does it still produce the exception: ValueError: ./Projects must be a valid directory.
I pushed a new release which will show a status message in the status bar if no projects can be found.

When sesame.path contains one non-existent directory, the other valid paths are ignored altogether.
It would be nice if Sesame would be more tolerant and still process the remaining valid paths, like FuzzyFileNav does.
I use the same .sublime-settings file on two computers, where not every machine has the same folders.

authors: Kristinita gerardroche markusgritsch

repo: gerardroche/sublime-open-sesame


text:
v1: Buttons

Read first | Reactstrap docs |  Bootstrap docs

Completed via #2c0aa53.

repo: gergely-nagy/reactstrap-snippets


text:
🛑 k3s Swagger UI is down

In 317dc20, k3s Swagger UI (https://k3s.g11s.cc/swagger/index.html) was down:

HTTP code: 0
Response time: 0 ms

Resolved: k3s Swagger UI is back up in 8eb3c65.

repo: gerrited/upptime


text:
#51 wip: Add vite hmr support

see https://vitejs.dev/guide/api-hmr.html

Thanks for giving this a try. I’m not really familiar with vite myself unfortunately.
You should definitely try to get this working locally first with npm link or the like.
Afaict this does not work as you propose. tsc complains:
src/module-factory.ts:173:25 - error TS1343: The 'import.meta' meta-property is only allowed when the '--module' option is 'esnext' or 'system'.

173       if (module.hot || import.meta.hot) {
                            ~~~~~~~~~~~

src/module-factory.ts:173:37 - error TS2339: Property 'hot' does not exist on type 'ImportMeta'.

173       if (module.hot || import.meta.hot) {

As I understand it, import.meta.hot is always present in vite developement mode and it lets you handle hmr events.

Thanks for giving this a try. I’m not really familiar with vite myself unfortunately.
You should definitely try to get this working locally first with npm link or the like.
Afaict this does not work as you propose. tsc complains:
src/module-factory.ts:173:25 - error TS1343: The 'import.meta' meta-property is only allowed when the '--module' option is 'esnext' or 'system'.

173       if (module.hot || import.meta.hot) {
                            ~~~~~~~~~~~

src/module-factory.ts:173:37 - error TS2339: Property 'hot' does not exist on type 'ImportMeta'.

173       if (module.hot || import.meta.hot) {

As I understand it, import.meta.hot is always present in vite developement mode and it lets you handle hmr events.

Yeah, im facing a similar typing issue with my own apps.
I just wanted to test this quickly before leaving for a walk, but yeah i figured the linter would complain.
Im not sure where to go from here i can only say that hot-reloading is working correctly with the patch.
Do you have any idea how to mitigate this?
The esnext thing is probably a linter config option one could set, not sure if it has any downsides for this project.
The .hot thing is sadly annoying, maybe its possible to check this in a smarter less error prone way?

As commented on the issue, I quickly tried to add the vite types, but then I got other type errors. Maybe we can just add a vite-hmr.d.ts file and define import.meta.hot? But we should probably also check that import.meta exists, otherwise we might get js errors when using it with webpack, i.e. || import?.meta?.hot.
@MartB if you are up for it, can you try this and update your pull request?

@gertqin im a total newbie when it comes to maintaining packages, so yeah i have no idea how to satisfy all needs here.
The thing i pushed gets rid of the tsc warnings but im not sure if thats the right approach, feel free to work on your own take here.

Thanks for the effort. Indeed, supporting import.meta proved to be very difficult as jest doesn't support it, and I dont like having to change build target just to support a dev feature. I've come up with another solution 7cc6e9c80f1d4416b328fdfb1fc4bd558d162587, which isn't very clean, but at least should be enough for now.

authors: MartB bodograumann gertqin

repo: gertqin/vuex-class-modules


text:
Small UI fixes

fix(ui): Rename buy & sell buttons to also mention long & short

chore: Style the values in the StatusScreen

fix: Display Settings icon in Stable screen

I agree with Richie. All good but please leave the Buy/Sell labels :)

cool, I'll remove it from here, but I'd be keen on still exploring that avenue based on user feedback I've received during Builder Days. :)


text:
feat: configurable fee for sending on chain

Fixes #1290, fixes #1177. Additionally, fees will be shown on the confirmation screen for lightning payments, too (though this would be easy to disable). This also includes a fix to setting the amount on the on-chain screen.
Before this is merged, I'd appreciate if someone can check if opening the keyboard correctly pushes up the drawer - I am not sure if this is the case as I can't compile for android anymore.
Some screenshots of the current UI - not at all the final state, just what I'm using for testing. Presented simply for an indicator of functional progress.

When selecting

On summary page

To do:

[x] Show estimated fee in selection
[x] Show estimated fee in confirmation swipe
[x] Make it look like the Figma

[x] Select box
[x] Summary page

I've squashed this up for merge

If you open the send screen to an on-chain address, but don't have any funds the app throws an exception.
[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: FfiException(RESULT_ERROR, Insufficient funds: 0 sat available of 11 sat needed, null)
#0      FlutterRustBridgeBase._transformRust2DartMessage (package:flutter_rust_bridge/src/basic.dart:129:9)
#1      FlutterRustBridgeBase.executeNormal.<anonymous closure> (package:flutter_rust_bridge/src/basic.dart:70:9)
<asynchronous suspension>
#2      WalletService.calculateFeesForOnChain (package:get_10101/features/wallet/application/wallet_service.dart:85:18)
<asynchronous suspension>
flutter: [T] TIME: 2023-1

The error message does not fit into one line. Either shorten the error message or use multi line.

Do we really need both? I would only go with background and skip the minimum option.

Do we really need both? I would only go with background and skip the minimum option.

We can skip the minimum if we like. It is currently there as a mirror to the minimum fee amount you can enter with Custom

The dollar amount should be right aligned with the sats amount above.

authors: Restioson holzeis


text:
Fix/cleanup create app screen

There is currently an issue because there are several places where the pay_invoice permission is handled in a special way. In this PR this is mostly removed. This causes a bug in the current master where an app that has both get_balance and pay_invoice permissions is not in fact able to pay invoices.

We now create app_permissions based on what the client requests, no more special treatment of the pay_invoice permission.
From now on we never create an app without permissions.
budgets have no meaning for non-pay-invoice-requests.
Removes hard-coded front-end code for the permissions' description, this is now set from the backend.

This looks a bit wrong now. I wonder if we should remove the top section? if now you can create an app without permission to do payments in some cases (for creating invoices in the future)

This looks a bit wrong now. I wonder if we should remove the top section? if now you can create an app without permission to do payments in some cases (for creating invoices in the future)

We can probably put the bottom section on top and drop the top section, yes.

All permissions can have an expiry. And I would just leave the budget like it is and have it be meaningless when set for non-paying requests.

Return ExpiresAt seperately if is present in one of the permissions.
Move the permission choice up and remove the redundant permissions summary.

authors: kiwiidb rolznz

repo: getAlby/nostr-wallet-connect


text:
Generate subrealm based on an eduPersonEntitlement atttribute

As an organisation I want the user to get a realm based on the value of an eduPersonEntitlement attribute so  I can do granular VLAN assignment based on this realm
Possiible example values

http://unidemo.ch/geteduroam/4014
https://unidemo-ch.get.eduroam.org/vlan4014
ch:unidemo:eduroam:vl:4014

One of the issues with this is that it's hard to change the value; I think this is why we currently implement it by role/affiliation, in such a way that we add a prefix of "student." to the realm, because that may survive a network redesign better. Is there a good reason to really make it a specific VLAN value?
(I'd argue that if it's a role, it's trivial to assign a pool of VLANs from your internal system better?)
Anyway, thinking out loud; the part that we didn't really implement is taking the value out of a part of the attribute value (just the entire value, like in the case of affiliation - yet in most cases we hardwire).

Hmm, and what if it's multi-value?

Filter for a specific prefix, geteduroam-, in the example above and use the first value that  conforms to it?

authors: chrohrer pauldekkers

repo: geteduroam/letswifi-portal


text:
Strange behavior on ordering collection

Hello,
I get an annoying problem. I set a field (price with float type [1.16]) in header.
price: 1.16
In php code i make :
$collection->order(‘header.price’,“asc”);
All prices are not sort in “asc” direction. I got 2.44 before 1.497 :frowning:
(it’s seems to work well with desc…)
PHP command gettype give double for header.price type. Good for sorting, but does not work.
Any idea to workaround this strange behavior ?
Thanks for help,
Regards.

Rah :)
I think i got it 👍
$collection->order('header.price','asc',null,SORT_NUMERIC);
Changing the PHP flag it works :-).

repo: getgrav/grav


text:
请问为什么用vercel托管导入之后，只有博客首页是vercel提供的二级域名而博文还是github的旧地址？

请问为什么用vercel托管导入之后，只有博客首页是vercel提供的二级域名而博文还是github的旧地址？这也起不到加速作用啊？
难道要在远程设置里的「CNAME」加上vercel提供的二级域名？该怎么加上呢？
我还想保留github博客网站改怎么操作呢？
难道要装两套软件吗？
谢谢。

不要保留，没啥意义吧？将域名写成自己的 vercel 域名即可

authors: EryouHao hihaixiaodai

repo: getgridea/gridea


text:
Getting an error when paginating in post page

Describe the bug
When paginating in the article list, we get the following typeError message:
TypeError: Cannot convert undefined or null to object
    at hasOwnProperty (<anonymous>)
    at flattenItems (file:///app/node_modules/@paulrobertlloyd/mf2tojf2/lib/flatten-items.js:90:41)
    at flattenProperties (file:///app/node_modules/@paulrobertlloyd/mf2tojf2/lib/flatten-items.js:10:29)
    at flattenItems (file:///app/node_modules/@paulrobertlloyd/mf2tojf2/lib/flatten-items.js:70:14)
    at file:///app/node_modules/@paulrobertlloyd/mf2tojf2/lib/flatten-items.js:44:33
    at Array.map (<anonymous>)
    at getChildren (file:///app/node_modules/@paulrobertlloyd/mf2tojf2/lib/flatten-items.js:44:19)
    at flattenItems (file:///app/node_modules/@paulrobertlloyd/mf2tojf2/lib/flatten-items.js:91:14)
    at mf2tojf2 (file:///app/node_modules/@paulrobertlloyd/mf2tojf2/index.js:10:15)
    at postsController (file:///app/node_modules/@indiekit/endpoint-posts/lib/controllers/posts.js:39:19)

To reproduce
Steps to reproduce the behaviour:

Go to /postspage
Click on a page number greater than 1
See error

Expected behaviour
Pagination works
Screenshots or logs
https://user-images.githubusercontent.com/611234/209527293-d3467beb-f4ab-4737-a7cf-06b307e7bbbe.mp4
Environment

Indiekit version: v1.0.0-beta.1
Browser: Safari
Server/host: Heroku
Content store URL: https://github.com/alienlebarge/alienlebargech-v3
Publication URL: https://alienlebarge.ch

I’ve come across this myself; it’ll be a post with data saved in an unexpected format, possibly one created from an earlier version of Indiekit. The immediate fix is to delete the offending post if you can determine which one is a bit wonky, or delete all previous posts (those shown on the first page will be fine).
That said, this should fail gracefully… I’ll try and see if there’s a way I can do that.

I’ve tried to replicate this bug, but it’s hard to work out quite what malformed data could be causing this issue. Might you be able to inspect via your MongoDB database the posts that appear on this second page, and either post all of them here, or any that look suspicious?
The function that’s erroring is one that converts all posts retrieved from the Micropub endpoint (as MF2, converting them into JF2). That means its difficult to isolate the one particular post that is causing an issue and have it fail silently.

Pagination was recently reworked to use cursor based pagination. That might fix the above – otherwise a lot of the code has been updated since this issue was created, meaning it might have been fixed inadvertently! Closing this issue for now, but please feel free to reopen if this reoccurs.

authors: alienlebarge paulrobertlloyd

repo: getindiekit/indiekit


text:
Youtube live videos aren't playing

error with message your browser unsupported.
Is it hard to support live translations?

Not sure, haven't tried live videos, might want to look at the log to see if any error crops up. It might be a codec issue (h264 is not compiled in chromium by default due to licensing), or some permission that still isn't granted.

Thanks for your answer! Looks like a codec problem, I have achieved youtube live through vlc plugin with unreal media player with stream source. If you have time, please try to compile with proprietary codecs, very interesting in results.

I also have this issue. Unfortunately I'm too dumb to get the VLC plugin compiled. Any chance for supporting live streams (Twitch, Youtube, etc) in a future release?
For example I would like to stream this live TV station:
https://www.youtube.com/watch?v=coYw-eVU0Ks

I also have this issue. Unfortunately I'm too dumb to get the VLC plugin compiled. Any chance for supporting live streams (Twitch, Youtube, etc) in a future release?
For example I would like to stream this live TV station:
https://www.youtube.com/watch?v=coYw-eVU0Ks

I have solved this in comment section here

I have solved this in comment section here

As I said - I am unable to compile the VLC plugin. I always get the dreaded "Project can not be compiled. Try rebuilding from source manually" error and for plugins there's no "Right click to generate Visual studio files" trick. So I simply can't get VLC plugin compiled. Tried on 4.24 and 4.26. If someone got a compiled 4.26 VLC then let me know.

As I said - I am unable to compile the VLC plugin. I always get the dreaded "Project can not be compiled. Try rebuilding from source manually" error and for plugins there's no "Right click to generate Visual studio files" trick. So I simply can't get VLC plugin compiled. Tried on 4.24 and 4.26. If someone got a compiled 4.26 VLC then let me know.

Closing due to age

authors: 6r0m getnamo masterkyodai

repo: getnamo/BLUI-Unreal


text:
[hierarchical_pages] nikola new_page doesn't work with hierarchical pages

I'm using the suggested configuration for the hierarchical pages plugin, where PAGES = () and instead that configuration is moved into a HIERARCHICAL_PAGES variable. When I try to run nikola new_page, I get the following error message:
[2020-09-09T20:51:24Z] ERROR: new_page: Can't find a way, using your configuration, to create a page in format rest. You may want to tweak COMPILERS or PAGES in conf.py

I'm guessing this is because I've removed everything from PAGES, but when I restore to what it was before I get a bunch of errors because it collides with HIERARCHICAL_PAGES. I can always make a new page with the right metadata by hand, but it's more convenient to have the command for it.

Indeed new_pages doesn't know anything about that plugin, we should add a
note in its README
OTOH, new_page doesn't really do much, you could just create the pages
manually.
On Thu, Sep 10, 2020 at 1:00 AM Daniel Shapero notifications@github.com
wrote:

I'm using the suggested configuration for the hierarchical pages plugin,
where PAGES = () and instead that configuration is moved into a
HIERARCHICAL_PAGES variable. When I try to run nikola new_page, I get the
following error message:
[2020-09-09T20:51:24Z] ERROR: new_page: Can't find a way, using your configuration, to create a page in format rest. You may want to tweak COMPILERS or PAGES in conf.py
I'm guessing this is because I've removed everything from PAGES, but when
I restore to what it was before I get a bunch of errors because it collides
with HIERARCHICAL_PAGES. I can always make a new page with the right
metadata by hand, but it's more convenient to have the command for it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/getnikola/plugins/issues/350, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAAMKZTMB7YQ7D5HJSKPU3SFBFM7ANCNFSM4RECHAKA
.

On a footnote, I don't understand at all what that plugin does from reading
the README
On Thu, Sep 10, 2020 at 6:36 AM Roberto Alsina ralsina@kde.org wrote:

Indeed new_pages doesn't know anything about that plugin, we should add a
note in its README
OTOH, new_page doesn't really do much, you could just create the pages
manually.
On Thu, Sep 10, 2020 at 1:00 AM Daniel Shapero notifications@github.com
wrote:

I'm using the suggested configuration for the hierarchical pages plugin,
where PAGES = () and instead that configuration is moved into a
HIERARCHICAL_PAGES variable. When I try to run nikola new_page, I get
the following error message:
[2020-09-09T20:51:24Z] ERROR: new_page: Can't find a way, using your configuration, to create a page in format rest. You may want to tweak COMPILERS or PAGES in conf.py
I'm guessing this is because I've removed everything from PAGES, but
when I restore to what it was before I get a bunch of errors because it
collides with HIERARCHICAL_PAGES. I can always make a new page with the
right metadata by hand, but it's more convenient to have the command for it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/getnikola/plugins/issues/350, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAAMKZTMB7YQ7D5HJSKPU3SFBFM7ANCNFSM4RECHAKA
.

@ralsina it not only allows to change the filename depending on the language, but also the path leading to that file.

authors: danshapero felixfontein ralsina

repo: getnikola/plugins


text:
Show information about features in v2025.1

issa is working on design
Some kind of visual explaining that drafts are now in the "Edit form" tab.
Possibly something about offline Entities.
Shown exactly once for each user.

Possibly something about offline Entities.

Now that we're bumping this issue to .1, am I right in thinking that we probably won't mention offline entities anymore? So it'll just be about the "Edit Form" page?

authors: lognaturel matthew-white

repo: getodk/central


text:
Unable to copy files

When trying this I get the error operation not permitted
[Error: EPERM: operation not permitted, copyfile '/home/uber.pdf' -> 'tmp/your-app-temp/uber.pdf'] {
  errno: -1,
  code: 'EPERM',
  syscall: 'copyfile',
  path: '/home/uber.pdf',
  dest: 'tmp/your-app-temp/uber.pdf'
}

hey @edishu, can you share the code snippit you're using to call zerox? I'd like to see if I can replicate.
We run an ensureDir check on the temp folder the app uses, but there might be some permission errors.

authors: edishu tylermaran

repo: getomni-ai/zerox


text:
add k9s omni theme

theme for k9s cli added in readme, link to theme repository: repository k9s theme
updated number of supported applications and added k9s in the unix section

Hey @gprando, for adding a new theme we recommend you always open an issue on the repository to include it. This way, we can have a track of the entire process. But let's keep this PR open, so we can merge it later.

okay @jpedroschmitz, I didn’t understand correctly how the process of adding a new theme, I’ll open an issue to have the history.

authors: gprando jpedroschmitz

repo: getomni/omni


text:
UDT does not support optional fields

Version: 2.3.3
Module:  quill-cassandra
Expected behavior
case class MyUdt(col: Option[Int]) extends Udt to be supported
Actual behavior
scala.reflect.macros.TypecheckException: Can't find implicit Decoder[MyUdt].
Workaround
no
@getquill/maintainers

Hi @mentegy,
Does UDT support List type fields? I am getting the same error which I got for optional field.
Thanks!

Hi as it seems only options support was added. Could you please also add collections support? Thank you

authors: Peppi-Ressler mentegy teenasharma

repo: getquill/quill


text:
The naming strategy Escape does not work for postgresql.

Without Escape:
LOG:  execute 1/1: INSERT INTO _pingdom (ip) VALUES ($1)
DETAIL:  parameters: $1 = '0:0:0:0:0:0:0:1'

With Escape:
ERROR:  column "$1" does not exist at character 39
STATEMENT:  INSERT INTO "_pingdom" ("ip") VALUES ("$1")

The problem is that $1 is escaped, but on postgres-9.5.1-1 thaẗ́'s invalid.
I looked through the source to fix the bug, but I can't seem to find something that links the io.getquill.sources.sql.idiom.SqlIdom trait to the io.getquill.naming.NamingStrategy trait.

Need to implement an escape strategy for Postgres.
Try something like the following in NamingStrategy source:
trait PostgresEscape extends Escape {
  override def column(s: String) = if(s.startsWith("$")) s else default(s)
}
object PostgresEscape extends PostgresEscape

Give it a shot and issue PR (along with corresponding test in NamingStrategySpec, see mysql example)

@halvorgb The 0.4.1-SNAPSHOT version has a new naming strategy specific for postgres escaping[0]. Please let us know if you have problems using it.
[0] https://github.com/getquill/quill/blob/master/quill-core/src/main/scala/io/getquill/naming/NamingStrategy.scala#L83

authors: fwbrasil godenji halvorgb


text:
publish: getsentry/relay/py@0.8.20

Requested by: @jjbayer
Merge target: (default)
Quick links:

View changes
View check runs

Assign the accepted label to this issue to approve the release.
Leave the #retract comment under this issue to retract the release (original issuer only).
Targets

[ ] pypi
[ ] sentry-pypi
[ ] gcs

Targets marked with a checkbox have already been executed.  Administrators can manually tick a checkbox to force craft to skip it.

#retract

authors: getsentry-release jjbayer

repo: getsentry/publish


text:
Update instruction in the README

I was thrown off by instructions from an earlier version that talked about /account/settings/social/associate/complete/github/, and the current wording didn't make clear to me that this has changed. Hopefully this does to others :)
Also add a line about GITHUB_ORGANIZATION

Codecov Report

Merging #17 into master will not change coverage.
The diff coverage is n/a.

@@         Coverage Diff          @@
##           master   #17   +/-   ##
====================================
  Coverage      49%   49%
====================================
  Files           9     9
  Lines         200   200
====================================
  Hits           98    98
  Misses        102   102

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 397a658...7d62aec. Read the comment docs.

I'm not sure how this is really any different. Appears to me its just adding "for example", and makes the formatting less structured around it.

It changes the wording from "use the field as the sentry setting" to "use the sentry setting as the field value", which makes quite a lot of difference :)

authors: codecov-io dcramer tino

repo: getsentry/sentry-auth-github


text:
Sentry not report any error in my spawn process

Versions + Platform

[ ] SKD version - @sentry/electron@v1.1.0
[ ] Electron version - electron@v7.1.2
[ ] Platform - Windows & macOS

Description
I fork a child process from my main process, and init the sentry in my child process, but it can't report any error heppened in child process,
import * as SentryNode from '@sentry/electron'

SentryNode.init({
     dsn: dsn,
     release: packageJSON.version
})

We have just released v3.0.0 of the SDK which includes a lot of changes and improvements since this issue was opened.
If you can still reproduce this with v3, please open a new issue and I'll look into it.

authors: Leaking timfish

repo: getsentry/sentry-electron


text:
Get release information from the runtime (Go 1.18)

Starting with Go 1.18, the go command embeds information about the build which can be retrieved using runtime/debug.ReadBuildInfo for the current binary.
We can use that information to provide a possibly better automatic release detection functionality and to augment the metadata sent along with events.
References:

https://tip.golang.org/doc/go1.18#go-command
https://tip.golang.org/doc/go1.18#debug/buildinfo

See https://github.com/carlmjohnson/versioninfo for a sample project that parses build info on Go 1.18 without breaking in old versions of Go.

Implemented in https://github.com/getsentry/sentry-go/pull/704.

authors: carlmjohnson cleptric rhcarvalho

repo: getsentry/sentry-go


text:
Update opentelemetry-distro depedency to v0.35b0

opentelemetry-distro was pointing at an invalid version (0.350b0 did not exist)

Hey @trav !
Good catch, thanks for pointing this out.
One thing, could you change the version to 0.35b0. Then I will merge it immediately.

Hey @trav ! Good catch, thanks for pointing this out. One thing, could you change the version to 0.35b0. Then I will merge it immediately.

All done.  Thanks, @antonpirker .

Oh, I have now merged another PR with the same fix:
https://github.com/getsentry/sentry-python/pull/1825
Sorry for not merging yours first. But thanks for the contribution, it is really appreciated!

authors: antonpirker trav

repo: getsentry/sentry-python


text:
Support Sentry Release Health Feature

Sentry has a Release Health feature feature which is not available in the Unreal SDK, however the Native C/C++ SDK supports it.
Please add this feature, as it would greatly improve our utility using Sentry with Unreal Engine.

Thanks for reaching out! We'll definitely look into it.

authors: bitsandfoxes vikram-saran-playside

repo: getsentry/sentry-unreal


text:
Request a new release

👋  it looks like it has been four years since last release, I am curious what would be the timeline for the next release. Thanks!!

Yes please.

I would also like to request a new release. Thank you for providing this repository.

I would also love an update. There are some flags that are missing, such as "Disable Dynamic Code (by thread)" and "Stack protection". I can't figure out how to enforce those flags from Microsoft GFlags documentation. This tool is very useful!

repo: gflags/gflags


text:
Unable to load AP-OTF fonts (DecodingError NotARealInDict)

Environment: WSL2 Ubuntu 24.04
When trying to load Morisawa's AP-OTF-*.otf fonts, otfedcli throws the following error:
$ dune exec otfedcli ~/.satysfi/dist/fonts/MorisawaFonts/AP-OTF-RyuminPr6N-Regular.otf tables
(DecodingError NotARealInDict)

~/.satysfi/dist/fonts/MorisawaFonts is a symlink to %LOCALAPPDATA%\Microsoft\Windows\Fonts\MorisawaFonts in the mounted Windows file system.
Given the contents of dictmap, it appears that this error is thrown in get_real_with_default due to the value for LongKey(31) being [Integer(1)].
https://github.com/gfngfn/otfed/blob/c11304cbe723dde8f5eb2a4096513ddc0ff26bb7/src/decodeCff.ml#L62-L67
I'm not sure why cid_font_version needs to be a float. From reading the spec it seems to me that CIDFontVersion is defined as an integer. Page 22 of the document says:

The %%Version comment provides the version number of this CIDFont file.
This number is an integer; Adobe recommends that it be the same number that is defined for /CIDFontVersion later in the file.
%%Version: 1

Please note that I'm a layman in terms of typography. Thank you.

Thank you for the report! This is a great catch.
The referenced spec is actually “Technical Note #5176: The Compact Font Format Specification, Version 1.0”.
I haven't encountered that error so far, but it seems that this was by chance; according to Table 10 on page 16, CIDFontVersion must be a number, i.e., it can be an integer as well as a (decimally encoded) real number:

I should thereby fix this so that otfed can decode versions encoded as integers.

Side note: I can access RyuminPr6N-Light via Adobe CC, so I checked the CIDFontVersion of the font file. It was 1.2:
$ otfedcli 26143.otf cff_top
CFF Top DICT:
  { font_name = "RyuminPr6N-Light"; version = None;
    notice =
    (Some "(c) Copyright 1989-2007 Adobe Systems Incorporated. All rights reserved. Ryumin Light is a trademark of Morisawa Inc.");
    copyright =
    (Some "Font (c) Copyright 2007 Morisawa Inc. All rights reserved.");
    full_name = (Some "Ryumin Pr6N OpenType Light");
    family_name = (Some "Ryumin Pr6N OpenType"); weight = (Some "Light");
    is_fixed_pitch = false; italic_angle = 0; underline_position = -100;
    underline_thickness = 50; paint_type = 0;
    font_bbox = { x_min = -280; y_min = -294; x_max = 1134; y_max = 1160 };
    stroke_width = 0;
    cid_info =
    (Some { registry = "Adobe"; ordering = "Japan1"; supplement = 6;
            cid_font_version = 1.2; cid_font_revision = 0; cid_font_type = 0;
            cid_count = 23058 });
    number_of_glyphs = 23058 }

The PR https://github.com/gfngfn/otfed/pull/62 will remedy this issue. Thank you!

I've reflected the change above in the master branch of SATySFi: https://github.com/gfngfn/SATySFi/pull/466

Thank you for your prompt action!

authors: gfngfn ghaaj

repo: gfngfn/otfed


text:
Check OpenGL copy buffer capabilities

Follow up on #1129

Here's a first take on this:
https://github.com/lxnt/gfx/commit/187872018adf5f70b2bba1fec6f9c6a6679156a2
A getter of all things, and relevant to only one backend at that, but replicated across all.
Couldn't think up anything better.
As for caps vs privcaps - I think caps such as this one, and instance_call, separate_blending_slots, frame_buffer_support, the nonexistent one for glVertexAttribIPointer should be exposed somehow. Otherwise the application code either blindly crashes or reimplements the capability detection.
PS. clear_buffer_supported/glClearBufferfv and friends do not have any corresponding extension, so that TODO should be just dropped.

@lxnt I think you are over-complicating this.
All that needs to be done for this issue is a flag in public Capabilities that tells if you can call copy_buffer().

As for caps vs privcaps - I think caps such as this one, and instance_call, separate_blending_slots, frame_buffer_support, the nonexistent one for glVertexAttribIPointer should be exposed somehow.

instance_call_supported and separate_blending_slots_supported are already exposed in Capabilties.
frame_buffer_support and glVertexAttribIPointer are so marginal I don't think anyone cares about machines that don't support them. We can safely assume the user has these as a baseline. Remember: the main focus of gfx-rs is modern API compatibility.

clear_buffer_supported/glClearBufferfv and friends do not have any corresponding extension, so that TODO should be just dropped.

Agreed.

@lxnt I think you are over-complicating this.
All that needs to be done for this issue is a flag in public Capabilities that tells if you can call copy_buffer().

Well, there were words of checking in the encoder.. But you are right. Here goes a PR.

Ah, right. Checking in the encoder and returning an error early would be nice. Now I see that your original code does that.

Should I submit a PR with checks in the encoder?
If so, is the approach with cap getters in the Buffer trait acceptable, or there is some better way?

@lxnt I don't think we should have the public capability checks in both Encoder and Capabilities. Just the latter should be fine. The encoder needs to know about some of the flags, so that it can return an error if appropriate, but it doesn't need to have the flag getters.
Other than this little thing, yes, the PR would be nice!

Is this issue still applicable? If so, where would the changes go?

@lxnt I don't think we should have the public capability checks in both Encoder and Capabilities. Just the latter should be fine. The encoder needs to know about some of the flags, so that it can return an error if appropriate, but it doesn't need to have the flag getters.
Other than this little thing, yes, the PR would be nice!

Encoder doesn't seem to exist anymore for OpenGL, where would be the right place to add these checks?

Thanks for triaging @GabrielMajeri ! I think this was for pre-ll, marking accordingly and closing.

authors: Bastacyclop GabrielMajeri kvark lxnt

repo: gfx-rs/gfx


text:
[mtl] Detect OS version

Detect OS version to set MTLLanguageVersion based on the minimum version specified in the Apple documentation (on each enum value's page)
Note NSProcessInfo already exists in foundation, but operatingSystemVersion/NSOperatingSystemVersion appear to be missing for now (eventually we can upstream it).
PR checklist:

[ ] make succeeds (on *nix)
[ ] make reftests succeeds
[X] tested examples with the following backends: Metal
[ ] rustfmt run on changed code

I don't understand what bors is waiting for here :(

Trying to wake up bors
bors r-

bors r+

authors: grovesNL kvark


text:
Access on multiple threads

Hi,
Is it possible to read and write from / to a table from multiple threads?
Thanks!

Yes. Orma should be thread-safe.

@gfx Thanks! But should I build() a new DatabaseHandle for each operation, each thread or once in Application.onCreate()?

No

authors: gfx leisim

repo: gfx/Android-Orma


text:
🛑 Life CRM is down

In a448202, Life CRM ($SITE_LFCRM) was down:

HTTP code: 404
Response time: 117 ms

Resolved: Life CRM is back up in e3e4ec3.

repo: ggardin/uptime-monitor


text:
error-responses-with-drf-spectacular

To use:

set DRF setting "DEFAULT_SCHEMA_CLASS" to "drf_standardized_errors.openapi.AutoSchema"
add the following to drf_spectacular setting ENUM_NAME_OVERRIDES:

"ValidationErrorEnum": "drf_standardized_errors.openapi_serializers.ValidationErrorEnum.values",
"ClientErrorEnum": "drf_standardized_errors.openapi_serializers.ClientErrorEnum.values",
"ServerErrorEnum": "drf_standardized_errors.openapi_serializers.ServerErrorEnum.values",
"ErrorCode401Enum": "drf_standardized_errors.openapi_serializers.ErrorCode401Enum.values",
"ErrorCode403Enum": "drf_standardized_errors.openapi_serializers.ErrorCode403Enum.values",
"ErrorCode404Enum": "drf_standardized_errors.openapi_serializers.ErrorCode404Enum.values",
"ErrorCode405Enum": "drf_standardized_errors.openapi_serializers.ErrorCode405Enum.values",
"ErrorCode406Enum": "drf_standardized_errors.openapi_serializers.ErrorCode406Enum.values",
"ErrorCode415Enum": "drf_standardized_errors.openapi_serializers.ErrorCode415Enum.values",
"ErrorCode429Enum": "drf_standardized_errors.openapi_serializers.ErrorCode429Enum.values",
"ErrorCode500Enum": "drf_standardized_errors.openapi_serializers.ErrorCode500Enum.values",

If you're not overridding the postprocessing hook setting from drf-spectacular, set it to

"POSTPROCESSING_HOOKS": ["drf_standardized_errors.openapi_hooks.postprocess_schema_enums"]

But if you're already overriding it, make sure to replace the enums postprocessing hook from drf-spectacular with the one from this package. The hook will avoid raising warnings for dynamically created error code enums per field.
Notes:

This is the initial version for generating OpenAPI 3 error responses when using drf-spectacular. It covers the possible 4xx and 500 errors that can be raised by DRF.
The implementation allows easily customizing the error responses generation. This is possible by using settings for defining which error responses are allowed ALLOWED_ERROR_STATUS_CODES and changing the error response schema if needed ERROR_SCHEMAS. Other than that, the generation logic is separated into multiple methods under AutoSchema making it easy to override specific aspects of the generation process.
One concern that can be raised: it might be too much to add some responses to every operation (like 401, 406, 415, 500, ...). For that, I would suggest using the description to document the common error responses (description allows markdown, here's an example). Then, remove the corresponding status codes from the ALLOWED_ERROR_STATUS_CODES.

Here's how this looks in swagger UI:
validation_error_example
validation_error_schema

Hello,
I'm interested in this feature, especially the serializers as I already have my own schema class.
Is it still planned ?
Thank you

yep, this feature is still planned since I also need it. However, it just fell down in my priority list. I'll try to make progress soon. I already have some tests that I didn't push. But, as shown in the test coverage report, the amount of code added for error response introspection is more than 3 times the existing code, so it takes a while to get to a decent test coverage. Other than that, I still need to add the docs.
Still, if you only need the serializers, I suggest you just copy them without having to wait (since I don't expect changing them). However, I should mention that the important work in this feature is in the AutoSchema class which might have some small changes depending on what the tests uncover.

authors: ghazi-git mdefeche

repo: ghazi-git/drf-standardized-errors


text:
./chatserver.php exits right after running.

I had to modify the first line to the path of php as follows
`
#! /usr/bin/php7.0
users as $u) {
    		$message = htmlspecialchars($message);
    		$this->send($u,$message);
    	}
    }

    protected function connected($user) {

    }

    protected function closed($user) {

    }
}

$server = new ChatServer("192.168.0.3","9000");
`

When I run it using ./chatserver.php

`wh33t@wh33tserv:/var/www/html/d30/socketest$ ./chatserver.php
Server started
Listening on: 192.168.0.3:9000
Master socket: Resource id #6
wh33t@wh33tserv:/var/www/html/d30/socketest$
`

It just exits. I haven't modified anything else. What am I doing wrong?

Also, not sure why the formatting isn't working.

Any idea why chatserver.php exits right after running?
root@lamp post/chat# php chatserver.php
Server started
Listening on: 192.168.1.3:9000
Master socket: Resource id #6
root@lamp post/chat#

Based off of the information given?
No.
I have plans to add logging, but obviously that doesn't help right now.
I suspect that something is happening to the master socket resource between when it's created and when you get your first connection (or even actually listening for that connection), but that's pure conjecture on my part.

Had to add this at the end of chatserver.php file.
try {
    $server->run();
  }
  catch (Exception $e) {
    $server->stdout($e->getMessage());
  }

authors: ghedipunk wh33t zelenko

repo: ghedipunk/PHP-Websockets


text:
feat(version): add --allow-peer-dependencies-update, closes #333

supersede #362

Description
Add a new option --allow-peer-dependencies-update  option on the version command which will help to update peer dependencies before publishing them. This option is opt-in and disabled by default because of what the original Lerna maintainer wrote in Lerna issue #1018

peerDependencies shouldn't be updated by lerna publish

This option is not recommended for most users, for them peerDependencies will remain untouched unless the user really wants it enabled and has more knowledge in this regard. However even when this flag is enabled, it will never mutate/update peer dependencies with semver range operator (ie >=2.0.0).
Regex used
For this implementation, we'll use this regex to identify if the peer dependency is allowed to be updated or not (regex101)
/^(workspace:)?[~^]?[\d\.]+([\-]+[\w\.\-\+]+)*$/i

Note
While at it, the code in package and package-graph related to workspace: protocol were refactored a bit to follow similar implementation as to what Lerna as recently done, even though the implementation is different at least the naming is now similar.
Motivation and Context
Provide a way to bump peer dependencies but only via a flag, this behavior will be disabled by default, this will close #333

closes #333

The main code change for this new option is in the updateLocalDependency() method found in package.ts, a new argument allowPeerDepsUpdate was added and when enabled it will add peerDependencies into the loop of dependencies to be inspected for updates. The loop is also new in that same method, since prior to this we would only update/bump the 1st dependency found, however now if the flag is enabled, we also include (loop) the peer dependency as well so instead of updating 1 dependency (by name), we might update up to 2 of with the same name
in summary, calling lerna version --allow-peer-dependencies-update (or the equivalent lerna.json config) on this package
{
  "name": "B",
  "dependencies": {
    "A": "workspace:^1.2.0"
   },
  "peerDependencies": {
    "A": "workspace:^1.2.0"
  }
}

will bump both the dependencies and peerDependencies to ^1.3.0 on a minor bump (note again that a semver range >= will never be bumped)
How Has This Been Tested?
added a lot more unit tests to cover package.ts, package-graph, publish and version
What will be valid and update?
It will update (bump) regular semver like these

1.2.3
^1.2.3
^1.4.0-alpha.0
workspace:^1.2.3

but it won't mutate/update things like

>=1.0.0
>=1.0.0 <2.0.0
^1 | ^2 | ^3

Types of changes

[ ] Chore (change that has absolutely no effect on users)
[ ] 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 change)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

@StarpTech are you going to have a chance to review the PR within the next couple days? I'd like to release this by next week if possible

I try my best to review it this weekend :crossed_fingers:

I wonder if I should rename the option name --allow-peer-deps-update which is shorter to a longer but more precise option name --allow-peer-dependencies-update to make it clearer, it seems quite long though

I'm going to review it today.

@StarpTech that'd be awesome because I was about to merge without review, I want to release by the end of this week. Thanks

--allow-peer-deps-update

It is pretty clear to me. I like.

For this implementation, we'll use this regex to identify if the peer dependency is allowed to be updated or not (regex101)

I'm not sure if this is right. A fixed peerDep 1.0.0 should also not be updated.

Hi, after reading other issues, I'm unsure if the current assumptions are correct. My issue in https://github.com/ghiscoding/lerna-lite/issues/333 was the too-restricted version constraint. Under < v1 the developer can use > 0.1.0 < 1 to simplify the releases because no stability is guaranteed. Starting with v1 he can use ^1.0.0 to not break the public API.
With that knowledge, I'd expect that Lerna is throwing an error (before release and commit) when a version is being published with an invalid peerDep constraint. The developer is responsible to fix this manually.
Does it make sense?

For this implementation, we'll use this regex to identify if the peer dependency is allowed to be updated or not (regex101)

I'm not sure if this is right. A fixed peerDep 1.0.0 should also not be updated.

in this case the peer dep 1.0.0 would be bumped/updated with the flag

Hi, after reading other issues, I'm unsure if the current assumptions are correct in independent mode. My issue in #333 was the too-restricted version constraint. Under < v1 the developer can use > 0.1.0 < 1 to simplify the releases because no stability is guaranteed. Starting with v1 he can use ^1.0.0 to not break the public API.

I'm not entirely sure of everything you said but technically speaking the new option would not bump something like > 0.1.0 < 1 because the option would not bump anything containing an operator (as per the regex), see examples in the description

You probably have a better understanding of this than me. I'm no longer convinced when this feature is required. Could you add some simple use cases? It might also be good to mention them in the README. After reading the README, the feature sounds like a super edge case.

well the example is the one you provided
with the new flag both deps would be bumped, for example a minor
{
  "name": "B",
  "dependencies": {
    "A": "workspace:^1.2.0"  // will bump to "workspace:^1.3.0"
   },
  "peerDependencies": {
    "A": "workspace:^1.2.0"  // will bump to "workspace:^1.3.0"
  }
}

without the flag it will only bump first one because prior code only ever bump 1 dep
{
  "name": "B",
  "dependencies": {
    "A": "workspace:^1.2.0"  // will bump to "workspace:^1.3.0"
   },
  "peerDependencies": {
    "A": "workspace:^1.2.0"  // will NEVER be bumped
  }
}

I think my implementation is ok, so I'll go ahead and merge the PR, I'll release a new version probably later today

authors: StarpTech ghiscoding

repo: ghiscoding/lerna-lite


text:
Update semanticdb-scalac to 4.8.6

About this PR
📦 Updates org.scalameta:semanticdb-scalac from 4.7.8 to 4.8.6
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "semanticdb-scalac" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scalameta", artifactId = "semanticdb-scalac" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, version-scheme:semver-spec, commit-count:1

Superseded by #297.


text:
removed kube-rbac-proxy

According to upstream direction (https://github.com/kubernetes-sigs/cluster-api/issues/4679) this PR removes the rbac proxy from the metrics endpoint.
We don't use it anywhere else and it's just better to not have it for conformity

Do we want to remove this from all the controllers then?

Do we want to remove this from all the controllers then?

Yes I'm on it

There are a bunch of Helm templates / parts related to the proxy. I guess we can keep them, but if the plan is to remove the proxy for good, I'd remove everything related to the proxy.

good catch, removed everywhere I think

Do we want to remove this from all the controllers then?

The proxy was making things harder to wire (@whites11 has the details) and it looks like upstream is thinking about removing it all together, so we figured we can go ahead and remove it.

authors: anvddriesch fiunchinho whites11


text:
Install jq in the Docker image

I need to use jq from our tekton pipelines before calling standup , so it would be convenient if the Docker image would already contain jq.
Checklist

[X] Update changelog in CHANGELOG.md.

I'm going with a ping, we can always rollback if you think this is not good.

I'm going with a ping, we can always rollback if you think this is not good.

repo: giantswarm/standup


text:
get_sessions(start, end)

Hi, get_user and get_session methods worked for me, but when I call get_sessions i got this error:
Call:
client.get_sessions(start=start_date, end=end_date)
Error:
Traceback (most recent call last):
File "", line 1, in
File "/home/pero/anaconda2/lib/python2.7/site-packages/beddit/client.py", line 15, in _is_logged_in
return func(self, *args, **kwargs)
File "/home/pero/anaconda2/lib/python2.7/site-packages/beddit/client.py", line 129, in get_sessions
return [Session(session) for session in r.json()]
File "/home/pero/anaconda2/lib/python2.7/site-packages/beddit/session.py", line 30, in init
self.sampled_tracks = [SampledTrack(obj) for obj in response_object.get('sampled_tracks', [])]
File "/home/pero/anaconda2/lib/python2.7/site-packages/beddit/session.py", line 14, in init
self.samples_per_frame = obj['samples_per_frame']
TypeError: string indices must be integers

Hi, thank you for reporting the issue.
I'll try to fix it.
Please moment.

Hi :) I would like to ask you how soon can I expect the fix.
Thank you for your response.

@peterrot
I fixed this issue and deployed as 0.1.1.
It is available on PyPI.
Sorry for waiting you.

Thank you very much. The method get_sessions now works fine, but the get_user() doesn't work anymore. The first one worked before. There are two calls below, one without parameters, and one with 1:

u = client.get_user()
Traceback (most recent call last):
File "", line 1, in
File "beddit/client.py", line 15, in _is_logged_in
return func(self, *args, **kwargs)
File "beddit/client.py", line 151, in get_user
return User(r.json())
File "beddit/user.py", line 18, in init
self.weight = float(response_object['weight'])
TypeError: float() argument must be a string or a number

u = client.get_user(1)
Traceback (most recent call last):
File "", line 1, in
File "beddit/client.py", line 15, in _is_logged_in
return func(self, *args, **kwargs)
File "beddit/client.py", line 153, in get_user
raise BedditClient.APIError(r.json()['description'])
beddit.client.APIError: Permission denied

@peterrot Thank you for reporting the issue.
I apologize to make you inconvenience.
I'll fix this ASAP.

Hi,
I would like to ask you if that usage of a function is supposed to be right?
u = client.get_user()
print u.id
print u.email
print u.name
print u.date_of_birth
print u.sex
print u.weight
print u.height
print u.sleep_time_goal
print u.tip_audiences
print u.created
print u.updated

Now I found the error - just add additional if statements to check if parameters do actually exist in User  init function, before you assign them (in my case those parameters like response_object["weight"] and response_object["height"] were not defined), so you can just add if like this:
if response_object['weight']:
self.weight = float(response_object['weight'])
if response_object['height']:
self.height = float(response_object['height'])
or something similar..
Thank you very much ;)

@peterrot
Sorry for my late reply.
I checked your situation.
It seems to work correctly.
beddit.client.APIError: Permission denied

You can only get the user information of yours or you permitted to access.
You seem not to have permission to access user 1.
See this documentation for detail.
https://github.com/beddit/beddit-api/blob/master/3_1-UserResources.md
If you'd like to get your own profile, you don't pass the user_id argument.
import os
from beddit.client import BedditClient

client = BedditClient(os.environ.get('BEDDIT_USERNAME'), os.environ.get('BEDDIT_PASSWORD'))

user = client.get_user()
print(user.name)
print(user.height)
print(user.weight)

authors: giginet peterrot

repo: giginet/beddit-python


text:
Drupal logo svg

The SVG is here: https://www.drupal.org/files/druplicon.vector.svg
Druplicon page:
https://www.drupal.org/node/9068

added 2d5429fae9fe9285b7b60a8ab15fc20dd4a047d2

authors: dcorb gilbarbara

repo: gilbarbara/logos


text:
Added ability to refrence an env from an existing configMaps and secrets

How to use it
envFrom:
  existingConfigMaps:
  - name: cm1
    optional : true
  existingSecrets:
  - name: secret1
    optional : true

existingConfigMaps:
- name: cm1
  optional : true
existingSecrets:
- name: secret1
  optional : true

authors: YoucefGuichi laszlocph

repo: gimlet-io/onechart


text:
CURAND generators not destroyed

Not sure if destruction is necessary, the API reference does not state that. But it has a function for destruction of generators and on my device I'm getting an a curand allocation exception after a couple of iterations of Idr solver with Cuda executor.

Thanks for reporting it!
I add the destroy function in the branch destroy_curand https://github.com/ginkgo-project/ginkgo/tree/destroy_curand
Could you check whether it works for you or not?

"Could you check whether it works for you or not?"
Curently not. Got some stressing deadline and no time to rebuild the project. But I will keep the E-Mail, so maybe in a couple of monts I can retry.

authors: Destranix yhmtsai

repo: ginkgo-project/ginkgo


text:
自定义DNS解析行为不符合预期，gost 最终会使用系统的 /etc/resolv.conf 进行查询

首先，gost 支持自定义DNS解析，例如gost -L :1080?dns=192.168.123.1，会使用 192.168.123.1 服务器进行DNS解析。
但是如果 192.168.123.1 服务器返回 NXDOMAIN (表示无此域名的解析地址)结果时， gost 后续的行为将超出预期：
gost 将会启用系统的 /etc/resolv.conf 进行查找，并且无论返回结果如何，该域名的后续所有查找都将不再使用  192.168.123.1 服务器，而是系统默认的 /etc/resolv.conf。
预期的行为，应该是在查询完 192.168.123.1 服务器之后，不论结果如何，都始终使用 192.168.123.1 服务器进行查询，而不是回退并持久回退到系统。
截图如下，其中 172.16.122.1 地址是我写在 /etc/resolv.conf 中的默认nameserver：
——————————————————————————————————————
$ curl -I -p -x 127.0.0.1:8081 noexistname.com
HTTP/1.1 503 Service Unavailable
Proxy-Agent: gost/2.11.1
Content-Length: 0
curl: (56) Received HTTP code 503 from proxy after CONNECT
——————————————————————————————————————
——————————————————————————————————————
$ gost -L :8081?dns=192.168.123.1
2021/12/04 22:34:10 route.go:650: auto://:8081 on 0.0.0.0:8081
2021/12/04 22:34:12 http.go:161: [http] 127.0.0.1:44746 -> auto://:8081 -> noexistname.com:80
2021/12/04 22:34:12 http.go:251: [route] 127.0.0.1:44746 -> auto://:8081 -> noexistname.com:80
2021/12/04 22:34:12 http.go:272: [http] 127.0.0.1:44746 -> 127.0.0.1:8081 : dial tcp: lookup noexistname.com on 172.16.122.1:53: no such host
——————————————————————————————————————

v3版本中已经解决。

感谢作者！
另外，会 backport 到 v2 版本吗？目前 v2 版本为了避免这个问题，我只能将其运行在容器中，并将容器的 /etc/resolv.conf 和 ?dns=... 参数设为一致，限制很多。

后面会对关键性bug统一进行修复。

此问题已修复。

使用最新 commit 版本测试，符合"始终使用 ?dns=x.x.x.x 服务器进行查询"的预期行为，赞！

repo: ginuerzh/gost