Unable to obtain ACME certificate for domains: generate certificate with no value

Do you want to request a feature or report a bug?
Bug
What did you do?
I've setup two services gulagmap.ru and mygulag.ru and traefik as as proxy. They both obtained valid certificates, but the next day, without any changes, one of the services lost a certificate. I've tried to regenerate it with restarting both traefik and mygulag.ru, but it had no effect.
What did you expect to see?
traefik generates valid certificate
What did you see instead?
traefik generates certificate with no value
Output of traefik version:
Version:      v1.6.0
Codename:     tetedemoine
Go version:   go1.10.1
Built:        2018-04-30_09:28:44PM
OS/Arch:      linux/amd64

What is your environment & configuration (arguments, toml, provider, platform, ...)?
docker-compose.yml
version: '3.6'

services:
  traefik:
    image: traefik:1.6.0-alpine
    container_name: traefik
    restart: always
    ports:
      - 80:80
      - 443:443
      - 8080:8080
    volumes:
      - ./traefik:/etc/traefik:Z
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - proxy
    command:
      - --logLevel=DEBUG
      - --entrypoints=Name:http Address::80 Redirect.EntryPoint:https
      - --entrypoints=Name:https Address::443 TLS
      - --defaultentrypoints=http,https
      - --acme
      -<EMAIL_ADDRESS>      - --acme.storage=/etc/traefik/acme.json
      - --acme.entryPoint=https
      - --acme.httpChallenge.entryPoint=http
      - --acme.OnHostRule=true
      - --acme.onDemand=false
      - --acme.acmeLogging=true
      - --web
      - --docker
      - --docker.watch
      - --docker.exposedbydefault=false

networks:
  proxy:
    external: true

docker-compose.yml for mygulag.ru service
version: '3.6'

services:
  mygulag-archivist:
    build: .
    container_name: mygulag-archivist
    restart: always
    labels:
      - traefik.enable=true
      - traefik.port=5000
      - traefik.docker.network=proxy
      - traefik.frontend.rule=Host:mygulag.ru
    networks:
      - proxy
      - internal
    depends_on:
      - mygulag-db

  mygulag-db:
    image: mdillon/postgis:9.6-alpine
    container_name: mygulag-db
    restart: always
    ports:
      - 5432:5432
    env_file:
      - .env
    volumes:
      - /var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $POSTGRES_USER"]
      interval: 30s
      timeout: 30s
      retries: 3
    networks:
      - internal

networks:
  proxy:
    external: true
  internal:
    external: false

If applicable, please paste the log output in DEBUG level (--logLevel=DEBUG switch)
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="Creating route route-frontend-Host-mygulag-ru-0 Host:mygulag.ru"
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="Creating backend backend-mygulag-archivist-mygulag"
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="Creating load-balancer wrr"
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="Creating server server-mygulag-archivist at http://<IP_ADDRESS>:5000 with weight 1"
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="Add certificate for domains gulagmap.ru"
traefik    | time="2018-05-10T14:31:52Z" level=info msg="Server configuration reloaded on :443"
traefik    | time="2018-05-10T14:31:52Z" level=info msg="Server configuration reloaded on :8080"
traefik    | time="2018-05-10T14:31:52Z" level=info msg="Server configuration reloaded on :80"
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="Try to challenge certificate for domain [mygulag.ru] founded in Host rule"
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="Try to challenge certificate for domain [gulagmap.ru] founded in Host rule"
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="Looking for provided certificate(s) to validate [\"gulagmap.ru\"]..."
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="No ACME certificate to generate for domains [\"gulagmap.ru\"]."
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="Looking for provided certificate(s) to validate [\"mygulag.ru\"]..."
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="Domains [\"mygulag.ru\"] need ACME certificates generation for domains \"mygulag.ru\"."
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="Loading ACME certificates [mygulag.ru]..."
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="Building ACME client..."
traefik    | time="2018-05-10T14:31:52Z" level=debug msg="https://acme-v02.api.letsencrypt.org/directory"
traefik    | time="2018-05-10T14:31:53Z" level=debug msg="Using HTTP Challenge provider."
traefik    | legolog: 2018/05/10 14:31:53 [INFO][mygulag.ru] acme: Obtaining bundled SAN certificate
traefik    | time="2018-05-10T14:31:53Z" level=error msg="Unable to obtain ACME certificate for domains \"mygulag.ru\" detected thanks to rule \"Host:mygulag.ru\" : domains [mygulag.ru] generate certificate with no value: {    [] [] [] []}"

