Misleading error message from serializer when passing StructureData instead of Atoms

I just tried running the eos WorkGraph from workgraph_collections and ended up passing a StructureData where an Atoms object should have been passed. The traceback I got (see below) was a bit misleading, and led me to think there was something wrong with my other inputs, e.g., the metadata dictionary (that is, until I printed the actual offending data object in the ValueError). As StructureData doesn't have a .value property, the exception was triggered and assumed it wasn't an AiiDA data type. Maybe the check can be further refined here, or at least the object added in the exception for easier debugging.
ValueError                                Traceback (most recent call last)
Cell In[53], line 28
     14 wg = eos_workgraph(
     15     # atoms=atoms,
     16     atoms=structure,
   (...)
     24     # metadata=metadata,
     25 )
     26 # ------------------------- Submit the calculation -------------------
     27 # wg.run()
---> 28 wg.submit(wait=True, timeout=200)

File ~/aiida_projects/workgraph-dev/git-repos/aiida-workgraph/aiida_workgraph/workgraph.py:133, in WorkGraph.submit(self, inputs, wait, timeout, metadata)
    130         self.tasks[name].set(input)
    132 # save the workgraph to the process node
--> 133 self.save(metadata=metadata)
    134 if self.process.process_state.value.upper() not in [\"CREATED\"]:
    135     raise ValueError(f\"Process {self.process.pk} has already been submitted.\")

File ~/aiida_projects/workgraph-dev/git-repos/aiida-workgraph/aiida_workgraph/workgraph.py:152, in WorkGraph.save(self, metadata)
    149 from aiida.engine.utils import instantiate_process
    150 from aiida_workgraph.engine.workgraph import WorkGraphEngine
--> 152 inputs = self.prepare_inputs(metadata)
    153 if self.process is None:
    154     runner = manager.get_manager().get_runner()

File ~/aiida_projects/workgraph-dev/git-repos/aiida-workgraph/aiida_workgraph/workgraph.py:73, in WorkGraph.prepare_inputs(self, metadata)
     71 wgdata = self.to_dict()
     72 merge_properties(wgdata)
---> 73 serialize_pythonjob_properties(wgdata)
     74 metadata = metadata or {}
     75 inputs = {\"wg\": wgdata, \"metadata\": metadata}

File ~/aiida_projects/workgraph-dev/git-repos/aiida-workgraph/aiida_workgraph/utils/__init__.py:321, in serialize_pythonjob_properties(wgdata)
    315 # if value is not None, not {}
    316 if not (
    317     prop[\"value\"] is None
    318     or isinstance(prop[\"value\"], dict)
    319     and prop[\"value\"] == {}
    320 ):
--> 321     prop[\"value\"] = general_serializer(prop[\"value\"])

File ~/aiida_projects/workgraph-dev/git-repos/aiida-workgraph/aiida_workgraph/orm/serializer.py:75, in general_serializer(data, check_value)
     72 if isinstance(data, orm.Data):
     73     if check_value and not hasattr(data, \"value\"):
     74         # print()
---> 75         raise ValueError(\"Only AiiDA data Node with a value attribute is allowed.\
\", data)
     76     return data
     77 elif isinstance(data, common.extendeddicts.AttributeDict):
     78     # if the data is an AttributeDict, use it directly

ValueError: ('Only AiiDA data Node with a value attribute is allowed.\
', <StructureData: uuid: ce586a59-89cd-4f9c-8278-e475ce3a984c (unstored)>)"

### Tasks

@GeigerJ2. Thanks for reporting the issue. Could you fix it?
btw. There are two EOS examples for quantum espresso; one is using aside-quantumespresso, and another using an ASE espresso calculator (PythonJob).

Hi @superstar54, sure, I'll see when I get around implementing a fix. Yes, I saw the one using the ASE espresso calculator, but wasn't aware of the one using aiida-quantumespresso. Could you point me to that, please? Ideally, I'd just run the pw.x executable via ShellJob, using a standard function to write the input (as outlined here), and then a minimal parser to get the results. The idea is to keep it as minimal as possible, with no AiiDA boilerplate, to get a good comparison for the ADIS project. At least, that's my idea, and I think with WorkGraph and aiida-shell we can achieve that.

using aiida-quantumespresso CalcJob:
Source code: https://github.com/superstar54/workgraph-collections/blob/main/workgraph_collections/qe/eos.py
Example usage: https://workgraph-collections.readthedocs.io/en/latest/qe/eos.html
using ASE espresso calculation
Source code: https://github.com/superstar54/workgraph-collections/blob/main/workgraph_collections/ase/espresso/eos.py
Example usage: https://workgraph-collections.readthedocs.io/en/latest/ase/espresso/eos.html

I think with WorkGraph and aiida-shell we can achieve that.

Yes

Cheers, thanks for the pointers! <3


Consider adding cleantalk

https://cleantalk.org/blacklists/as46664

There is no free API. We might scrape the page though - https://cleantalk.org/blacklists/<IP_ADDRESS>


Talk to Richard Waterworth [Google EMEA Syrian Initiatives]

https://www.linkedin.com/in/richard-waterworth-b913109/


Patch

Codecov Report
Base: 58.75% // Head: 62.84% // Increases project coverage by +4.09% :tada:

Coverage data is based on head (1558d58) compared to base (e8e9df5).
Patch coverage: 53.40% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #310      +/-   ##
============================================
+ Coverage     58.75%   62.84%   +4.09%
- Complexity     1154     1197      +43
============================================
  Files           189      189
  Lines          4352     4393      +41
  Branches        516      527      +11
============================================
+ Hits           2557     2761     +204
+ Misses         1591     1422     -169
- Partials        204      210       +6

Impacted Files
Coverage Δ

...n/java/seedu/address/commons/core/index/Index.java
100.00% <ø> (ø)

...seedu/address/logic/commands/util/CommandUtil.java
96.55% <ø> (-0.23%)
:arrow_down:

...va/seedu/address/logic/parser/PredicateParser.java
62.33% <0.00%> (+2.33%)
:arrow_up:

...dress/logic/parser/util/SortCommandParserUtil.java
54.54% <ø> (+2.37%)
:arrow_up:

.../seedu/address/model/order/AdditionalRequests.java
100.00% <ø> (ø)

src/main/java/seedu/address/model/order/Price.java
91.30% <ø> (ø)

...main/java/seedu/address/model/person/Location.java
66.66% <ø> (-6.07%)
:arrow_down:

src/main/java/seedu/address/model/person/Name.java
81.81% <ø> (ø)

src/main/java/seedu/address/model/pet/Color.java
77.77% <ø> (ø)

...n/java/seedu/address/model/pet/PetCertificate.java
90.00% <ø> (ø)

... and 22 more

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

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


Dynmap

Hey thanks for this minecraft deployment its just what i was looking for.  I have everything pretty much working but I am unable to get DynMap working.  I followed the instructions and placed the plugin into the plugins folder and I can also confirm that the plugin is loaded but when I access the website I get a 404 error.  the 404 error occurs when i use the internal domain name which is minecraft.internal.com or the internal ip address.  I am able to use the web name because i created an internal dns record to resolve to the docker host.  If i do map.minecraft.internal.com i get This page cannot be reached.  I am pretty savvy so please hit me with any suggestions you have so I can attempt to resolve the issue, thanks.

Can you take a look at the Traefik Routing Dashboard under: traefik.minecraft.internal.com and see if the dynmap route gets registered correctly? Also take a look at the traeffik containers log when requesting map. and see if there are any errors.

Ok I figured out a portion of the issue.  I did not have internal DNS records created for the map/traefik/rcon endpoints.  now that I have added them I can access map.minecraft.internal.com but i get "Connection to back-end closed, automatically trying to reconnect in 5 seconds...." when i try to connect to rcon.minecraft.internal.com. i get 404 when I attempt to traefik/rcon.  Also, in the console of the traefik container i am getting a lot of these errors
"time="2021-11-25T19:17:13Z" level=error msg="Unable to obtain ACME certificate for domains".  Does traefik need to be able to verify the domains externally via lets encrypt?  If so that will be problematic for me because i am currently using nginx as a reverse proxy for my sites that are accessible remotely.  either way i will report what i find in the traefik logs and if there are any other suggestions please send them my way.

Yes you are correct, the traeffik instance tries to issue Let'ss Encrypt certificates for all endpoints. And Let's Encrypt can't reach your backend because of the reverse proxy.
As I see it you have two options:
Option 1
Change the base domain in your Minecraft server setup to a real reachable subdomain and forward all traffic from your reverse proxy to the traeffik instance.
For example create a *.mc.your-server.com proxy rule to the traeffik backend. You will have to use different ports for the traeffik container though as your nginx proxy already binds to 80/443.
This option is not really recommended as traeffik is thought to be a "front door" proxy, but you could make it happen.
To expose an direct alias, e.g. for map.your-server.com instead of map.mc.your-server.com create a cname and proxy it in your nginx to traeffik.
Option 2
Do all TLS termination on your nginx proxy, remove the certificate configuration from traefikk or provide your own certificate resolver and remove the https redirects from traeffik.
This will probably become a real mess since you are manually doing the things traeffik is supposed todo.
Option 3 recommended
Switch out your nginx front door for the traeffik container (on my server we used a separate compose file run as a different user that auto started when the server started). This way you are decoupling the traeffik proxy from Minecraft and then you can configure the routes from your current nginx configuration in a different container that is also connected to traeffik.
services:
  traefik:
    image: "traefik:v2.3"
    container_name: "traefik"
    command:
      #- "--log.level=DEBUG"
      - "--api.dashboard=true"
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
      - "--entrypoints.web.http.redirections.entryPoint.scheme=https"
      - "--entrypoints.web.http.redirections.entrypoint.permanent=true"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.myresolver.acme.tlschallenge=true"
      -<EMAIL_ADDRESS>      - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
    ports:
      - "443:443"
      - "80:80"
    networks:
      - traefik
    volumes:
      - "./letsencrypt:/letsencrypt"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
    labels:
      - "traefik.http.routers.api.entrypoints=websecure"
      - "traefik.http.routers.api.tls.certresolver=myresolver"
      - "traefik.http.routers.api.rule=Host(`traefik.my-node1.my-server.com`)"
      - "traefik.http.routers.api.service=api@internal"
      - "traefik.http.routers.api.middlewares=auth"
      - "traefik.http.middlewares.auth.basicauth.users=your-user:your-htaccess-pw-encrypted"
networks:
  traefik:
    external: true

All docker container that have the correct traeffik labels and are connected to the traeffik network will automatically route over the proxy. This allows you to dynamically add and remove endpoints in your network.
Here is an example of a simple nginx container that is routed to from traefik. You can mount your existing nginx config into it and it should work.
version: "3.3"

services:
  nginx:
    image: nginx
    container_name: test_proxy
    labels:
      - "traefik.enable=true" # enables the service
      - "traefik.http.routers.nginx.rule=Host(`proxy.mydomain.com`)" # domain to expose on
      - "traefik.http.routers.nginx.entrypoints=websecure" # if you named your 443 entrypoint differently than webscure, substitute it here!
      - "traefik.http.routers.nginx.tls.certresolver=letsencrypt" # if you named your cert resolver differently than letsencrypt, substitute it here!
    networks:
      - traefik-global-proxy # Traefik network! If you named it differently, substitute it here and below.

networks:
  traefik:
    external: true

Did the solution we discussed in the Discord work?
If so could you maybe document this in a very short FAQ style so I can add it to the docs for others?

Thanks for checking in.  I haven't been working on it super heavy because I have been really busy.  If you don't mind I will pick you brain as I navigate working through the solution we discussed.

Sure just hit me up on Discord. I will close this issue then.


Streaming support

Hi
Is there support for real-time audio transcription using streaming?
Thx

This might help. https://github.com/guillaumekln/faster-whisper/discussions/275

Unfortunately #275  doesn't helps.
We were looking to use real-time audio from the client side and stream it as data buffers to the backend. But fasterWhisper transcribes the initial audio stream only and when the second stream cones as a data buffer, it throws an error :
Invalid data found when processing input: '«none>'
So is there no support for streaming the data or we are doing something wrong ?

Hello, I also want to do this, capture voice as audio stream and then transcribe it with faster-whisper real-time,
I just want to capture audio with PyAudio package, and then use numpy array to save audio data,
self.pa = PyAudio()
stream = self.pa.open(format=paInt16, channels=2, rate=48000, input=True, frames_per_buffer=2048)
while True:
    audio_data = stream.read(2048)  # 读出声卡缓冲区的音频数据
    a = np.ndarray(buffer=audio_data, dtype=np.int16, shape=(2048,))
    segments, info = fasterModel.transcribe(a, language="en")

Hello, I also want to do this, capture voice as audio stream and then transcribe it with faster-whisper real-time, I just want to capture audio with PyAudio package, and then use numpy array to save audio data,
self.pa = PyAudio()
stream = self.pa.open(format=paInt16, channels=2, rate=48000, input=True, frames_per_buffer=2048)
while True:
    audio_data = stream.read(2048)  # 读出声卡缓冲区的音频数据
    a = np.ndarray(buffer=audio_data, dtype=np.int16, shape=(2048,))
    segments, info = fasterModel.transcribe(a, language="en")

I think you need to resample the audio to 16k.
Furthermore, this implementation will not produce good transcripts as the audio will be segmented at random points and may cut words in half.
Maybe checkout : https://github.com/ufal/whisper_streaming

Thanks

Hi! Did you solve the problem? Thank you so much!

Is there a better plan?


Decrypt config file form ISP ONU

I would like to ask for some help.
My current ISP ONU is based on the same chip RTL960x so most of the config to make the SFP work is very straight forward, however i found that as a good ISP Provided ONU, the "config.xml" is encrypted.
I was able to extract the web directory by using UART and i found this function in  "saveconf.asp"
function on_submit(obj)
{
 obj.isclick = 1;
 postTableEncrypt(document.saveCSConfig.postSecurityFlag, document.saveCSConfig);
 return true;
}

The postTableEncrypt function can be found here
https://gist.github.com/maidlinux01/23b09d79c6666b7781f9d3b86c8c90a8
Unfortunately  i dont have much experience dealing with this kind of code, so i would like to ask you for some help to create a decrypt python script, so it be easier to dump config from this ISP modem.
ISP ONU:
PING Communication
7962v1
Regards

Looks like its ONU uses 9607c chip
# cat /proc/cpuinfo
system type		: Formosa
machine			: rtk,9607c
processor		: 0
cpu model		: MIPS interAptiv (multi) V2.0
BogoMIPS		: 598.01
wait instruction	: yes
microsecond timers	: yes
tlb_entries		: 64
extra interrupt vector	: yes
hardware watchpoint	: no
isa			: mips1 mips32r2
ASEs implemented	: mips16 dsp mt
shadow register sets	: 1
kscratch registers	: 0
package			: 0
core			: 0
VPE			: 0

And here is the disk layout
# df -P
Filesystem           1024-blocks    Used Available Capacity Mounted on
/dev/root                12032     12032         0 100% /
devtmpfs                 56068         0     56068   0% /dev
tmpfs                    56192         0     56192   0% /run
ubi0:ubi_Config           8140       348      7344   5% /var/config
#

I would like to ask for some help. My current ISP ONU is based on the same chip RTL960x so most of the config to make the SFP work is very straight forward, however i found that as a good ISP Provided ONU, the "config.xml" is encrypted. I was able to extract the web directory by using UART and i found this function in "saveconf.asp"
function on_submit(obj)
{
 obj.isclick = 1;
 postTableEncrypt(document.saveCSConfig.postSecurityFlag, document.saveCSConfig);
 return true;
}

The postTableEncrypt function can be found here https://gist.github.com/maidlinux01/23b09d79c6666b7781f9d3b86c8c90a8
Unfortunately i dont have much experience dealing with this kind of code, so i would like to ask you for some help to create a decrypt python script, so it be easier to dump config from this ISP modem. ISP ONU: PING Communication 7962v1
Regards

there is no cryptography in there, it is obfuscated and should be possible to reverse.


Get rid of 300m range in gym options

As per this investigation, we should either change it to 200m or get rid of it entirely.

Niantic has fixed this now.


Providing data to another cloud

Twitter Developer account applying is not friend,  preventing the users from downloading dataset.
Do u mind sharing the data to google cloud drive or other online storage platform?

We cannot provide download links to final processed datasets due to licensing restrictions of the twitter API and the other dataset sources.


lets use a ribbon SA for the spring-boot-ribbon quickstart and lets add the service paths to HTTP based quickstarts that don't use / as the entrypoint

lets use a ribbon SA for the spring-boot-ribbon quickstart and lets add the service paths to HTTP based quickstarts that don't use / as the entrypoint

[merge]


Cursor in insert mode is forced to be vertical line.

I always had box cursor and I don't like to have it another way. Since using this plugin, it forces my cursor to be vertical line instead of box (box is in normal mode only - exactly opposite that I want it to be).
Any chance to add an option to set it?

Hi @ftpd
In fact, this plugin has provided an option for configurating the cursor style. And you can find out all the configuration details in the head of source code:
https://github.com/jeffreytse/zsh-vi-mode/blob/aad07d8bc4197d6a1e4458fe29fb31cb451f7dad/zsh-vi-mode.zsh#L25-L29
and
https://github.com/jeffreytse/zsh-vi-mode/blob/aad07d8bc4197d6a1e4458fe29fb31cb451f7dad/zsh-vi-mode.zsh#L119-L125
As mention above, you can set the cursor style in insert mode to a beam as below in your .zshrc file:
# Set the sursor stlye of defferent vi modes
if [[ ${TERM:0:5} == 'xterm' ]]; then
  ZVM_VI_INSERT_MODE_CURSOR=$ZVM_CURSOR_XTERM_BLOCK
else
  ZVM_VI_INSERT_MODE_CURSOR=$ZVM_CURSOR_BLOCK
fi

Thanks and regards

Hi @ftpd
In fact, this plugin has provided an option for configurating the cursor style. And you can find out all the configuration details in the head of source code:
https://github.com/jeffreytse/zsh-vi-mode/blob/aad07d8bc4197d6a1e4458fe29fb31cb451f7dad/zsh-vi-mode.zsh#L25-L29
and
https://github.com/jeffreytse/zsh-vi-mode/blob/aad07d8bc4197d6a1e4458fe29fb31cb451f7dad/zsh-vi-mode.zsh#L119-L125
As mention above, you can set the cursor style in insert mode to a beam as below in your .zshrc file:
# Set the sursor stlye of defferent vi modes
if [[ ${TERM:0:5} == 'xterm' ]]; then
  ZVM_VI_INSERT_MODE_CURSOR=$ZVM_CURSOR_XTERM_BLOCK
else
  ZVM_VI_INSERT_MODE_CURSOR=$ZVM_CURSOR_BLOCK
fi

Thanks and regards

Thanks - I haven't seen it in Readme, so I somehow thought it's not supported. I should take a look into code ;-)
I'm closing this issue as fixed now.

Thanks - I haven't seen it in Readme, so I somehow thought it's not supported. I should take a look into code ;-)
I'm closing this issue as fixed now.

Hi @ftpd
😄 You are welcome. And you can star this repository for the updates and features in the future. Currently I'm focusing on this plugin and making it better and better.
Thanks and regards.

Hi @ftpd
😄 You are welcome. And you can star this repository for the updates and features in the future. Currently I'm focusing on this plugin and making it better and better.
Thanks and regards.

Hi @ftpd
The latest commit ( f9b508d ) has provided some options for users to custom the cursor style for better terminal compatibility.

You can set your cursor style for different vi mode:

# ZVM_NORMAL_MODE_CURSOR:
# the prompt cursor in normal mode
#
# ZVM_INSERT_MODE_CURSOR:
# the prompt cursor in insert mode
#
# ZVM_VISUAL_MODE_CURSOR:
# the prompt cursor in visual mode
#
# ZVM_VISUAL_LINE_MODE_CURSOR:
# the prompt cursor in visual line mode

And the below cursor style are supported:

ZVM_CURSOR_BLOCK
ZVM_CURSOR_UNDERLINE
ZVM_CURSOR_BEAM
ZVM_CURSOR_BLINKING_BLOCK
ZVM_CURSOR_BLINKING_UNDERLINE
ZVM_CURSOR_BLINKING_BEAM

Custom your cursor style is easy as below:

ZVM_INSERT_MODE_CURSOR=$ZVM_CURSOR_BLOCK
ZVM_NORMAL_MODE_CURSOR=$ZVM_CURSOR_BLINKING_UNDERLINE

Thanks and regards

Hi @ftpd
The latest commit ( f9b508d ) has provided some options for users to custom the cursor style for better terminal compatibility.

You can set your cursor style for different vi mode:

# ZVM_NORMAL_MODE_CURSOR:
# the prompt cursor in normal mode
#
# ZVM_INSERT_MODE_CURSOR:
# the prompt cursor in insert mode
#
# ZVM_VISUAL_MODE_CURSOR:
# the prompt cursor in visual mode
#
# ZVM_VISUAL_LINE_MODE_CURSOR:
# the prompt cursor in visual line mode

And the below cursor style are supported:

ZVM_CURSOR_BLOCK
ZVM_CURSOR_UNDERLINE
ZVM_CURSOR_BEAM
ZVM_CURSOR_BLINKING_BLOCK
ZVM_CURSOR_BLINKING_UNDERLINE
ZVM_CURSOR_BLINKING_BEAM

Custom your cursor style is easy as below:

ZVM_INSERT_MODE_CURSOR=$ZVM_CURSOR_BLOCK
ZVM_NORMAL_MODE_CURSOR=$ZVM_CURSOR_BLINKING_UNDERLINE

Thanks and regards

Wow, neat! Thanks!

Wow, neat! Thanks!


feature request

Is there a way to show the gif(that u have at the end of your repo under "enjoy") when project is building or some task is loading?

☝ This?
Probably, yeah.
It might get in the way sometimes though, so I don't know if it's worth the effort of implementing. Would be neat if it could be drawn on the background to avoid getting in the way.
However, my background is reserved to having Zero Two painted on it 😄
I'll welcome contributions though.

☝ This?
Probably, yeah.
It might get in the way sometimes though, so I don't know if it's worth the effort of implementing. Would be neat if it could be drawn on the background to avoid getting in the way.
However, my background is reserved to having Zero Two painted on it 😄
I'll welcome contributions though.

i am a zero two fan too!!
would be super awesome if u can share how it looks on your IDE and maybe share files?

You have good taste 💯
I use Zero Two Dark Obsidian from my Doki Theme suite. I use the assets bundled with the plugin, the code font is Victor Mono, I also use rainbow brackets

WOW! I installed it and this looks very beautiful , Your work is super cool! gives me a lot of motivation <3


ACK bit not read at the correct time

As-is the code deliberately waits before reading the ACK status from SDA, however, the timing diagram suggests that the ACK bit is valid during (and a little each side of) the ninth clock pulse. On reflection, the behaviour seen on a 'scope during development, where ACK went (fairly) high after a delay related to the clock timing, is likely to be the TM1650 releasing SDA to allow it to be pulled up by host  or device pull-ups, i.e. the ACK is likely signalled with "LOW". The driver would be ever-so-slightly faster if it didn't hang around un-necessarily to wait for (then discard) an incorrect ACK. At some point I'll apply a fix and, if it doesn't break it, might even do something with the ACK, like use it to flag a re-try or something.

This has now been altered - it's still not exactly as the timing diagram because for various reasons I wanted the sendByte() method to leave the data line low, which means leaving a delay after the ninth clock to allow the display to release the data line, and the next sendByte() leads with a delay before writing the MSB to the data line. In other words, there's still a brief gap in the clock train between bytes, but at least (I think) ACK is now sampled at the right time. (The data sheet says that after a successful transfer, TM1650 takes SDA low after the falling edge of the eighth clock). The ACK is still discarded. Not planning to do anything with that for a while.


pkg/pinentry: Support OPTION call for pinentry

RELEASE_NOTES=[FEATURE] Pinentry API: support OPTION API call
For example, to allow storing passwords in keychain, the option allow-external-password-cache must be set (together with SETKEYINFO [keyname]).
Thus, we support the OPTION API call, as for example described in http://info2html.sourceforge.net/cgi-bin/info2html-demo/info2html?(pinentry)Protocol .
Background info: I want to support using the keychain in https://github.com/FiloSottile/yubikey-agent (and this package uses your pinentry wrapper :) )

Codecov Report

Merging #1469 into master will decrease coverage by 0.04%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #1469      +/-   ##
==========================================
- Coverage   61.13%   61.09%   -0.04%
==========================================
  Files         219      219
  Lines       12166    12174       +8
==========================================
  Hits         7437     7437
- Misses       3909     3917       +8
  Partials      820      820

Impacted Files
Coverage Δ

pkg/pinentry/pinentry.go
0.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 55b7134...c6f60f2. Read the comment docs.


Upgrade Cake to 1.0.0-RC2

We're currently using RC1 of Cake 1.0.0 and RC2 was recently released.

Looks like this is running into an issue with https://github.com/cake-build/cake/issues/3038, so this PR can hang out until next Cake release

Looks like this is running into an issue with https://github.com/cake-build/cake/issues/3038, so this PR can hang out until next Cake release

I did adjust this in a way to work around the RC2 issue, so this does appear to be working if we want to merge.  No hurry.

I did adjust this in a way to work around the RC2 issue, so this does appear to be working if we want to merge.  No hurry.

I've updated to the Cake 1.0.0-RC3 release, which is working fine now.


Viewing all my uploads shows benches I haven't tagged...

I thought I'd see what benches I uploaded, but the map shows...
https://openbenches.org/user/6074/

I'm at Sandwell Valley nature reserve at the moment... I'll add more details when I get back

I can't see that screenshot - but it looks like the website is showing the 7 benches you uploaded. Should there be more?

Any update to this Mike?

Sorry @edent i can confirm that it looks OK now.  What I was saying at the time was extra benches...
It was showing 5 benches... I've tried attaching again

That bench I think was in Manchester and it's not a bench I think I recorded

Ah, I see. It was probably a cache issue. Hopefully fixed now. Thanks for the brilliant benches.


Roadmap? What should we do next?

I don't know where to go next with this project and need your input. What should come next? I started this project in April 2018. This project went dormant for some time when I was overloaded at work. I nearly killed it completely, but Let's Encrypt support was one of the top up-voted feature requests for ASP.NET Core and I received several emails and tweets requesting that I continue this project. So, I revived the project 3 months ago and have released 2 versions. Since then, I haven't heard much from users.
One option I am considering is cancelling this project altogether in favor of an alternative. Shortly after the initial release of this project to NuGet.org, I learned about a similar implementation: https://github.com/ffMathy/FluffySpoon.AspNet.LetsEncrypt. It looks like it started in Oct. 2018, but it has more releases and downloads on NuGet.org. The project appears to have fewer GitHub users than this one...guessing based on stars (70 vs 342) and watchers (8 vs 28). It also appears to have more features than this one, including some requested in this project's issue tracker. Should we cancel this project in favor of FluffySpoon? (@ffMathy - I would like your opinion on this, too).
Also, in general, I'm interested in knowing about who is using this. If you do, can you post a comment to this thread? I'd like to know:

Are you using this project in production?
Do you want feature enhancements? Or is it good enough as-is?

Thanks,
Nate

ths @natemcmaster , Our site is using it and it looks good right now.

Glad to here that, @qumeta! How are you handling certificate renewals? The most upvoted feature right now automating cert renewals: https://github.com/natemcmaster/LetsEncrypt/issues/11

Currently we handle it manually.

When your project was dormant I started my own fork based on your code. It´s clunky but it works.
https://github.com/pablopioli/letsencrypt-middleware
I have always seen the make endless competing solutions a waste of effort. There is a lot of examples in the Linux world.
The other problem is the lack of discovery, lots of small implementations will be harder to find to a newbie.
But that`s just my point of view, wich can be wrong. I would also like to hear @ffMathy opinion on his project, I just found it and I like it a lot. Will try to see if I can help with some of the issues reported.

I think it’s a good project. I looked at it briefly and a container example/tutorial would be great. I think that’s where the value is. For example, CI/CD to a Digital Ocean Droplet in one container where the cert renews after every code push in a new docker container is good enough for me. It would blow away the container each time and you would always be changing things inside of 90 days, so you may not need to be worry about the auto-renewal as much, just do a new push within 90 days.
Thanks,
Jesse Borden
Sent from my iPhone
On Dec 8, 2019, at 8:53 AM, pablopioli<EMAIL_ADDRESS>wrote:

When your project was dormant I started my own fork based on your code. It´s clunky but it works.
https://github.com/pablopioli/letsencrypt-middleware
I have always seen the make endless competing solutions a waste of effort. There is a lot of examples in the Linux world.
The other problem is the lack of discovery, lots of small implementations will be harder to find to a newbie.
But that`s just my point of view, wich can be wrong. I would also like to hear @ffMathyhttps://github.com/ffMathy opinion on his project, I just found it and I like it a lot. Will try to see if I can help with some of the issues reported.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/natemcmaster/LetsEncrypt/issues/29?email_source=notifications&email_token=AL4T2EK3FT2Z3ZVLWND2WZDQXT35DA5CNFSM4JXUEURKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGG7FBQ#issuecomment-562950790, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AL4T2ELSSRY24BC5OTNRXETQXT35DANCNFSM4JXUEURA.

@natemcmaster I'm always open to cancel fluffyspoon in favor of this one, or vice versa. You can get full commit access to fluffyspoon too if you wish.
I'm willing to collaborate on what's best for the community!

Thanks everyone for your replies! I appreciate your comments about what we could do next. Let me address what has been said so far:

@pablopioli: I have always seen the make endless competing solutions a waste of effort. There is a lot of examples in the Linux world.

Yes, I agree it seems to be a waste to have multiple, nearly identical solutions for the same problem. Especially in open-source where we are volunteering our efforts, it seems wise to consolidate effort. That's what I'm hoping to accomplish :)

@bordenit: I think it’s a good project. I looked at it briefly and a container example/tutorial would be great.

Great suggestion! A while ago I started creating a demo using Azure Containers Instances, but found Azure woefully overcomplicated (and yet somehow also missing crucial features). I think I'll take your suggestion and try Digital Ocean instead. It's been a while since I used DO, but I recall it being easy-as-pie to use.

@ffMathy: I'm always open to cancel fluffyspoon in favor of this one, or vice versa. You can get full commit access to fluffyspoon too if you wish. I'm willing to collaborate on what's best for the community!

Thanks for the gracious offer, @ffMathy. I am also trying to seek what is best for the community! I think what would be helpful for me to make a decision here is to have a more in-depth comparison of our projects. I'm going to read your code and will post my findings soon.

Ok everyone, here is my detailed comparison of the two projects. I am not providing a conclusion here, just the data. I am interested in hearing what you think.
Usage comparison (code)
(Ignoring the add the nuget package step)
mcmaster

Add settings to appsettings.json

{
    "LetsEncrypt": {
        "AcceptTermsOfService": true,
        "DomainNames": [ "example.com", "www.example.com" ],
        "EmailAddress"<EMAIL_ADDRESS>    }
}

Update Startup.ConfigureServices

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddLetsEncrypt();

 	// ... etc ...
    }
}

fluffyspoon

Update Program.CreateWebHostBuilder

public class Program
{
	public const string DomainToUse = "example.com";

	public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
		WebHost.CreateDefaultBuilder(args)
			.UseKestrel(kestrelOptions =>
			{
				kestrelOptions.ConfigureHttpsDefaults(httpsOptions =>
				{
					httpsOptions.ServerCertificateSelector = (c, s) => LetsEncryptRenewalService.Certificate;
				});
			})
			.UseUrls(
				"http://" + DomainToUse,
				"https://" + DomainToUse)
			.UseStartup<Startup>();
}

Update Startup.ConfigureServices and Startup.Configure

public class Startup
{
	public void ConfigureServices(IServiceCollection services)
	{
		services.AddFluffySpoonLetsEncryptRenewalService(new LetsEncryptOptions()
		{
			Email =<EMAIL_ADDRESS>			Domains = new[] { Program.DomainToUse },
			TimeUntilExpiryBeforeRenewal = TimeSpan.FromDays(30),
			CertificateSigningRequest = new CsrInfo()
			{
				CountryName = "CountryNameStuff",
				Locality = "LocalityStuff",
				Organization = "OrganizationStuff",
				OrganizationUnit = "OrganizationUnitStuff",
				State = "StateStuff"
			}
		});

		services.AddFluffySpoonLetsEncryptFileCertificatePersistence();
		services.AddFluffySpoonLetsEncryptFileChallengePersistence();

 		// ... etc ...
	}

	public void Configure(IApplicationBuilder app)
	{
		app.UseFluffySpoonLetsEncryptChallengeApprovalMiddleware();
 		// ... etc ...
	}
}

In-depth comparison

Feature
fluffyspoon
mcmaster

ASP.NET Core versions supported
2.2+
2.1+

Auto generate and validate certificates with Let's Encrypt
:white_check_mark:
:white_check_mark:

Auto-renew when certificates are expiring
:white_check_mark:
:x:

Persists certificates to machine certificate store
:x:
:white_check_mark:

Persists certificates to Redis
:white_check_mark:
:x:

Persists certificates to EF Core
:white_check_mark:
:x:

Persists certificates to file system
:white_check_mark:
:white_check_mark:* (unreleased)

API to customize certificate persistence
:white_check_mark:
:white_check_mark:* (unreleased)

API to customize persistence of Let's Encrypt account key
:white_check_mark:
:x:

Specify algorithm for generating private key
:white_check_mark:
:white_check_mark:

Customize the CSR  **Let's Encrypt doesn't support EV or OV certs, so I'm not sure there is much value in this API
:white_check_mark:
:x:

Support wildcard domains
:x: * (was implemented and then removed)
:x:

Config binding (i.e. configure via appsettings.json)
:x:
:white_check_mark:

Support multiple domain names
:white_check_mark: (via SAN)
:white_check_mark: (via SAN or different certs)

Support Azure app service SSL binding
:white_check_mark:
:x:

Uses ASP.NET developer cert for localhost requests
:x:
:white_check_mark:

Public CI/CD and PR test validation
:x:
:white_check_mark:

Dependency on https://github.com/fszlin/certes/
Certes exposed in API
Certes dependencies is hidden as internal implementation detail

Assembly strong named
:x:
:white_check_mark:

Public API has XML documentation
some
all

Package is authenticode signed
:x:
:white_check_mark:

License
MIT
Apache 2.0

Recommendations for mcmaster, if adopted

Auto-renew certs #11
Finalize and release API to customize cert persistence #4
Persist account key (avoid redundant new accounts)
Add API to support wildcard domains #1
Persist challenge data (helps continue cert generation if validation is interrupted by process restart)

Recommendations for fluffyspoon, if adopted

Support config binding appsettings.json
Document public API
Strong-name the assembly (technically a breaking change..proceed with caution)
Support persistence with X.509 store
Consider simplifying API usage to by requiring fewer API calls and adding more default settings
Consider removing the CSR API - (Certes should probably remove CsrInfo as it's not really useful IMO - see https://letsencrypt.org/docs/faq/#will-let-s-encrypt-issue-organization-validation-ov-or-extended-validation-ev-certificates)

ASP.NET Core versions supported	2.2+

Recommendations for fluffyspoon, if adopted

Note ASP.NET Core 2.2 has reached end-of-life. Fluffyspoon should either add support for the 2.1 LTS version or move forward to 3.1 LTS.

Strong naming is only needed for .NET Framework. It is redundant for .NET Core.
https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/strong-naming

Also @natemcmaster does this library only support renewing, and not necessarily updating the certificate of the server?
Of it does support it, how does it do it? That's what that init code in fluffy spoon is for. If you don't need to apply the certificate, you don't need the init code.

Re: strong naming. If you read further in the document you shared, it says:

You should strong name your open-source .NET libraries.
https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/strong-naming#create-strong-named-net-libraries

Sure, strong-name signing may not have as many benefits on .NET Core as it did on .NET Framework, but what's the harm ensuring that most people can use your library? I still strong name all of my open-source libraries so anyone out there using strong-naming signing in their code can still use my libraries.

does this library only support renewing, and not necessarily updating the certificate of the server?
Of it does support it, how does it do it?

This library is using the same Kestrel API that fluffyspoon uses to support dynamically rotating certificates. In fluffyspoon, the API usage is something prescribed for users to write in their program.cs file (https://github.com/ffMathy/FluffySpoon.AspNet.LetsEncrypt#configure-kestrel-to-look-for-the-certificate). In this library, that configuration is done automatically through DI. https://github.com/natemcmaster/LetsEncrypt/blob/dffce14ee404bf803b344784337e347d965af502/src/LetsEncrypt/Internal/KestrelOptionsSetup.cs#L10-L26

Aha! I didn't know of that particular DI feature. I'll be sure to incorporate that as well.
You are right, there is no harm. I think I am just heavily biased away from strong naming, since I've had all kinds of issues with it in the past and also past workplaces, but of course that shouldn't force everyone else to abandon it as well.

A few more questions.

By "Document public API" - what do you mean?
And what do you mean by simplifying the API and making fewer calls?

One thing I can become worried about after looking at the comparison, is that the API surface should remain simple for the consumer of the API. I fear that adding a lot of features makes it harder to use.
My package was originally designed as a TL;DR solution.

Good questions! These are some things I try to do on all my class library projects because I think it helps the end user use the library.

Document public API

Add the /// <summary> doc blocks on all public classes, interfaces, enums, etc. and bundle these in the NuGet package so the API explanation lights up in Visual Studio Intellisense. This can be done by adding this to your .csproj files: https://github.com/natemcmaster/LetsEncrypt/blob/dffce14ee404bf803b344784337e347d965af502/src/LetsEncrypt/McMaster.AspNetCore.LetsEncrypt.csproj#L5
Also consider adding a description, tags, and other metadata to the NuGet package so improve its search rank and discoverability.  Here are some properties I've set on my project: https://github.com/natemcmaster/LetsEncrypt/blob/dffce14ee404bf803b344784337e347d965af502/Directory.Build.props

what do you mean by simplifying the API and making fewer calls?

Just a friendly suggestion. I think Fluffyspoon can reduce the setup code. The amount of setup code required is by no means overwhelming, but I'm always in favor of reducing boilerplate code. Fluffyspoon could do a several things automatically via DI, like adding middleware (eliminates the UseFluffySpoonLetsEncryptChallengeApprovalMiddleware call) and configure Kestrel (eliminates UseKestrel.ConfigureHttpsDefaults). You might also consider setting defaults for common use cases, like picking a default persistence strategy to eliminate both AddFluffySpoonLetsEncryptFileCertificatePersistence and AddFluffySpoonLetsEncryptMemoryChallengePersistence API calls, and provide options for users to override if they want a non-default strategy.

But I digress. My take away from the analysis above is that I see more overlap between our projects than differences.
So, here's my thinking. I see one of two options for moving forward.

Deprecate this library, and provide a migration guide for users of this library to adopt fluffyspoon. I have some changes I'd like to see in fluffyspoon first. I think they are mostly about surface and polish. The core of flufyspoon is well done. Here's a list: https://gist.github.com/natemcmaster/618d699a9fcce37d0d953a7e8402503e. Of course, we can discuss each item in more detail, and I'm willing to make pull requests to implement lots of this. If this list overall looks okay, then I can create issues on the fluffyspoon github repo for further conversation.
If option 1 is not agreeable to you, @ffMathy, then I would continue this project, add a few features as mentioned above, invite contributors to add other features that aren't as important to me, but if no one else steps up to add features, this library would enter the "stable, maintained, but not under active development" phase.

Please let me know what you think. I have a preference for option 1 as I think it's best for the community, but I realize this would be asking @ffMathy to take on more ownership. Maintaining my open-source projects has taken more time over the last 5 years than I thought it would. There were more questions and feature requests to respond to than I estimated, fewer people willing to contribute than I hoped for, and there appears to be no end in sight. So, @ffMathy, if you're willing to take on the users of this library, let me know. But if not, that's understandable.

 Any thoughts on my last comment?

Hey Nate, thank you for your continued commitment. I just read through the thread and through your proposals for fluffyspoon.
I chose your library over fluffyspoons because it is the most elegant solution of the two. Even though fluffyspoons library works equally well, it bloats the code more. In comparison your library is more clean both on the surface (naming conventions, code required, LOC, ...)  as well as on the documentation side.
I have a strong preference to this style of code as it adds up to a more readable code base which makes it easier to reason about.
As for your last comment: if Mathias gets the mindset here then I think it is possible to transfer to fluffyspoon. Prerequisites are your proposals and full commit access to fluffyspoon for yourself.
On the other hand, reading up a bit, Mathias said that he is willing to collaborate on what's best for the community so if option 1 does not work then the other way around hopefully works. I am sure that under your guidance the clean code style will continue and Mathias can take the leading role once the work for the remaining features is done.
In case of option 2: the only thing that I think is definitely missing for a lot of users is the auto-renewal feature.
ref @ffMathy @natemcmaster

I'll give this another week, but if I don't get a response, I'm going to move forward with option 2 from this comment above https://github.com/natemcmaster/LetsEncrypt/issues/29#issuecomment-568157331.
Thanks for your feedback, @surfcode!

One thing I prefer is to have deployment-related information in my JSON or environment variable. This is the reason I choose natemcmaster. fluffyspoon's auto-renewal is useful but a nested cron job will do for me now.

@natemcmaster I'll come up with a response soon. It's complicated, and takes some time to formulate, so I haven't had the proper time to focus on it, but I'll hopefully have time tomorrow.

Add an AWS Route53 DNS option. I have a server that isn't accessible to the internet that I need to generate the certificate using DNS. But it doesn't seem to work.

Thanks everybody for the feedback on this issue. Based on your suggestions, I'm going to keep working on this project. I've written up https://github.com/natemcmaster/LetsEncrypt/issues/50 to propose where I think this project should go in the coming months. I'm open to more suggestions! Feel free to open an issue to propose your feature. Like many of you, open-source projects are a free-time activity and compete with raising a family and leisure activities. I appreciate your help and look forward to what we will create together.

A bit late to this convo but to add in my voice - wildcard subdomains and auto update 😊

Nice! Is DNS-01 verification with AzureZones already possible for kestrel?

Is cert renewal achieved by just repeating the procedure every time the .net-core server starts?


Make ButtonState an Enumerator

This seems like an ideal place to implement an enumerator. Sure, we may be at qualifiers right now, but I think it would be a more logical set-up for future builds. Note: I haven't checked other dependent files and changed to follow this standard, I was just scrolling through and saw this during some down time.

@BlurryZombie, that's a good idea.
We used integers instead of a constructed enum because of the dependencies in Controller and the MonkeyC classes - changing this would require calling .get() about a hundred times because these classes currently store button states as integers:  doing so allows us to serialize them easily into a very compressed form in JSON like { du: 0, dd: 0.6, etc. }. This is equally possible with enums, but we'll have to test whether enums and ints truly serialize in the same way (my instinct is that they have similar, but not exactly identical, serializations.)


Wav2vec 2.0 inference with "kenlm" got much higher WER (many repeats words)  than with "viterbi" sometimes

❓ Questions and Help
I finetune the wav2vec 2.0 pretrained model with other languages (pashto, cantonese separately).  The performance with viterbi inference seems good.
However, when I try to infer with Kenlm, some problems come up. Sometimes, the inference results with Kenlm have losts of repeats, which leads the WER to very high numbers, like 200% or 500%.  The WER with viterbi is about 50%. More confused, the exactly same files and configs for inference with kenlm works well with one finetuned model (xlsr_53_56k.pt finetuned with pashto), but the results turns to be weird when I just change the finetuned model. I have tried many times, the results remains the same.
Does anyone meet similar problems…

so am i，how do you solve this problem？

You can check another issuse in wav2letter . It is caused by some bugs in the recent commit of wav2letter. Reverting that commit fixes the problem.


Typo in fortyxima

https://github.com/fortran-lang/fortran-lang.org/blob/cd7baa0b3e98907251a98e556871409a451970c2/_data/package_index.yml#L153
Should read "fortyxima"

Thanks, do you mind submitting a patch?

I have made the necessary changes please check and  merge pull request.
thanks and Regards,
Henil Panchal


Enhancement:  configurable logo & skin tenant-based instead of fixed at instantiation time

Is your feature request related to a problem? Please describe.
My app is multi tenant. When the user logs in (via vhost detection + OAuth implementation like your auth0 example), I would like to set the app logo at the top/left as something I would read from my the database. Basically make that part multi tenant as well. Currently the logo is defined at the Admin instantiation time:
                  logo_url="https://images.com/my.png",
                  login_logo_url="https://images.com/mylogin_logo.png",

The login_logo does not impact me because the login goes straight to OAuth.
Describe the solution you'd like
The current approach is ok for users not logged in. But once they log in (in my case, with OAuth) then I should be able to set the logo from a column in a database table (loggerUser->company, column for the logo URL).
Please note that the avatar image can be set from the OAUTH profile (you do so in your auth0 example). Maybe the same can be done from there? I mean, when the user logs in, I can call an API to set the image this user will see.
Describe alternatives you've considered
Maybe override the template for the top/leftpart (I would have to dig to see where it is) and copy/paste into my project and change it to fetch the logo from the database if the user is logged in, otherwise keep the current behavior.
Optimization: I could store the URL in the session, so that there is no need to go to the database every time, pretty much like with the avatar image.
Additional context
Be able to change the color there would also be quite neat.
Have the documentation explain how to tweak the skin/logo would be quite neat.

Can you try this in your AuthProvider subclass?
    def setup_admin(self, admin: BaseAdmin) -> None:
        admin.templates.env.globals["logo_url"] = "logo_url"  # Set logo url dynamically
        return super().setup_admin(admin)

You probably need to access the current_user here.

Reading issues really helps!

Can you try this in your AuthProvider subclass?
    def setup_admin(self, admin: BaseAdmin) -> None:
        admin.templates.env.globals["logo_url"] = "logo_url"  # Set logo url dynamically
        return super().setup_admin(admin)

You probably need to access the current_user here.

Are you suggesting that a user performing login from tenant X should cause a side-effect and change the global admin to use that logo? So whoever logs last wins?  I need the logo to be non-global, not to leak across sessions.

Are you suggesting that a user performing login from tenant X should cause a side-effect and change the global admin to use that logo? So whoever logs last wins? I need the logo to be non-global, not to leak across sessions.

I'm not sure if it will work, I just proposed an example, give it a try and test the scenario you are talking about.
I also created a pr here at #374 after I saw your issue. Can you check that too?


Upgradability & chunking

Closes #6

This PR is blocked as chunking of the contained large contract is resulting in a BlobNotFound error when additionally using a proxy contract


nodejs -- Conversations_UpdateActivity js api missing in nodejs

I was looking at the v3 rest api for updating activities and we found this available as pure rest api [1] and found c# implementation [2] in bot connector but could not find a nodejs implementation is this just not finished and missing in nodejs.
[1] https://docs.botframework.com/en-us/restapi/connector/#!/Conversations/Conversations_UpdateActivity
[2] https://github.com/Microsoft/BotBuilder/blob/3d90ea251b618163cc5796c52fb8088a40f68b11/CSharp/Library/Microsoft.Bot.Connector/ConnectorAPI/Conversations.cs#L610

Yes... The issue is there's currently no way to get the activity ID in the Node SDK. It's on the list of issues to address after we get v3.5 out the door. Is this blocking you? what are you trying to do?

Can we get the activity ID from the client and pass it to node SDK?  For example I have Direct line and I get the activity id from the history of the conversation.. I can add a my own rest service that can update the activity with additional data.  This is blocking my usage of updating an existing activity using bot framework.

I am trying to now directly use the REST api  without node wrapper but when calling the PUT api for activity I am getting this error message.. I am not sure what this means and couldn't find any information about this message anywhere. Also schema doesn't mention a bot record.
{
"error": {
"code": "MissingProperty",
"message": "The 'bot' record for the from field is unrecognized"
}
}

ok I am trying with directline and update/delete activity apis are giving 405 -- method not allowed... maybe directline is a channel that doesn't allow updating/deleting activities.

Adding Tom and Dan

Hi @earlyster, the MissingProperty error you encountered is because the 'from' field on the activity you sent does not match your bot. If you copy the 'recipient' field from an activity you receive, this will work properly.
Direct Line does not yet support editing activities. This is coming but we don't have a date yet.

Closing as it appears we've addressed the open questions. Please at-mention or file a new issue if you'd like to discuss further. Thanks!


Initial recipe for tensorflow-datasets

Initial recipe for latest released version of tensorflow-datasets.

Closing this PR without merge as for some reason new commits in my branch are not reflected in the PR.


[18.03] daemon/stats: more resilient cpu sampling

cherry-pick of https://github.com/moby/moby/pull/36519 for 18.03
git checkout -b 18.03-backport-resilient-cpu-sampling upstream/18.03
git cherry-pick -s -S -x -Xsubtree=components/engine fd0e24b7189374e0fe7c55b6d26ee916d3ee1655

no conflicts
To avoid noise in sampling CPU usage metrics, we now sample the system
usage closer to the actual response from the underlying runtime. Because
the response from the runtime may be delayed, this makes the sampling
more resilient in loaded conditions. In addition to this, we also
replace the tick with a sleep to avoid situations where ticks can backup
under loaded conditions.
The trade off here is slightly more load reading the system CPU usage
for each container. There may be an optimization required for large
amounts of containers but the cost is on the order of 15 ms per 1000
containers. If this becomes a problem, we can time slot the sampling,
but the complexity may not be worth it unless we can test further.
Unfortunately, there aren't really any good tests for this condition.
Triggering this behavior is highly system dependent. As a matter of
course, we should qualify the fix with the users that are affected.
Signed-off-by: Stephen J Day<EMAIL_ADDRESS>(cherry picked from commit fd0e24b7189374e0fe7c55b6d26ee916d3ee1655)
Signed-off-by: Sebastiaan van Stijn<EMAIL_ADDRESS>Please do not send pull requests to this docker/docker-ce repository.
We do, however, take contributions gladly.
See https://github.com/docker/docker-ce/blob/master/CONTRIBUTING.md
Thanks!

Need to look into https://github.com/moby/moby/issues/36608 before merging

Added https://github.com/moby/moby/pull/36609, should be ready

LGTM


D3 line zoom function in v4, issue

Hi, Mike.
I have an issue with d3 zoom function of chart in v4. In v3 it was okay, it worked like this:
d3.selectAll('svg').call(d3.zoom().scaleExtent([0.2, 10]).on("zoom", () => {         d3MainChartRender(self)     }));
where "d3MainChartRender" - contains all d3 line render functions like
let chartValue = d3.line().x(data => mainScaleX(data.d3Date)).y(data => mainScaleY(data.close)) d3.selectAll('#prediction-path').attr('d', chartValue(predictionPath))
where "mainScaleX" and "mainScaleY" are states of the component, because the App is on React
mainScaleX: d3.scaleTime().domain(d3.extent(data,(d) => d.d3Date)).range([this.props.rangeMin, this.props.rangeMax])
mainScaleY: d3.scaleLinear().domain([d3.min(data, (d) => d.close), d3.max(data, (d) => d.close)]).range([this.props.heightMax, this.props.heightMin])
The issue is - when i am using the same method with v4, it doesn't work, it calls my callback render func, but mainScaleX , Y functions remain the same as previous, so zoom doesn't zoom anything, even drag doesn't work. But also there is no errors in console log.
How can i make zoom work with line (chart) in d4 version?

Please use Stack Overflow tag d3.js to ask for help. Although I make an effort to assist everyone that asks, I am not always available to provide help promptly or directly. Stack Overflow provides a better collaborative forum for self-help: tens of thousands of D3-related questions have already been asked there, and some answered questions may be relevant to you.
I’d recommend including not just a few snippets of your code but a standalone live example, such as on bl.ocks.org. It’s hard to tell from your description where the problem is. It looks like you aren’t do anything with the zoom event when you receive it, so it’s not particularly surprising that the zoom behavior isn’t doing anything. (Perhaps you were reliant on binding scales to the zoom behavior in v3? In which case you’ll need to use transform.rescaleX and/or transform.rescaleY to derive transformed scales in v4, as in the third example in the README.)
If you have a question about D3’s behavior and want to discuss it with other users, also consider the d3-js Google Group or joining the d3-js Slack.
Thank you! 🤗

Thanks for the answer, i will use stackoverflow next time.
Solution found here:
https://github.com/d3/d3/blob/master/CHANGES.md#zooming-d3-zoom
https://github.com/d3/d3-zoom#transform_rescaleX
Because zoom no longer changes original scales, need to create clones of the main scales in zoom callback via transform.rescaleX and Y, and use them to draw new axes and line


fix: ServeDir should use nest_service instead of route

This fixes #47, Mithun helped me track down the cause 👍

This one's on me - I made it typecheck, but I didn't realise that it wouldn't route properly. I'll see if the Axum folks have an issue about this footgun (imo)

Wait, this will make it serve all assets under root right? I don't think that's what we want; this http interface will probably have more endpoints in the future. We should probably just change the name of the endpoint to something other than assets so it's clearer.

I believe it was serving all assets under root before; I updated Axum last week and made the smallest change to make it compile and confirmed the examples still worked for me (which I'm suspecting is because I already had them on disk), but that change resulted in the routing being wrong.
nest_service is from the Axum example https://github.com/tokio-rs/axum/blob/main/examples/static-file-server/src/main.rs so it should be the correct behaviour.

@philpax Ah ok nice


Sort rankables by lowest rank first, then newest first, more explicitly.

See https://github.com/artsy/bearden/pull/317#discussion_r144834710, just like @yuki24 said, sorting in the database, then outside is ignoring sorting in the database.
Consolidating ranking into OrganizationResolver.
What we want is to sort by rank (lowest rank first), then by time (newest first).

Yeah, the rules here are lowest rank is best and then rank ties go to the newest data. Consider the case where a gallery changes name. If we have a source that changes the name it reports, then we'd have data like this:
{ name: 'Busted Gallery', rank: 1, created_at: 1.year.ago }
{ name: 'Sparkle Gallery', rank: 1, created_at: 1.month.ago }
{ name: 'Dusted Gallery', rank: 2, created_at: 1.week.ago }

What we want is for Sparkle Gallery to be returned because it has the lowest rank and is the newest data. At this point I don't really care how the remaining records are sorted, but I would assume an order like this:
[
  { name: 'Sparkle Gallery', rank: 1, created_at: 1.month.ago },
  { name: 'Busted Gallery', rank: 1, created_at: 1.year.ago },
  { name: 'Dusted Gallery', rank: 2, created_at: 1.week.ago }
]

Sort first by rank, lowest first; then by created_at, newest first.

@jonallured This is updated and ready to merge.

Awesome, thank yous all around!! 🤗


Quite a Few Widevine based Apps no longer worker

Testing 13.0.1 and it seems like:

Netflix
Amazon Prime
YoutubeTV
Spotify

All have issues. Did something change? These were working recently.

It appears to work fine here. Which version of the Widevine CDM are you using, and did you disable updates of the CDM by any chance? Widevine is revoking all prior CDMs at the end of May, so it may just have happened (although officially it shouldn't until May 31st).

Hmm doesn't seem like it. And we didn't change much, doing it on clean install and having the same issue. I'll follow up in the week with a more thorough write up.
In the mean time, is EVS a requirement? We had never done it before and it seems like things just worked. Maybe we need it now?

Yes, EVS is a requirement for commercial services (and any service requiring VMP if the pre-generated signature is broken, e.g. during packaging). If it worked before there has been some misconfiguration somewhere on the server side because ECS is only pre-signed for development, and will not work with services requiring a production VMP signature out of the box.

Thanks! I switched to use the EVS instructions you provided (amazing by the way, thank you thank you) and now I am getting a slightly less opaque error:

Also it isn't obvious to me what binary I need to pass to the python3 -m castlabs_evs.vmp verify and python3 -m castlabs_evs.vmp verify-pkg cli. I tried passing the path to the .app and it didn't work.

The error above indicates that the Widevine CDM has not been installed/registered properly. Are you waiting for the widevine-ready event before loading the page?
Typically you would only use the sign-pkg/verify-pkg commands (using sign/verify requires knowledge of exactly what needs to be signed, which differs between platforms). sign-pkg/verify-pkg takes the directory that contains the Electron .app or .exe as an argument, so if you have your app in /my/package/Electron.app you would pass /my/package.

Ah! I see, it seems like the "Signing request failed", is there any way to see what this error means or what went wrong? Also happy to jump on a chat (Discord/slack/etc), if theres any way to debug this.
stdErr:
EVS Signing Application com.synth.app at /app/dist/electron/mac
Evs signing finished with
err: undefined
stdout: Signing: /app/dist/electron/mac/AppName.app
 - Verifying existing VMP signature
 - Signature invalid: Failed to read signature
 - Requesting VMP signature
HTTPError: Signing request failed: 400 Bad Request
 <- ValidityError: Binary signature denied

By the way it seems like this command can exit with a non zero exit code, which is why I missed it. Happy to send a PR when I figure this out.
    console.log(`EVS Signing Application ${appId} at ${params.appOutDir}`)
    // % python3 -m castlabs_evs.vmp sign path/to/executable path/to/signature
    const signEvs = cp.spawnSync("python3", ["-m", "castlabs_evs.vmp", "sign-pkg", params.appOutDir], { encoding: "utf8" })
    console.log(`Evs signing finished with\nerr: ${signEvs.error}\nstdout: ${signEvs.stdout}\nstdErr: ${signEvs.stderr}`)
    if (signEvs.error) {
        process.exit(1)
    }

Really appreciate all the help!

"Binary signature denied" means that you are trying to sing something that you are not allowed to sign, i.e. not an official ECS release. This is probably the reason for your "Unsupported key system" error above as well, since there is not actually a Widevine CDM available.
Are you perhaps using a packager like electron-builder? In that case you need to provide a mirror correctly or it will use a stock Electron release to package your app, which would result in an error like the above. Check this FAQ out: https://github.com/castlabs/electron-releases/wiki/FAQ#how-can-i-use-electron-builder-with-ecs

Works! Thanks for all the help. A few notes for anyone else:

If using electron-builder you must also set the electronVersion attribute:

    "build": {
        "electronVersion": "11.4.0-wvvmp",
        "electronDownload": {
            "mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
        },
}

The command python3 -m castlabs_evs.vmp sign-pkg path/to/package-directroy can exit with a zero status code when there was actually an error

Thanks for all the help!

@pnegahdar, I'm glad you got it working!
About (2), the signing script should not exit with a zero exit code in case of failure, if it does there is an issue somewhere. In the code you use above you would need the check signEvs.status instead of signEvs.error, I believe.
Please let me know if you still see any cases where an unexpected status code is returned from the script so that I can take a look at it!

Ah, I probably read the node docs on child_process incorrectly.
Thanks again for all the help!


chore(docs): change link to example

Changes the link to an example use of eventually in the repo's README.

Hey @carlos-menezes, thank you for the changes! 🙌


Service tunnel policy and rdp setting feature addition.

https://github.com/banyansecurity/terraform-provider-banyan/actions/runs/8942182424/job/24564196970


Update MakeMKV v1.17.0

Update to v1.17.0 is available.

New image available.  Thanks for reporting!


Not all selector refs point to defined data variables

Data variables for method names are defined during method list analysis, but it might be nice to define string data variables for unused selectors as well. The effect of doing this would mean that all selector references point to string data variables. The responsibility for defining string data variables could potentially be moved to the selector references section analysis logic entirely.

Fixed sometime during 2.0 work.


Complete the technical document for it on which we will take tech sign - off on.

1.create technical doc
2. Share with team to get feedback.
3. Set up meeting if required .

@ashishonce  can you assign this to me. Do not have access here.


fix minor typos in authentication_guide.md

added a missing "-" in a domain name
replaced "them" with "theme"

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #688   +/-   ##
=======================================
  Coverage   87.17%   87.17%
=======================================
  Files          72       72
  Lines        3424     3424
  Branches      648      648
=======================================
  Hits         2985     2985
  Misses        422      422
  Partials       17       17

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 27f6cb0...cb17db9. Read the comment docs.


fix: Inconsistencies in RULES.md against underlying source

Specifically, this PR updates RULES.md to:

Fix incorrectly named fields: docs should match underlying field names in Java source / JSON schema
Add missing fields: docs should contain all fields from Java source / JSON schema
Fix inconsistent formatting
Fix two incorrectly-named fields in the Java source

This is an intermediate PR that brings us one step closer to alignment and generation of Notice documentation from the source code itself per #1324.
Please make sure these boxes are checked before submitting your pull request - thanks!

[x] Run the unit tests with gradle test to make sure you didn't break anything
[x] Format the title like "feat: [new feature short description]". Title must follow the Conventional Commit Specification(https://www.conventionalcommits.org/en/v1.0.0/).
[x] Linked all relevant issues

@isabelle-dr this is mostly a RULES.md update so assigning to your for review


chore(main): release 1.2.10

:robot: I have created a release beep boop
1.2.10 (2024-04-22)
Bug Fixes

deps-dev: bump express from 4.18.2 to 4.19.2 (#178) (6f572b2)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/JoshAlexis/utils-abstractions/releases/tag/v1.2.10 :sunflower:


Update TestConfig-smoke.properties

Replacing smoke with dev env for smoke test as smoke env is broken - hacky, but doesn't look like i'll get smoke fixed any time soon.

@nasirkhanbis - FYI, bit hacky but don't think I'll be able to fix smoke before I leave.


DCOS-14743: Remove  label from the UCR option

This PR removes the Preview label from the UCR option.

Checklist

[x] Did you add a JIRA issue in a commit message or as part of the branch name?
[ ] Did you add new unit tests?
[ ] Did you add new integration tests?
[ ] If this is a regression, did you write a test to catch this in the future?

Noooo... my label is gone 😄
Looks good 👍  💯  ✨


@withRoot @withStyles(styles) className did not match. Server: "_default-root-1" Client: "_class-root-1"

example with nextjs It's no problem. But when i use decorators，like this:

main.js:4542 Warning: Prop className did not match. Server: "_default-root-1" Client: "_class-root-1"

.bablerc
{
    "presets": [
      [
        "env", {
          "modules": false,
          "targets": {
            "browsers": [
              "last 2 versions",
              "ie >= 7"
            ]
          }
        }
      ],
      "next/babel",
    ],
    "plugins": [
      "transform-decorators-legacy",
      "transform-runtime",
      "transform-remove-console"
    ]
  }

package.json
{
  "name": "nextjs",
  "version": "1.0.0",
  "private": true,
  "dependencies": {
    "babel-plugin-transform-decorators-legacy": "^1.3.4",
    "babel-plugin-transform-remove-console": "^6.9.0",
    "babel-plugin-transform-runtime": "^6.23.0",
    "jss": "latest",
    "material-ui": "next",
    "next": "latest",
    "prop-types": "latest",
    "react": "latest",
    "react-dom": "latest",
    "react-jss": "latest"
  },
  "scripts": {
    "dev": "next",
    "build": "next build",
    "start": "next start"
  }
}

From your warning, I can infer that the meta isn't the same between the server and the client. It's computed like this:
https://github.com/mui-org/material-ui/blob/eed8fa5d515c3004caecb65d4eca371a1e71eb38/src/styles/withStyles.js#L164
The root of the issue is outside of the scope of this project. I would encourage you to use a named class.


example angular bundle size is a lot bigger than webpack

System Info
mac os
Details
bundle  generated by rspack is about 200KB bigger than webpack
Reproduce link
No response
Reproduce Steps

cd examples/angular
pnpm build
pnpm build:rspack
compare bundle size

The following error was reported when starting the build locally

closed in favor of https://github.com/web-infra-dev/rspack/pull/3514


Issue with car mods

I have problems with loading more car mods with mod loade. When i have two carmods mods installed. My game runs just fine but if i add 3rd car mod to mod loader it hangs. I checked every line is ok in mods i trying to run game couple time but it just goes to half of the way and the boom end it hangs.

========================== Mod Loader 0.3.5 ==========================
Game version: GTA SA 1.0 US
Loading basic config file modloader/.data/config.ini
Parsing command line
Loaded fallback menu fxt
Looking for plugins...
Reading plugins.ini
Loading plugin module "gta3\std.asi.dll"
Plugin module "gta3\std.asi.dll" loaded as gta3.std.asi Nov 12 2016 18:52:33 by LINK/2012
Starting up plugin "gta3.std.asi"
CLEO library version 4031300 found at "CLEO.asi"
Loading plugin module "gta3\std.bank.dll"
Plugin module "gta3\std.bank.dll" loaded as gta3.std.bank Nov 12 2016 18:52:34 by LINK/2012
Starting up plugin "gta3.std.bank"
Loading plugin module "gta3\std.data.dll"
Plugin module "gta3\std.data.dll" loaded as gta3.std.data Nov 12 2016 18:52:35 by LINK/2012
Starting up plugin "gta3.std.data"
Loading plugin module "gta3\std.fx.dll"
Plugin module "gta3\std.fx.dll" loaded as gta3.std.fx Nov 12 2016 18:52:38 by LINK/2012
Starting up plugin "gta3.std.fx"
Loading plugin module "gta3\std.movies.dll"
Plugin module "gta3\std.movies.dll" loaded as gta3.std.movies Nov 12 2016 18:52:50 by LINK/2012
Starting up plugin "gta3.std.movies"
Loading plugin module "gta3\std.scm.dll"
Plugin module "gta3\std.scm.dll" loaded as gta3.std.scm Nov 12 2016 18:53:09 by LINK/2012
Starting up plugin "gta3.std.scm"
Loading plugin module "gta3\std.sprites.dll"
Plugin module "gta3\std.sprites.dll" loaded as gta3.std.sprites Nov 12 2016 18:53:10 by LINK/2012
Starting up plugin "gta3.std.sprites"
Loading plugin module "gta3\std.stream.dll"
Plugin module "gta3\std.stream.dll" loaded as gta3.std.stream Nov 12 2016 18:52:34 by LINK/2012
Starting up plugin "gta3.std.stream"
Loading plugin module "gta3\std.text.dll"
Plugin module "gta3\std.text.dll" loaded as gta3.std.text Nov 12 2016 18:52:34 by LINK/2012
Starting up plugin "gta3.std.text"
Loading plugin module "gta3\std.tracks.dll"
Plugin module "gta3\std.tracks.dll" loaded as gta3.std.tracks Nov 12 2016 18:52:33 by LINK/2012
Starting up plugin "gta3.std.tracks"
Reading profile named "Default" at "modloader.ini".
Using profile named "Default".
Using profile named "Default"
Scanning mods at "modloader"...
Scanning files at "modloader\ginpuit"...
No handler or callme for file "docs\cheat_list_ps3.html"
No handler or callme for file "docs\cheat_list_xbox.html"
Found file [0xFFFFFFFFFFFFFFFF] "docs\GAME CONTROLS FULL LIST.txt" with handler ""
No handler or callme for file "GInputAPI (for modders)\GInputAPI.h"
Found file [0xFFFFFFFFFFFFFFFF] "GInputAPI (for modders)\ReadMe.txt" with handler ""
Found file [0x000000013C3EC683] "GInputSA.asi" with handler "gta3.std.asi"
No handler or callme for file "GInputSA.ini"
Found file [0x00000204F542F948] "models\ps3btns.txd" with handler "gta3.std.stream"
Found file [0x000002042ADBA8CE] "models\sixaxis.txd" with handler "gta3.std.stream"
Found file [0x0000020406E96E61] "models\x360btns.txd" with handler "gta3.std.stream"
Found file [0xFFFFFFFFFFFFFFFF] "ReadMe.txt" with handler ""
Scanning files at "modloader\mem fix"...
Found file [0x00000002C21D0C92] "2048MB-StreamMemory.cs" with handler "gta3.std.asi"
Scanning files at "modloader\plymounth roadrunner"...
Found file [0xFFFFFFFFFFFFFFFF] "readme.txt" with handler ""
Found file [0x00000104D97934E8] "sabre.dff" with handler "gta3.std.stream"
Found file [0x00000204C3506F18] "sabre.txd" with handler "gta3.std.stream"
Scanning files at "modloader\skoda 120"...
Found file [0x0000010408FD3361] "greenwoo.dff" with handler "gta3.std.stream"
Found file [0x00000204EED5FACD] "greenwoo.txd" with handler "gta3.std.stream"
Found file [0xFFFFFFFFFFFFFFFF] "readme.txt" with handler ""
Scanning files at "modloader\vehiclesspawnerpremium"...
Found file [0xFFFFFFFFFFFFFFFF] "VehicleSpawn_Cleo\readme.txt" with handler ""
Found file [0x000000023087A543] "VehicleSpawn_Cleo\VehicleSpawner.cs" with handler "gta3.std.asi"
Found file [0x000000017665F54F] "VehicleSpawn_Cleo\VehicleSpawngxt.fxt" with handler "gta3.std.text"
Scanning files at "modloader\volkswagen gti"...
Found file [0x00000104E7D44E5F] "club.dff" with handler "gta3.std.stream"
Found file [0x0000020401FD19F3] "club.txd" with handler "gta3.std.stream"
Found file [0xFFFFFFFFFFFFFFFF] "Readme.txt" with handler ""
Updating mods for "modloader"...
Updating state for "modloader\ginpuit"...
Installing file "modloader\ginpuit\docs\game controls full list.txt"
Installing file "modloader\ginpuit\ginputapi (for modders)\readme.txt"
Installing file "modloader\ginpuit\ginputsa.asi"
Installing file "modloader\ginpuit\models\ps3btns.txd"
Installing file "modloader\ginpuit\models\sixaxis.txd"
Installing file "modloader\ginpuit\models\x360btns.txd"
Installing file "modloader\ginpuit\readme.txt"
Updating state for "modloader\mem fix"...
Installing file "modloader\mem fix\2048mb-streammemory.cs"
Updating state for "modloader\vehiclesspawnerpremium"...
Installing file "modloader\vehiclesspawnerpremium\vehiclespawn_cleo\readme.txt"
Installing file "modloader\vehiclesspawnerpremium\vehiclespawn_cleo\vehiclespawner.cs"
Installing file "modloader\vehiclesspawnerpremium\vehiclespawn_cleo\vehiclespawngxt.fxt"
Updating state for "modloader\plymounth roadrunner"...
Installing file "modloader\plymounth roadrunner\readme.txt"
Installing file "modloader\plymounth roadrunner\sabre.dff"
Installing file "modloader\plymounth roadrunner\sabre.txd"
Updating state for "modloader\skoda 120"...
Installing file "modloader\skoda 120\greenwoo.dff"
Installing file "modloader\skoda 120\greenwoo.txd"
Installing file "modloader\skoda 120\readme.txt"
Updating state for "modloader\volkswagen gti"...
Installing file "modloader\volkswagen gti\club.dff"
Installing file "modloader\volkswagen gti\club.txd"
Installing file "modloader\volkswagen gti\readme.txt"
Updating gta3.std.data state...
Parsing cached readme data for "modloader\ginpuit\docs\game controls full list.txt"
Parsing cached readme data for "modloader\ginpuit\ginputapi (for modders)\readme.txt"
Parsing cached readme data for "modloader\ginpuit\readme.txt"
Parsing cached readme data for "modloader\vehiclesspawnerpremium\vehiclespawn_cleo\readme.txt"
Parsing readme file "modloader\plymounth roadrunner\readme.txt"
Found vehicles handling line for 'modloader\plymounth roadrunner\readme.txt':15: SABRE 1800.0    3400.0  1.0     0.0     0.17    -0.18   70      0.743   0.745   0.504   4       210.0   22.0    6.3     R       P       15.0    0.56    0       33.0    0.955   0.08    0.0     0.23    -0.125  0.50    0.15    0.26    0.47    9000    112000  1004000         0       0       0
Found object types line for 'modloader\plymounth roadrunner\readme.txt':19: 475   sabre    sabre    car    SABRE    SABRE  null  poorfamily  5  0  0  -1  0.79  0.79  0
Found possible data line for 'modloader\plymounth roadrunner\readme.txt':23: sabre  nto_b_l nto_b_s nto_b_tw
Parsing readme file "modloader\skoda 120\readme.txt"
Found vehicles handling line for 'modloader\skoda 120\readme.txt':2: GREENWOO     1600.0    4000.0   2.2    0.0 0.0 -0.2  75  0.65 0.75 0.5   5 135.0 20.5 10.0 R P  10.0  0.5  0 27.0   1.0  0.08  0.0   0.30 -0.14 0.5  0.3  0.2  0.50 35000  0   400000  0  1 0
Found object types line for 'modloader\skoda 120\readme.txt':4: 491   greenwoo   greenwoo   car    GREENWOO   GREENWO   null  poorfamily   10   0  0   -1  0.7  0.7   0
Parsing readme file "modloader\volkswagen gti\readme.txt"
Found object types line for 'modloader\volkswagen gti\readme.txt':4: 589   club    club    car    CLUB    CLUB    null  normal   10   0  2ff0   -1  0.7  0.7   0
Found vehicles handling line for 'modloader\volkswagen gti\readme.txt':8: CLUB        1700.0    4000.0   2.0    0.0 0.1  0.0  70  0.70 0.80 0.53  4 160.0 24.0 10.0 R P  8.0   0.52 0 35.0   1.3  0.08  5.0   0.30 -0.20 0.5  0.25  0.25  0.52 19000  0   10000006 1  1 0
Found possible data line for 'modloader\volkswagen gti\readme.txt':12: club  2 39  9 39  17 1  21 1  33 0  37 0  41 29  56 29
Found possible data line for 'modloader\volkswagen gti\readme.txt':16: club  nto_b_l  nto_b_s  nto_b_tw
Done updating gta3.std.data state.
Starting up filesystem watcher...
Mod Loader has started up!
Opening file for streaming "MODELS\GTA3.IMG"
Loading default font values "DATA\FONTS.DAT"
Loading custom vehicles handling "C:\Users\Shadic\AppData\Local\modloader\10b71d909b\gta3.std.data\0\handling.cfg"
Loading default surface adhesion limits "data\surface.dat"
Loading default surface infos "data\surfinfo.dat"
Loading default surface audio infos "data\surfaud.dat"
Loading default ped stats "DATA\PEDSTATS.DAT"
Loading default decision maker "RANDOM.ped"
Loading default decision maker "m_norm.ped"
Loading default decision maker "m_plyr.ped"
Loading default decision maker "RANDOM.grp"
Loading default decision maker "MISSION.grp"
Loading default decision maker "GangMbr.ped"
Loading default decision maker "Cop.ped"
Loading default decision maker "R_Norm.ped"
Loading default decision maker "R_Tough.ped"
Loading default decision maker "R_Weak.ped"
Loading default decision maker "Fireman.ped"
Loading default decision maker "m_empty.ped"
Loading default decision maker "Indoors.ped"
Loading default decision maker "RANDOM.grp"
Loading default decision maker "RANDOM2.grp"
Loading default time cycle properties "TIMECYC.DAT"
Loading default population cycle properties "POPCYCLE.DAT"
Loading default plants surface properties "PLANTS.DAT"
Loading default anim association "DATA\ANIMGRP.DAT"
Opening file for streaming "MODELS\GTA3.IMG"
Opening file for streaming "MODELS\GTA_INT.IMG"
Loading default stream config "stream.ini"
Loading default fighting data "DATA\melee.dat"
Preloading level file "DATA\DEFAULT.DAT"
Loading default level file "DATA\DEFAULT.DAT"
Preloading level file "DATA\GTA.DAT"
Loading default level file "DATA\GTA.DAT"
Loading preloaded level entries...

Register dump:
EAX: 0x00000006  EBX: 0x00000000  ECX: 0xFFFFFFFF  EDX: 0x00000000
EDI: 0x0000000D  ESI: 0x00000000  EBP: 0x00000002  EIP: 0x005B6B2F
ESP: 0x0029EDB4  EFL: 0x00210206  CS: 0x00000023   SS: 0x0000002B
GS: 0x0000002B   FS: 0x00000053   ES: 0x0000002B   DS: 0x0000002B
Stack dump:
    0x0029EDB4:  00000000 10E0B428 03C55658 FFFFFF00 00000002 00B4E67D
    0x0029EDCC:  008E2C90 0000006A 000000AE 000000EC 00000028 00000041
    0x0029EDE4:  00000017 00000000 00000047 00000048 0000007B 00000000
    0x0029EDFC:  00000034 00000042 0000001F 00000000 00000040 00000048
    0x0029EE14:  0000001E 00000000 0000001E 00000048 00000017 00000000
    0x0029EE2C:  0000003C 00000048 0000003E 00000000 00000039 00000060
    0x0029EE44:  00000040 00000000 00000047 00000060 00000040 00000000
    0x0029EE5C:  67726976 7200006F 0029EF00 6DD66705 095858A0 09587F50
    0x0029EE74:  01802B40 09587F50 0000000C 09585800 0029EF70 6DD66705
    0x0029EE8C:  095858A0 09587F50 0000000C 00000001 67726976 3034206F
    base: 0x000A0000   top: 0x0029EDB4   bottom: 0x002A0000

Backtrace (may be wrong):
    =>0x005B6B2F in gta_sa.exe (+0x1b6b2f) (0x0029EE64)
      0x6DD66705 in nvd3dum.dll (+0x5c6705) (0x0029EF04)
      0x0082AEEF in gta_sa.exe (+0x42aeef) (0x0029EF1C)
      0x6DD67109 in nvd3dum.dll (+0x5c7109) (0x0029EF64)
      0x6DD66F00 in nvd3dum.dll (+0x5c6f00) (0x0029EF6C)
      0x7708539C RtlQueryPerformanceCounter+0x4c in ntdll.dll (+0x5539c) (0x0029EF74)
      0x6DDFCAAC in nvd3dum.dll (+0x65caac) (0x0029EFEC)
      0x6DE24243 in nvd3dum.dll (+0x684243) (0x0029F020)
      0x6E54601D Direct3DCreate9Ex+0x2ee2d in d3d9.dll (+0x7601d) (0x0029F05C)
      0x6E51EBB1 Direct3DCreate9Ex+0x79c1 in d3d9.dll (+0x4ebb1) (0x0029F064)
      0x6E51EB52 Direct3DCreate9Ex+0x7962 in d3d9.dll (+0x4eb52) (0x0029F074)
      0x6E5229FF Direct3DCreate9Ex+0xb80f in d3d9.dll (+0x529ff) (0x0029F0A4)
      0x6E5226AE Direct3DCreate9Ex+0xb4be in d3d9.dll (+0x526ae) (0x0029F0EC)
      0x6E521A25 Direct3DCreate9Ex+0xa835 in d3d9.dll (+0x51a25) (0x0029F1CC)
      0x6E5B457F Direct3D9EnableMaximizedWindowedModeShim+0x2317f in d3d9.dll (+0xe457f) (0x0029F1F4)
      0x6E5B446B Direct3D9EnableMaximizedWindowedModeShim+0x2306b in d3d9.dll (+0xe446b) (0x0029F224)
      0x007F9B12 in gta_sa.exe (+0x3f9b12) (0x0029F238)
      0x007F9C12 in gta_sa.exe (+0x3f9c12)

Shutting down Mod Loader...
Shutting down filesystem watcher...
Shutting down menu...
Unloading plugin "gta3.std.fx"
Unloading plugin "gta3.std.asi"
Im adding the log to the earlier message. Cheers Shadic93nh

Problem 1: Two equal IDs being used in data / vehicles.ide
Solution 1: Check your vehicles.ide or lines of it, must have duplicate line or ID already used etc, things like. It may even be a line with a poorly configured, missing model etc.
Issue 2:  Error in carcols.dat, number of color variations, possibly some car is with more than 16 colors in the carcols line of it or vehicles.ide is misconfigured.
Solution 2:  Delete the number of car color variations to leave less than 16, or use some mod that increases the limit of color variations. It is also possible that you have installed the colors in the wrong places, putting the lines of 2 colors where they are to 4 or vice versa, if you do not know, install by Mod Loader, it will install the lines correctly for you.
The problem may also be because of the poorly configured vehicles.ide, review the models and IDs if they are all correct etc.


Web UI not working correctly.

Please first read the documentation. Problems affecting the client, e.g. Plex or Emby should be reported there in the forum.
Describe the bug
The Tapiosinn/tv-logos repository has been disabled. This causes TVLogosFile.js to throw errors on a fresh install and prevents the web UI from functioning correctly. The settings page does not show any settings and clicking on any channels on the mapping page does not open the pop up.
Error when clicking on a channel is:
Uncaught TypeError: Cannot read properties of null (reading 'forEach')
    at TVLogosFile.newTvLogosIdPicker (TVLogosFile.js:29:50)
    at openPopUp (menu_ts.js:1374:72)
    at HTMLTableCellElement.onclick ((index):1:13)

and when opening settings page:
Uncaught TypeError: Cannot read properties of null (reading 'forEach')
    at TVLogosFile.newTvLogosCountryPicker (TVLogosFile.js:54:50)
    at SettingsCategoryItem.createSettings (settings_ts.js:144:72)
    at settings_ts.js:595:37
    at Array.forEach (<anonymous>)
    at SettingsCategoryItem.createCategory (settings_ts.js:585:14)
    at showSettings (settings_ts.js:608:29)
    at ShowContent.show (menu_ts.js:609:17)
    at openThisMenu (menu_ts.js:779:13)
    at HTMLLIElement.onclick ((index):1:13)

Server (please complete the following information):

OS [e.g. Linux - Ubuntu] - Ubuntu 22.04.01 (running in docker)
Arch [e.g. Intel 64 Bit] - Intel 64 bit
xTeVe Version and Build - 2.5.2

To Reproduce
Steps to reproduce the behavior:

Create a fresh docker container install
Go to web UI
Add playlist and XMLTV files
Error will be thrown when trying to view settings or select any channels on mapping page.

Expected behavior
The web UI to work correctly.
Desktop (please complete the following information):

OS: Windows 11
Browser: Same error in Chrome, Edge, and Firefox

they moved to gitlab. I converted to that.
Fixed in pr #52


ARTEMIS-3058 improper AddressSettings merge

The merge method in AddressSettings should not use any getters. It
should reference the relevant variables directly. Using any getters will
return default values in the underlying value is null. This can cause
problems for hierarchical settings.
Also fixed a few potential NPEs exposed by the test-case.

nice find. LGTM

nice find. LGTM


Quotes needed for empty value

Just trying to confirm we always need the quotes around an empty value/string.
This is valid
{
empty: ""
}
This is not
{
empty:
}

Yes, that is correct.


Parameter decorators use incorrect async/await context, generated code has syntax error

Bug Report
🔎 Search Terms
parameter decorator async await context syntax error
🕗 Version & Regression Information

This is the behavior in every version I tried

⏯ Playground Link
Playground link with relevant code
💻 Code
function decorator(a: any): any {}
function fn(value: Promise<number>): any {
  class Class {
    async method(@decorator(await value) arg: number) {}
  }
  return Class
}

🙁 Actual behavior
The above sample code is compiled without any errors by TypeScript and generates the following invalid JavaScript code, which contains a syntax error:
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
    return function (target, key) { decorator(target, key, paramIndex); }
};
function decorator(a) { }
function fn(value) {
    class Class {
        async method(arg) { }
    }
    __decorate([
        __param(0, decorator(await value))
    ], Class.prototype, "method", null);
    return Class;
}

The specific syntax error is that await is used outside of an async function. I originally discovered this issue with the following incorrect code:
function decorator(a: any): any {}
function fn(value: Promise<number>): any {
  class Class {
    method(@decorator(await value) arg: number) {}
  }
  return Class
}

That is correctly detected as an error by TypeScript, but it has the wrong suggestion:
example.ts:4:23 - error TS1308: 'await' expressions are only allowed within async functions and at the top levels of modules.

4     method(@decorator(await value) arg: number) {}
                        ~~~~~

  example.ts:4:5
    4     method(@decorator(await value) arg: number) {}
          ~~~~~~
    Did you mean to mark this function as 'async'?

Found 1 error in example.ts:4

The async should be added to the outer function, not to the inner method.
🙂 Expected behavior
Both the error message suggestion and the compiler's validation logic itself are incorrect about the async/await context of parameter decorators. It should be the context of the class, not the context of the method, because the generated decorator code is inserted as sibling statements of the class. In other words adding async on the outer function like this should be the only valid way to fix this code:
function decorator(a: any): any {}
async function fn(value: Promise<number>): any {
  class Class {
    method(@decorator(await value) arg: number) {}
  }
  return Class
}

The additional context here is that I'm the developer behind esbuild and I'm trying to reverse-engineer how I should be converting TypeScript code to JavaScript code. A user sent me an issue with a similar problem in esbuild: https://github.com/evanw/esbuild/issues/2147. When investigating that bug I discovered this bug in TypeScript and reported it here.

There's also a similar case with generator functions and yield (link):
function decorator(a: any): any {}
function *fn(value: Promise<number>): any {
  class Class {
    method(@decorator(yield value) arg: number) {}
  }
  return Class
}

Right now TypeScript reports an error but still generates valid JavaScript. It would also be good to have clarity on whether this case is supposed to work or not as well.

Renovate, are you okay?


Add support for custom CA certs (#146)

This adds a new environment variable 'EXTRA_CA_CERTS' which can contain a comma-separated list of file paths to CA certs. These certs will be used in addition to the system defaults.
Closes #146

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


Fixes for Field.datetime/time/date and added Field.file

Datetime fields used to not roundtrip cleanly via the form (they output milliseconds then failed on parsing them)
Field.file didn't exist

Current coverage is 100.00%

Merging #3 into master will not affect coverage as of c5c8c99

@@            master      #3   diff @@
======================================
  Files            2       2
  Stmts          473     483    +10
  Branches         0       0
  Methods          0       0
======================================
+ Hit            473     483    +10
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of c5c8c99

Powered by Codecov. Updated on successful CI builds.

This is merged in 8973db9eb4081d32915de04c4b74a84666d54cd0


Update sbt to 1.3.2

Updates org.scala-sbt:sbt from 1.3.0 to 1.3.2.
Release Notes/Changelog
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-sbt", artifactId = "sbt" } ]

labels: semver-patch

Coverage decreased (-0.07%) to 94.96% when pulling 595237ccdd3206b1f57a1c9f8ade92af41ff1655 on scala-steward:update/sbt-1.3.2 into 5f72dc378fc2f3cf36c73954216272d9a8291020 on iheartradio:master.

made obsolete by https://github.com/iheartradio/ficus/pull/96


Finish transaction is called too quickly

Version of react-native-iap
3.2.4
Version of react-native
0.59.9
Platforms you faced the error (IOS or Android or both?)
iOS (Android not yet confirmed)
Expected behavior

A purchase goes through at the StoreKit side.
The receipt is sent to the react-native-iap subscription.
Something goes wrong and sending the receipt to the server fails.
User restarts the app.
StoreKit re-emits the SKPaymentTransactionStatePurchased event.
The receipt is sent to the react-native-iap subscription.
Receipt is sent to the app's server for validation and processing.
The purchased content is assigned to the user on the server.
The server acknowledges the delivery to the client.
The client finishes the StoreKit transaction through react-native-iap.

Actual behavior

A purchase goes through at the StoreKit side.
react-native-iap finishes the StoreKit transaction automatically. 😱
The receipt is sent to the react-native-iap subscription.
Something goes wrong and sending the receipt to the server fails.
User has paid for content that was never delivered.
End of the world.

Tested environment (Emulator? Real Device?)
This can be determined directly from this line of code: https://github.com/dooboolab/react-native-iap/blob/df1483db059cddeb6fd1244d583288e5e7f6b20e/ios/RNIapIos.m#L414
Steps to reproduce the behavior

I'll go ahead and try to solve this on the iOS side but I'd be very happy if someone could tell me if this is handled on the Android side?

This seems to serve the same purpose as acknowledging a purchase on Android so it should fit well into that existing api.

Could you kindly support us with PR or any docs that we can go over?

Absolutely, I'll try to make time to do a PR next week. In the meantime here is the apple documentation that explains that one should deliver the purchased material before calling finishTransaction and that SK will persist and keep providing the transaction to the observer until finish has been called.
The Provide Content and Finish the Transaction section in this document

I believe the correct way to handle this would be to simply expose the finishTransaction method in the react-native-iap library. To avoid breaking changes I'd suggest adding a parameter dangerouslyFinishTransactionAutomatically to the requestPurchase function and default that too true. Then do console warnings for anyone not explicitly setting that parameter that they should update their flow. The parameter can then be removed or defaulted to false in v4.0.0.

@solidfox Sounds great!! Looking forward for your PR!

@solidfox How are you going with this? Would you prefer better performance if we can reward on the update? I will charge extra $30 for this for your help.

@hyochan I started working on it today but got a bit caught up in getting the example running only to realize that the example isn't able to make purchases anyway so I guess I'll test it in my own use case.
I also noticed the remains of this commit that seems to be trying to achieve what I'm doing: https://github.com/dooboolab/react-native-iap/commit/edfbd12e46aed90ea0a36a6afe63e844fa96dd05
Only seems to be cruft left though so I guess it was removed at some point?

Would it be possible to get access to the flow in the documentation to add in registering the purchase with the apps server and acknowledging / finishing the transaction?

@solidfox Hey great request! If you tell me your email address, I'll invite you to that diagram in draw.io

@hyochan Thanks! You can send the invite to daniel.schlaug at gmail.

@solidfox I've just shared the diagram to your email. Thanks!


insecure-registry is ignored

I am running Docker 1.5, and I am in the situation that I am forced to run HTTP and HTTPS connections through a transparent proxy which has another proxy set as a cache_peer. The transparent proxy must rewrite the SSL certificates because of its nature. This causes pulling from the registry to fail, like:
$ docker pull ubuntu:latest
Pulling repository ubuntu
FATA[0005] Get https://index.docker.io/v1/repositories/library/ubuntu/images: x509: certificate is valid for <IP_ADDRESS>, not index.docker.io

The transparent proxy sets the common name of the certificate to the IP instead of the hostname and this causes the SSL verification to fail.
Now, I thought of using insecure-registry, but it simply seems to get ignored. What i tried (everything failed):

--insecure-registry=index.docker.io
--insecure-registry=https://index.docker.io
--insecure-registry=https://index.docker.io:443
the same without equals sign
the same with the IP

The setting just seems to be silently ignored. What am I missing / doing wrong?

can you try with docker 1.6 the latest version, also checkout the proxy docs http://docs.master.dockerproject.com/articles/systemd/#http-proxy

closing for failure to respond but obviously if you respond with steps to reproduce on the latest version we will reopen