add in improvements for review #115

response to review:
Review of sections 1.1-1.2 (User testing)
L275: Just checking that the latest version moves up ONE level, not two (into data_v2).

fixed
L315: Python & Iris logo doesn't load
Works for me.  Typo: loading

Fixed
L328: broken link. Replace with https://scitools-iris.readthedocs.io/en/stable/userguide/iris_cubes.html

Pointed at final 2.x version as not using Iris 3 yet
L389: image of a cube doesn't load

Works for me - see above
L403: Replace "answer" with "Double click here to type your answer"

done
L431: plotting throws 2 UserWarnings: grid lat/lon is not bounded, guessing contiguous bounds. Can bounds be added, or the warning message suppressed?

done
L431: It'd be nice to replace the omitted question / comment about the plot to end this section. e.g. "Sense check the data plotted: Can you make out sections of the East Asian coastline? How about the scale? As we progress through these workbooks, we'll learn how to process the data into more intuitive units and mask / add country boundaries, so it's easier to understand the information."

Done
Section 1.3 Merge Problems
L443: Add section number (1.3) to title

Done
L445: typo "sequential"
Done
L455: links to an old version of Iris. Replace link with latest stable vn: https://scitools-iris.readthedocs.io/en/stable/userguide/loading_iris_cubes.html
Intentional as this is the version the notebooks use at present
L463: Reference to 'West Asia' domain. Do you mean EAST Asia? If not, the CORDEX West Asia domain appears to have been renamed 'South Asia'. Can we follow suit? Also, hyperlink to the domain info? https://cordex.org/domains/region-6-south-asia-2/ New text: "some temperature data from the West Asia CORDEX Domain".
fixed
L484: Make it more explicit that the earner is expected to edit the code block. e.g. "Complete the print statement to see which East Asian files match the specified criteria."
Done
L503: Add a question: "How many files were returned?" (Answer: 3)
Done
L567: Typo: differences
fixed
L576: links to vn2.4 of Iris. Perhaps replace with this link? https://scitools-iris.readthedocs.io/en/stable/generated/api/iris/util.html#iris.util.equalise_attributes
See above
· Section 1.1 helpfully labels the steps (i.e. 1.1 a-g). Please could this be done in other sections as well? e.g. L339: "a) First, ..." It'd be helpful if teaching in a classroom / referring back to sections in later questions.
e.g. L339: a) First, …
Done
· L417: replace i)with b)
Done
· L586: Error: Exception: The function "iris.experimental.equalise_cubes.equalise_attributes" has been moved.
Please replace "iris.experimental.equalise_cubes.equalise_attributes()" with "iris.util.equalise_attributes()".
(Actioned replacement to continue testing)
This is due to you using scitools/default - this works ok at 2.4 as used here (I should have told you to install the kernel)
· L675: Always nice to end a section with a reflective question on what has been achieved. e.g. Now that we have combined multiple files into a single cube, what is the cube's shape? How does this compare with the cube_list created in 1.2e? Based on all the information you've gained about the data so far, what time period do you expect the data in this cube to span?(ANSWER: Jan 1981 - Dec 2005, noting this is only from the filenames, which could be misdirecting)
Done
· L681: Add 1.4to section title (Extracting Data)
Done
· L683: How about making this an interactive step?
"This is a lot of data, so we will cut this down using a time constraint. We only want the cube to include data from December 1989 to November 1991 (inclusive). Edit the code below to specify the missing end date.
(Hint: specify the adjacent months BEFORE and AFTER the time period you wish to keep.)"
Done
· L698-699:
time_constraint = iris.Constraint(time=lambda cell: PartialDateTime(year=1989,month=11) \n, < cell.point < PartialDateTime(year=YYYY, month=MM))\n
L703: (split code block into two parts) "Check the first and last timesteps in your constrained cube are correct:"
Done
· L714: Add 1.5to section title (Saving Data)
Done
· L716: save
DONE
· L718: Rephrase Good use of filenameas Well-written filenames?
I went with "well chosen"
· L730: save_locationoutputs a double slash: .//cordex_training. Omit extra /on this line
Done
· L744: Grammar? As we progress through these worksheets, keep a note of how we update the file names when making further changes to the data.
· Done
· L798: Broken Iris image.
· See above
· L799: Update copyright year from 2019.
Done in all notebooks

This looks great to me.
· L586: Error: Exception: The function "iris.experimental.equalise_cubes.equalise_attributes" has been moved. Please replace "iris.experimental.equalise_cubes.equalise_attributes()" with "iris.util.equalise_attributes()". (Actioned replacement to continue testing)
This is due to you using scitools/default - this works ok at 2.4 as used here (I should have told you to install the kernel)
Should this be specified anywhere for learners, or is it a default somewhere?
Section 1.5 could do with labelling a) and b) for consistency.
Then I think you're done :)

on the instructions – that will be platform dependent and be included in joining instructions.
I’ll fix the other part and merge.
N
From: Rosanna @.>
Sent: 07 April 2022 10:58
To: MetOffice/PyPRECIS @.>
Cc: Savage, Nicholas @.>; Author @.>
Subject: Re: [MetOffice/PyPRECIS] add in improvements for review #115 (PR #128)
This email was received from an external source.   Always check sender details, links & attachments.
This looks great to me.
· L586: Error: Exception: The function "iris.experimental.equalise_cubes.equalise_attributes" has been moved. Please replace "iris.experimental.equalise_cubes.equalise_attributes()" with "iris.util.equalise_attributes()". (Actioned replacement to continue testing)
This is due to you using scitools/default - this works ok at 2.4 as used here (I should have told you to install the kernel)
Should this be specified anywhere for learners, or is it a default somewhere?
Section 1.5 could do with labelling a) and b) for consistency.
Then I think you're done :)
—
Reply to this email directly, view it on GitHubhttps://github.com/MetOffice/PyPRECIS/pull/128#issuecomment-1091459026, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABPAHXRLUSHQSWWKITKNQFDVD2WRBANCNFSM5RUQZQLA.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>


Feature api data fetch tests

Add in 8 Mocha tests to test the 2 OpenWeatherMap API functions.
Tests include:

Checking for OpenWeatherMap existence.
Testing valid uses of OpenWeatherMap.getCurrentWeather().
Raising an error for OpenWeatherMap.getCurrentWeather().
Testing valid uses of OpenWeatherMap.get5DayForecast().
Raising an error for OpenWeatherMap.get5DayForecast().

@tetreault Great work! Tested and working on my end. Only thing I did was removed an extra while line you had in openWeatherMap.jsx for some reason. Other than that, looks great! Merging and closing. Looking forward to your other tests!

Awesome, thank you!

@tetreault, @bmorelli25 - quick question...how do you pass in a value for API_KEY when executing the tests?  When I run npm test right now, I'm getting failures due to the key not being defined: ReferenceError: API_KEY is not defined
Thanks!

@scott-schmalz Honestly... I was lazy and half assed that when I saw the error. Since I was testing the API and for some reason my .env file wasn't being read, thus API_KEY wasn't available to me I just added const API_KEY = SOMEKEY and made sure to remove it when i submitted my PR. Hopefully @bmorelli25 might have some more insight into the .env not being read properly.

No worries, thanks for the quick reply, @tetreault!

#29, thanks Scott


An exit error PyQt5 app with import pywinauto 0.6.8

Expected Behavior
Properly exit:
Process finished with exit code 0
Actual Behavior
Non-proper exit:
Process finishen with exit code -1073740771 (0xC000041D)
Steps to Reproduce the Problem

Run simple PyQt5 app with button that connected to exit function
Press exit button
Get an error if pywinauto was imported

Short Example of Code to Demonstrate the Problem
import sys
from PyQt5.QtWidgets import *
import pywinauto
class MainWindow(QWidget):
    def __init__(self):
        super(__class__, self).__init__()
        self.exit = QPushButton(self)
        self.exit.clicked.connect(self.pressed_exit_button)
    def pressed_exit_button(self):
        app.quit()
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())

Specifications

Pywinauto version: 0.6.8
Python version and bitness: <IP_ADDRESS> x64
Platform and OS: Windows 10

Some answers on Stack Overflow link this error to "bad integration" between 32-bit and 64-bit code. It might worth checking if your PyQT5 setup is fully 64-bit compatible.
Another option, that has a small chance to affect you is COM threading model that Pywinauto sets up on import: https://pywinauto.readthedocs.io/en/atspi/HowTo.html#com-threading-model
So you can try to play with sys.coinit_flags values directly.

Prolem was gone after installing 0.6.1 version. Thanks for updating!


@EnableSwagger2 cause the microservice could not be accessed