Update. After another traefik restart, there are different logs, that says, that traefik cannot obtain certificates due to Invalid response from http://mygulag.ru/.well-known/acme-challenge/wRdjXyit2N0wbuhjnP0nnxaGbzHOw_7y3aovs5qFVeM
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Wiring frontend frontend-Host-mygulag-ru-0 to entryPoint https"
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Creating route route-frontend-Host-mygulag-ru-0 Host:mygulag.ru"
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Creating backend backend-mygulag-archivist-mygulag"
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Creating load-balancer wrr"
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Creating server server-mygulag-archivist at http://<IP_ADDRESS>:5000 with weight 1"
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Add certificate for domains gulagmap.ru"
traefik    | time="2018-05-11T06:56:35Z" level=info msg="Server configuration reloaded on :443"
traefik    | time="2018-05-11T06:56:35Z" level=info msg="Server configuration reloaded on :8080"
traefik    | time="2018-05-11T06:56:35Z" level=info msg="Server configuration reloaded on :80"
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Try to challenge certificate for domain [gulagmap.ru] founded in Host rule"
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Try to challenge certificate for domain [mygulag.ru] founded in Host rule"
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Looking for provided certificate(s) to validate [\"mygulag.ru\"]..."
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Domains [\"mygulag.ru\"] need ACME certificates generation for domains \"mygulag.ru\"."
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Loading ACME certificates [mygulag.ru]..."
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Building ACME client..."
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="https://acme-v02.api.letsencrypt.org/directory"
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Looking for provided certificate(s) to validate [\"gulagmap.ru\"]..."
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="No ACME certificate to generate for domains [\"gulagmap.ru\"]."
traefik    | time="2018-05-11T06:56:35Z" level=debug msg="Using HTTP Challenge provider."
traefik    | legolog: 2018/05/11 06:56:35 [INFO][mygulag.ru] acme: Obtaining bundled SAN certificate
traefik    | legolog: 2018/05/11 06:56:38 [INFO][mygulag.ru] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/w7RHjTgo1J05GfuOO8xt0KsX4y3NN3P7eUtCnpJ_efY
traefik    | legolog: 2018/05/11 06:56:38 [INFO][mygulag.ru] acme: Could not find solver for: dns-01
traefik    | legolog: 2018/05/11 06:56:38 [INFO][mygulag.ru] acme: Trying to solve HTTP-01
traefik    | time="2018-05-11T06:56:44Z" level=debug msg="Challenge CleanUp for domain mygulag.ru"
traefik    | time="2018-05-11T06:56:44Z" level=error msg="Unable to obtain ACME certificate for domains \"mygulag.ru\" detected thanks to rule \"Host:mygulag.ru\" : cannot obtain certificates map[mygulag.ru:acme: Error 403 - urn:ietf:params:acme:error:unauthorized - Invalid response from http://mygulag.ru/.well-known/acme-challenge/wRdjXyit2N0wbuhjnP0nnxaGbzHOw_7y3aovs5qFVeM: \"<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n\n<title>404 Not Found</title>\n\n
Not Found
\n<p\"]"

There was a problem with external AAAA record in domain. Sorry for inconvenience.


Documentation links are dead

The link for a more detailed description of the project and the link for the full documentation are dead and both lead to a blank page.

It's available at the internet archive, but I don't think there is an easy way to restore it from the snapshot.
https://web.archive.org/web/20210122194149/https://scientist.readme.io/

I copied the bulk of the documentation from archive.org into the wiki.
@daylerees  if you could update the project link to point to it, or remove the link, either way.

Updated the URL, thanks both. Good thinking on using the archive! :)


Add provision to unmap path from applications with context path

This change should be backward compatible
If the application has a Path set in route, then honor that while doing unmap-route
Otherwise the script would fail stating 'route not found'

@bluemixgaragelondon : Please let me know in case further details are required from my side ❤

we encounter the same problem. hope to fix it soon.
scenario is:
after push a App with "--path xxx", then we want to use BGD to re-push it, but it's failed.
error message is "Could not unmap route"

@axelibm : Is anyone maintaining this repo ?

Hi @sks, thank you for your interest in this plugin! This repo is maintained by the IBM Bluemix Garage. Sorry about the late answer, we're currently working through the backlog when time permits.
I checked out your pull request and ran our acceptance tests - everything looks good as far as the tests goes. I assume that the r.Path arguments are parsed by CF CLI and are passed on to the bgd plugin automatically.
The next step is for you to fulfill the IBM open source contributor instructions found at https://github.com/bluemixgaragelondon/cf-blue-green-deploy/blob/master/CONTRIBUTING.md and then we should be able to merge the pull request.

Done 👍

@sks I assume you would need to include the full line "DCO 1.1 Signed-off-by: [...]" rather than just "Signed-off-by: [...]" in your commit message. After that is done I will ask my colleague with write access to merge in the changes.

@axelibm : Thanks for guiding me on this
Its done again, 🤞

I have just tested this and ran acceptance too, and all seems to be fine. Merging.
-- Rufus


[ttGlyphPen] Add a preserve_geometry option

I'm using ttGlyphPen to build variation data; so it's important to preserve geometry. Currently I see the following code that might be an issue, that needs to be disabled:
# if first and last point on this path are the same, remove last

I'll submit a PR, unless @anthrotype wants to beat me to it.

I think TTGlyphPointPen does a better job preserving all points.

Also tend to use point pens if geometry needs to be preserved.

I also agree that using the TTGlyphPointPen (or pointPen protocol in general) would be better at preserving geometry, in fact we use that in ufo2ft.
That piece of code looks suspicious though, I don't remember why it was added in the first place.
I think it might have something to do with the implied-lineTo-start-point-in-closed-contours rule in segment pen protocol.
If you really need to use segment-oriented pens you can try use the adapter pens in pointPen.py module.
Which reminds the PointToSegmentPen has a parameter outputImpliedClosingLine that forces the closing lineTo command to always be emitted (and cu2qu itself uses that to make sure it can convert curves compatibly).
https://github.com/fonttools/fonttools/blob/96de954d295854f3294f576f78ab177c8d2b069e/Lib/fontTools/pens/pointPen.py#L213-L229
Maybe we could add a similar logic to TTGlyphPen itself.

Maybe we could add a similar logic to TTGlyphPen itself.

That sounds good to me. Thanks!


Error installing oracleXE 18c on docker

Details of error while running Oracle Database 18.4c XE on docker container
Host MacOs Catalina v10.15.6(19G2021)
Docker version 19.03.13, build 4484c46d9
Building Image
Method 1
git clone https://github.com/oracle/docker-images.git
cd docker-images/OracleDatabase/SingleInstance/dockerfiles/buildDockerImage.sh
./buildDockerImage.sh -v 18.4.0 -x -i

Method 2
git clone https://github.com/oracle/docker-images.git # don't clone it twice
cd docker-images/OracleDatabase/SingleInstance/dockerfiles/18.4.0
docker build -t oracle/database:18.4.0-xe -f Dockerfile.xe .

Both creates the same image but takes time to run
Run the container
docker run -d --name foo -v oracle_vol:/opt/oracle/oradata -p 1521:1521 -p 5500:5500 -e ORACLE_PWD=secret oracle/database:18.4.0-xe
docker logs -f foo

Output of the log file
ORACLE PASSWORD FOR SYS AND SYSTEM: secret
Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:
Confirm the password:
Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle Database XE.

Database configuration failed. Check logs under '/opt/oracle/cfgtoollogs/dbca'.
mv: cannot stat '/opt/oracle/product/18c/dbhomeXE/dbs/spfileXE.ora': No such file or directory
The Oracle base remains unchanged with value /opt/oracle
#####################################
########### E R R O R ###############
DATABASE SETUP WAS NOT SUCCESSFUL!
Please check output for further info!
########### E R R O R ###############
#####################################
The following output is now a tail of the alert.log:
tail: cannot open '/opt/oracle/diag/rdbms/*/*/trace/alert*.log' for reading: No such file or directory
tail: no files remaining

I might have found the problem. The default resource that docker client was assigned was 2GB RAM and 2 cpu on both my MacOS: powerful workstation (catalina) and my personal (mojave) . For some reason, on Mojave, the container was able to run and install database without any issue whereas on catalina, i was seeing the above error.
I upped the resosurce on the catalina and now the database setup is successful! Apologize if I wasted anybody's time.
🙇♂

I might have found the problem. The default resource that docker client was assigned was 2GB RAM and 2 cpu on both my MacOS: powerful workstation (catalina) and my personal (mojave) . For some reason, on Mojave, the container was able to run and install database without any issue whereas on catalina, i was seeing the above error.
I upped the resosurce on the catalina and now the database setup is successful! Apologize if I wasted anybody's time.
🙇♂

Hello!
I had the same problem and I solved it with your recommendation. I set my resources to 2.25GB of RAM and this was enough for me. If I set 2.0GB, the installation fails and the container terminates


Critical dependency: the request of a dependency is an expression

I'm trying to integrate the woocommerce virtual store module into my project and when I add the mutation "add_product_to_cart" I get the following error.
./~/ajv/lib/async.js
96:20-33 Critical dependency: the request of a dependency is an expression

The vue module:
<template>

      <input class="input is-medium" type="text" placeholder="Código do produto" v-model="productCode">

      <button  class="button is-info is-medium" @click="findProduct">
        Adicionar
      </button>

</template>

The state/mutation module:
import * as types from '../mutation-types'
import Woo from 'woocommerce-api'

const wc = new Woo({
  url: 'http://wc-project.dev',
  consumerKey: 'ck_**',
  consumerSecret: 'cs_**',
  version: 'wc/v1',
  wpAPI: true
})

const state = {
  products: []
}

const mutations = {
  [types.ADD_PRODUCT_TO_CART] (state, payload) {
    console.log(payload)
    wc.get(`products/${payload}`, (err, data, res) => {
      if (err) return console.log(err)
      return console.log(res)
    })
  }
}

export default {
  state,
  mutations
}

Please ignore all this console.log, if i use only 1 console.log with console.log(payload) works fine.

Node version: v7.8.0
NPM version: 4.5.0
vue-cli version: 2.8.1
Operating System: Lubuntu (32bits)

@rafa-acioly
This appears to be an asynchronous issue. Vuex mutations are meant to be synchronous and will not wait around for asynchronous tasks like wc.get. It would be best to move this functionality to a vuex action (called by $dispatch) and then have the action call the mutation once the data is available. This isn't a direct issue with electron-vue so I will be closing this. Feel free to comment back any other questions.

Hi @SimulatedGREG
Thanks for the reply and I'm sorry if you're causing any discomfort, but could you give some examples of the implementation you suggested?

Hi @rafa-acioly did you solve this issue? I'm facing the same problem when I try to call an asyncrounous operation inside a vuex action.

@melquic No, I still have this problem even after using an asynchronous method within an action.

@SimulatedGREG
Don't you think maybe this is about webpack not managing some dependencies in order to the async code to work?

Guys, I think I have found the problem. The npm modules I was using to call my external API wasn't installed in the /app/package.json. I had installed them only in the root directory /package.json. They need to be there in order to be found during the building process.
@rafa-acioly please, see if this is your scenario as well.

I'll check and respond after the test, thank you! @melquic

As a general notice, make sure to check out #171 if you haven't seen it. electron-vue will soon be moving to a single package.json structure so these small complications should be more minimized.


DSD-671 & DSD-672: Slider onChange and  isRangeSlider bug fixes

Fixes JIRA ticket DSD-671 and DSD-672.
This PR does the following:

Correctly calls the onChange callback function so if the prop is not passed, an "_onChange is not defined" is not logged as an error.
Fixes the initial default value for the range slider so it starts off as an array of two numbers, the default being the min and max values of the component. This is to correctly set the start for the Slider when it mounts so it can correctly extract the data values it needs to render.

How has this been tested?
In the NYPL DS test app since Storybook says these are not errors... The onChange bug was being logged but initially missed that, but the second bug doesn't occur when mounting in Storybook.
Accessibility concerns or updates

None.

Checklist:

[ ] I have updated the Storybook documentation accordingly.
[ ] I have added relevant accessibility documentation for this pull request.
[ ] All new and existing tests passed.

Front End Review:

[ ] View the example in Storybook

Tugboat has finished building the preview for this pull request!
Link:

https://pr820-uq68xttqgteuf18tfe3eb33b7zcwb1pu.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/61c2201d7499db6522eee501

Tugboat has finished building the preview for this pull request!
Link:

https://pr820-uq68xttqgteuf18tfe3eb33b7zcwb1pu.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/61c2201d7499db6522eee501


B-19810 INT

Agility ticket
Summary

[!IMPORTANT]
I have this question and raised it to the gov and internally, but would like the PO to take a look at the functionality as is and provide feedback before merging into integrationTesting:
For the number next to Payment requests in the top nav bar, it's unclear if:
Option A: 1 on left nav bar + triangle on left nav bar = 2 next to Payment requests on top nav bar
Option B: if 1 on left + triangle on left = 1 next to Payment requests on top nav bar
Right now, I am going with option A.

Update: gov confirmed option A is the preferred option

Couple things fixed here.
From story attachment, the number for payment requests on the left nav bar was not matching up with the number at the top:

Fixed the left nav bar to show number of pending payment requests that require review, rather than just showing the number of payment requests. It will now be in sync with the number next to Payment requests in the top nav bar.
Made the billable weight review triangle red
Made the pending payment request number on the left nav bar red
Updated tests

To test:

Access the office app as a TIO

Find a payment request with billable weight to review and one or more payment requests. Note the red warning symbol and red number of payment requests needing reviewed

Review the billable weights and note that the warning symbol goes away

Review the payment request and note that BOTH the number of pending payment requests goes away on the top nav bar and the left nav bar

Find a payment request that has > 1 payment request (I used GBX87G) and note the 2 on the top nav bar and the left nav bar.

Review one payment request and note that both the top and left nav bar numbers decrement by 1

Review the other payment request and note that both the top and left nav bar numbers decrement by 1

[x] This change meets the standards for Section 508 compliance.

cANDI didn't pass

Good catch @cameroncaci, this will also impact the other stories on this feature

cANDI didn't pass

Resolved using the suggested color for the background:

B-21097 created to take care of the existing color contrast fail @cameroncaci


Wrong Page layout of 'View User List'.(Company Panel)

Describe the bug
Wrong Page layout of 'View User List'. 'S.No' column is not visible.
To Reproduce
Steps to reproduce the behavior:
1.Enter in the address bar-pulseptt.com
2.Login With Id and Password.
UserName-pulse123
Password-123456789
3.Click On 'View User List' and observe  'S.No' column is not visible.
Expected behavior
'S.No' column must be visible.
Desktop (please complete the following information):
OS: Windows 10
Browser: Version 100.0.4896.60 (Official Build) (64-bit)
Version: [<IP_ADDRESS>]

There is no issue from my side.

In my Pc, I checked in Chrome and Edge , in both browsers the S.No. column is not visible. (attached screenshot is just snapped )

GO through UserName-ranjeet & Password-12345678 check


Only one browser papears when I choose a browser to backup.

Hi, Im using Safari on OS Yosemite, and suddenly I can't choose between my browsers, now only Chrome appears, but not safari at all which is my main one. How can I fix this?
I restarted my computer, opened and closed my browsers to see if that would solve the issue but nothing. Please help!!

Hi, could you do these steps please:

Find the location of the settings file manually - it should be in the location described here: https://www.reddit.com/r/Enhancement/wiki/backing_up_res_settings#wiki_safari

If the file does indeed exist in the location specified in the first step, enable debugging and submit the log file: https://github.com/Nikola-K/RESTool#how-to-report-issues

If the file exists in a different location please let me know what it is and I'll look into it.

Closed due to lack of information.


Mycoplasma proteomes in Protein Database Downloader

Several mycoplasma strains are very common contaminants in cell culture. Protein Database Downloader does not support mycoplasma so far.
Could the following strains be added to Protein Database Downloader:

mycoplasma orale
mycoplasma hyorhinis
mycoplasma arginini
mycoplasma fermentans
mycoplasma hominis
acheloplasma laidlawii

As those would be often downloaded together and merged afterwards, maybe it would make sense to make it possible to download all of them at once. Maybe as Taxonomy: "Common mycoplasma contaminants (M. orale, M. arginini [...])"?

I added the mentioned species one by one to the Database Downloader (https://github.com/galaxyproteomics/tools-galaxyp/pull/110). I would still prefer a combined solution, but that should do for the moment.

This is fixed by https://github.com/galaxyproteomics/tools-galaxyp/pull/110 correct?

@bgruening I hope so.


Errors on the integration Vanilla in Vue

Describe the bug
I Have 2 errors:

Randomly, the "WalletConnect" animation that appears in the mobile part is from time to time empty (I have the impression that it depends on the speed)
An error on "QuerySelector" on ModalCtrl that pollutes the console

SDK Version

Version [2.0.0-alpha.2]

Screenshots
Image: (https://gist.github.com/Droppix/c6411d4c75ee42d89fc74f4fd85a6921)
Desktop (please complete the following information):

OS: [MacOS Ventura]
Browser [Chrome]
Version [ 22]

Additional context
Add any other context about the problem here.

This issue is related to #662 fix for it is going up latter today as part of beta.2 👍

Beta.2 was released 👍 with fixes for this


feat(icons): add new icons

Description
Resolves #915
Closes #884
Add icons

[x] -   contact
[x] -   course
[x] -   downsell
[x] -   expand
[x] -   grant-offer
[x] -   handle-2
mail-1
mail-2

Screenshots
After extra mail icon removal

With extra mail icons

Testing in sage-lib

Navigate to http://localhost:4000/pages/foundations/icon
Verify new icons are appearing and old icons are unchanged
Navigate to http://localhost:4100/?path=/docs/sage-icon--default
Verify new icons are appearing and old icons are unchanged

Testing in kajabi-products

(LOW) Adding new icons, no old icons updated in this release; nothing to test on kajabi-products

@philschanely - great callout! I chatted with Chris and they were erroneous and have been removed.


Update pydantic to v2.x

Update  pydantic to ^2.4.2

Just for info, I ported our app to this branch, and all seems to be working fine.
Earlier I had sync code with Pydantic v1, using my own simple db util to get validated pydantic objs nicely from Firestore documents. But switched it now so that everything is using Firedantic and this Pydantic v2 version.
Tests pass and using it locally seems to work, we'll review the change now a bit and I'll probably deploy it to actual testing on the cloud in the afternoon, so will see more.
Thanks a lot for the work here! Is nice, even though there are things to do too.
+1 for calling this 0.5.0

Just for info, I ported our app to this branch, and all seems to be working fine.
Earlier I had sync code with Pydantic v1, using my own simple db util to get validated pydantic objs nicely from Firestore documents. But switched it now so that everything is using Firedantic and this Pydantic v2 version, in Async fashion.
Tests pass and using it locally seems to work, we'll review the change now a bit and I'll probably deploy it to actual testing on the cloud in the afternoon, so will see more.
Thanks a lot for the work here! Is nice, even though there are things to do too.
+1 for calling this 0.5.0

Thanks for the feedback and for testing it out already!

It seems this will at a minimum cause warnings as-is because it wasn't fully converted to use Pydantic >= 2 format, and e.g. the branch seems to still contain calls to .dict() instead of .model_dump()
https://github.com/omarudolley/firedantic/blob/7761f6bcd36be5dd507635819201802624101798/firedantic/_async/model.py#L71
https://github.com/omarudolley/firedantic/blob/7761f6bcd36be5dd507635819201802624101798/firedantic/_async/model.py#L282

It seems this will at a minimum cause warnings as-is because it wasn't fully converted to use Pydantic >= 2 format, and e.g. the branch seems to still contain calls to .dict() instead of .model_dump()

Yep those give warnings, I was considering porting in my fork but figured to wait for them to get converted here maybe, is not urgent.

It seems this will at a minimum cause warnings as-is because it wasn't fully converted to use Pydantic >= 2 format, and e.g. the branch seems to still contain calls to .dict() instead of .model_dump()
https://github.com/omarudolley/firedantic/blob/7761f6bcd36be5dd507635819201802624101798/firedantic/_async/model.py#L282

Notify https://github.com/ioxiocom/firedantic/issues/42#issuecomment-1751916733 once merged


doesn't work with every nfo file

Some charsets/encodings doesn't work with this application. For example the nfos by the group "PsO" doesn't work. You can download a nfo file from here and test it yourself: http://www.xrel.to/movie-nfo/1043909/Alles-steht-Kopf-German-DL-AC3-Dubbed-720p-BluRay-x264-iNTERNAL-PsO.html
Here you see the result how it looks like after converting: http://i.imgur.com/6CYMzve.png
Edit:// Looks like the problem has something to do with unicode. NFO's created in DOS or ASCII are converted correctly, NFO's created in Unicode doesn't.
king regards
Paxter

NFO is a format that uses ASCII encoding for its display in a specific language. My script supports charsets commonly used by English and Russian release creators that adhere to the Scene standards.
If you could supply me the original file (I don't understand German) I could take a look and see if something can be done to correct this problem.
Regards,
NewEraCracker

No problem. I put two nfos into the zip file for testing: http://www22.zippyshare.com/v/g86e4ca6/file.html
regards
Paxter

You're right about the problem. I'll put this on my TODO list and reply back when it is dealt. I am little busy this days.

Thanks for your fast reply! Nice to hear that you'll take a deeper look into the problem later. :)

On the German NFO their encoding is really strange. I could add an option to not perform any encoding corrections when text is already in UTF-8 (with BOM) but the German specific chars will still not work correctly because the codepage for German they've used is not supported by iconv or the font itself.
Please advise if a partial fix would suffice (it would display the ASCII art correctly and all chars on English language but not chars such as 'ä' 'ö' 'ü' and 'ß').
Regards,
NewEraCracker

Thanks for your reply. Yes, it would be enough if you fix it without the special chars, because the most important is the ascii and not the text. The most groups doesn't use special chars also. So it would be very nice if you could implement the fix for the special cases if the nfo text is already URF-8.

The problem has now been dealt with.


WorkerEntrypoint ergonomic handler support

What is the feature you are proposing?
Hey! Love that I can just do export default { fetch: app.fetch } for ESM Workers. What's the ergonomic equivalent for WorkerEntrypoints?
I currently define them like:
import { WorkerEntrypoint } from "cloudflare:workers";

export default class extends WorkerEntrypoint {
  fetch(request) {
    return app.fetch(request, this.env, this.ctx);
  }
}

Is there some magic we'd consider adding so I can just do this?
import { WorkerEntrypoint } from "cloudflare:workers";

export default class extends WorkerEntrypoint {
  fetch = app.entrypointFetch
}

Hi @GregBrimble
The following works well.
import { Hono } from 'hono'
import { WorkerEntrypoint } from 'cloudflare:workers'

const app = new Hono()

app.get('/', (c) => {
  return c.text('Hello Hono!')
})

export default class extends WorkerEntrypoint {
  fetch = app.fetch
}

Do you think about this? I think this is the smartest way.

Unfortunately not. WorkerEntrypoint's fetch signature is just fetch(request: Request). It doesn't come with the env or ctx parameters that app.fetch expects. These are instead available on the WorkerEntrypoint instance, this.

@GregBrimble Ahh, understood. I’ll consider it.

@yusukebe and how you call the method or endpoint in the other worker?

@lucaspieran

and how you call the method or endpoint in the other worker?

import { WorkerEntrypoint } from "cloudflare:workers"

declare class WorkerB extends WorkerEntrypoint {
    add(a: number, b: number): Promise<number>
}
type Env = {
    Bindings: {
        WORKER_B: Service<WorkerB>
    }
}

...

const _ = await c.env.WORKER_B.add(1, 2)

Not sure if relevant but what I would like is for Hono handlers to be able to access the WorkerEntrypoint class methods (ie. the defined RPC methods).
const app = new Hono();

app.get("/", async (c) => {
  // Would like to have access to `add(a: number, b: number)` here
  // const result = await c.methods.add(1, 2) // Returns `3`
  return c.text("Something");
});

export default class extends WorkerEntrypoint {
  fetch(request: Request) {
    return app.fetch(request, this.env, this.ctx);
  }

  add(a: number, b: number) {
    return a + b;
  }
}

I can work around it by defining the handlers in the class's fetch itself but it does lose a bit of the ergonomics of Hono.
export default class extends WorkerEntrypoint {
  fetch(request: Request) {
    const app = new Hono();

    app.get("/", async (c) => {
      const result = await this.add(1, 2) // Returns `3`
      return c.text("Something");
    });

    return app.fetch(request, this.env, this.ctx);
  }

  add(a: number, b: number) {
    return a + b;
  }
}

@limzykenneth ran into this thread while looking for a similar solution, I opted for using a middleware for this:
import api from "./api";

export default class extends WorkerEntrypoint {
  fetch(request: Request) {
    return new Hono<Env>()
    .use(async (ctx, next) => {
    	ctx.set("service", this);
    	await next();
    })
	.route("/", api)
	.fetch(request, this.env, this.ctx);
  }

  add(a: number, b: number) {
    return a + b;
  }
}

Now within your separate API router, you can do: c.var.service.add(1, 2)
Curious if you've found any alternative solutions by now.


Add meta label?

Problem Description

Adding a label in the normalize_repos script for issues that are meant to track a meta discussion or larger goal rather than a specific issue or feature, or an issue representing a large task that's meant to track several smaller tasks. I don't think there's any label that quite covers this exactly.
I'm not sure if "meta" is quite the right word for this, although I think it could work.
Alternatives

We could widen the scope of an existing label, but I don't think that any of the existing labels' descriptions would really work for this purpose if widened.
I could do this, but it would also be a quick and easy opportunity for outside contributors.

This looks like something I can do along with writing the workflow(which I am doing currently). So can I take it?

I'd rather let someone else work on it to give more people an opportunity to contribute.
I think meta is fine.

I want to work on this. Can I take this?


Ripme 1.7.55 GDPR and SSL on deviantart

Ripme version: 1.7.55
Java version: java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
Operating system: windows 10 1709 x64
Exact URL you were trying to rip when the problem occurred: https://www.deviantart.com/gregchapin/gallery/
Please include any additional information about how to reproduce the problem:
Expected URL format http://username.deviantart.com/[gallery/####], got: https://www.deviantart.com/gregchapin/gallery/

Expected Behavior
Downloading all high res images into the \rip folder.
Actual Behavior
Deviantart has according to the GDPR now SSL. RipMe does not support the new URL structure (yet ;)
##He is an awesome artist, btw
##Thank you for your great work building this piece of software!

Yes, exactly! No one noticed :) I was too busy and had no time to watch pictures ;)
I can't even tell, when they switched to https...

They did not made the switch at once, but it was in August 2017 I think..
https://danlev.deviantart.com/journal/DeviantArt-Is-Switching-To-HTTPS-697996906
By the way, they also made a change with regard to URL patterns (From https://<name>.deviantart.com/... to https://www.deviantart.com/<name>/..), but this has been only very recently as it seems.

Deviantart has according to the GDPR now SSL. RipMe does not support the new URL structure (yet ;)

I'm already on fixing this. The reason it's taking a while is because DA also changed how getting the next page of an album works so I need to add support for the DA api to ripme


Publish smaller packages

CesiumJS is an extensive library with a lot of functionality that, depending on the app or use case, goes unused. Installing the cesium npm package also syncs third party libraries which may go unused. All features are tied to the monthly Cesium versioning, whether or not anything has changed.
Many users should continue to use the "traditional" CesiumJS releases, but there are also many use cases that would benefit from ingesting smaller, more specific packages.
See this community forum thread for some seeds of this discussion.

Maintain the traditional combined release as before. There may be some internal refactoring, but from an end user standpoint, the cesium npm package and release would remain as-is
Maintain all code from within the same repo. We don't want to introduce additional development burden with additional repos or submodules

workspaces are built into npm for use cases such as this. It allows dependency management to work similar to before with all modules installed to one top-level node_modules directory
All packages would continue to share the same tooling

Publish individual packages along architectural boundaries. In theory, there should be nothing stopping us from breaking up and publishing code as-is with some additional configuration, however due to some interconnections in the architecture, this may require some refactoring so that we are not "cheating" by using private APIs.

Each new package would be able to be published individually
Each new package would only require relevant dependencies-- This means dependencies would only be synced if they are strictly needed, rather than the approach we take now where all dependencies are installed regardless
Each new package would follow semver, while traditional CesiumJS release could remain with its monthly versioning strategy

Most major JS projects implement a variation of this (React, Babel, BabylonJS, Angular…)
While not needed for an initial implementation, eventually, this could allow us take advantage of tooling for dependency graphs and more, allowing us to do things like run only the unit tests relevant to a change

lerna is a tool recommended by npm for managing monorepos, also nx for more advanced use cases

A few use cases:

Widgets

CesiumViewer and other Widgets work well for simple use cases that want to get something really basic up quickly. But a more sophisticated app does not need them, and they can actively be a hindrance as they bring in many static assets.
Separating widgets would isolate the dependency on knockout, which is generally incompatible with other UI/Component stacks, and itself can be a security issue. Notably, the basic CesiumWidget does not rely on knockout.

Core/Math

Could be used by gltf-pipeline, where we depend on CesiumJS for utilities but don’t use it for rendering (gltf-pipeline is also a dependency back in CesiumJS, which is currently a circular dependency).

KML, GeoJson/TopoJson, and Google Earth support each rely on specific dependencies that are not used elsewhere in the API

Another benefit this may have is that it would allow us to upgrade our testing tools. We could take advantage of something like Jest, which could run tests in parallel. For stuff that needs to be run in a browser, we could use Playwright or Puppeteer and run tests in all browsers - potentially allowing us to do screenshot testing for things like Sandcastle.

For the first iteration of this, we'll focus on creating a separate non-widget, engine-only package and a widgets package dependent on the former. This will allow us to set up the repo to support publishing multiple modules while focusing on one set. Separating out Widgets isolates the knockout and nosleep dependencies, as well as minimize and simplify build configuration for those not interested in using the knockout-flavored CesiumJS widgets.
New packages should be added as an npm workspace and have their own package.json file. Many projects use a top-level packages folder, and we should consider whether that makes sense for CesiumJS, or if there is a more minimal change we can make to the project directory structure.
Some things we'll need to consider for each package:

Naming - Make sure to run this by the community (and that it doesn't conflict with any other existing packages)
Entry points - Shipping just the ESM will require a bundler or other build tooling, but will allow for tree shaking and other optimizations, while the upstream "traditional" build can maintain the built Cesium.js.
Each package should include typescript definitions
Documentation - I think we want to stick with our original tooling for generating the API documentation, and continue to generate globally. (This is what Babylon does for instance)
Testing, linting - These can be done either globally for the entire project or centrally for each package, but it should continue to use the same tooling for now. As @sanjeetsuhag mentioned, as we get more sophisticated with our use, we could reconsider tooling and get a bit more targeted. But for now, let's keep the scope small.
LICENSE.md matching the limited dependencies for each package.
README.md should include a minimal example and document best practices (for example in Bablyon.js).

@ggetz This is exciting to see! Is my understanding correct on these details?

Code from Scene or Renderer would end up in cesium/engine, at least for this first iteration
Future iterations might further divide cesium/engine into smaller packages, perhaps separating graphics/geospatial math from rendering details

Code from Scene or Renderer would end up in cesium/engine, at least for this first iteration

Yes. I think it would be cleaner to move source files directly into this directory structure rather than having scripts copy or reference code from Source, but let me know if that's a concern.

Future iterations might further divide cesium/engine into smaller packages, perhaps separating graphics/geospatial math from rendering details

Yes, and this would be split along architectural boundaries such that units of code which require additional dependencies are separated into packages. To do so, we would increment a major version to denote the breaking change of modules moving to a separate package, and potentially cesium/engine would then depend on these new packages (for instance, if we publish cesium/core).

@ggetz the initial plan looks great 💯
It may be a bit too early for this but maybe it would make sense to publish the new packages under the @cesium namespace. However, this would introduce breaking changes so I do not know if it is something that could be done atm.
Regarding the testing/linting process, I think it would be better to have tests alongside the code of each package so that it will be easier to find it.
Thanks for the effort 🙏

I agree that switching to a @cesium namespace would be a good call as part of this work.
I'm definitely on-board with the overall intent of the plan, but I wonder if we have actually done any small prototypes (either hacked up Cesium or a small POC complete separate from Cesium) of how this might work. I feel like there could be a lot of potential showstoppers (like JSDoc, TS generation) hiding here that will require some significant work. A small prototype will help expose those problems up front.

nosleep

Do we even need this? Cesium's VR support is ancient and I believe that's the only place this is used. I would definitely encourage us to take a second look at dependencies like this and figure out if the easier solution is to just delete code or remove a feature. How many people are actually using the Cesium VR support that exists today? (and is nosleep even needed for it).

cesium/engine

This alone definitely feels a bit too coarse for me. @kring might have some thoughts here but to me it makes sense that the general rule should be "new dependency, new module" so those geojson/kml/google-earth etc.. modules make a ton of sense for keeping things lean and mean.
@ggetz overall this is a great write-up and looking forward to seeing some proof-of-concepts.

One other thing that comes to mind is public vs private APIs. Right now we have some bad practices where there is a lot of private API usage of the Cesium library.  Would moving to modules have the rule that in order for one Cesium module to use the API of another, it has to be public? That seems the only way to dogfood things properly and make a good product.  For example, I think even some low level utilities like Check are private, and therefore would need to be promoted to public to be used in "widgets'

@kring might have some thoughts here

I don't have too much to add. Since you're planning to stick with one repo (makes sense to me), there's not a lot of cost to extra libraries, so generally going "too fine" is better than "too coarse" IMO. For example, this long-ish list of libraries in cesium-native:
https://github.com/CesiumGS/cesium-native#card_file_boxlibraries-overview
(and that's even though CesiumJS does a lot that cesium-native doesn't, like all the GeoJSON / KML / Google Earth stuff Matt mentioned doesn't exist at all in native)
But it also seems reasonable to me to start by breaking out some coarse pieces - even as coarse and engine and widgets, potentially - with the plan to break each of them up further into smaller pieces in the future. I don't think it will be too hard to maintain (temporary) backward compatibility during this evolution.

Thanks @mramato and @kring!

I agree that switching to a @cesium namespace would be a good call as part of this work.

To publish with the @cesium scope, we would need a new cesium npm organization, which should be free as long as all packages are public.

I wonder if we have actually done any small prototypes (either hacked up Cesium or a small POC complete separate from Cesium) of how this might work. I feel like there could be a lot of potential showstoppers (like JSDoc, TS generation)

@sanjeetsuhag Is currently working on this and we'll update here with results.

nosleep

Do we even need this? Cesium's VR support is ancient and I believe that's the only place this is used.

Yes, this is only used in the existing VR support. We'll consider removing if VR is not getting much usage.

I am currently prototyping on the workspaces branch. I initially tested things on a simple npm package I created, now I'm trying to test things on the cesium repo.
At the moment, I have just broken up the Source folder out into engine and widgets packages, and used the existing tooling to build index.js and index.d.ts for each (although the widgets is slightly broken). For the top level Cesium.js, the gulpfile.cjs is slightly broken, but I expect that will be easy to fix up.
Here's a TODO list of things to test before we can shape this into a PR:

[ ] Hooking up esbuild
[ ] Splitting up Specs
[ ] Refactoring gulpfile.cjs and build.cjs
[ ] Clean up Apps

There hasn't been sooo much feedback on the forum thread. But there's one point that I already mentioned in the forum, and that I wanted to bring up here, in view of the questions about "public vs private APIs" and the "long-ish list of libraries in cesium-native":
Will there be an attempt to align the package structure between CesiumJS and cesium-native?
It is phrased as a question, but from a very high-level perspective, there are good reasons to do that:

Discoverability and documentation. When people have invested a lot of time in learning a Cesium API, they'd probably appreciate it when they recognize certain structures in a different context. Maybe there could even be documentation pages that contain code snippets that can be toggled between the JavaScript/CesiumJS version or the C++/cesium-native version...?
When thinking in terms of "building blocks" and "APIs", one could suggestively ask: When it is warranted to have library "X" in cesium-native, what exactly is the reason to not have a library with the same scope in CesiumJS? This refers to granularity levels and blocks like "Math"/"Geometry"/"Geospatial"/"glTF". (Even though, of course, there are things like "CesiumAsync" or "CesiumGltfWriter" that are specific for C++).
It would allow to add clarity to the dependency graphs (Roughly: The dependency graphs should be "similar"...)

One should not be tooo strict here. And of course, this should not mean to blindly translaterate the API or class structures: The languages and environments are just too different, and in many cases, there will be judgement calls about the exact contents, scope and structure of a library. But for example, when it comes to questions like "Does 'BoundingRegion' belong into 'Geometry' or 'Geospatial'?", one could have a look at cesium-native and see whether it's possible to align both environments on the conceptual level.

Request for a more minimal lighter-weight distribution requested in https://github.com/CesiumGS/cesium/issues/11323


Create one Dispatcher component per search cluster

This avoids creating an excessive number of connections
to search clusters when the application (incorrectly) creates
many local provider chains to the same search cluster.

Yes, I forgot Olli already fixed that. It's all going to be fantastic then.


Error when loading libraries in pixel clustering notebook

Please refer to our FAQ and look at our known issues before opening a bug report.
Describe the bug
Error in loading libraries in pixel clustering notebook. Seems like something related to spatial LDA updates.
To Reproduce
Run the first cell of the pixel clustering notebook on master.
Expected behavior
Load the libraries.
Screenshots

You'll need to get the updated docker image

Oh got it.


Optimize front-end for display on mobile devices

As an administrator I wan't to be able to manage feature flags on the go, in order to react to critical issues in production code.
The current front-end doesn't provide a sufficient UI for mobile usage, since it's only the desktop version scaled into the view port.
We should offer an optimized version of the UI for mobile usage.

Closed by #114


Ps bump polars to v0.36

https://github.com/elixir-explorer/explorer/issues/797
Continuing the work of @philss

I am not sure if i have to merge to ps-bump-polars-to-v0.36 or main. Anyways marked the PR as draft.

7 test cases are failing :

5 describe test cases
2 join test cases

I have fixed test cases for nan comparison as Polars made a breaking change and we can't do much as we are just wrapping.
Same with quantile function, they have made breaking changes with quantile function. They went with round even for reducing bias.
Implemented window median function.
I will hopefully complete implementing describe function in a couple of days.
Join has breaking change, "outer_coalse" is for compatibility of existing behaviour and "outer" is little different now. We will just port to same behaviour ? Also the inspect node PR is causing an PolarError ?
@philss

@lkarthee thank you for your work here!
I think we can point to main if we plan to fix everything here. But if you think other people can take what is failing, then point to my branch and we merge what you did.

Join has breaking change, "outer_coalse" is for compatibility of existing behaviour and "outer" is little different now. We will just port to same behaviour ?

Let's port to the new behaviour, as José said in the issue :)

Also the inspect node PR is causing PolarError ?

I didn't get it. What inspect?

I didn't get it. What inspect?

Jose clarified it is not. I will look more into Polars join func. I was thinking https://github.com/elixir-explorer/explorer/pull/784 was causing failure in outer join case.

@philss I have pointed merge to https://github.com/elixir-explorer/explorer/tree/ps-bump-polars-to-v0.36 .

@lkarthee sweet! I'm going to merge you work to that branch, so please open new PRs if you start to work on anything new.


FIX: 1 sat invoice

APK: https://drive.google.com/file/d/1ziRThOyZPoo-9nVddY9fhJa4hvwo-TSS/view?usp=share_link

@davidleomay please don’t merge it yet, we found a problem with this approach

@davidleomay ready for a second look

I have just checked the new APK and it now works as expected. 👌


Add flag link to project before_event_tab component

#2673
Add flag link to project before_event_tab component
New around here, but I didn't see anything like mocha or jest so just from some local click testing, this seems to operate fine.

Thanks again. Yeah, we haven't broached tests for React components yet.


[AIRFLOW-2407] Resolve Python undefined names

Make sure you have checked all steps below.
JIRA

[X] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-2407
In case you are fixing a typo in the documentation you can prepend your commit with [AIRFLOW-XXX], code changes always need a JIRA issue.

Description

[X] Here are some details about my PR, including screenshots of any UI changes:
Combine PRs #3293 #3294 #3296 #3297 #3298 #3299 into a single pull request as requested at https://github.com/apache/incubator-airflow/pull/3294#issuecomment-386133395

Tests

[X] My PR adds the following unit tests OR does not need testing for this extremely good reason:
This PR fixes flake8 tests across the codebase which are currently failing.

Commits

[X] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[X] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

[X] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

#3298 Should solves one but two other undefined names remain.... flake8 testing of https://github.com/apache/incubator-airflow on Python 3.6.3
$ flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics
./airflow/www/app.py:148:17: F821 undefined name 'reload'
                reload(e)
                ^
./tests/operators/hive_operator.py:178:27: F821 undefined name 'cursor_mock'
                __enter__=cursor_mock,
                          ^
./tests/operators/hive_operator.py:184:27: F821 undefined name 'get_conn_mock'
                __enter__=get_conn_mock,
                          ^
3     F821 undefined name 'reload'
3


Support Cyrillic Characters in PDFs

The base PDF specification uses a version of the Helvetica font which does not really support Cyrillic characters (it has other langauge limitations as well). When you try to export the a character as a PDF, the export fails because the PDF cannot be properly saved.
The PDF library that the app uses (Hopding/pdf-lib) has some functions relating to changing the font, but to date, I've note been able to successfully export a PDF with Cyrillic characters in it.
Here are some relevant links:

https://github.com/Hopding/pdf-lib/issues/548
https://github.com/Hopding/pdf-lib/issues/1528
https://github.com/Hopding/pdf-lib/issues/1570
https://github.com/Hopding/pdf-lib/issues/1152

PR #196 seems like a fix for this bug.

PR #196 seems like a fix for this bug.

It's now a partial fix for Russian TNG only, we can replace font for every card type to get Cyrillic support in each sheet type.


[BUG] WhatsApp send Template function validation restrict numbers of buttons to 3

Describe the bug
In out company, we created some WhatsApp templates with up to 10 buttons (since the platform allows it), but when testing the templates with more than 3 buttons, an error occurs during validation.
To Reproduce
Steps to reproduce the behavior:

Create the request with models.WATemplateMsgs.
Set the template with a  list of buttons containing 4 or more elements.
Use client.WhatsApp.SendTemplate function to send the message.
See error: Field validation for 'Buttons' failed on the 'max' tag.

Expected behavior
The expected behavior would be that the WhatsApp message is sent with the 4 or more buttons.
Desktop (please complete the following information):

OS: MAC
Browser: Chrome
Infobip Version v3.4.1

Hi @paz52,
thank you for using our library and noticing the bug.
We will investigate this and keep you posted.
Kind regards,
Luka Vukadinović

Hi @paz52 ,
we've released the new version (3.4.2) and the issue should be fixed.
Please let's us know if it still persists.
Kind regards,
Luka Vukadinović

Hi @lvukadinovic-ib,
We updated the Go SDK to v3.4.2 and tested with a template that has 4 buttons, and it worked perfectly.
Thanks a lot for your help.
Best regards,
Paz.


@conda-forge-admin, please add bot automerge

Additional comment:
@conda-forge-admin, please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/booleanoperations-feedstock#2.


[BUG] Navigation Bar is plain HTML (No customization)

Describe the bug
The navigation bar shows only the step numbers. Though, clicking on them takes you to the desired step but it's not customised
Expected behavior

Screenshots

Desktop (please complete the following information if applicable):

OS: Ubuntu 18.04
Browser: Chrome

Additional context
"dependencies": {
"@emotion/core": "^10.0.27",
"@emotion/styled": "^10.0.27",
"@material-ui/core": "^4.9.0",
"@material-ui/icons": "^4.5.1",
"@mrblenny/react-flow-chart": "0.0.9",
"ace-builds": "^1.4.8",
"ajv": "^6.12.0",
"bootstrap": "^4.4.1",
"lodash": "^4.17.15",
"prop-types": "^15.7.2",
"query-string": "^6.10.1",
"react": "^16.12.0",
"react-ace": "^8.1.0",
"react-dom": "^16.12.0",
"react-icons": "^3.8.0",
"react-jsonschema-form": "^1.8.1",
"react-redux": "^7.1.3",
"react-router-dom": "^5.1.2",
"react-scripts": "^3.4.0",
"react-stepzilla": "^6.0.2",
"react-toasts": "^3.0.6",
"redux": "^4.0.5",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0",
"semantic-ui-react": "^0.88.2"
},

You need to add this CSS for the progress bar to look like that.


A Bit More FileCheck Cleanup

Cleans up a bit of documentation (removes some LLVM-isms)
Extends the regex parser to search for closing }} in regex patterns only after chewing on any balanced set of brackets inside the pattern.  Notably, this makes {m, n}-style quantifiers unambiguous and should be upstreamed into FileCheck proper.
Converts some (Int, Int)? to NSRange?
When a regex parses successfully but fails to match, FileCheck dumps an error instead of crashing.

⛵


Navbar fixed and responsive nabber added

Navbar fixed and responsive nabber added

Small Screens

I have changed the nav bar on desktop as you suggested

on hover

Got a few more suggestions before we merge. Mostly just change the links from relative ones to absolute ones to keep it consistent.

Should be ready to merge, I double checked everything, should work perfectly.

@seymourjr5 before we merge I want to check the changed locally to make sure nothing broke. I will do that later.


Update connect-php.md

mysqli_ssl_set is required for Azure VM and App Service as well if you want to validate server certificate.
mysqli_ssl_set is NOT required for local machines neither if you do not want to validate server certificate. (high risk for man-in-the-middle attack)
https://github.com/php/php-src/commit/6d51b7b2e3468601acdaaf9041c9131b5aa47f98
PHP 5.6 or higher
In Azure VM
used IP address for host name to get to know whether server certificate is validated or not.
<?php

$con=mysqli_init();
mysqli_ssl_set($con, NULL, NULL, "/home/ryuto/BaltimoreCyberTrustRoot.crt.pem", NULL, NULL);
#mysqli_ssl_set($con, NULL, NULL, "/home/ryuto/DigiCertGlobalRootG2.crt.pem", NULL, NULL);

#mysqli_real_connect($con, "wordpress-mysqldbserverryuto.mysql.database.azure.com", "mysqldbuser@wordpress-mysqldbserverryuto", "<password>", "mysqldatabase32867", 3306, NULL, MYSQLI_CLIENT_SSL);
#mysqli_options($con, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
mysqli_real_connect($con, "<IP_ADDRESS>", "mysqldbuser@wordpress-mysqldbserverryuto", "<password>", "mysqldatabase32867", 3306, NULL, MYSQLI_CLIENT_SSL);

//Run the Select query
$sql = "show status like 'ssl_cipher'";
printf("Reading data from table: \n");
$res = mysqli_query($con, $sql);
while ($row = mysqli_fetch_assoc($res))
 {
   var_dump($row);
 }

mysqli_close($con);
?>

error
PHP Warning:  mysqli_real_connect(): Peer certificate CN=`cr7.centralus1-a.control.database.windows.net' did not match expected CN=`<IP_ADDRESS>' in /home/ryuto/dbconnect.php on line 9

If not using mysqli_ssl_set, server certificate is not verified.
<?php

$con=mysqli_init();
#mysqli_ssl_set($con, NULL, NULL, "/home/ryuto/BaltimoreCyberTrustRoot.crt.pem", NULL, NULL);
#mysqli_ssl_set($con, NULL, NULL, "/home/ryuto/DigiCertGlobalRootG2.crt.pem", NULL, NULL);

#mysqli_real_connect($con, "wordpress-mysqldbserverryuto.mysql.database.azure.com", "mysqldbuser@wordpress-mysqldbserverryuto", "<password>", "mysqldatabase32867", 3306, NULL, MYSQLI_CLIENT_SSL);
#mysqli_options($con, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
mysqli_real_connect($con, "<IP_ADDRESS>", "mysqldbuser@wordpress-mysqldbserverryuto", "<password>", "mysqldatabase32867", 3306, NULL, MYSQLI_CLIENT_SSL);

//Run the Select query
$sql = "show status like 'ssl_cipher'";
printf("Reading data from table: \n");
$res = mysqli_query($con, $sql);
while ($row = mysqli_fetch_assoc($res))
 {
   var_dump($row);
 }

mysqli_close($con);
?>

Reading data from table:
array(2) {
  ["Variable_name"]=>
  string(10) "Ssl_cipher"
  ["Value"]=>
  string(27) "ECDHE-RSA-AES128-GCM-SHA256"
}

@LifeRyuto : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@LifeRyuto : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ktoliver - Need your help to change the author of this document to @mksuni . @mksuni & @ambhatna need your help to review and sign-off to merge this PR.

@ktoliver - Need your help to change the author of this document to @mksuni . @mksuni & @ambhatna need your help to review and sign-off to merge this PR.

Hi @savjani - To change the metadata for an article, the content team should create a pull request in the private repo.
cc @JasonWHowell

Hi @savjani - To change the metadata for an article, the content team should create a pull request in the private repo.
cc @JasonWHowell

@ktoliver  You can merge this PR . the change is correct . I shall create a separate PR to update the author name on this doc later.

@ktoliver  You can merge this PR . the change is correct . I shall create a separate PR to update the author name on this doc later.

@mksuni Thanks so much; merging now.

@mksuni Thanks so much; merging now.


Should CC licenses also include "human-readable summary"?

Description
In Gitea, you can use CC licenses for your repo. But I was wondering why LICENSE file on Gitea-created repo contains full legal code instead of human-readable summary? Why isn't Gitea follow convention of using or adding the CC license summary (link) in place of full legal code, like on many sites which use those licenses?
For example, Gitea bundles full license code of CC-BY-SA here, while its summary can be found here

From what I remember, license are fetched from a repo listing them on GitHub and some licenses need to be with the source code by definition like MIT license
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

I don't think that it is bad to store the full license but we could definitely improved by detecting licence and showing short insight on what is possible.

@sapk But what about only including the summary, not the full licenses, like many others do?

As I don't use much thoses licenses, I may not see the the full problem.
What would be the benefit/goal of not storing the full license and only summary ?
From what, I have seen most people simply link the creative commons website and don't even put a license file. Which is already possible by simply mentioning it in README.

@sapk Perhaps the benefit are just offloading license to external website and marginally reduce repo site.
Fortunately, Gitea provides full license text for CC licenses, just like others (BSD/MIT, GPL/LGPL), so users who wants their repo to be licensed as one of CC licenses don't have to copy-paste full text from CC site.
So do you agree to include summary into CC license text here?

For me, a LICENSE file, if present, should contain the full license for legal reason and also because it is used by tools to detect compatibility of licensing.
It would be better to have a resume (like GitHub) over the license file display (even for other license).
If someone want to offload to the CC site it could do it basically by adding a link in the README.
Do you have exemple of known project that store only the summary in there git repository in license file ?

@sapk AFAIK I don't see any project that just link to CC site, or just throwing the summary in LICENSE as you noted.
So we have opposites: from user perspective, full legal code doesn't matter (and the summary is sufficient); but from project owner perspective, full legal code is mandatory for legality.
So which side do you prefer? Or just add license summary to  CC LICENSE?

If there's a simple way to get official summaries, and do that automatically like we're doing now with the full versions (e.g. they update when they need to), we could add a checkbox when creating the repo: "what would you like, summary or full legal text?". But if to add summaries it means that Gitea must maintain a list of manually crafted multi-lengual pseudo-legal text, I think it's not worth it and beyond the scope of the project.

Please notice that summarized text from other sites (e.g. if GitHub had a cool summary for CC:BY-ND) we can not grab it from there unless GitHub license allows us to do that.

@guillep2k I mean the summarized texts are from CC site.

The files that we populate LICENSE with are generated from an upstream repo, and if summaries are added there then we could pull them in. Until that happens, those who want just summaries or summaries followed by the full text, then modification via https://docs.gitea.io/en-us/customizing-gitea/ is possible.
I will close this now as this should be discussed in the upstream repo. Upstream is here: https://github.com/spdx/license-list-data

What kind of template parameters could be used to get the license of the current repo?


Remove signature from notebooks

Not every notebook has signature, removing from now, will consider adding again if we think it will add value

Just FYI, the signature is not stored any more in the ipynb file, instead it is stored in the sqlite inside the .ipython. Because this is a recent change, you still will see some notebooks with signatures...

This looks fine


update schema.php getLastInsertedId

I become ORA00936 errors and ORA-08002: sequence MySequence.CURRVAL is not yet defined in this session.
This is the soulution.

@cebe do we have test environment for it?

Yes, but not public test environment.

not yet, @nineinchnick can you check it?

I can't confirm that. I've added unit tests for Schema::getLastInsertId() in #8441 but it's working with the current code.
@Sanya1991 you are supposed to run an INSERT statement before calling Schema::getLastInsertId(), otherwise it won't work and it doesn't make sense anyway. If you just want to check the sequence value, execute a specific query.

00000 -  "sequence %s.CURRVAL is not yet defined in this session"
In a same session the sequence hasn't CURRVAL value if one is unused, you know?

The problem: I click the save button and yii catch the exception: sequence %s.CURRVAL is not yet defined in this session => the record is unsaved.
After I push F5 on my keyboard and click yes send data again.. Then bumm the record is saved. Attach pictures?
I have a solution: SELECT LAST_NUMBER - 1 FROM USER_SEQUENCES WHERE SEQUENCE_NAME=:sequenceName
The -1 is important, because, the LAST_NUMBER is not the last inserted number, it's the next number..
This problem is old... http://saadnawaz.blogspot.hu/2010/10/using-single-query-determine-current.html

MR is not valid because:

System object USER_SEQUENCES don't contains [all sequenses] (http://docs.oracle.com/cd/B14117_01/server.101/b10755/statviews_2630.htm). Schema for connected user and ActiveRecord schema may be various, for example:

//config.php
'db'=>[
    'class' => 'yii\db\Connection',
    'dsn' => 'oci:dbname=CRMDB',
    'username' => 'web_user',
    'password' => 'mypassword',
];
// Model
class Record extends ActiveRecord {
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'ANOTHER_SCHEMA.RECORDS';
    }
}

CURRVAL method for sequence may be called only after inserting data with NEXTVAL.

In your case probably insert query not called.

@psrustik you mean PR is not valid, not MR, right?

Yes, mean pull request

can we still keep the idea to use parameters instead of php concatenation?

No since parameter binding doesn't work for schema names.


vscode-extensions.ms-python: fix update script

Description of changes
To the best of my knowledge the updateScript has been broken since commit e5005453d3315aa58a04b901cbecbef5e241f7b1 when the file was renamed
https://r.ryantm.com/log/vscode-extensions.ms-python.python/
https://r.ryantm.com/log/vscode-extensions.ms-python.python/2023-10-23.log
sed: can't read pkgs/applications/editors/vscode/extensions/python/default.nix: No such file or directory

With the proposed fix, running the script locally upgrades the extension from 2023.1.10091012 to 2024.5.11001012 (will promote this separately)
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Surely there is a better way to do this. I looked at how/if other extensions were being upgraded automatically but could not find anything

@NixOS/nixpkgs-merge-bot merge

Still fairly new to this. I thought as a maintainer I would have access to self-review / self-merge changes to packages I maintain

yes, but sadly only to packages in pkgs/by-name. since for the classical ones there is no clear mapping of package-name to files that are touched :)


make user_config less fragile

module crashes with a relative path like ./mymodule.py
to_csv and to_format have to be 'None' (if not using), not
None

which is annoying to type

Pretty sure I fixed relative path issue in 351e53d3525083ba56a1801da46e752d49db84ad but still need to write more tests for this

As of c06987a70ddb34c322ba00877b982b5d41511c8b, neither to_csv nor to_format are required, and user can specify None or 'None'. Will make to_csv default to a generic func2csv function shortly


Upgrade husky to v8

Description
Properly upgrade to husky v8 as described here.
Checklist

[ ] I have tested this on a device/simulator for each compatible OS
[ ] I updated the documentation with running yarn generate in the root folder
[ ] I mentioned this change in CHANGELOG.md
[ ] I updated the typings files (index.d.ts)
[ ] I added/ updated a sample (/example)

@mfazekas this should now be up-to-date with #main.


dribbblish: add x padding to "Recommended Songs" header

Currently the padding is missing and it looks weird
Before

After

I just added margin-left: 50px; to mine, but padding might be better

I just added margin-left: 50px; to mine, but padding might be better

Margin works too, padding was just my first instinct


Bump api-meta-store to v0.3.2

What?
Bump api-meta-store from v0.3.1 to v0.3.2
Why?
It includes bug fixes

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: d-hayashi
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [d-hayashi]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


'dist'  folder is not deployed via static option

i run npm build locally, and run now --static expecting the index.html and dist folder to be deployed.
likely 'dist' folder is not deployed.

It might have been ignored in .gitingore or somewhere else?

that‘s it. thanks, leo.
i forgot the .gitignore file.


What to do with duplicate types in variants?

Currently, instantiations of OneOf with duplicated variants like OneOf<(bool, bool)> typecheck:
fn this_code_compiles() -> OneOf<(bool, bool)> {
    unimplemented!()
}

but their constructors don't*, so there's no way to construct and actually use instances of these types.
The user experience can be refined and guided in one of two ways:

Stay isomorphic to enums and allow constructing instances of these types in unambiguous ways. Maybe, using something like OneOf::from_enum?
Explicitly limit ourselves to type sets, document this and adjust the implementation so that the example above doesn't compile.

Having the first option may be useful for some people, while others may find the code confusing. I can imagine easier interoperability with regular enums as one of the use cases.
The second option is how anonymous unions usually work in other languages (at least in Python).
I expect this topic to be discussed here for a while before landing on a decision.

* OneOf::<(bool, bool)>::new(true) rightfully causes the error below. I wonder if it's already possible to follow the compiler suggestion and fix the error by adding some obscure annotation in place of ... in OneOf::<(bool, bool)>::new::<bool, ...>(true).
error[E0283]: type annotations needed
   --> tests/usability.rs:13:5
    |
13  |     OneOf::<(bool, bool)>::new(true)
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `Index` declared on the associated function `new`
    |
    = note: multiple `impl`s satisfying `Cons<bool, Cons<bool, terrors::End>>: terrors::type_set::Contains<bool, _>` found in the `terrors` crate:
            - impl<T, Index, Head, Tail> terrors::type_set::Contains<T, Cons<Index, ()>> for Cons<Head, Tail>
              where Tail: terrors::type_set::Contains<T, Index>;
            - impl<T, Tail> terrors::type_set::Contains<T, terrors::End> for Cons<T, Tail>;
note: required by a bound in `OneOf::<E>::new`
   --> /home/dima/code/oss/terrors/src/one_of.rs:109:22
    |
106 |     pub fn new<T, Index>(t: T) -> OneOf<E>
    |            --- required by a bound in this associated function
...
109 |         E::Variants: Contains<T, Index>,
    |                      ^^^^^^^^^^^^^^^^^^ required by this bound in `OneOf::<E>::new`
help: consider specifying the generic arguments
    |
13  |     OneOf::<(bool, bool)>::new::<bool, Index>(true)
    |                               +++++++++++++++

Attempting to broaden OneOf::<(bool,)> into OneOf::<(bool, bool)> causes a similar error.

I'm just discovering this crate and haven't tried it out yet so take with a grain of salt...
But I like the sound of OneOf::from_enum and better enum interop.   Since I work with existing crates that have a lot of enum error types, typically created with thiserror.


FormBuilderChipsInput can not input through keyboard in web application

Hi, @danvick  I run the example project on the web application in form_builder_extra_fields 7.0.0. However when I try to type in FormBuilderChipsInput field. It seems not getting the input from keyborad. Thanks!

Sometimes I have the same problem, but it resolves after refreshing the page a few times.

@danvick Hi I am also facing that when in the web application. The Left and right arrow key on the keyboard is not responding. When I try to tap the left and right arrow it should work like the text field, the cursor should be moving left and right. However, it is not. Thank you! Hope you can take a look and give me some suggestions. 😊


IgnorePropertiesVisibility middleware

Coverage decreased (-6.1%) to 93.707% when pulling 5a99d389fb59afbc8156beadd93b1dfbbe0a7188 on dehbka:ignore-properties-visibility into c59df3aba90cf8c4b32294d1878efa731141993d on JsonMapper:develop.

Hi @dehbka
Thanks for the PR. Could you explains but on what this PR does and tell me a bit about the use case?

Considering what the PR does and how it does it there are some concerns I think should be handled in a different way.
The immutability is only enforced using reflection, that same reflection can be used (using the same lines fo code from this PR) to change the value. Therefor you only have a false sense of immutability.
I would much rather work on the supporting of constructor resolving #114 to have a better support of immutability.
Closing the PR for now, feel free to amend and reopen if you have strong considerations which I've missed.


[RFC] CalculatedFieldPanel

This pull request adds a CalculatedFieldPanel to edit handlers.
This panel calculates a fields value based on the values of other fields in the form. One use case of this is when you want the titles of all person pages to be made up of the values of "first_name" and "last_name" concatenated together.

See #882... all roads point to doing this at the model level, rather than within the form.


Make a rule's evaluation timestamp available to alert templates

We have a fairly complex monitoring/alerting pipeline, that includes several monitoring systems all routing into a homegrown alert router and out to various endpoints. I am measuring latency of all components by sending synthetic alerts throught the system, recording ingress and egress timestamps of all subsystems in the alert itself. For prometheus, I can record an ingress timestamp because the metric it is fetching is a magical one that is always a timestamp-like value. But a sensible definition of "latency inside prometheus" should take into account the fact that metric ingress and evaluation of a rule happen at different times, so I would really like to record the evaluation time as well.
This seemed simple enough to do: prometheus already is recording this information, I just had to change it to record it a bit earlier, and then add it to the template data. I hope this approach is acceptable.

The evaluation timestamp is already available as time().
Your PR is doing something different, and would make alerts vary in execution time which is not desirable.

Hi Brian,
Thanks for yout response! If I try to use time() in an alert template, I get an error saying function "time" not defined. I see there is a query function with that name, but it's rather cumbersome to use in a template: {{ (index (query \"time()\") 0).Value | printf \"%.0f\" }}.
If the current approach is not acceptable, would adding a template function named time that returns a time.Time obejct be good?
Could you also help me understand how this makes alerts vary in execution time? All it does is move a SetEvaluationTimestamp call from after to before evaluating the alert.

I see there is a query function with that name, but it's rather cumbersome to use in a template

That's how you access any PromQL in templates. It's not that common to do it.

Could you also help me understand how this makes alerts vary in execution time?

What you're proposing is walltime, not evaluation time. We explicitly don't provide walltime to PromQL. You'd also be changing semantics of the status pages to something less useful.

I see there is a query function with that name, but it's rather cumbersome to use in a template
That's how you access any PromQL in templates. It's not that common to do it.

That's a bit of a circular argument. I'd rather not use promql, all I need is the evaluation timestamp of the rule that's triggering the alert for which I'm writing a template. I did that by adding a field to the template data, the only reason I tried it now with promql is because you said there's a time() function, and that function only exists as a promql function, not a template function.

Could you also help me understand how this makes alerts vary in execution time?
What you're proposing is walltime, not evaluation time. We explicitly don't provide walltime to PromQL. You'd also be changing semantics of the status pages to something less useful.

Sorry, but that does not explain how this makes execution times vary. Moreover, I'm not proposing walltime in promql anywhere, or changing any status pages. All this change does is making the alert evaluation timestamp available to the templates that are used for alerts caused by the rule. And to do that, it needs to set it a bit earlier, but the actual value of the timestamp does not change.

Sorry, but that does not explain how this makes execution times vary.

It'd now vary based on walltime.

And to do that, it needs to set it a bit earlier,

Which changes the status page, in a misleading way.

As there is {{ (index (query \"time()\") 0).Value | printf \"%.0f\" }} available, we have decided during our bug scrub to close this PR, . Thanks!


feat: responsive submit button

Description
Disabled the submit button until all the required fields are filled. Also, made the font as bold for the Submit button text.
Fixes #(issue)
#175
Checklist

[x] My code follows the [contributing guidelines][contributing] of this project.
[x] I am aware that all my commits will be squashed into a single commit, using the PR title as the commit message.
[x] I have performed a self-review of my own code.
[ ] I have commented my code in hard-to-understand areas.
[ ] I have updated the user-facing documentation to describe any new or changed behavior.
[x] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] I have not reduced the existing code coverage.

Thanks @psankhe28 - please don't forget to request reviewers (Javed, Anurag and/or Salihu). But first, see if you can fix those failing linter checks.

Thanks @psankhe28 - please don't forget to request reviewers (Javed, Anurag and/or Salihu). But first, see if you can fix those failing linter checks.

I tried fixing the linter issues, but not able to do so.

Please ask for help on Slack (post the GH Actions error messages/logs and a link to this PR)

Thanks @psankhe28 - please don't forget to request reviewers (Javed, Anurag and/or Salihu). But first, see if you can fix those failing linter checks.

I tried fixing the linter issues, but not able to do so.

Great work @psankhe28. I'll review this, if it works okay then i'll fix the linting issue and approve for merge.

@psankhe28, your current solution works fine for basic test cases. However, when the required fields are in a group or array element then the check does not work. While trying to cover the more complex test cases perhaps you could also implement a method that isn't just iterating through all the fields, especially because lit already does this when running the render method so you could just add your checks to that instead of iterating through the entire list of fields on each call of the render method and unnecessarily increasing the time complexity.

@psankhe28, your current solution works fine for basic test cases. However, when the required fields are in a group or array element then the check does not work. While trying to cover the more complex test cases perhaps you could also implement a method that isn't just iterating through all the fields, especially because lit already does this when running the render method so you could just add your checks to that instead of iterating through the entire list of fields on each call of the render method and unnecessarily increasing the time complexity.

Ok, I will make the necessary changes.

@psankhe28, I went ahead and made fixes. Sorry for bypassing on your PR but i needed to finish the implementation because it was blocking one of the test cases i am currently implementing and I didn't want to have to come back to it.


Rename the master branch to main

From an inclusivity perspective, I suggest we rename the master branch to main and generally use more welcoming terms as we describe our software architectures. The use of the the terms master and slave in computing are not welcoming.  For context, see the Inclusive Naming project and this repo.

Done. You can update a local copy to the new branch name by running:
git branch -m master main
git fetch origin
git branch -u origin/main main


[Bug] [dolphinscheduler-dao][3.1.9] FLINK_STREAM task。in  Stream Task list Page , If the process version corresponding to the task instance is different from the current process version

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
version 3.1.9
In the TaskInstanceMapper file queryStreamTaskInstanceListPaging  method, sql  should be join t_ds_process_task_relation_log table
What you expected to happen
Page missing information
How to reproduce
After running a Flink_Stream and updating the process, the Workflow Name field  in the Stream Task is missing
Anything else
No response
Version
3.1.x
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

The Flink Stream task is about to be deprecated.


Fetch all indirect objects (i.e. Refs) in NameTree_getAll and NameTree_get (issue 6204)

Fixes #6204.

/botio test

/botio-linux preview

Looks good, thanks!


Change how configFile is loaded to allow for calls to require() in the file with the config, common for bootstrapping

I have a setup where I use index.js to do my config and bootstrapping so that I can have only one script tag. Using the configFile option would crash on my call to require( ["main"], function(main) {...}) since require isn't defined as a function when loading the config.

Hi, thanks for the PR and sorry for the long wait. I just merged it and posted a new version to npm.


Can help compile a mac version, A Mac IDA7.0  is here

https://pan.baidu.com/s/1z_qPUuPWJqVkrEwtYhSKPA Extraction: ugd4

That link is not working for me - I don't see anything useful.
I don't think I will be much help, I don't have IDA for macOS.

OK

Well, if you paste here error log, or describe your problem in more detail, I can try to help. But right now you provided no useful info.

Oh, now I get it. I need to put that ugd4 code to the prompt to see the content. I thought the link is not working.
However, I was expecting a failed compilation log or something, not a macOS version of IDA. I cannot use that to build macOS version of this plugin because it is against IDA license. You will have to try yourself.


feat: functional tests

Reviewers
Functional:
Readability:

Changes

add
remove
modify

Definition of Done (from ticket)
QA steps (optional)
Known Issues

but I think we are starting to move away from functional tests? Maybe it would be better to pull those subtests out into a regression test? We can use the functional tests in dev/staging to ensure code changes dont break the api and then run the regression tests exclusively in prod to catch any changes in response time

Can you elaborate on "we are starting to move away from functional tests"?
It does seem reasonable to separate the testing goals into "API correctness" and "performance" (which I think you're calling "regression"?), and run the latter only in prod.

I think API correctness and performance is a good way of describing the split. In that case I was thinking that the 1- call would be used in staging/dev to quickly catch breaking changes to the api and then the 10 call would be run in prod to monitor performance


ADD: API Endpoint test for the Game PUT and GET by ID Endpoint

GIVEN: I'm an engineer contributing to the PowerPlay repo
WHEN: I make changes to the backend directory
THEN: I see function validation on each PR for the Game by ID Endpoints
Acceptance Criteria

Teams must be added to the database before this test runs.

For PUT of Game by ID

Input: Correct data for Updating a Game by ID. Output: Status Code 200 is returned.
Input: Incorrect data for Updating a Game by ID. Output: Status Code 400 is returned.

For GET of Game by ID

Input: Correct call for getting a Game by ID. Output: Status Code 200 is returned.
Input: Incorrect call for getting a Game by ID. Output: Status Code 400 is returned.

Test Passes if all output pass, but Fails if one output fails.

Ill take this one


Display Package Builds in the UI

The build status is currently only available via the CLI, with the build logs not being available anywhere.  We want to add a page in the UI to make the builds viewable.

Add a "Builds" menu item below "Functions"
The Builds page shows a simple table listing the builds and their status.
Clicking an entry on the table brings you to the individual Build details, where you can see additional details that were not in the list view, such as the log output.

Some details for what the implementation possibly looks like:

Two new templates needed:

functionary/ui/templates/builder/build_list.html
functionary/ui/templates/builder/build_detail.html

Two new corresponding views:

BuildListView
BuildDetailView
both can live in functionary/ui/views/builds.py
both are likely to look very similar to the PackageListView and PackageDetailView (simple, model based views)

Update functionary/ui/urls.py with routes to the new views.


ensure 'selected service categories' are updated, not replaced on draft referral update

What does this pull request do?
ensure 'selected service categories' are updated, not replaced on draft referral update
What is the intent behind these changes?
fix sql constraint issues - see commit message for more details

Is it possible to add a test that reproduces the problem this solves? Ie stuff already selected with complexities etc

Hi David... I have just pushed in a test.
On main branch the test fails with:
Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table "referral_selected_service_category" violates foreign key constraint "fk_referral_desired_outcome_service_category_id" on table "referral_desired_outcome"
  Detail: Key (referral_id, service_category_id)=(ffab23c5-3dc1-4895-afa7-f7f9949f62ca, 0ea11fa7-d70a-4983-8ba4-a6c22bb3ed72) is still referenced from table "referral_desired_outcome".

🎉


Use start-opensearch and setup-opensearch-dashboards actions (#1783)

Revert to old version

Fix order

Revert deletion of custom dashboards file

Replace other instances of the backend workflow

Add file prefix

Also add env variable references in workflow

Try the branch that adds settings for security dashboards ci support

Update workflow to v2

Use setup opensearch dashboards workflow

Remove duplciate functionality in binary installation

Unsaved local changes

install zip as true

Consolidate writing yml file

Remove duplicate install

Modify workflow to pass in built plugin artifact name

Use latest version of workflow and use directory output

Fix syntax issue

Run start dashboards command in correct directory

Use v1 release

Remove cats and rename config files

(cherry picked from commit 9516bea862e407df5da2c53ff3e9bb5303716963)
Description
[Describe what this change achieves]
Category
[Enhancement, New feature, Bug fix, Test fix, Refactoring, Maintenance, Documentation]
Why these changes are required?
What is the old behavior before changes and new behavior after changes?
Issues Resolved
[List any issues this PR will resolve (Is this a backport? If so, please add backport PR # and/or commits #)]
Testing
[Please provide details of testing done: unit testing, integration testing and manual testing]
Check List

[ ] New functionality includes testing
[ ] New functionality has been documented
[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Somehow git is complaining about conflicts that don't exist - closing this and trying again


Initial telemetry implementation

Add config option for telemeter
Send only error and log in case of error to segment
No personal data collection
Use the anonymous id based on random generated one

Is 'telemeter' intentional? or should it be 'telemetry'?

AWS region can be guessed from quay.io

this is GeoIP and is not considered PII (Personal Identifying Information)

AWS region can be guessed from quay.io

This is caused by GeoIP and is not considered PII (Personal Identifying Information),

Yes, if there was only this piece of information, it would be ok. In combination with the username, it becomes one additional piece of (vague) personal data collected by crc about 'username'

That's a good start! Let's iterate on this.
So far, what I see missing:

Ensure the CI doesn't send analytics
Close only once the segment client
Send more metrics!
Also send metrics when using the crc daemon and the tray.


Event loop exception when MySQL procedure selects data

Description of the bug
I am encountering an issue in a C++ application using the Drogon framework, where a WebSocket connection is used to handle incoming messages and perform various operations on a MySQL database. The database interactions are handled via the Drogon ORM and wrapped in a transaction, using execSqlSync.
The typical workflow involves calling a stored procedure on the MySQL server. After the procedure is executed, a notification message is sent to all connected WebSockets, provided that everything executed correctly.
The issue arises when the stored procedure performs a SELECT operation retrieving rows. Regardless of whether the results are stored in a variable or not, an exception is thrown in the event loop once the onmessage handler completes execution. The exception message is as follows:
20231022 21:50:30.292000 UTC 75888 WARN  Exception thrown from event loop, rethrowing after running functions on quit: promise already satisfied - EventLoop.cc:243
20231022 21:50:30.292000 UTC 75888 WARN  Rethrowing exception from event loop - EventLoop.cc:261

Interestingly, the response containing only the first selected item is successfully sent back before the exception occurs.
Code Snippet
void WS::handleNewMessage(const drogon::WebSocketConnectionPtr& wsConnPtr,
    std::string&& message,
    const drogon::WebSocketMessageType& type)
{
//.....
auto db = drogon::app().getDbClient("pos");
auto trans = db->newTransaction();
                try {
                    Json::Value s;
                    auto resp = trans->execSqlSync("CALL ADD_ORDER_BUFFER(?, ?, ?, ?);", table, item, context->local, count);
                    s["parameters"]["items"] = Json::Value(Json::arrayValue);
                    for (auto& r : resp) {
                        //Only the first one will be sent
                        Json::Value buf;
                        buf["order_id"] = r["order_id"].as<int>();
                        buf["source"] = 0;
                        buf["item"] = item;
                        s["parameters"]["items"].append(buf);
                    }
                    s["parameters"]["table"] = table;
                    WS::sendToAllId(context->local, s);
                    //.....
                catch ......
//......

To Reproduce
Establish a WebSocket connection to the Drogon-based server.
Send a message that triggers a stored procedure on the MySQL server, using execSqlSync.
Ensure the stored procedure performs a SELECT operation retrieving data.
Observe the response and notice that only the first row is returned.
Check the server logs to see the aforementioned exception.
Expected behavior
The expected behavior is for the server to handle the SELECT operation gracefully, regardless of the number of rows retrieved, and not throw an exception in the event loop. Additionally, all selected rows should be returned in the response, not just the first one.
Desktop
OS: Reproducible on both Windows 11 and Linux Debian
Thank you.

After multiple attempts to make it work, I tried a workaround using execSqlAsync with callbacks.
This indeed does not raise an exception, but there are still problems. Instead of one callback, it will call the callback for every row selected. This isn't the intended behaviour, right?
If not, I feel like the problems are related. Could explain why the sync method returns only the first row and then panics.
Hope this helps

After even more tesing I found that part of the problem is caused by the way my SQL procedure works.
It has a loop, and while the loop executes it SELECT(s) data. When the SELECT statements are in such a loop, thats when the callback is called multiple times.
As a workaround, I used a temporary table in MySQL, and at the end of the loop, I selected all the rows in a single SELECT statement.
This made the execSqlSync be called with all the rows (not just the first). But the exception problem still persists, as I think it gets called again with empty data when the procedure finishes execution (now the execSqlAsync is called 2 times).
I hope this helps.

@GladBarsan Thanks for your feedback. please refer to the following issue:
https://github.com/drogonframework/drogon/issues/1559


release homepage to production

release homepage to production

copy-paste project issues from global projects to local projects. job has done.


coffeeCompat thicc arrow function in classes

class X
  y: => b

https://coffeescript.org/#try:class X
  y%3A %3D> b

This seems to be supported now: https://civet.dev/playground?code=J2NpdmV0IGNvZmZlZUNsYXNzZXMnCgpjbGFzcyBYCiAgeTogPT4gYg%3D%3D
Or was it about using => vs bind?

Yes, I think the point is to add the bind wrapper (and maybe also switch the function into a method declaration), for CoffeeScript compatibility.

You're right; I just checked, and the compilation has not changed since then.