Hi:
I implement a microservice demo  with spring cloud, everything  works fine. but when add @EnableSwagger2 on a service. And it registered with Eureka successfully. But when a @FeignClient access the service . The exception occured:
2017-02-13 09:36:00.663  INFO 8840 --- [-hbca-service-1] c.n.l.DynamicServerListLoadBalancer      : DynamicServerListLoadBalancer for client hbca-service initialized: DynamicServerListLoadBalancer:{NFLoadBalancer:name=hbca-service,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:org.springframework.cloud.netflix.ribbon.eureka.DomainExtractingServerList@bf8e220
2017-02-13 09:36:00.727 ERROR 8840 --- [nio-3333-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.netflix.hystrix.exception.HystrixRuntimeException: SalesProxy#index() failed and no fallback available.] with root cause

com.netflix.client.ClientException: Load balancer does not have available server for client: hbca-service
	at com.netflix.loadbalancer.LoadBalancerContext.getServerFromLoadBalancer(LoadBalancerContext.java:483) ~[ribbon-loadbalancer-2.2.2.jar:2.2.2]
...

This is the build.gradle of EurekaServer :
buildscript {
	ext {
		springBootVersion = '1.5.1.RELEASE'
	}
	...
	dependencies {
		classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
	}
}
...
dependencies {
	compile('org.springframework.cloud:spring-cloud-starter-eureka-server')
	testCompile('org.springframework.boot:spring-boot-starter-test')
}

dependencyManagement {
	imports {
		mavenBom "org.springframework.cloud:spring-cloud-dependencies:Dalston.M1"
	}
}

the application.yml of EurekaServer:
server:
  port: 1111

spring:
  application:
    name: eurekaserver

eureka:
  instance:
    hostname: localhost
    preferIpAddress: true
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

THe build.gradle of HBService:
buildscript {
	ext {
		springBootVersion = '1.5.1.RELEASE'
	}
	...
	dependencies {
		classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
	}
}
...
dependencies {
	compile('org.springframework.boot:spring-boot-starter-web')
	compile('org.springframework.cloud:spring-cloud-starter-feign')
	compile('org.springframework.cloud:spring-cloud-starter-eureka')

	compile "io.springfox:springfox-swagger2:2.6.1"
	compile 'io.springfox:springfox-swagger-ui:2.6.1'

	testCompile('org.springframework.boot:spring-boot-starter-test')
}

dependencyManagement {
	imports {
		mavenBom "org.springframework.cloud:spring-cloud-dependencies:Camden.RELEASE"
	}
}

the applcation.yml of HBService:
server:
  port: 8081
  contextPath: /hbca
spring:
  application:
    name: hbca-service

eureka:
  client:
    serviceUrl:
      defaultZone: http://<IP_ADDRESS>:1111/eureka/
  instance:
    healthCheckUrlPath: ${management.context-path}/health
    appname: hbca-service

The build.gradle of client:
buildscript {
	ext {
		springBootVersion = '1.5.1.RELEASE'
	}
	...
	dependencies {
		classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
	}
}
...
dependencies {
	compile('org.springframework.boot:spring-boot-starter-web')
	compile('org.springframework.cloud:spring-cloud-starter-eureka')
	compile('org.springframework.cloud:spring-cloud-starter-feign')

	testCompile('org.springframework.boot:spring-boot-starter-test')
}

dependencyManagement {
	imports {
		mavenBom "org.springframework.cloud:spring-cloud-dependencies:Dalston.M1"
	}
}

the application.yml of client:
server:
  port: 3333

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:1111/eureka/
  instance:
    preferIpAddress: true

Here is the demo.SpringCloudTest.zip
Thanks!

Thanks for reporting! Also thank you for sharing the demo that demonstrates the problem

Sorry this issue wasn't reproducible. I tried it and it worked like a champ. Here is what I tried.

started the eureka server `./gradlew bootRun
started the hbservicemock  `./gradlew bootRun
started the eureka client  `./gradlew bootRun
curl http://localhost:3333/index

I got a 200 OK response back from the service Hello! This is Sales Service.

Thanks for you test! I run the demo again. Some times , a exception about Hystrix occurred . But most of time, it works OK! Perhaps it need time to check the service state. I should have more reading of  eureka document .
Thanks again!!


Correct clear button plugin's Bootstrap5 position

Before

The default CSS "right" attribute for a single clear button is a calc(2.75rem - 5px) which makes the clear button stay too far from the right border.
After

Using a .75em right position mimic other Bootstrap 5 alignments values.

That css should probably be in the plugin's css file. Would you like to update your pull request or should I just do it?

I was under the impression that this position is specific to the CSS designed for Boostrap 5, so I thought it might conflict with non-Bootstrap 5 designs.
I just checked the clear button plugin demos and noticied with the default CSS, the position I designed is suitable for a select multiple :

But not for a select single where there is chevron down icon at the end :

I think that if it can be made compatible with all designs, moving it to the plugin's css file would be better.

Do you have a link to an example that displays the problem?

Examples: https://jsfiddle.net/0pfwx6s1/ vs https://jsfiddle.net/0pfwx6s1/1/

Thank you very much @oyejorge !


How to use event onLoadResourceCustomScheme

Hi ,
I got stuck with onLoadResourceCustomScheme event , how to declare it in webview option ? and how to call to use it in event ?

Here is an example.
You need first declare what custom schemes you need to intercept using the resourceCustomSchemes option:
initialOptions: InAppWebViewGroupOptions(
    crossPlatform: InAppWebViewOptions(
      debuggingEnabled: true,
      resourceCustomSchemes: ["my-special-custom-scheme"]
    )
),

Then, in the onLoadResourceCustomScheme event you can intercept it and return your CustomSchemeResponse:
onLoadResourceCustomScheme: (InAppWebViewController controller, String scheme, String url) async {
  if (scheme == "my-special-custom-scheme") {
    var bytes = await rootBundle.load("test_assets/" + url.replaceFirst("my-special-custom-scheme://", "", 0));
    var response = CustomSchemeResponse(data: bytes.buffer.asUint8List(), contentType: "image/svg+xml", contentEnconding: "utf-8");
    return response;
  }
  return null;
},

In my example, I'm simply reading an asset file from the test_assets/ folder using rootBundle  (import 'package:flutter/services.dart';) and return the new asset to the WebView.
In my test HTML I have:
<img id="image" src="my-special-custom-scheme://images/flutter-logo.svg" alt="flutter logo">

that will be intercepted by the onLoadResourceCustomScheme event.


pydantic.mypy doesn't respect metaclass arguments.

Initial Checks

[X] I have searched GitHub for a duplicate issue and I'm sure this is something new
[X] I have searched Google & StackOverflow for a solution and couldn't find anything
[X] I have read and followed the docs and still think this is a bug
[X] I am confident that the issue is with pydantic (not my code, or another library in the ecosystem like FastAPI or mypy)

Description
It seems like when using metaclass arguments for the base model (e.g. class Foo(BaseModel, arg1=..., arg2=...)) that pydantic.mypy ignores them. I found this out when setting allow_population_by_field_name this way. Note that I am running with the init_typed=True setting.
The options do appear to work at runtime, just not not during type checking.
As a workaround the Config nested class is still respected by pydantic.mypy, so this gets me out of hot water.
Apologies if this is a duplicate, after searching I couldn't find any matches. Feel free to close if so!
Example Code
from pydantic import BaseModel, Field

class MypyCorrectError(BaseModel):
    i: int = Field(2, alias="j")

    class Config:
        allow_population_by_field_name = True

# error: Argument "i" to "MypyCorrectError" has incompatible type "None"; expected "int"  [arg-type]
MypyCorrectError(i=None)

class MypyWrongError(BaseModel, allow_population_by_field_name=True):
    i: int = Field(alias="j")

# error: Missing named argument "j" for "MypyWrongError"  [call-arg]
MypyWrongError(i=None)

class MypyFalsePositive(BaseModel, allow_population_by_field_name=True):
    i: int = Field(2, alias="j")

# No error listed for using None instead of int.
MypyFalsePositive(i=None)

Python, Pydantic & OS Version
pydantic version: 1.10.7
pydantic compiled: True
install path: /Users/.../lib/python3.10/site-packages/pydantic
python version: 3.10.11 (main, Apr  7 2023, 07:24:53) [Clang 14.0.0 (clang-14<IP_ADDRESS>)]
platform: macOS-13.3.1-arm64-i386-64bit
optional deps. installed: ['typing-extensions']

Affected Components

[ ] Compatibility between releases
[ ] Data validation/parsing
[ ] Data serialization - .dict() and .json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - construct(), pickling, private attributes, ORM mode
[X] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

What's the mypy version you are using?
For mypy==1.1.1, I have the following:
❯ mypy main.py
main.py:12: error: Unexpected keyword argument "i" for "MypyCorrectError"  [call-arg]
main.py:20: error: Unexpected keyword argument "i" for "MypyWrongError"  [call-arg]
main.py:28: error: Unexpected keyword argument "i" for "MypyFalsePositive"  [call-arg]
Found 3 errors in 1 file (checked 1 source file)

Which seems alright?

What's the mypy version you are using?

$ pip freeze | grep mypy
mypy==1.3.0
mypy-extensions==1.0.0

I just tried resetting to 1.1.1 and still get the odd behavior:
$ mypy --version
mypy 1.1.1 (compiled: yes)
$ mypy test.py
test.py:12: error: Argument "i" to "MypyCorrectError" has incompatible type "None"; expected "int"  [arg-type]
test.py:20: error: Missing named argument "j" for "MypyWrongError"  [call-arg]
Found 2 errors in 1 file (checked 1 source file)

@Kludex are you sure you had the plugin on?
It doesn't surprise me if this doesn't work, as I don't think we even try to collect the metaclass arguments currently, just look at the class Config.
I think this shouldn't be too hard to fix by editing pydantic.mypy, PR welcome, I will try to look at this when I get around to fixing mypy stuff. (I think a backport to v1 should be trivial if we fix it for v2, and I expect the same issue currently exists in v2.)

@dmontagu Could you explain to me why I get the correct results when not specifying the plugin at all in my mypy.ini file? This part is really confusing me, as I thought without the plugin that we would not get generated constructor stubs?

Oh, very interesting. Given that the metaclass arguments seem to be preserved in the default case, I wonder what other behavior happens when the plugin is enabled? At this point it would seem that enabling the plugin with no additional arguments causes a regression in mypy error detection. It would be probably be good to have the differences documented!
(P.S. I'm not against contributing, I can inquire about that internally 😄)

I don’t think the metaclass arguments are respected with the plugin off, I think it’s just that the only way it works has the behavior you want. I might be wrong about that.


Valgring SSE4

Hi i need to compile library with -m32 flag  and then valgrind:
`vex x86->IR: unhandled instruction bytes: 0xC5 0xF9 0x6E 0x45
==19838== valgrind: Unrecognised instruction at address 0x8050599.
==19838==    at 0x8050599: fft_create_plan_mixed_radix (fft_mixed_radix.c:105)
==19838==    by 0x804AF85: fft_create_plan (fft_common.c:127)
==19838==    by 0x80504E8: fft_create_plan_mixed_radix (fft_mixed_radix.c:86)
==19838==    by 0x804AF85: fft_create_plan (fft_common.c:127)
==19838==    by 0x80504E8: fft_create_plan_mixed_radix (fft_mixed_radix.c:86)
==19838==    by 0x804AF85: fft_create_plan (fft_common.c:127)
==19838==    by 0x80504E8: fft_create_plan_mixed_radix (fft_mixed_radix.c:86)
==19838==    by 0x804AF85: fft_create_plan (fft_common.c:127)
==19838==    by 0x80504E8: fft_create_plan_mixed_radix (fft_mixed_radix.c:86)
==19838==    by 0x804AF85: fft_create_plan (fft_common.c:127)
==19838== Your program just tried to execute an instruction that Valgrind
==19838== did not recognise.  There are two possible reasons for this.
==19838== 1. Your program has a bug and erroneously jumped to a non-code
==19838==    location.  If you are running Memcheck and you just saw a
==19838==    warning about a bad jump, it's probably your program's fault.
==19838== 2. The instruction is legitimate but Valgrind doesn't handle it,
==19838==    i.e. it's Valgrind's fault.  If you think this is the case or
==19838==    you are not sure, please let us know and we'll try to fix it.
==19838== Either way, Valgrind will now raise a SIGILL signal which will
==19838== probably kill your program.
`
It's probably connected with SSE4 (http://stackoverflow.com/questions/7875485/valgrind-unhandled-instruction-bytes-error). Can I turn it off and how,  I try to change config.h but it's ineffective.

Replace march with -msse3. Fix everything.


Deprecate old logical types API

Now that the new logical types API is ready, we should deprecate the old one because new types will not support it (in fact, nano precision has already been added without support in the old API).
Reporter: Zoltan Ivanfi / @zivanfi
Assignee: Nándor Kollár / @nandorKollar
Note: This issue was originally created as PARQUET-1451. Please see the migration documentation for further details.

Zoltan Ivanfi / @zivanfi:
JIRA was not responding, accidentally created the issue twice.


error adding authority-controller

$ composer require efficiently/authority-controller:2.0.*
return
Problem 1

Installation request for efficiently/authority-controller 2.0.* -> satisfiable by efficiently/authority-controller[2.0.x-dev].
efficiently/authority-controller 2.0.x-dev requires stayallive/authority-l5 ~2.4.1 -> no matching package found.

For your error, read this, please:
https://github.com/efficiently/authority-controller/issues/19#issuecomment-82201011


[Latest] JWT Secret not loading

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
When starting the docker i get the following:
Loading JWT Secret from database. It seems to be stuck on that:
Welcome to Uptime Kuma
Your Node.js version: 16
2023-02-14T10:31:32+01:00 [SERVER] INFO: Welcome to Uptime Kuma
2023-02-14T10:31:32+01:00 [SERVER] INFO: Node Env: production
2023-02-14T10:31:32+01:00 [SERVER] INFO: Importing Node libraries
2023-02-14T10:31:32+01:00 [SERVER] INFO: Importing 3rd-party libraries
2023-02-14T10:31:33+01:00 [SERVER] INFO: Creating express and socket.io instance
2023-02-14T10:31:33+01:00 [SERVER] INFO: Server Type: HTTP
2023-02-14T10:31:33+01:00 [SERVER] INFO: Importing this project modules
2023-02-14T10:31:33+01:00 [NOTIFICATION] INFO: Prepare Notification Providers
2023-02-14T10:31:33+01:00 [SERVER] INFO: Version: 1.20.0
2023-02-14T10:31:33+01:00 [DB] INFO: Data Dir: ./data/
2023-02-14T10:31:33+01:00 [SERVER] INFO: Connecting to the Database
2023-02-14T10:31:33+01:00 [DB] INFO: SQLite config:
[ { journal_mode: 'wal' } ]
[ { cache_size: -12000 } ]
2023-02-14T10:31:33+01:00 [DB] INFO: SQLite Version: 3.39.4
2023-02-14T10:31:33+01:00 [SERVER] INFO: Connected
2023-02-14T10:31:33+01:00 [DB] INFO: Your database version: 10
2023-02-14T10:31:33+01:00 [DB] INFO: Latest database version: 10
2023-02-14T10:31:33+01:00 [DB] INFO: Database patch not needed
2023-02-14T10:31:33+01:00 [DB] INFO: Database Patch 2.0 Process
2023-02-14T10:31:33+01:00 [DB] INFO: patch-ping-packet-size.sql is not patched
2023-02-14T10:31:33+01:00 [DB] INFO: Backing up the database
2023-02-14T10:31:55+01:00 [DB] INFO: patch-ping-packet-size.sql is patching
2023-02-14T10:31:55+01:00 [DB] INFO: patch-ping-packet-size.sql was patched successfully
2023-02-14T10:31:55+01:00 [DB] INFO: patch-add-gamedig-monitor.sql is not patched
2023-02-14T10:31:55+01:00 [DB] INFO: patch-add-gamedig-monitor.sql is patching
2023-02-14T10:31:55+01:00 [DB] INFO: patch-add-gamedig-monitor.sql was patched successfully
2023-02-14T10:31:55+01:00 [DB] INFO: patch-add-google-analytics-status-page-tag.sql is not patched
2023-02-14T10:31:55+01:00 [DB] INFO: patch-add-google-analytics-status-page-tag.sql is patching
2023-02-14T10:31:55+01:00 [DB] INFO: patch-add-google-analytics-status-page-tag.sql was patched successfully
2023-02-14T10:31:55+01:00 [DB] INFO: Database Patched Successfully
2023-02-14T10:31:55+01:00 [SERVER] INFO: Load JWT secret from database.
👟 Reproduction steps
Start de docker using my existing DB
👀 Expected behavior
It would continue and start up
😓 Actual Behavior
Seems to be stuck on loading JWT Certificate
🐻 Uptime-Kuma Version
1.20.0
💻 Operating System and Arch
Synology / Unraid
🌐 Browser
Chrome / Safari
🐋 Docker Version
No response
🟩 NodeJS Version
No response
📝 Relevant log output
==> Performing startup jobs and maintenance tasks
changed ownership of '/app/data/error.log' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db-shm' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db-shm.bak0' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db-shm.bak20220516122918' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db-shm.bak20220622220040' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db-shm.bak20220907134033' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db-shm.bak20221223230150' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db-wal' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db-wal.bak0' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db-wal.bak20220516122918' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db-wal.bak20220622220040' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db-wal.bak20220907134033' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db-wal.bak20221223230150' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db.bak0' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db.bak20220516122918' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db.bak20220622220040' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db.bak20220907134033' from 1026:users to 0:0
changed ownership of '/app/data/kuma.db.bak20221223230150' from 1026:users to 0:0
changed ownership of '/app/data/upload/logo.png' from 1026:users to 0:0
changed ownership of '/app/data/upload/logo2.png' from 1026:users to 0:0
changed ownership of '/app/data/upload' from 1026:users to 0:0
changed ownership of '/app/data' from 1026:users to 0:0
==> Starting application with user 0 group 0
Welcome to Uptime Kuma
Your Node.js version: 16
2023-02-14T10:31:32+01:00 [SERVER] INFO: Welcome to Uptime Kuma
2023-02-14T10:31:32+01:00 [SERVER] INFO: Node Env: production
2023-02-14T10:31:32+01:00 [SERVER] INFO: Importing Node libraries
2023-02-14T10:31:32+01:00 [SERVER] INFO: Importing 3rd-party libraries
2023-02-14T10:31:33+01:00 [SERVER] INFO: Creating express and socket.io instance
2023-02-14T10:31:33+01:00 [SERVER] INFO: Server Type: HTTP
2023-02-14T10:31:33+01:00 [SERVER] INFO: Importing this project modules
2023-02-14T10:31:33+01:00 [NOTIFICATION] INFO: Prepare Notification Providers
2023-02-14T10:31:33+01:00 [SERVER] INFO: Version: 1.20.0
2023-02-14T10:31:33+01:00 [DB] INFO: Data Dir: ./data/
2023-02-14T10:31:33+01:00 [SERVER] INFO: Connecting to the Database
2023-02-14T10:31:33+01:00 [DB] INFO: SQLite config:
[ { journal_mode: 'wal' } ]
[ { cache_size: -12000 } ]
2023-02-14T10:31:33+01:00 [DB] INFO: SQLite Version: 3.39.4
2023-02-14T10:31:33+01:00 [SERVER] INFO: Connected
2023-02-14T10:31:33+01:00 [DB] INFO: Your database version: 10
2023-02-14T10:31:33+01:00 [DB] INFO: Latest database version: 10
2023-02-14T10:31:33+01:00 [DB] INFO: Database patch not needed
2023-02-14T10:31:33+01:00 [DB] INFO: Database Patch 2.0 Process
2023-02-14T10:31:33+01:00 [DB] INFO: patch-ping-packet-size.sql is not patched
2023-02-14T10:31:33+01:00 [DB] INFO: Backing up the database
2023-02-14T10:31:55+01:00 [DB] INFO: patch-ping-packet-size.sql is patching
2023-02-14T10:31:55+01:00 [DB] INFO: patch-ping-packet-size.sql was patched successfully
2023-02-14T10:31:55+01:00 [DB] INFO: patch-add-gamedig-monitor.sql is not patched
2023-02-14T10:31:55+01:00 [DB] INFO: patch-add-gamedig-monitor.sql is patching
2023-02-14T10:31:55+01:00 [DB] INFO: patch-add-gamedig-monitor.sql was patched successfully
2023-02-14T10:31:55+01:00 [DB] INFO: patch-add-google-analytics-status-page-tag.sql is not patched
2023-02-14T10:31:55+01:00 [DB] INFO: patch-add-google-analytics-status-page-tag.sql is patching
2023-02-14T10:31:55+01:00 [DB] INFO: patch-add-google-analytics-status-page-tag.sql was patched successfully
2023-02-14T10:31:55+01:00 [DB] INFO: Database Patched Successfully
2023-02-14T10:31:55+01:00 [SERVER] INFO: Load JWT secret from database.

i've just copied the /data/ envoirement to my unraid server and tried with 1.19.6 but its stuck on load certificate as well

Restored a backup of 1 week ago and that did indeed work, so i'm up and running with 7 days of lost data

I guess it hanged at line 1671, but I cannot reproduce it. I would recommend that you should backup and try again.
https://github.com/louislam/uptime-kuma/blob/2620ec3fae548eb455af2980a4ae0b0f3e374de5/server/server.js#L1667-L1672

I'll just use my old backup. If you need more information, i can load up the "corrupt" config and test

Hey,
It unfortenately happend again. Stuck on JWT Secret..

IT seems to be corrupting regularly. @louislam what would you need for me to test this?

I found the issue, it is related to the maintenance feature.


End to end testing on Windows OS

None of the core devs routinely use Windows machines.
It would be a good idea to run end-to-end tests of the IF on a Windows OS before releasing.
This should include:

download IF
install if-models and if-unofficial-models
all unit tests pass
all integration tests pass
shell model runs as expected

tested personally, so closing


binsider: init at 0.1.0

Description of changes
binsider is a TUI analyzer of executables.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] 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

[X] 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
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 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

[X] Fits CONTRIBUTING.md.

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

Looks like lurk-cli (used by binsider) is not supported on aarch64. Let's limit again its scope.


[enhancement] restructure BeamerRouterDelegate

After digging in the code a bit I finally realised why I have so many problems.
Because stuff are mutable you can access it from everywhere and change it everywhere so when you wrote BeamerLocationBuilder you can change the state of each location from there. or you prepare() location when you return it from location builder.
All that make things much more complicated to extend or finding errors especially when whoever is implementing them need to know or remember to do so.
I for example built a PatternLocationBuilder so I can use Pattern class and find the right path now something like:
class PatternLocationBuilder extends BeamerLocationBuilder {
  PatternLocationBuilder({
        required Map<Pattern, BeamLocation> routes,
  }) : super(
        locationBuilder: (state) => // find right path using pattern.matchAsPrefix(state.uri.toString())
}

But I didn't know I need to call prepare createState etc..
If you run all of those methods within your RouterDelegate we can avoid a situation where code is copied multiple times (e.g prepare createState etc...) then the code I wrote would work and I wouldn't need to remember to prepare() createState etc...
for example I would wrap LocationBuilder within BeamerRouterDelegate with another function called LocationInitializer (or something like that).
// global function or static within the class
T defaultCreateState<T>(
      Uri uri, {
      Map<String, dynamic> data = const <String, dynamic>{},
    }) =>
        BeamState.fromUri(uri, data: data) as T;
BeamPage defaultNotFoundBuilder(BeamState state) => BeamPage(
      child: Container(child: Center(child: Text('Not found'))),
    );

typedef LocationNoFoundBuilder = BeamPage Function(BeamState state); // maybe not state just URI
typedef LocationInitializer = BeamLocation Function(BeamLocation location);
typedef StringLocationBuilder = BeamLocation Function(String url); // or can use URI
typedef StateBuilder<T> = T Function(Uri uri, {
    Map<String, dynamic> data,
  });

final LocationBuilder locationBuilder;
final LocationInitializer locationInitializer;
final StateBuilder<T> createState; // should be final, why is it nullable now? if by mistake this createState = null happens we will get lots of problems
final LocationNoFoundBuilder notFoundBuilder; // no need for notFoundPage notFoundRedirect those can just be some function, redirectNotFoundBuilder for example

StringLocationBuilder get _locationBuilder => (String url, {
      Map<String, dynamic> data = const <String, dynamic>{},
    }) => locationInitializer(locationBuilder(createState(Uri.parse(url), data: data)));

BeamerRouterDelegate({
    required this.locationBuilder,
    this.locationInitializer = someDefaultInitializer,
    this.createState = defaultCreateState,
    this.notFoundBuilder = defaultNotFoundBuilder,
    this.initialPath = '/',
    this.createState,
    this.preferUpdate = true,
    this.removeDuplicateHistory = true,
    this.guards = const <BeamGuard>[],
    this.navigatorObservers = const <NavigatorObserver>[],
    this.transitionDelegate = const DefaultTransitionDelegate(),
    this.onPopPage,
  }) {
    _currentLocation = _locationBuilder(initialPath);
  }

then you can always call _locationBuilder with whatever path in string form and all the rest is done..
if you check your code you have at least 2 - 3 location where you call createState!(Uri.parse(somePath)) and the same with prepare() and the same with some other stuff.
my point is by doing something like that you make the code simpler and less prone to errors like I had...
just to make my point stronger, same code called 7 times:
https://github.com/slovnicki/beamer/blob/39f96295b20a23bba4a46818d576e608399dd8b4/package/lib/src/beamer_router_delegate.dart#L45
https://github.com/slovnicki/beamer/blob/39f96295b20a23bba4a46818d576e608399dd8b4/package/lib/src/beamer_router_delegate.dart#L60
https://github.com/slovnicki/beamer/blob/39f96295b20a23bba4a46818d576e608399dd8b4/package/lib/src/beamer_router_delegate.dart#L238
https://github.com/slovnicki/beamer/blob/39f96295b20a23bba4a46818d576e608399dd8b4/package/lib/src/beamer_router_delegate.dart#L240
https://github.com/slovnicki/beamer/blob/39f96295b20a23bba4a46818d576e608399dd8b4/package/lib/src/beamer_router_delegate.dart#L368
https://github.com/slovnicki/beamer/blob/39f96295b20a23bba4a46818d576e608399dd8b4/package/lib/src/beamer_router_delegate.dart#L428
https://github.com/slovnicki/beamer/blob/39f96295b20a23bba4a46818d576e608399dd8b4/package/lib/src/beamer_router_delegate.dart#L496
I can do the same with prepare() createState etc.. being called different places with same copied line multiple times
Another plus is to try and get all the classes to have a const constructor :) but need to investigate more for that.
One more plus is to have a typedef NavigatorBuilder = Widget Function(BuildContext context, Key key, pages, observers,... etc) so users can have more fine control, you will pass all parameters from build function it just gives users more flexibility in the long run.
And maybe try to avoid using Builder widget as its limiting sometimes when you need to force minimum size, at least I had some problems with it
UPDATE:
https://github.com/slovnicki/beamer/blob/39f96295b20a23bba4a46818d576e608399dd8b4/package/lib/src/beamer_router_delegate.dart#L378
another good example, the need to remember to call notifyListeners() every time.. just have a handlePop function inside BeamLocation that does the magic... and I WOULD STRONGLY SUGGEST to make state read only from outside BeamLocation... that way you'll avoid copying code to many places or remember to do something after before etc...

After thinking about it a bit more you'll have, and of course if I understand correctly what you did, I think if we will have 2 Beamers within one page (for example if you split the page to half and have upper and lower Beamer) so it will create some problems with navigation etc...
I am thinking to just fork this library and try to restructure it, I just love simplicity and straight forward use.

BeamLocation should only be data class with no state
RouterDelegate should hold the state and be dependent on his RouterDelegate parent if none he is root (no need to have 2 classes for root and none root delegate)
doing 2 you can easily add base path, relative routing etc... when beaming to another path all you need to do is to call the parent with the new path (if its relative just call with "$base/$to" if not just "$to"). that way delegates will just add their base path to the route until it gets to the root which in his turn just set the correct path
BeamLocation should only have 1 location and not a list, therefor forcing the use of another Beamer when need more then 1 path.. it's just to simplify implementation I just do see the point of having BeamLocation with multiple routes and a build function inside it to create a wrapper. isn't it just easier, less complicated and more understandable to do:

MyPathWrapper(
   child: Beamer(// whatever paths etc...)
   );

some more stuff I haven't thought about yet
but you made a really good work with it I just think the principles should be different and simplified :)

@shovelmn12 Thanks for creating this issue!
Indeed, a lot of refactoring needs to be done, especially in BeamerRouterDelegate.
I agree with many of your points and am in fact currently preparing to implement relative paths via reference to parent exactly as you described.
I also wish to remove the need for RootRouterDelegate, but didn't have time to do so.
executeBefore and prepare are definitely obsolete. I'm not sure why are they still kept in the code, probably by accident.
pathBlueprints were very important at the inception of beamer, but indeed are becoming less important as we go. Previously there were no wildcards in path blueprints and there were no locationBuilders so it was necessary.
As each Beamer will put a new Navigator in the tree, I don't think we should force users to separate their routes to that extent. There definitely should be a possibility to handle all application routes in the same Navigator.
I'm on my phone now, so I will edit this comment to be more detailed and structured in the evening.

even if each Beamer is new Navigator I still dont see the point...
for example:
if you need auth/login and auth/register you can have 1 location for each, why would i need to create a Location with 2 paths ? its just make stuff complicated.. and if you want to create a wrapper so like i said just make a new widget.
dont see the point in it and no use for it except of confusion and more code :|
ill be happy if you explain the use cases of multiple locations inside BeamLocation?

@shovelmn12 BeamLocation represents a stack of pages, not an URI location. For example, if you have

profile
profile/details
profile/settings

You want those to be in the same Navigator and use Pages API BeamLocation.buildPages to determine which page to show. Then you have transitions between those pages belonging to the same Navigator, can use pop and so on.
Another idea of BeamLocation is to group contextually related pages. That's also where BeamLocation.builder comes in; so you can put some Provider above all the pages in that BeamLocation, i.e. above that Navigator.

so its exactly what I mean just in a different API meaner...
Navigator == Beamer... under beam location you don't have any navigator except another Beamer
Another idea of BeamLocation is to group contextually related pages. That's also where BeamLocation.builder comes in; so you can put some Provider above all the pages in that BeamLocation, i.e. above that Navigator.
its exactly what I mean if you need another group context you must create another navigator/beamer etc...
when you try and group those with only BeamLocation and multiple paths under it you create mess and complexity for no real reason or benefit
whatever you'll do with multiple paths in BeamLocation would be more complex to understand (if someone new goes in the code or if you have a bug) than just have another Beamer try the 2 methods and check the code...

@shovelmn12

Navigator.pages == BeamLocation.buildPages
Beamer == Router ~ Navigator

Many BeamLocations can belong to the same Beamer and the same (Beamer's) Navigator gets pages from chosen BeamLocation.

adds complexity for no good reason..
again check React routing libraries i dont think iv seen even 1 library where path = multiple pages makes things complex for no good reason

@shovelmn12 an example of routing where path == multiple pages:

Flutter's Router and Pages API, i.e. "Navigator 2.0"

I'm not trying to create a new routing concept here, just ease and improve the use of Flutter's existing one.
Think of deep links. You get a deep link to go to /profile/settings/address. You want to build a stack of pages so user will automatically have an indication in AppBar that it can go back and you can pop to /profile/settings naturally, without any additional code by developer.

@shovelmn12 I learned Navigator 2.0 from these sources, so take a look and don't frustrate much :)

https://link.medium.com/bgpowoW8hfb
https://docs.google.com/document/u/0/d/1Q0jx0l4-xymph9O6zLaOY4d_f7YFpNWX_eGbzYxr9wY

https://link.medium.com/bgpowoW8hfb

haha thanks been reading those...
BTW: that magic transformation you where talking about i would go and extend Navigator and @override bool canPop() https://api.flutter.dev/flutter/widgets/NavigatorState/canPop.html
so then if I have a route that resolves to a pop ill return true, when doing that you'll solve the back button popping up automatically issue and by that can simplify the use of the library :)

@shovelmn12 btw, you know we have SimpleLocationBuilder that takes just a map of routes and widget builders? I guess that + relative paths (that I'll do this week) would be everything you want.

from my understanding if i use it I can't have another Beamer deeper in the tree right? or it was from the old implementation?

@shovelmn12 Hm, I don't see why this limitation would appear, but I haven't tried. Will definitely check that later tonight.

https://link.medium.com/bgpowoW8hfb

haha thanks been reading those...
BTW: that magic transformation you where talking about i would go and extend Navigator and @override bool canPop() https://api.flutter.dev/flutter/widgets/NavigatorState/canPop.html
so then if I have a route that resolves to a pop ill return true, when doing that you'll solve the back button popping up automatically issue and by that can simplify the use of the library :)
EDIT:
ill have a pop function that takes the state of the router delegate and returns a new state that resolves to a pop... and check if I have a route for that.
another way is to have a bool canPop in router delegates state so you can just return that...

@slovnicki  what do you think of that?

@shovelmn12 sounds much like Navigator.onPopPage which we already handle with BeamerRouterDelegate._handlePop AND that onPopPage can even be overridden within BeamLocation

@slovnicki yeah i mean if canPop is overridden then what i suggested can happen, automatic back button showing so then it will become a very simple to use routing library and you have the control to do whatever no downsides as far as i can think of

Yes, that canPop can be quite useful, especially regarding beamHistory. We should work on that some more. @youssefali424 did some research on how to force showing AppBar's back button

@shovelmn12 Some refactoring has been done in BeamerRouterDelegate. I'll close this and feel free to post new specific issues :slightly_smiling_face:


fix(esl-carousel): fix incorrect alignment of the grid carousel renderer if there are no enough slides

:tada: This PR is included in version 5.0.0-beta.22 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Central AssetMapper "build" bundle?

It should be possible (even if it's not a super normal thing to do) to combine this bundle and https://github.com/SymfonyCasts/tailwind-bundle.
To do that, there could be a central asset-mapper-build-bundle which defines a command like assets:build. Then, this bundle and TailwindBundle could hook into that. This would allow to:
A) Compile the SASS from an app.scss file to pure CSS.
B) Then process that pure CSS through Tailwind.
Additionally, it would be GREAT if the new bundle could hook into the asset-map:compile command so that, before the files are actually compiled, the "build" pipeline were called. So, instead of needing to run assets:build and then asset-map:compile during deploy, you could just run asset-map:compile and it would trigger the assets:build system. This would likely require a new event in the core AssetMapper asset-map:compile command.

Hey @squrious. I am not sure if an event-based papeline in the right approach here. Because I think we want everything to run in parallel. So to have one main Process that run all the others process from the different bundles in parralle.
Here I made a small Bundle to try an implementation: https://github.com/WebMamba/AssetMapperBuilderBundle

Hey @squrious. I am not sure if an event-based papeline in the right approach here. Because I think we want everything to run in parallel. So to have one main Process that run all the others process from the different bundles in parralle. Here I made a small Bundle to try an implementation: https://github.com/WebMamba/AssetMapperBuilderBundle

I agree that using tag injection is more intuitive, and allows to control the process from the main build loop, which is not so easy with an event system.
But I'm not sure we always want to run Sass and Tailwind in parallel. You want Sass to produce a pure CSS file before Tailwind tries to process it, at least for the first run and when hooking into the PreAssetsCompileEvent from AssetMapper.
Having the process running in parallel could be nice for a watch mode though.

Hello, so as of today it's not possible to use SassBundle along with TailwindBundle correct? That's because they compete for the same file to build?
I also tried giving tailwind the SASS path:
symfonycasts_tailwind:
    input_css: '%kernel.project_dir%/assets/styles/app.scss'

But then I get this error:
Unknown word
You tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser

That's because the tailwind parser doesn't know how to process the SASS file. I also tried giving tailwind the SASS output file:
symfonycasts_tailwind:
    input_css: '%kernel.project_dir%/var/sass/app.output.css'

But it does nothing.
How can I do to use Tailwind along with SASS and AssetMapper? Is it a bad practice?
Thanks.

What do you mean by it does nothing ? The second solution should be the way to go

With "it does nothing" I mean that the generated CSS file in the website (the one exposed in the browser) is the elaborated SASS file but with the  @tailwind directives becase it's not processed by the Tailwind build.
In this other issue @squrious wrote a working solution: https://github.com/SymfonyCasts/tailwind-bundle/issues/49

To give you all the context: At first, we thought that this central "build" bundle was needed because of Sass, Tailwind, and Typescript. But then we changed our mind for multiple reasons, first this build bundle looks like we are rebuilding webpack but in PHP, second we believe that people should now stay as close as possible to web standard so pure Javascript and pure CSS. Why do you need Sass? variables? nested? calculation? Those three reasons are now natively possible in CSS

Thanks for the response! I know that recently CSS has improved a lot and can now do many new things. I also read the article linked in the bundle documentation.
In our case, however, our front-end developers have produced some mixins, imports and many other tools over the years that depend on SASS. Unfortunately, as you may understand, it's not as easy as stopping using it from one project to another.
That is because we are trying to update the workflow but keep both SASS and Tailwind CSS.


Implement (at least part of) UTS#18 RL1.3 - Operators in character sets

I'm working on a syntax highlighting engine in Rust that requires an Oniguruma-compatible regex engine. I'm trying to port it from the onig crate to fancy-regex, but there's some features it doesn't support yet (see https://github.com/trishume/syntect/pull/34).
One of these features is the && operator and nesting in character sets, for example [a-w&&[^c-g]z]. I was thinking this would be added to fancy-regex but @robinst pointed out this comment which suggests that you plan for them to be in the regex crate.
It would be nice if the regex crate supported UTS#18 RL1.3 in full, but the && operator and nesting are all that Oniguruma-compatibility of fancy-regex requires.
I imagine this would take some changes to regex-syntax and then a pass to convert the fancy character sets down to basic character sets. I haven't thought enough about it to know if there are any unicode-related issues that might make this more complex, perhaps by making a tiny fancy character set compile to an enormous basic character set.
@BurntSushi do you have any insight on how difficult you think this would be to add for a contributor not familiar with the internals of regex?

do you have any insight on how difficult you think this would be to add for a contributor not familiar with the internals of regex?

My belief is that the change would be limited to regex-syntax and shouldn't bleed into anything else. If that's true, then that makes this task "medium" instead of "hard" because it reduces the amount of code you need to be familiar with. In fact, I don't think it even requires changing the existing AST.
I'd still consider this to be a tricky task. I think the parser itself seems a bit complex (the char class parser is already complex, so spending some time trying to make that nicer is probably a worthwhile investment). I also think there could be some issue with computing the various set operations because Unicode makes the sets quite large. For example, [^c-g] is every Unicode codepoint other than c-g.
In general, parsing takes an insignificant time in regex construction compared to the time it takes to compile the regex. I would hope that even with this change, it would stay that way. Maybe set operations on Unicode sets aren't as bad as I think, but if they wind up slowing down parsing a lot, then we might need to be more clever. And that makes this task "medium" instead of "easyish."
At a higher level, I do have plans to rewrite the parser from scratch (again), but I have no idea when that will happen and you shouldn't plan around it.

Also, I would expect test coverage to remain excellent. Every single branch should be covered by a test. (I believe this is true today.)

@BurntSushi awesome, thanks for the insight.

Oh and I'd be happy to answer questions and mentor anyone who works on this. I'm on the usual IRC channels, typically 4-8pm EST and sporadically on the weekends. Email also works well, which I'm on around the clock.

I started looking into this after I made the comment on the syntect issue :). I too think it can be entirely implemented in regex-syntax. Looks like the work is roughly:

Make parse_class handle nested classes
Make it handle &&
Add a intersect method to CharClass

We should probably focus on && as a first step, I'm not sure the other operations are in wide use (e.g. Oniguruma only has &&).
The first change I have is extracting a parse_class_escape method to make parse_class a bit smaller. Would you prefer individual pull requests for steps along the way, or a bigger one with multiple commits at the end?

I think a single commit with everything would be best. If you wanted to
open a PR for earlier feedback that's fine, so long as it gets squashed in
the end. :-)
On Feb 16, 2017 8:58 PM, "Robin Stocker"<EMAIL_ADDRESS>wrote:

I started looking into this after I made the comment on the syntect issue
:). I too think it can be entirely implemented in regex-syntax. Looks
like the work is roughly:

Make parse_class handle nested classes
Make it handle &&
Add a intersect method to CharClass

We should probably focus on && as a first step, I'm not sure the other
operations are in wide use (e.g. Oniguruma only has &&).
The first change I have is extracting a parse_class_escape method to make
parse_class a bit smaller. Would you prefer individual pull requests for
steps along the way, or a bigger one with multiple commits at the end?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/regex/issues/341#issuecomment-280526566,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAb34jsMmKhNN_owuHVbLLJ4jXeiTrV_ks5rdP7TgaJpZM4MDRvD
.

Quick status update: I have support for nested classes and intersection using &&, currently writing all the tests to make sure all things are covered.

Pull request for nested classes and intersection: https://github.com/rust-lang/regex/pull/346


airpal how to use mysql catalog

i build airpal but my presto working on mysql  but airpal still work on hive
so  presto get error
SELECT table_catalog, table_schema, table_name FROM information_schema.tables WHERE table_catalog = 'hive'
i want change table_catalog ='myqsl'   and i search  everywhere  can't find this Parameter

i read the #100  and it worked  but  there is another question  date preview  still use  catalog = hive
i change the private String prestoCatalog = "mysql";    and this part is doesn't work

At your reference.yml set prestoCatalog: mysql

It did work as @picharras said.


Creating your own dataset load_dataset issue

https://huggingface.co/learn/nlp-course/chapter5/5?fw=pt
https://discuss.huggingface.co/t/chapter-5-questions/11744/83?u=fancellu
issues_dataset = load_dataset("json", data_files="datasets-issues.jsonl", split="train")
barfs with

TypeError: Couldn't cast array of type timestamp[s] to null

Someone else saw the same too in Sept 2023

When I split into 1k line files, and run load_dataset on each, it all works fine!
To make this easier to solve, here is my poison payload, zipped up
datasets-issues.zip

Also, if I remove pull_requests from the json, the filtered jsonl loads just fine too. e.g.
import json

filtered_lines = []
with open("datasets-issues.jsonl", "r") as f:
  for line in f:
    data = json.loads(line.strip())  # Parse each line as JSON
    if not data.get("pull_request"):  # Check if "pull_request" key is absent
      filtered_lines.append(line)

# Write the filtered lines to a new file
with open("filtered_jsonl.jsonl", "w") as f:
  f.writelines(filtered_lines)


Missing advanced modes: Pixel 6 Pro

According to source code ( https://github.com/GrapheneOS/Camera/blob/main/app/src/main/java/app/grapheneos/camera/CamConfig.kt#L1449 ) several advanced modes like PORTRAIT, NIGHT, HDR should be available in this camera software, however the only modes available are QR, CAMERA, VIDEO.
This is on a Pixel 6 Pro running GrapheneOS, which surely should support all modes.

These rely on CameraX vendor extensions which have not been released yet. The code detects if the extensions are available and uses them if available. If there is no vendor extension for it, it's not used.

So to clarify, these modes are implemented in preparation for something that does not exist?

It exists. It isn't available on Pixels yet. It works fine on the Samsung devices where it's already available.

Huh, that seems counterintuitive.
Thanks.

Just out of curiosity, is it know if google is even planning to release vendor extensions for pixel devices or anything regarding that? It's weird that it's their library and samsung released vendor extensions while google did not.

CameraX vendor extensions will be available for Pixels. It's in active development. Need to be patient and wait for it to happen. It's not in our control.
There's no overlap between the CameraX team and the Pixel hardware team. The people working on AOSP where Camera2 extensions were added are also a separate group. Pixels are simply another OEM from the perspective of those people and they can't make it happen faster.


bug: tenderdash abci version mismatch between tenderdash, rs-tenderdash, and rs-drive-abci  (v0.24 vs v0.25)

See https://github.com/dashpay/platform/pull/1700.
Expected Behavior
tenderdash should be able to communicate with drive-abci.
Current Behavior
tenderdash receives a version mismatch error from drive-abci where drive-abci claims that its rs-tenderdash-abci version is 0.24.0, but tenderdash needs abci version 0.25.0.
Possible Solution
Not sure.
I think that perhaps rs-tenderdash-abci or rs-drive-abci were committed with old protoc-generated files.
Steps to Reproduce (for bugs)

Build and start dash-drive as per https://github.com/dashpay/platform/issues/1696
Build and start tenderdash as per https://github.com/dashpay/tenderdash/issues/739

The steps above are based on https://docs.dash.org/en/stable/docs/user/masternodes/setup-testnet.html#drive, but with corrections.
Context
I can't get to the point of testing an Evo Node because I can't get the last few pieces together.
Your Environment
Latest default branches of tenderdash and platform repos, as of today.

May be related to https://github.com/dashpay/rs-tenderdash-abci/pull/49

I think this one is fixed by https://github.com/dashpay/rs-tenderdash-abci/pull/49
If not, please reopen.


[Issue]: Set up the audit log connector

I'm attempting to install the "Center of Excellence - Nurture Components" version 1.27 in GCC High.
I'm trying to perform the instructions based on the documentation from the following link.  - https://docs.microsoft.com/en-us/power-platform/guidance/coe/setup-auditlog
I'm working with our Corporate IT Office and I'm told the app registration cannot be completed because the app will have access to the entire enterprise.  This is where I need your expertise.  Can this application registration be setup by our corporate IT and limited to the audit logs specific to my business unit?  I believe the biggest concern is corporate thinks I will have access to the logs and my understand from the documentation is the opposite.  The app registration has access but my personal ID does not.  I need to use this feature in order to use and take advantage of the Governance Starter Kit.  I’d prefer that we do not rely on corporate to monitor our applications and enforce policies that I believe my business unit should support.   Please advise.

I'm afraid that the connector cannot filter by org. We are relying on the filtering capabilities of the backend here, Office 365 Audit Logs, and they offer no such filtering capabilities.
What ever identity installs and runs the flow will need access to the logs. And then the flow will filter down to the logs that are relevant to Power Platform for the entire tenant.
Without doing audit logs, your biggest miss from the toolkit will be the ability to track app lauches.
I hope that helps.

Thank you.  I think the question I need answered by our Corporate IT is the level of access.  If the app registration is setup, can I do anything with the API outside of what PowerApps is going to use it for?  I think their biggest concern is my portal ID will have access to the logs and I can do as I see fit.  However that is not the approach I'm looking to implement, I want to implement the app registration approach.  If we put in place the use of an app registration the application will pull what it needs to support and administer PowerApps.  I cannot manipulate anything.  Do I understand this correctly?

@JeneferM-MSFT can you confirm how the setup of the audit logs work?  Meaning what it does and how it works.  I think I may have enough information to talk to corporate to allow the app registration to be setup.  Along with the description of what the process supports I'm going to provide them with the following.
I’m not requesting personal access to the logs.  I’m requesting that an application have access to the logs in order to support administrative functions of PowerApps/Power Platform.   I will not have access to the underlying PowerApps flow that accesses the logs.  Therefore I cannot freely manipulate or read the logs for information.

I'm afraid the question is rather broad so I'm not sure how to answer.
There is a custom connector the to the O365 Audit Logs. This connector brings in all of the logs from office and dynamics. We have a flow that uses this custom connector to pull these in. It them filters them down to the Power Platform related ones and then we write them to the CoE's audit log table.
Any entity/person that has admin access to the CoE environment will be able to view the logs from within office. Any viewer of the resulting reports (ex the Power BI report from CoE) will only see those results surfaced, ex the last time apps were launched.


mining: Improve block template generator test coverage

All Submissions:

[ ] Submission follows the Code Contribution Guidelines
[ ] There are not any other open Pull Requests for the same update/change
[ ] Commit messages are formatted according to Model Git Commit Messages
[ ] All changes are compliant with the latest version of Go and the one prior to it
[ ] The code being submitted is commented according to the Code Documentation and Commenting section of the Code Contribution Guidelines
[ ] Any new logging statements use an appropriate subsystem and logging level
[ ] Code has been formatted with go fmt
[ ] Running go test does not fail any tests or report any vet issues
[ ] Running golint does not report any new issues that did not already exist

New Feature Submissions:

[ ] Code is accompanied by tests which exercise both the positive and negative (error paths) conditions (if applicable)

Bug Fixes:

[ ] Code is accompanied by new tests which trigger the bug being fixed to prevent regressions

Changes to Core Features:

[ ] An explanation of what the changes do and why they should be included is provided
[ ] Code is accompanied by updates to tests and/or new tests for the core changes (if applicable)

Is there any advantage to creating the chain separately vs. just creating the harness and then changing the chain state as needed for the tests afterward like the existing tests do?

@rstaudt2 I didn't want to make changes to the chain state after the harness is created because I could very easily leave the harness in an inconsistent state. newMiningHarness uses the values from the chain to create other objects. For example it uses chain.isTreasuryAgendaActive and chain.bestState.Height in order to AddFakeUTXO. If I change chain.isTreasuryAgendaActive or chain.bestState.Height after the harness was created then it would leave it in an inconsistent state unless I re-run AddFakeUTXO manually.
But I'm probably being a bit paranoid and it's not a big deal if the harness is in an inconsistent state. Plus it does make writing tests easier. For example all these lines will just become a one liner:
chain.bestState.Height = chainParams.StakeValidationHeight - 2

I see you added a separate test case for the tip generation error. When you get further into it, and more coverage is added, it's probably going to be very cumbersome to have a separate test case for every small error case.

Ya I was thinking about that too. My plan is to start doing something dumb like this since I don't really know the code that well yet, and as I write more and more tests for NewBlockTemplate identify patterns to make writing them easier and refactor as I go. I will probably do something like what you did there with the anonymous structs. This was kind of a premature review request to make sure I'm not doing something completely crazy.

Also, a few notes on some other code contribution guidelines. You may already be aware and be planning on cleaning them up later

Yeah that exactly what I was planning on doing. I appreciate you pointing those out though since it will save me time!

@rstaudt2 I didn't want to make changes to the chain state after the harness is created because I could very easily leave the harness in an inconsistent state. newMiningHarness uses the values from the chain to create other objects. For example it uses chain.isTreasuryAgendaActive and chain.bestState.Height in order to AddFakeUTXO. If I change chain.isTreasuryAgendaActive or chain.bestState.Height after the harness was created then it would leave it in an inconsistent state unless I re-run AddFakeUTXO manually.

It shouldn't be an issue to change values after the harness is created.  What the harness is doing is just starting the chain at a point where you have some outputs to spend.  After that point, you can modify the underlying chain however you want to simulate things like more blocks/transactions/utxos being added or error scenarios.
You are correct that it is easy to leave the chain in an unrealistic/inconsistent state, though.  For example, in reality you should be adding real blocks with corresponding transactions, utxos, and updating all values of the best state as well as several other things.  An alternative to this is to use the chaingen harness which creates a real underlying chain.  You can see an example test I added recently for the consensus changes I was making here.  The downside to using that is it is harder to mock certain scenarios, which is why I started with a fake chain for this test suite, but I wouldn't be opposed to using that either.


Permit IDTOKENS when querying schedds

We are working on removing GSI auth from some of our schedds and would like to use IDTOKENS instead.
Unfortunately, it seems that there are various places where GSI is hardcoded when we are talking to the schedd:

condorSecurity.py
cvWCreate.py

Can we always allow authentication with IDTOKENS and SCITOKENS?

This is also tracked in redmine issue https://cdcvs.fnal.gov/redmine/issues/25299

This is resolved with the release of 3.7.3, closing ticket.


Add Privacy Manifest

Problem
We recently became aware that, according to the new Apple privacy regulations, third-party SDKs will also be required to provide a Privacy Manifest  to ensure compliance with privacy policies in the future.
Solution
Add a Privacy Manifest
Alternatives
No response
How important is this improvement for you?
Would be a major improvement
Feature would mainly be used with
-- select --

Hello,
This is extremely important for us too. I appreciate that enforcement won't happen until Spring 2024 but I wanted to make contact so that we can plan our own app releases to take this into account.
In addition to the OP question here's a list of useful references:
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api
https://developer.apple.com/videos/play/wwdc2023/10060/
Thanks

+1

+1

+1

+1

Hello,
Is there a tentative date and target release version for privacy manifest to be included in the SDK?
Thanks

+1

+1


⚠ File access has degraded performance

In b2c8a73, File access (https://fyle.uk/file/fish) experienced degraded performance:

HTTP code: 200
Response time: 2474 ms

Resolved: File access performance has improved in a328eb1 after 8 minutes.


Does this package support touch ? If not can it be put on the feature request list?

Include touchpunch.js before jqueryui.js

@codef0rmer I think the correct way is to put it 'after' jqueryui.js
I did put it before, and that just make my application always go blank only on touch screen device

Thanks!

Duplicate of #186


After successful syncing for hours, it stopped with error: An error occurred while streaming blocks

As title said, the graph node was running good and the final data can be demonstrated nicely via graphql. Few hours later, it stopped with the blew errors.
graph-node-sebm  | Feb 16 20:30:25.597 INFO Applying 3 entity operation(s), block_hash: 0x6e582437a4c352795b45454d43299b3eb63cfbd41f96cc23f0a95d7fdfc15ff9, block_number: 890913, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubgraphInstanceManager
graph-node-sebm  | Feb 16 20:30:25.639 INFO Applying 3 entity operation(s), block_hash: 0x97c58bcac49f6282949b69f5bb0fb62b86bb30f328bb46416280eb00a77d5816, block_number: 890914, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubgraphInstanceManager
graph-node-sebm  | Feb 16 20:30:25.682 INFO Applying 3 entity operation(s), block_hash: 0x0740937669942298a01cf300126e31a5326c8ddd4c9d7733064ce0a115f43b60, block_number: 890915, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubgraphInstanceManager
graph-node-sebm  | Feb 16 20:30:25.723 INFO received err, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubstreamsBlockStream
graph-node-sebm  | Feb 16 20:30:25.724 ERRO An error occurred while streaming blocks: status: Internal, message: "error building pipeline: failed setup request: parallel processing run: scheduler run: process job result for target \"store_block_meta_end\": worker ended in error: getting block stream: rpc error: code = Unavailable desc = no priority is provided, all priorities are removed", details: [], metadata: MetadataMap { headers: {} }, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubstreamsBlockStream
graph-node-sebm  | Feb 16 20:30:25.724 INFO Applying 3 entity operation(s), block_hash: 0x5ab532979d05839745b9e0bbec1df9362a25280a03218f8e520f940a70c1fe12, block_number: 890916, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubgraphInstanceManager
graph-node-sebm  | Feb 16 20:30:25.766 INFO Applying 3 entity operation(s), block_hash: 0x049e743c1536461a583c7519d57b37a593e7039b74784c6fafaf6de75a1137f6, block_number: 890917, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubgraphInstanceManager
graph-node-sebm  | Feb 16 20:30:26.225 INFO Blockstreams disconnected, connecting, cursor: C30UeEFwZ9tKkxSnc1nX6KWwLpc_DFJmVQLkLRtBgYKj93bGjpyjA2dxbhyBlaHzjhLuSlP429ifF3kq98lT6dbqwLE26iU_Tn9_ld-_reW5fqenPg9KcLphWLyIaNDSWzXWZQD7frhV59HkafLcZEQ2ZMZ3KW6w3DhVo4wAdaRDunRkxjX-JsjS0_LE9oZG9-Z2QrLww3r1AWEoK0oLPM2BYKSZ, start_block: 0, endpoint_uri: substreams-mainnet-0, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubstreamsBlockStream
graph-node-sebm  | Feb 16 20:30:26.329 INFO Blockstreams connected, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubstreamsBlockStream
graph-node-sebm  | Feb 16 20:30:27.189 INFO Applying 1 entity operation(s), block_hash: 0x0d21840abff46b96c84b2ac9e10e4f5cdaeb5693cb665db62a2f3b02d2d57b5b, block_number: 0, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubgraphInstanceManager
graph-node-sebm  | Feb 16 20:30:27.191 INFO Applying 3 entity operation(s), block_hash: 0x04055304e432294a65ff31069c4d3092ff8b58f009cdb50eba5351e0332ad0f6, block_number: 1, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubgraphInstanceManager
graph-node-sebm  | Feb 16 20:30:27.191 ERRO Subgraph writer failed, error: store error: range lower bound must be less than or equal to range upper bound, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubgraphInstanceManager
graph-node-sebm  | Feb 16 20:30:27.192 INFO Applying 3 entity operation(s), block_hash: 0xe9296d312a937cdefc201a8fe80dbfa8a9c958ada9e863ddbb324804722f1de0, block_number: 2, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubgraphInstanceManager
graph-node-sebm  | Feb 16 20:30:27.195 ERRO Subgraph failed with non-deterministic error: Failed to transact block operations: store error: range lower bound must be less than or equal to range upper bound, retry_delay_s: 120, attempt: 0, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubgraphInstanceManager
graph-node-sebm  | Feb 16 20:32:27.196 INFO Blockstreams disconnected, connecting, cursor: GiNXFbrjr-YZ7GZe-04m-KWwLpc_DFtlVQ_lLxRChY-j9HHH35SiUWdwPkvTkan21EbvH1ms192bQnYp98gGvNHjkOw26CFtFCopkIzvrrTse_GjbQpNd7FjVeqKYt3eWDzTNw74eLMJ5IThP6WPZEMyZM51KDKwjzZS9NNcIqYZ73M1ym-pIcrShanH9IFE_rclR-ejxH-jUTM=, start_block: 2, endpoint_uri: substreams-mainnet-0, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubstreamsBlockStream
graph-node-sebm  | Feb 16 20:32:27.256 INFO Blockstreams connected, sgd: 1, subgraph_id: QmakVk8PXFJpd7V68jbTTG739WyU2zSdxjNBzGpK91fsHZ, component: SubstreamsBlockStream

The substreams verison: substreams version 0.2.0 (Commit 85bb457, Built 2023-01-27T19:27:45Z)
The graph node version: graphprotocol/graph-node   tag: canary-6792c9c
The postgres version: postgres  14
The substreams endpoints: https://bnb.streamingfast.io:443
The streaming blocks error happened at first, then the graph node started to process blocks from block_number 0 again, and failed with block_number 2 when was trying to write to postgres db: range lower bound must be less than or equal to range upper bound.
Does the error relates to the substreams framework or only the substreams module?

Hey tw :) thanks for the detailed report (with version numbers and all)
The error no priority is provided, all priorities are removed comes from the https://pkg.go.dev/google.golang.org/grpc/xds/internal/balancer/priority package (ErrAllPrioritiesRemoved), so seems like a network/xds issue on the backend, routing parallel requests to the tier2 pool of substreams nodes. Probably transient so a retry loop and/or a backoff period might have solved it.
The error range lower bound must be less than or equal to range upper bound comes from PostgreSQL (see https://pganalyze.com/docs/log-insights/app-errors/U140).  It's probably trying to write the same entities, because it's starting from block 0 instead of continuing.
It would seem the cursor was not properly used to continue where it left off, is that possible?


Feature/quic server branch rebase

Please review the fixup commits as they solve conflicts

Hmmm. There are CI failures. Should we worry about that during the rebase?

Definitely. I'm looking at them

so, I think thats an artifact of how I created this PR.  I did it mostly as an exercise to figure out how to do a rebase review.  Currently the PR is requesting a merge from my rebased branch to the feature/quic-server branch, which would definately break things all over the place.  I wasn't sure how to properly open the PR as theres no way to indicate that this is going to be a force push to the quic-server branch

all the fixups match the ones I made in my branch

24 hours has passed since 'approval: done' was set, but this PR has failing CI tests. Once the tests pass it will get moved to 'approval: ready to merge' automatically,alternatively please review and set the label manually.

It seems there is a conflict

The branch was rebased yesterday. I've just forgot to close this. Closing now.


[work in progress] Add arm64 prebuilds to Travis build

Compiling node-usb on Raspberry Pi is not all that friendly. Prebuilds would be a useful addition if Travis plays along.
This is a work in progress. I'm still sorting out how to test Travis builds from a fork.

Closing this until I can test it more. Travis is not very intelligent about excluding things like osx builds for arm64. :roll_eyes:


Ticket with CCs

Ticket with CCs
https://muziboodemo.supportbee.com/tickets/10353222

hey @nisanth074 closing this issue. non relevant.

What was this about?


add GitHub actions

Codecov Report

Merging #4 into master will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master        #4   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         4    +1
  Lines           59        60    +1
  Branches        10        10
=========================================
+ Hits            59        60    +1

Impacted Files
Coverage Δ

packed/_version.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Some in app icons are missing with Neuwaita

@AliGaygisiz I am aware of this issue ... any idea how to fix it ? will be working on it now !!

These are some svgs used for system symbols in libadwaita programs. The should be in the original adwaita icon theme. I guess the easiest fix is to import them from there


merge from arlac77/template-github,arlac77/template-kronos-component

package.json

chore(deps): add ^7.3.1 remove ^7.3.0 (devDependencies.c8)

Codecov Report

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

@@           Coverage Diff           @@
##           master     #759   +/-   ##
=======================================
  Coverage   91.03%   91.03%
=======================================
  Files          12       12
  Lines         792      792
  Branches       94       94
=======================================
  Hits          721      721
  Misses         71       71

Continue to review full report at Codecov.

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


Query aliases are not being replaced completly

I'm running a DB2 and for some reason some parts of the query aliases are not getting replaced.
My DB gets this query: SELECT {MYDB2.Example}.{id}, {MYDB2.Example}.{ARTNR} FROM {MYDB2.Example}
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/fen/PycharmProjects/wisainfo/env/local/lib/python2.7/site-packages/django/db/models/query.py", line 232, in __repr__
    data = list(self[:REPR_OUTPUT_SIZE + 1])
  File "/home/fen/PycharmProjects/wisainfo/env/local/lib/python2.7/site-packages/django/db/models/query.py", line 256, in __iter__
    self._fetch_all()
  File "/home/fen/PycharmProjects/wisainfo/env/local/lib/python2.7/site-packages/django/db/models/query.py", line 1087, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/home/fen/PycharmProjects/wisainfo/env/local/lib/python2.7/site-packages/django/db/models/query.py", line 54, in __iter__
    results = compiler.execute_sql()
  File "/home/fen/PycharmProjects/wisainfo/env/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 835, in execute_sql
    cursor.execute(sql, params)
  File "/home/fen/PycharmProjects/wisainfo/env/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 79, in execute
    return super(CursorDebugWrapper, self).execute(sql, params)
  File "/home/fen/PycharmProjects/wisainfo/env/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/home/fen/PycharmProjects/wisainfo/env/local/lib/python2.7/site-packages/django_pyodbc/base.py", line 490, in execute
    raise utils.DatabaseError(*e.args)
DatabaseError: ('42000', '[42000] [IBM][CLI Driver] CLI0118E  Invalid SQL syntax. SQLSTATE=37000 (-99999) (SQLExecDirectW)')`

My Model:
class Example(models.Model):
    artnr = models.TextField()

Hello Bloodywing,
In DB2, this is a valid query, if MYDB2.Example exists.
 SELECT {MYDB2.Example}.{id}, {MYDB2.Example}.{ARTNR} FROM {MYDB2.Example}

{ and } are used for quoting in DB2 SQL.  Perhaps you haven't created the table or you don't have permissions?
This sequence of code works for me on my AS400 iSeries machine where DOMEXQRY is swapped MYDB2:
CREATE TABLE DOMEXQRY.Example (
    id int,
    artnr varchar(255)
)

SELECT {DOMEXQRY.Example}.{id}, {DOMEXQRY.Example}.{ARTNR} FROM {DOMEXQRY.Example}

drop table DOMEXQRY.Example

ODBC error 37000 is a syntax or an access error.  Do you have permissions?  Google ODBC 37000.
Closing ticket for now.  If you have more details that make it seem like it is django-pyodbc, please re-open.

I have read access to the Schema which I'm trying to access. I used the same credentials with python-ibmdb and the django module with it and it works there. The DB2 Version I'm testing with is DB2 LUW 10.5
I can check it tomorrow again at work if I missed something.

Can you use { and } as quotes in your version of DB2?

Good night! The combined documentation for IBM DB2 LUW 10.5 is 24,051 pages.

Nope, I picked the query today up and threw it right into my DB2 and DB2 told me the same syntax error. Then I simply removed the {} and the query works without problems. I researched a bit and there is something called xquery for db2 which uses xml lookup and it looks a bit similar, but I never saw something with the curly brackets before. My DB2 only accepts " for quoting.
:) Yup, IBMs docs are a mess.

Found this here: http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzaik/odbcapis.htm and it says.

SQL_IDENTIFIER_QUOTE_CHAR – By default a double-quote mark is returned. If the application in use is MS QUERY (MSQRY32) then a single blank is returned.

I can provide you more test results tomorrow, but I doubt that [ will work.

I can access that configuration in pyodbc like:
import pyodbc, os, sys
driver_name = 'IBM i Access ODBC Driver'
if os.name == 'nt':
    driver_name = 'iSeries Access ODBC Driver'
connection = pyodbc.connect("CONNTYPE=2;DRIVER={%s};SYSTEM=<IP_ADDRESS>;UID=foo;PWD=bar"%driver_name)
    connection.getinfo(pyodbc.SQL_IDENTIFIER_QUOTE_CHAR)

However, doing so returns " for my as400 db2 setup, even though " doesn't work for me.
I retrieved every variable accessible in pydobc's getinfo as defined on this page.  None of them have the text { even though my DB2 requires it.
I think we can't depend on the SQLGetInfo or getinfo results.
Thus, our best be is is probably to find the info in the SYSIBM meta tables.

Well, I can't figure out how to query SYSIBM.* or find the correct variable.  I'm really not good with DB2.  I put in the DB2 support, but it is really AS400 DB2.  Anyways, I'd prefer to trigger correct quoting based on a feature or a configuration setting.  Do you know which table or system variable would hold the information  about what kind of quoting the DB2 SQL parser uses?

Nope I started with DB2 yesterday. But I can ask my colleague tomorrow if he knows more about escaping. I saw so many example queries now and couldn't find a single one with {
Btw. you don't need to pull your hairs out on this, since I've got it running with another db engine for django.

IBM seems to have two products called DB2...  I happen to use the one that is less frequently used.  Anyways, if your colleague knows a trick then great.  Otherwise we should be able to add an explicit configuration option that allows non-AS400 DB2 users to manually specify the left-quote and right-quote, whether you use it our not :-)

IBM has a whole armada of products called DB2. And various query extensions that work in some versions and some version wont have them or they need to be activated first (I really have no idea, there is a reason why they offer paid support). I'll check out db2 express this weekend when I'm bored, maybe I can find a proper solution and even be able to detect the used escape char.

Yeah, I kinda recommend leaving off DB2, if you're somehow able to do so.


Allow updating delivery date in Admin Grants

Allow updating delivery date in Admin Grants

jira 444

https://github.com/ledgerleapllc/devxdao-frontend/commit/5f5ff5ab9a2016b038911be793c928a8dd85c9a3
https://github.com/ledgerleapllc/devxdao-frontend/commit/d89777ccb382caf2ff80c6642a3899de4309e6a6
https://github.com/ledgerleapllc/devxdao-frontend/commit/c63e095253de9b7243bbd350bfbab1b3f958baf5


GPU_ResetProjection required when using SDL_WINDOW_ALLOW_HIGH_DPI

Related to #166 and #156.
After you create a high-DPI window you need to call GPU_ResetProjection() for virtual resolution to work. GPU_GetVirtualResolution() will give you the correct virtual resolution, but GPU_Blit() will require that you use physical coordinates. After calling GPU_ResetProjection(), GPU_Blit() draws to virtual coordinates. I was using a work-around using a scaling factor but this is much simpler.
For an image drawn at ( window->w / 2 , window->h / 2 ):
Without GPU_ResetProjection():

With GPU_ResetProjection():

Example:
//Create high-DPI window
GPU_Target *window = GPU_Init(windowWidth, windowHeight, SDL_WINDOW_ALLOW_HIGHDPI);

if (window == NULL)
{
    cout << "could not initialize window" << endl;
}

//Required to make virtual resolution work
//with high-DPI
GPU_ResetProjection();

Yep, that worked! Erased all calls to GPU_ResetProjection() and everything works perfectly.
Thanks for the reply -- sorry it took me so long to get back to you.

No problem at all.  I'm glad we got this part resolved.


Updated schedule to include application area talks

@rjleveque, how does this schedule look?

Can you push this to the web for ease of viewing?

Sure: http://faculty.washington.edu/cvogl/clawdev-2016/index.html

Looks good to me, except Dave George's talk should start at 10:10.
Thanks!

Thanks for catching that!


2.4.x dep check

Issue #, if available:
Description of changes:
Dependency check
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Is this PR still active? Do we still want this?


Utility/observable dictionary

ObservableConcurrentDictionary is a concurrent dictionary which notifies observers of any changes made to the contents of said dictionary.

Codecov Report

Merging #4 into master will increase coverage by 6.26%.
The diff coverage is 89.65%.

@@            Coverage Diff             @@
##           master       #4      +/-   ##
==========================================
+ Coverage   57.90%   64.17%   +6.26%
==========================================
  Files          12       14       +2
  Lines         506      628     +122
==========================================
+ Hits          293      403     +110
- Misses        213      225      +12

Impacted Files
Coverage Δ

...rc/PBase/Utility/ObservableConcurrentDictionary.cs
89.65% <89.65%> (ø)

src/PBase/Networking/Utility/MathHelper.cs
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Show summary in minutes

It would a bit easier to grasp how much time is spent, if the summary could show the duration in minutes for tasks that take longer than 60 seconds to finish, like gym, pilot, and watchbuild.
So that this:

Would become either this:

or this:

Thanks for the feedback, however I don't like the design and messaging of the alternatives.

Alright. how about something like this?
+----------+
| 3s       |
| 52s      |
| 1m 3s    |
| 52m 5s   |
| 54s      |
+----------+

It looks like there hasn’t been any recent activity on this issue in some time, so I’m closing it.

I still think it's a relevant improvement though!

I'm not 100% sold to be honest


fix: bump axios version and license year

Fixes

Bumps axios version dependency and related sendgrid version numbers
Updated year in LICENSE to pass CI test

Checklist

[x] I acknowledge that all my contributions will be made under the project's license
[ ] I have made a material change to the repo (functionality, testing, spelling, grammar)
[x] I have read the Contribution Guidelines and my PR follows them
[x] I have titled the PR appropriately
[x] I have updated my branch with the main branch
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added the necessary documentation about the functionality in the appropriate .md file
[ ] I have added inline documentation to the code I modified

If you have questions, please file a support ticket, or create a GitHub Issue in this repository.

I also added maxBodyLength to try to get the tests to pass, but now Travis is running in docker pull rate limits.

I also added maxBodyLength to try to get the tests to pass, but now Travis is running in docker pull rate limits.

Is it possible to expedite this?

Is it possible to expedite this?

@sjbeatle Yes! We're releasing a new version with the security fix today.

@sjbeatle Yes! We're releasing a new version with the security fix today.


password and willMessage field types should be byte[] in codec.mqtt

Motivation:
Update the mqtt-codec based on mqtt spec (<IP_ADDRESS>).
Modification:

Changes made to the file MqttConnectPayload.java.
Subsequent changes have been made to files MqttDecoder.java, MqttEncoder.java, MqttMessageBuilders.java.
Test cases have been updated.

Result:
Fixes #6750 .

This is a duplicate of https://github.com/netty/netty/pull/6769 ... fyi @oakad if you don't plan on resolving the comment in your PR will will focus on this PR instead.

Hi @Scottmitch , I have made the suggested changes.

Hi @Scottmitch, removed that line of code.

Hi @fenik17 , @Scottmitch , do you think of any further changes?

@sbcd90 can you please sign our ICLA and let me know once done:
https://netty.io/s/icla

@normanmaurer , I have signed the ICLA.

Cherry-picked into 4.1 (66c83f7b74b3ea28baa4a0702d621aba8331993a).
@sbcd90 thanks!


[Question] Theme on the screenshot

Could you please tell me what is the theme that you are using?
I mean this screenshot:

The awesome GTK theme Arc.


npm install fails on Windows 10

Running npm install gives the following error

<EMAIL_ADDRESS>postinstall C:\Users\Jason\Documents\Github\ReasonProject\node_modules\ocaml
./yarn-install-project.sh
'.' is not recognized as an internal or external command, operable program or batch file.

sorry, didn't realize it was windows linux subsystem