Pasting to MS Word

When I copy and paste text into MS Word, the tabs and line ends are not pasted correctly. I don't know if it's Word or not. If I insert the text as "unformatted" in Word, then the characters are correct. Does anyone know how to fix this?
Copy in AvalonEdit:

Paste in Word:

Past unformatted in Word:

I found a solution myself. If anyone is interested, here is the link


Fixed terraform source URL handling

Description
Fixes #3141.

TODOs
Read the Gruntwork contribution guidelines.

[ ] Update the docs.
[ ] Run the relevant tests successfully, including pre-commit checks.
[ ] Ensure any 3rd party code adheres with our license policy or delete this line if its not applicable.
[ ] Include release notes. If this PR is backward incompatible, include a migration guide.

Release Notes (draft)

Added / Removed / Updated [X].
Migration Guide

@yhakbar, Thanks for the review!


Update manifest files, overload ClimaTimeSteppers

This PR upgrades to the latest dependencies and overloads ClimaTimeSteppers methods so that we can more easily iterate on fixing #2015. (cc @simonbyrne)

bors r+

This will allow us to more easily iterate on tackling #2015.

bors r+

bors r+

bors r+

We can push this back to ClimaTimeSteppers once we iron out the issues.

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+


erros about inflowWind

The TLP wind turbine broke in the middle of the calculation, but the reason it showed didn't match my wind file, anyone know what the reason was?

Which version of OpenFAST / FAST.Farm are you running?


First pass at swapping to specifying service directory.

This PR changes the build scripts to optionally take a --servicedir argument. When provided it is combined with the root directory to narrow the scope of the modules within Python that are being built. It also needs corresponding changes in all the ci.yml files. At this stage I'm just changing one until I get the recipe right then I'll update this PR with all the files.

Can one of the admins verify this patch?

Just looking at it, the changes to the python scripts look good to me.
To be certain though, I'd like to see that a build of the azure-* from internal properly generates all the packages we expect. (I'm paranoid :P)

/azp run python - recoveryservices - ci

@scbedd the keyvault build is failing. It doesn't look any of the other failures I've been seeing as I've been setting this up.
ImportError while importing test module '/home/vsts/work/1/s/sdk/keyvault/azure-security-keyvault/tests/test_secrets_client.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
sdk/keyvault/azure-security-keyvault/tests/test_secrets_client.py:8: in <module>
    from preparer import VaultClientPreparer
sdk/keyvault/azure-security-keyvault/tests/preparer.py:12: in <module>
    from azure.security.keyvault import VaultClient
sdk/keyvault/azure-security-keyvault/azure/security/keyvault/__init__.py:6: in <module>
    from .vault_client import VaultClient
sdk/keyvault/azure-security-keyvault/azure/security/keyvault/vault_client.py:6: in <module>
    from .keys._client import KeyClient
sdk/keyvault/azure-security-keyvault/azure/security/keyvault/keys/__init__.py:6: in <module>
    from ._client import KeyClient
sdk/keyvault/azure-security-keyvault/azure/security/keyvault/keys/_client.py:10: in <module>
    from ._models import (
sdk/keyvault/azure-security-keyvault/azure/security/keyvault/keys/_models.py:9: in <module>
    from .._internal import _parse_vault_id
sdk/keyvault/azure-security-keyvault/azure/security/keyvault/_internal.py:6: in <module>
    from azure.core.pipeline.policies import HTTPPolicy
E   ImportError: No module named core.pipeline.policies

Is there something I'm not aware of?

Hmmm...Yes. I believe It's because they leverage azure-core, but it's not in their dev_requirements.txt.

/azp run python - keyvault - ci

/azp run python - managementpartner - ci

/azp run python - recoveryservices - ci

/azp run python - signalr - ci

/azp run python - relay - ci

/azp run python - resources - ci

/azp run python - servicebus - ci

/azp run python - subscription - ci

/azp run python - template - ci

Merging - there are a few runs that didn't report back their check status but were green.


Add Kafka as a pre-configured container

Hello!
In addition to MySQL, Postgres and Redis, do you guys pretend to add Kafka as pre-configured container?
Thanks in advance :)

Hi @vittoriabitton !
Adding Kafka is definitely on the radar, however it may be less trivial than the others to support.
I’m trying to understand how to run a local instance of Kafka painlessly, possibly without having to spawn an additional container for Zookeeper.
I don't have much experience with Kafka myself, so any suggestion is welcome :)

@dallagi I would suggest trying https://vectorized.io/redpanda :)
This should be API compatible, yet much simpler to use, especially with docker.

Yeah, Kafka is a beast.
RedPanda is 100% compatible with Kafka's API but much simpler to deploy: https://hub.docker.com/r/redpandadata/redpanda

can't we just look into testcontainers-ruby or any of the other testcontainers having Kafka supported ?


Fix broken links on Getting Started section

Adjusting the internal links to the new prefix and fixing a broken markdown link.

Thanks!


Alignment prob matrix visualization tool?

Hi,
Thank you so much for the great alignment tool! I was wondering that would it be possible for you to share some tools/code that you use to produce the alignment prob matrix like the following picture?

Thanks!

Hi, I used seaborn to draw the figure. I used seaborn.heatmap to generate the heat maps and axvline/axhline to generate the red lines.

Thanks a lot!!


Crash after making a ColorPicker custom color format with the same name with existing format

Microsoft PowerToys version
0.65.0
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
ColorPicker
Steps to reproduce

Open PowerToys setting window
Go to Color picker settings
On Color formats section click on  "Add custom color format" to add a new format
Name the new format with the same name as the existing one. e.g., HEX or RGB
Save the new format

✔ Expected Behavior
If the name is already in use, warn the user after clicking the save button and automatically send them back to rename the format, or warn them when they write in the "Name" textbox.
❌ Actual Behavior
The whole PowerToys window crashed and the format itself is not saved.
Other Software
No response

/dup #22551


Facebook Pixel event not fired

Thank you for the very excellent repo.
I installed it successfully, and it works fine with GTM and GA.
However, when adding Facebook Pixel in GTM. The Facebook Pixel script is fully loaded through the proxy, but no Pixel Event is fired.
Have you tried FB Pixel yet? Please give me suggestions to get FB Pixel working.
Thank you very much.

Hello!
Thank you for trying this solution. This repository was a PoC solution
which works only with GA/GTM. It is now replaced by SaaS DataUnlocker
https:// dataunlocker.com, give it a try if you haven’t already.
In order to support Facebook pixel in this solution, you would need to
program a few regular expressions in the config file to replace URLs in the
Facebook script.
Hope this helps!
On Wed, 12 Jan 2022 at 21:11, pinkykitten @.***> wrote:

Thank you for the very excellent repo.
I installed it successfully, and it works fine with GTM and GA.
However, when adding Facebook Pixel in GTM. The Facebook Pixel script is
fully loaded through the proxy, but no Pixel Event is fired.
Have you tried FB Pixel yet? Please give me suggestions to get FB Pixel
working.
Thank you very much.
—
Reply to this email directly, view it on GitHub
https://github.com/dataunlocker/save-analytics-from-content-blockers/issues/32,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABGCCSHI5XLGNV3YZT2Q5NDUVXG6XANCNFSM5LZYUFUQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***
com>

--
Nikita https://zitros.tk

Thanks for the quick reply.
I have two questions:

https:// dataunlocker.com has Facebook Pixel support.
If continue to use this repo, do I need to add config to specialContentReplace in config.js?
I've been thinking about that too, but I haven't found a rule to add. Currently FB Pixel downloads this script https://connect.facebook.net/en_US/fbevents.js, from there download https://connect.facebook.net/signals/plugins/identity.js?v=2.9.48 and https://connect.facebook.net/signals/config/{{fb_pixel_id}}?v=2.9.48&r=stable

Can you give me a suggestion?

Yes (it’s a general proxy for everything)
Right, you will have to add configs for each script to replace URLs in
that script to masked ones. As an example, you can check the Google
Analytics’ code which is already there.

Hope this helps!
Nikita
On Thu, 13 Jan 2022 at 05:20, pinkykitten @.***> wrote:

Thanks for the quick reply.
I have two questions:

https:// dataunlocker.com has Facebook Pixel support.
If continue to use this repo, do I need to add config to
specialContentReplace in config.js?
I've been thinking about that too, but I haven't found a rule to add.
Currently FB Pixel downloads this script
https://connect.facebook.net/en_US/fbevents.js, from there download
https://connect.facebook.net/signals/plugins/identity.js?v=2.9.48 and
https://connect.facebook.net/signals/config/{{fb_pixel_id}}?v=2.9.48&r=stable

Can you give me a suggestion?
—
Reply to this email directly, view it on GitHub
https://github.com/dataunlocker/save-analytics-from-content-blockers/issues/32#issuecomment-1011744657,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABGCCSAR3U7UEDA6CHE364DUVZAILANCNFSM5LZYUFUQ
.
You are receiving this because you commented.Message ID:
<dataunlocker/save-analytics-from-content-blockers/issues/32/1011744657@
github.com>

--
Nikita https://zitros.tk

Closing due to inactivity. Feel free to re-open if not solved.


Fix "should allow to preempt the lower priority group" test.

What type of PR is this?
/kind bug
/kind flake

What this PR does / why we need it:
To fix "should allow to preempt the lower priority group" test.
Which issue(s) this PR fixes:

Fixes #2730
Special notes for your reviewer:
Sometimes it's happening that we create replacement for the first pod in group but pod_controller replacing the second one. In this case we have not consistent replacementPods map. We have an error on getting second pod because it was already replaced and deleted.
Does this PR introduce a user-facing change?

NONE

/assign @trasc

/cc @mimowo

/lgtm
/approve
Thanks!

/cherry-pick release-0.8
To make the release branch more stable.


there is no audio in some links

One or two from muxed and adaptive links support audio but quality of video is low.  And other links have high quality of video but no audio is there.

Didn't you get the wrong quality or format you want?
Did you choose itag well by looking at the link below?
https://gist.github.com/sidneys/7095afe4da4ae58694d128b1034e01e2


Version 3

Final upgrade to stable Angular 4.

Codecov Report

Merging #140 into master will decrease coverage by 0.57%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master     #140      +/-   ##
==========================================
- Coverage     100%   99.42%   -0.58%
==========================================
  Files          13       13
  Lines         177      173       -4
  Branches       25       27       +2
==========================================
- Hits          177      172       -5
- Misses          0        1       +1

Impacted Files
Coverage Δ

src/http/helpers/getHttpOptions.ts
100% <ø> (ø)
:arrow_up:

src/http/helpers/getHttpOptionsIdx.ts
100% <ø> (ø)
:arrow_up:

src/http/helpers/getHttpOptionsAndIdx.ts
100% <ø> (ø)
:arrow_up:

src/http/helpers/getHttpHeadersOrInit.ts
100% <100%> (ø)
:arrow_up:

src/http/interceptable-http-proxy.service.ts
97.05% <50%> (-2.95%)
:arrow_down:

src/http/http-interceptor.service.ts
100% <0%> (ø)
:arrow_up:

src/http/interceptable-store.ts
100% <0%> (ø)
:arrow_up:

src/http/module.ts
100% <0%> (ø)
:arrow_up:

src/http/interceptable-http.ts
100% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


[BUG] build failed

logs was too long (over 90k characters)
logs:
logs.txt
OS info:
Edition	Windows 10 Pro
Version	22H2
Installed on	5/13/2023
OS build	19045.2846
Experience	Windows Feature Experience Pack 120.2212.4190.0

TLDR:
at first i'm was trying ro build for "aarch64-linux-android" target (staticlib using cargo build and cdylib using cargo-ndk (cargo ndk -t ... build ) both have same issue) but when i get a lot of nonsense error for cfltk missing i tryed to repeate .github/workflows/rust.yml to just clone recursive and build examples (you can see steps on logs.txt file) and get error on
FAILED: fltk/png/CMakeFiles/fltk_png.dir/png.c.obj

several month ago when i'm was trying to learn how i can use it for windows desktop i had the same issue that cfltk was not building but it just majically fixed idk how so i thud it was a bug in the crate version and master branch on github was fixed, but now non of them working ether for desktop or android targets.
simplly cfltk is not building for me for some unknown reasons

Hi
Thanks for the log and the report.
I think the reason is that the vcpkg include path is listed before the fltk include paths. Not sure why that is, maybe when you do a vcpkg integrate it does that.
This leads to the builtin png lib to include a mismatched zlib header (the one from vcpkg).
Proposed solutions:

do a vcpkg integrate uninstall then a clean rebuild of fltk. Or:
Use the fltk-bundled feature which will download a prebuilt cfltk for your system. Or:
Use libpng and zlib installed via vcpkg and set system-png and system-zlib features to true.

config.toml.txt
Cargo.toml.txt
android-logs.txt

FLTK upstream removed android support (temporarily to improve things). You could try setting the version to "=1.2.21". Versions after 1.2.28 don’t support android.


dummy ast node error

The following code,
#include <stdio.h>

static void a(void)
{
	printf("a\n");
}

static void b(void)
{
	printf("b\n");
}

static void x(int y)
{
	if (y > 0) {
		return a();
	} else {
		return b();
	}
}

int main(void)
{
	int y;
	scanf("%d", &y);

	x(y);
}

With the following parameters,
cxx2flow test.c x | dot -Tpng -o test.png

Results in this output,
Error: cxx2flow::unexpected_dummy_ast

  × unexpected dummy ast node
    ╭─[test.c:15:1]
 15 │             return a();
 16 │ ╭─▶     } else {
 17 │ │           return b();
 18 │ ├─▶     }
    · ╰──── dummy ast node here
 19 │     }
    ╰────
  help: dummy node found in the ast
        this might be a bug, please report it to the author

it runs on my machine...

there are also people reporting this in #42. Which version are you using? can you update the source file here?

maybe try cargo install --locked ?

That works. I didn't know about it not respecting the lock file, thanks for sharing.


Ver. 2.1.0, can not recognize simulator of iPhone 11 Pro

Hello,
test in iPhone 11 Pro simulator, with DeviceKit 2.1.0, Device.current.isSimulator return false.
(lldb) po Device.current
▿ Simulator (iPhone12,3)
▿ simulator : iPhone12,3
- unknown : "iPhone12,3"
(lldb) po Device.current.isSimulator
false

Hi @bd-jhunter! Yesterday I merged #200 from @Zandor300 and I will release a new Cocoapods version today! I will close the issue one the pod is ready. 😊👍

oh, my mistake. I at first thought ver 2.1.0 is the one including merge #200

No problem 😉. Cocoapods version 2.2.0 was just released. I've tested with Xcode 11, added the link to our Github repo inside Swift Packages --> Add Package Dependency and the simulators for iPhone 11, 11 Pro and 11 Pro Max inside the application:didFinishWithOptions and got outputs like this:
print(Device.current)
print(Device.current.isSimulator)
...
>> Simulator (iPhone 11 Pro Max)
>> true

So I am closing this issue now, have fun with our latest release!


ImportError: Cannot import name "InstrumentChannel" and "ChannelList"

If you encounter a bug use the following template.
If you have a feature request feel free to freestyle.
Steps to reproduce

from qcodes import InstrumentChannel, ChannelList

Expected behaviour
Tell us what should happen
The modules should import and allow me to create a driver for a new Oscilloscope
Actual behaviour
Tell us what happens instead
The modules don't import and I receive the error message as in the title.
System
operating system
Windows 7 Pro, Service Pack 1
Intel i7
qcodes branch
qcodes commit
I am trying to write a driver for a new oscilloscope (LeCroy WaveRunner 104xi) based on the existing driver for the Tektronix TPS2012 oscilloscope (qcodes.instrument_drivers.tektronix.TPS2012 module) for reflectometry measurements. While trying to import the LeCroy driver, I receive the error message given in the thread title. Is this issue something you have come across? How do I go about fixing this?
The following is the code for the LeCroy driver (still unfinished but I want to see if it works so far):
#!/usr/bin/env python
-- coding: utf-8 --
import logging
import binascii
import qcodes
import numpy as np
from pyvisa.errors import VisaIOError
from functools import partial
from qcodes import *
from qcodes import VisaInstrument, validators as vals
from qcodes import InstrumentChannel, ChannelList
from qcodes import ArrayParameter
log = logging.getLogger(name)
class TraceNotReady(Exception):
pass
class ScopeArray(ArrayParameter):
def init(self, name, instrument, channel):
super().init(name=name,
shape=(2500,),
label='Voltage',
unit='V ',
setpoint_names=('Time', ),
setpoint_labels=('Time', ),
setpoint_units=('s',),
docstring='holds an array from scope')
self.channel = channel
self._instrument = instrument
def calc_set_points(self):
    message = self._instrument.ask('WAVE_ARRAY_COUNT?')
    preamble = self._preambleparser(message)
    xstart = preamble['x_zero']
    xinc = preamble['x_incr']
    no_of_points = preamble['no_of_points']
    xdata = np.linspace(xstart, no_of_points * xinc + xstart, no_of_points)
    return xdata, no_of_points

def prepare_curvedata(self):
    """
    Prepare the scope for returning curve data
    """
    # To calculate set points, we must have the full preamble
    # For the instrument to return the full preamble, the channel
    # in question must be displayed

    self._instrument.parameters['state'].set('ON')
    self._instrument._parent.data_source('C{}'.format(self.channel))

    xdata, no_of_points = self.calc_set_points()
    self.setpoints = (tuple(xdata), )
    self.shape = (no_of_points, )

    self._instrument._parent.trace_ready = True

def get(self):
    if not self._instrument._parent.trace_ready:
        raise TraceNotReady('Please run prepare_curvedata to prepare '
                            'the scope for giving a trace.')
    message = self._curveasker(self.channel)
    _, ydata, _ = self._curveparameterparser(message)
    # Due to the limitations in the current api the below solution
    # to change setpoints does nothing because the setpoints have
    # already been copied to the dataset when get is called.

    # self.setpoints = (tuple(xdata),)
    # self.shape = (npoints,)
    return ydata

def _curveasker(self, ch):
    self._instrument.write('DATa:SOURce C{}'.format(ch))
    message = self._instrument.ask('WAVFrm?')
    self._instrument.write('*WAI')
    return message

@staticmethod
def _binaryparser(curve):
    """
    Helper function for parsing the curve data

    Args:
        curve (str): the return value of 'CURVe?' when
          DATa:ENCdg is set to RPBinary.
          Note: The header and final newline character
          must be removed.

    Returns:
        nparray: the curve in units where the digitisation range
          is mapped to (-32768, 32767).
    """
    # TODO: Add support for data width = 1 mode?
    output = np.zeros(int(len(curve)/2))  # data width 2
    # output = np.zeros(int(len(curve)))  # data width 1
    for ii, _ in enumerate(output):
        # casting FTWs
        temp = curve[2*ii:2*ii+1].encode('latin-1')  # data width 2
        temp = binascii.b2a_hex(temp)
        temp = (int(temp, 16)-128)*256  # data width 2 (1)
        output[ii] = temp
    return output

@staticmethod
def _preambleparser(response):
    """
    Parser function for the curve preamble

    Args:
        response (str): The response of WFMPre?

    Returns:
        dict: a dictionary containing the following keys:
          no_of_bytes, no_of_bits, encoding, binary_format,
          byte_order, no_of_points, waveform_ID, point_format,
          x_incr, x_zero, x_unit, y_multiplier, y_zero, y_offset, y_unit
    """
    response = response.split(';')
    outdict = {}
    outdict['no_of_bytes'] = int(response[0])
    outdict['no_of_bits'] = int(response[1])
    outdict['encoding'] = response[2]
    outdict['binary_format'] = response[3]
    outdict['byte_order'] = response[4]
    outdict['no_of_points'] = int(response[5])
    outdict['waveform_ID'] = response[6]
    outdict['point_format'] = response[7]
    outdict['x_incr'] = float(response[8])
    # outdict['point_offset'] = response[9]  # Always zero
    outdict['x_zero'] = float(response[10])
    outdict['x_unit'] = response[11]
    outdict['y_multiplier'] = float(response[12])
    outdict['y_zero'] = float(response[13])
    outdict['y_offset'] = float(response[14])
    outdict['y_unit'] = response[15]

    return outdict

def _curveparameterparser(self, waveform):
    """
    The parser for the curve parameter. Note that WAVFrm? is equivalent
    to WFMPre?; CURVe?

    Args:
        waveform (str): The return value of WAVFrm?

    Returns:
        (np.array, np.array): Two numpy arrays with the time axis in units
        of s and curve values in units of V; (time, voltages)
    """
    fulldata = waveform.split(';')
    preamblestr = ';'.join(fulldata[:16])
    curvestr = ';'.join(fulldata[16:])

    preamble = self._preambleparser(preamblestr)
    # the raw curve data starts with a header containing the char #
    # followed by on digit giving the number of digits in the len of the
    # array in bytes
    # and the length of the array. I.e. the string #45000 is 5000 bytes
    # represented by 4 digits.
    total_number_of_bytes = preamble['no_of_bytes']*preamble['no_of_points']
    raw_data_offset = 2 + len(str(total_number_of_bytes))
    curvestr = curvestr[raw_data_offset:-1]
    rawcurve = self._binaryparser(curvestr)

    yoff = preamble['y_offset']
    yoff -= 2**15  # data width 2
    ymult = preamble['y_multiplier']
    ydata = ymult*(rawcurve-yoff)
    assert len(ydata) == preamble['no_of_points']
    xstart = preamble['x_zero']
    xinc = preamble['x_incr']
    xdata = np.linspace(xstart, len(ydata)*xinc+xstart, len(ydata))
    return xdata, ydata, preamble['no_of_points']

class LeCroyChannel(InstrumentChannel):
def __init__(self, parent, name, channel):
    super().__init__(parent, name)

    self.add_parameter('scale',
                       label='Channel {} Scale'.format(channel),
                       unit='V/div',
                       get_cmd='C{}:VERTICAL_SCAle?'.format(channel),
                       set_cmd='C{}:SCAle {}'.format(channel, '{}'),
                       get_parser=float
                       )
    self.add_parameter('position',
                       label='Channel {} Position'.format(channel),
                       unit='div',
                       get_cmd='C{}:POSition?'.format(channel),
                       set_cmd='C{}:POSition {}'.format(channel, '{}'),
                       get_parser=float
                       )
    self.add_parameter('curvedata',
                       channel=channel,
                       parameter_class=ScopeArray,
                       )
    self.add_parameter('state',
                       label='Channel {} display state'.format(channel),
                       set_cmd='SELect:C{} {}'.format(channel, '{}'),
                       get_cmd=partial(self._get_state, channel),
                       val_mapping={'ON': 1, 'OFF': 0},
                       vals=vals.Enum('ON', 'OFF')
                       )

def _get_state(self, ch):
    """
    get_cmd for the chX_state parameter
    """
    # 'SELect?' returns a ';'-separated string of 0s and 1s
    # denoting state display state of ch1, ch2, ?, ?, ?
    # (maybe ch1, ch2, math, ref1, ref2 ..?)
    selected = list(map(int, self.ask('SELect?').split(';')))
    state = selected[ch - 1]
    return state

class LeCroy(VisaInstrument):
"""
This is the QCoDeS driver for the Tektronix 2012B oscilloscope.
"""
def __init__(self, name, address, timeout=20, **kwargs):
    """
    Initialises the TPS2012.

    Args:
        name (str): Name of the instrument used by QCoDeS
    address (string): Instrument address as used by VISA
        timeout (float): visa timeout, in secs. long default (180)
          to accommodate large waveforms
    """

    super().__init__(name, address, timeout=timeout, **kwargs)
    self.connect_message()

    # Scope trace boolean
    self.trace_ready = False

    # functions

    self.add_function('force_trigger',
                      call_cmd='TRIGger FORce',
                      docstring='Force trigger event')
    self.add_function('run',
                      call_cmd='ACQuire:STATE RUN',
                      docstring='Start acquisition')
    self.add_function('stop',
                      call_cmd='ACQuire:STATE STOP',
                      docstring='Stop acquisition')

    # general parameters
    self.add_parameter('trigger_type',
                       label='Type of the trigger',
                       get_cmd='TRIGger:MAIn:TYPe?',
                       set_cmd='TRIGger:MAIn:TYPe {}',
                       vals=vals.Enum('EDGE', 'VIDEO', 'PULSE')
                       )
    self.add_parameter('trigger_source',
                       label='Source for the trigger',
                       get_cmd='TRIGger:MAIn:EDGE:SOURce?',
                       set_cmd='TRIGger:MAIn:EDGE:SOURce {}',
                       vals=vals.Enum('C1', 'C2')
                       )
    self.add_parameter('trigger_edge_slope',
                       label='Slope for edge trigger',
                       get_cmd='TRIGger:MAIn:EDGE:SLOpe?',
                       set_cmd='TRIGger:MAIn:EDGE:SLOpe {}',
                       vals=vals.Enum('FALL', 'RISE')
                       )
    self.add_parameter('trigger_level',
                       label='Trigger level',
                       unit='V',
                       get_cmd='TRIGger:MAIn:LEVel?',
                       set_cmd='TRIGger:MAIn:LEVel {}',
                       vals=vals.Numbers()
                       )
    self.add_parameter('data_source',
                       label='Data source',
                       get_cmd='DATa:SOUrce?',
                       set_cmd='DATa:SOURce {}',
                       vals=vals.Enum('C1', 'C2')
                       )
    self.add_parameter('horizontal_scale',
                       label='Horizontal scale',
                       unit='s',
                       get_cmd='HORizontal:SCAle?',
                       set_cmd=self._set_timescale,
                       get_parser=float,
                       vals=vals.Enum(5e-9, 10e-9, 25e-9, 50e-9, 100e-9,
                                      250e-9, 500e-9, 1e-6, 2.5e-6, 5e-6,
                                      10e-6, 25e-6, 50e-6, 100e-6, 250e-6,
                                      500e-6, 1e-3, 2.5e-3, 5e-3, 10e-3,
                                      25e-3, 50e-3, 100e-3, 250e-3, 500e-3,
                                      1, 2.5, 5, 10, 25, 50))

    # channel-specific parameters
    channels = ChannelList(self, "ScopeChannels", LeCroyChannel, snapshotable=False)
    for ch_num in range(1, 3):
        ch_name = "ch{}".format(ch_num)
        channel = LeCroyChannel(self, ch_name, ch_num)
        channels.append(channel)
        self.add_submodule(ch_name, channel)
    channels.lock()
    self.add_submodule("channels", channels)

    # Necessary settings for parsing the binary curve data
    self.visa_handle.encoding = 'latin-1'
    log.info('Set VISA encoding to latin-1')
    self.write('DATa:ENCdg RPBinary')
    log.info('Set TPS2012 data encoding to RPBinary' +
             ' (Positive Integer Binary)')
    self.write('DATa:WIDTh 2')
    log.info('Set TPS2012 data width to 2')
    # Note: using data width 2 has been tested to not add
    # significantly to transfer times. The maximal length
    # of an array in one transfer is 2500 points.

def _set_timescale(self, scale):
    """
    set_cmd for the horizontal_scale
    """
    self.trace_ready = False
    self.write('HORizontal:SCAle {}'.format(scale))

##################################################
# METHODS FOR THE USER                           #
##################################################

def clear_message_queue(self, verbose=False):
    """
    Function to clear up (flush) the VISA message queue of the AWG
    instrument. Reads all messages in the the queue.

    Args:
        verbose (Bool): If True, the read messages are printed.
            Default: False.
    """
    original_timeout = self.visa_handle.timeout
    self.visa_handle.timeout = 1000  # 1 second as VISA counts in ms
    gotexception = False
    while not gotexception:
        try:
            message = self.visa_handle.read()
            if verbose:
                print(message)
        except VisaIOError:
            gotexception = True
    self.visa_handle.timeout = original_timeout

Please let me know if there is a fix for this.
Many Thanks,
Arvind

Hi Arvind,
I assume that you mean:
from qcodes import InstrumentChannel, ChannelList

and not InstrumentList I.e your title of the bug is correct but there is a typo in your list below?
The InstrumentChannels and ChannelList was added in the latest version of QCoDeS along with a new version of the TPS Driver that uses the channels. How did you install qcodes? and do you have the latest version?

Hi Jens,
Thanks for the quick reply. I installed qCoDeS via "pip install qcodes" but that was several months ago, has a new version come out since?
You are correct about the typo in the list below, I'll change that now.

Yes we did a release in both June and July. The Current version of the TPS driver (Which I guess you found here on Github?) only works with the latest release as it uses new features not in the old releases

I've updated my one to the latest version of qCoDeS via "pip install --upgrade qcodes" but it's still giving me the same error. Do you know why this might be the case?
And you are right, I found the current version of the TPS driver on Github.

Can you double check that you have the latest version by doing
import qcodes
print(qcodes.version.__version__)

from a python prompt. That should print 0.1.5

It's still on 0.1.3 however it says the latest version has been installed on cmd.exe
Is there a step I am missing between pip install/upgrade and being able to use the latest version?

There should not be. Is it possible that you have multiple python installations and you have upgraded the version installed in one and is using the other. Does the output of pip list show the right version?

Yes, that was exactly the error. I upgraded qCoDeS on the correct Python installation and now can import/use the new TPS driver.
Thanks a lot for the help, I appreciate it.
Cheers,
Arvind

Great I will close this then


add missing aggregation part 2

Add missing support for:

Mixed types columns
Key of type string on numerical fields

The special aggregation is slower than the integrated one in TermsAggregation and therefore not
chosen by default, although it can cover all use cases.
closes #1789

Codecov Report

Merging #2149 (3a93887) into main (52d9e6f) will increase coverage by 0.12%.
Report is 3 commits behind head on main.
The diff coverage is 98.79%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main    #2149      +/-   ##
==========================================
+ Coverage   94.32%   94.45%   +0.12%
==========================================
  Files         320      321       +1
  Lines       62032    62424     +392
==========================================
+ Hits        58514    58961     +447
+ Misses       3518     3463      -55

Files Changed
Coverage Δ

columnar/src/dynamic_column.rs
70.93% <ø> (+0.40%)
:arrow_up:

src/aggregation/bucket/mod.rs
96.15% <ø> (ø)

src/fastfield/readers.rs
89.25% <ø> (+1.11%)
:arrow_up:

src/query/boost_query.rs
73.17% <ø> (ø)

src/aggregation/intermediate_agg_result.rs
93.85% <25.00%> (-0.82%)
:arrow_down:

columnar/src/column/dictionary_encoded.rs
79.36% <100.00%> (+2.17%)
:arrow_up:

src/aggregation/agg_req_with_accessor.rs
98.11% <100.00%> (+0.36%)
:arrow_up:

src/aggregation/bucket/term_agg.rs
99.07% <100.00%> (+4.17%)
:arrow_up:

src/aggregation/bucket/term_missing_agg.rs
100.00% <100.00%> (ø)

src/aggregation/segment_agg_result.rs
95.58% <100.00%> (+0.20%)
:arrow_up:

... and 4 files with indirect coverage changes


STEP 3: Extract Candidates.py

can someone elaborate how to use extract_candidates.py ?
i have done step1, and 2, but now i'm stuck at the step 3 on how to get the candidates ?

You will have to modify the script for your classes. We have already implemented it for Invoice numbers, Amounts and Dates. In case you have any other, you will have to write your own.


Get the running OS version from the process rather than the platform.

It turns out the OS information returned by the platform can't be trusted
because the platform code is bogus (rdar://problem/42595503). Get the OS
version information from the process instead where it is accurate. This
commit also fixes the test to pass an older deployment target to the
compilation command so that it actually tests the feature we are trying
to exercise.

@swift-ci test and merge

@swift-ci test and merge

Should we check that major/minor/patch (at least major/minor) are not equal to -1 which is what the Process base class will return if a subclass doesn't override?  If we know what the oldest iOS version we support with this Xcode, we could install it on a device and make sure qHostInfo includes the version #.  This codepath is only executed on darwin targets so old iOS devices are the only concern I have.


Add did-jwt-vc tests

Added did-jwt-vc tests, focusing only on signing and ed25519 to start with. Skeleton of the rest is there.
Specifically, signing tests for the following pass:

credential-1--key-0-ed25519.vc-jwt.json
credential-2--key-0-ed25519.vc-jwt.json
credential-3--key-0-ed25519.vc-jwt.json
presentation-0--key-0-ed25519.vp-jwt.json
presentation-1--key-0-ed25519.vp-jwt.json

Note that there is a lot of duplication with other js implementations (bin and cli). Addressing that seemed out of scope.
As for implementing the rest -- this test suite is a little onerous so I had to timebox the work. But I included the framework so that it give subsequent people a good head start:

Support for additional signers should be easy for someone with the JWK mappings in active recall.
Verification should be straightforward if someone can add a did:example resolver

Addresses #39

Nice!
I see the following results, showing some successful Ed25519 VCs and VPs:

@clehner @peacekeeper I wonder if we can figure out how to consistently handle the "no support" side of this... so that it does not look like an implementation is failing when they don't support the key type or algorithm.


English first presentation.

It may prevent bounce rate

LGTM

@mjacobus could you please rebase the current master?

I believe I just rebased @haihappen
Weird... did you create the PR? I tried to, but the branch would not show up, and when it did, no "create PR" button was visible.


[feat] Allow disabling pipeline hooks from the command line

I'm using --disable-hook as a command line option, which can be chained, for consistency with the rest of the options.
Fixes #1273.
Still todo:

[ ] Update the documentation.

Codecov Report

Merging #1462 into master will increase coverage by 0.27%.
The diff coverage is 91.04%.

@@            Coverage Diff             @@
##           master    #1462      +/-   ##
==========================================
+ Coverage   91.41%   91.69%   +0.27%
==========================================
  Files          82       82
  Lines       12390    12852     +462
==========================================
+ Hits        11326    11784     +458
- Misses       1064     1068       +4

Impacted Files
Coverage Δ

reframe/frontend/cli.py
79.36% <86.66%> (-0.08%)
:arrow_down:

unittests/test_pipeline.py
94.00% <91.66%> (+0.26%)
:arrow_up:

reframe/core/meta.py
96.96% <100.00%> (+0.19%)
:arrow_up:

reframe/core/pipeline.py
92.80% <100.00%> (+0.67%)
:arrow_up:

unittests/test_shell.py
100.00% <0.00%> (ø)

reframe/utility/color.py
100.00% <0.00%> (ø)

reframe/core/containers.py
100.00% <0.00%> (ø)

unittests/test_argparser.py
100.00% <0.00%> (ø)

unittests/test_containers.py
100.00% <0.00%> (ø)

unittests/test_check_filters.py
100.00% <0.00%> (ø)

... and 41 more

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 661dbc1...98eb1ca. Read the comment docs.


What does the future of this project look like?

I'd like to use this project because it seems to have one of more advanced ORMs for crystal but it looks sort of abandoned. Also I'm having issues getting it to compile with newer versions of crystal. Any suggestions?

I think we should fork this and bring it up

Yeha , the maintainer does not wish to continue working on it , though , I do see he accepts PRs

Yeah, also crystal is changing a lot until the 1.0 version, maybe we should wait to that. it would be awesome that exist a Crystal on Rails

I would definitely contribute to this

Someone should start a Rails clone with Trailblazer architecture ... that would be some kickass framework. Just sayin ;)

@Codcore , Would you be ok with moving this repo to the care of https://github.com/crystal-community ?
I think that @crystal-community can take this project and move it forward while allowing multiple people to maintain it.

@bararchy, with great pleasure, what should I do?

@Codcore I have sent you an invitation to crystal-community organization. You can accept the request and transfer the repo.

Awsome ! Thanks @Codcore  :)

Nice!

@bararchy @benoist done, guys! Take care of it!

@Codcore Thanks for giving us the opportunity :)

@benoist @elorest or @veelenga
I guess this issue can be closed now ?

@bararchy I believe here this project will get new life. Yes, this issue can be closed now.


GD-117: gdUnit3 can't find tests if two test classes have the same name

The used Godot version: 3.3
OS including version: Windows 10
Describe the bug
Create two test classes with the same name, in different directories. One runs, the other reports errors about supposedly missing tests .
Steps to Reproduce

Create tests/unit/player_tests.gd with the method test_cool_stuff
Create tests/integration/player_tests.gd with method test_damage_and_idk
Right-click the tests directory and pick Run unit tests

One set of tests runs, the other doesn't. The output window mentions the error about missing tests.

Thanks for reporting, I will have a look soon.


MarkDuplicates missing in QC metrics

It seems that MarkDuplicates is missing from qc metrics file in the new update
We also would like the number of reads for each lane/fastq-file-pair to accompany the reads mapped number - otherwise it's difficult to calculate the value on a per-sample basis
ping @b4ckm4n

Fixed MarkDuplicates in new hotfix. Try it out and see if it works.
"We also would like the number of reads for each lane/fastq-file-pair to accompany the reads mapped number - otherwise it's difficult to calculate the value on a per-sample basis"
Was this a MIP issue?  If so please open up a seperate issue and explain more. Closing issue for now!


Added the functionality to view comments deleted by moderator

First commit looks good assuming it's tested.
The second commit seems like a formatting commit but the comments seem to be in strange places, maybe that should be reverted?
Let me know what you think.
Thanks!

Oh Crap! I tried to prettify the code formatting using babel, but it seems it disoriented the comments. Thanks, I'll revert it!

Yeah, the code could definitely use a lot of refactoring and improvements. Maybe for another time.

Reverted! Never mind that empty commit.


Add kscrash tests

Adds the KSCrash test suite to the project, bringing code coverage up to 42% from 24%.
It's worth noting that the following test case is failing - possibly due to some change in the underlying NSArray implementation? A couple of the JSON encoding tests have also been updated to handle control characters. The KSFileUtils test case for large read/writes has also been removed, as it caused the build to continue for 3 hours and throw an internal error on BuddyBuild 😭

@kattrali It looks like there's an issue with how KSCrash represents NSMutableArray in iOS 11. The offending piece of code looks like this:
NSMutableArray* array = [@[@"1", @"2", @"3", @"4"] mutableCopy];
void* arrayPtr = (__bridge void*)array;
size_t expectedCount = [array count];
size_t count = bsg_ksobjc_arrayCount(arrayPtr);

// called by bsg_ksobjc_arrayCount
static inline size_t nsarrayCount(const void *const arrayPtr) {
    const struct NSArray *array = arrayPtr;
    CFIndex cfIndex = array->basic.count;
    return cfIndex < 0 ? 0 : (size_t) cfIndex;
}

struct NSArray {
    struct {
        void *isa;
        CFIndex count;
        id firstEntry;
    } basic;
};

The issue is that array->basic.count always returns 0 for a mutable array, which suggests that something changed in the implementation between iOS 10 and 11. This could potentially cause us to miss data from crash reports as arrays will erroneously be thought of as empty.


supernode/config: add some unit tests

Ⅰ. Describe what this PR did
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Could you please rebase the code and combine your commits into one commit?

Done.

Codecov Report

Merging #1330 into master will increase coverage by 0.10%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1330      +/-   ##
==========================================
+ Coverage   51.12%   51.23%   +0.10%
==========================================
  Files         126      126
  Lines        8327     8327
==========================================
+ Hits         4257     4266       +9
+ Misses       3724     3716       -8
+ Partials      346      345       -1

Impacted Files
Coverage Δ

supernode/daemon/mgr/scheduler/manager.go
22.60% <0.00%> (+0.68%)
:arrow_up:

supernode/config/config.go
93.75% <0.00%> (+16.66%)
:arrow_up:

Continue to review full report at Codecov.

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


[WIP] Compatibility for select2 major version 3 and 4.

This is an early work in progress PR to make the current bundle support select2 major versions 3 and 4 at the same time. Currently only single relations is implemented/tested with a minimal set of functionality (ajax).
I'd like to get early feedback about the PR with the bigger goal to make this bundle support both major versions of select2.

https://select2.github.io/options.html#input-fallback


GradientDescentOptimizer got wrong result

I want use gradient descent to solve equation set, but I got wrong result everytime, so I check my code and written a numpy edition, in this edition I provide explicit loss gradient and I can get currect result.
So I don't understand why GradientDescentOptimizer can not work.
here is my code without tf:
import numpy as np

class SolveEquation:
    def __init__(self, rate: float, loss_threshold: float=0.0001, max_epochs: int=1000):
        self.__rate = rate
        self.__loss_threshold = loss_threshold
        self.__max_epochs = max_epochs
        self.__x = None

    def solve(self, coefficients, b):
        _a = np.array(coefficients)
        _b = np.array(b).reshape([len(b), 1])
        _x = np.zeros([_a.shape[1], 1])
        for epoch in range(self.__max_epochs):
            grad_loss = np.matmul(np.transpose(_a), np.matmul(_a, _x) - _b)
            _x -= self.__rate * grad_loss
            if epoch % 10 == 0:
                loss = np.mean(np.square(np.subtract(np.matmul(_a, _x), _b)))
                print('loss = {:.8f}'.format(loss))
                if loss < self.__loss_threshold:
                    break
        return _x

s = SolveEquation(0.1, max_epochs=1)
print(s.solve([[1, 2], [1, 3]], [3, 4]))

And here is my code with tf:
import tensorflow as tf
import numpy as np

class TFSolveEquation:
    def __init__(self, rate: float, loss_threshold: float=0.0001, max_epochs: int=1000):
        self.__rate = rate
        self.__loss_threshold = tf.constant(loss_threshold)
        self.__max_epochs = max_epochs
        self.__session = tf.Session()
        self.__x = None

    def __del__(self):
        try:
            self.__session.close()
        finally:
            pass

    def solve(self, coefficients, b):
        coefficients_data = np.array(coefficients)
        b_data = np.array(b)
        _a = tf.placeholder(tf.float32)
        _b = tf.placeholder(tf.float32)
        _x = tf.Variable(tf.zeros([coefficients_data.shape[1], 1]))
        loss = tf.reduce_mean(tf.square(tf.matmul(_a, _x) - _b))
        optimizer = tf.train.GradientDescentOptimizer(self.__rate)
        model = optimizer.minimize(loss)
        self.__session.run(tf.global_variables_initializer())
        for epoch in range(self.__max_epochs):
            self.__session.run(model, {_a: coefficients_data, _b: b_data})
            if epoch % 10 == 0:
                if self.__session.run(loss < self.__loss_threshold, {_a: coefficients_data, _b: b_data}):
                    break
        return self.__session.run(_x)

s = TFSolveEquation(0.1, max_epochs=1)
print(s.solve([[1, 2], [1, 3]], [3, 4]))

I test these 2 codes with very simple equation set:
x_1 + 2 * x_2 = 3
x_1 + 2 * x_3 = 4
loss = 1/2 * || Ax - b ||^2
Init x_1 = 0, x_2 = 0, rate = 0.1
Use gradient descent
So at 1st compute, the delta x = (0.7, 1.8)
But unfortunately my code with tf give the
delta x =
[[ 0.69999999]
[ 1.75      ]]
And my code without tf give the
delta x =
[[ 0.7]
[ 1.8]]
Absolutely code without tf is right, but why tf comput gradient may less 0.05 then currect result?
I think this is the reason my code without tf can solve the equation set, but tf edition can not solve equation set currently.
 Thanks
My platform is Win10 + tensorflow-gpu v1.0

This is a question better suited for StackOverflow, which we also monitor. Please ask it there and tag it with the tensorflow tag.

@poxvoculi http://stackoverflow.com/questions/42468292/gradientdescentoptimizer-got-wrong-result


tests use existing roles / features / groups

Overview:

Allow specs to run if existing data is in the database

This PR:

Factories work even if feature is already in db. This happens when creating multiple users OR primordial seeds have already run.

/cc @Fryguy what do you think about this one?

@Fryguy @matthewd please review

I've run into this in a number of tests where you want to construct many 2 users with the same role or feature. you have to jump through hoops to link them.
Would prefer to not reference these classes in the factories.

ideas how to remove the class reference?
should we allow an actual class to be passed in for all 3 of these cases?


Initramfs unpacking failed: ZSTD data is corrupt

Chimera fresh install to a new NVME drive gives
Initramfs unpacking failed: ZSTD-compressed data is corrupt
Kernel panic - not syncing: No working init found. Try passing init= option to kernel
Tried even generating the initramfs fresh new, but it does not work. Pure arch works in this drive as well

Seem like a failed install or a bad flash of the iso. Could you try again downloading the iso and install again to see if it wasn't a fluke?

Same problem.
Downloaded a new ISO, erased the disk, tried running gdisk, fdisk and AIOMEI to guarantee the disk is in a good state, then reinstalled it, but got the same thing.
And it does not happen if install it to an SSD. Also, I can use an SSD with the boot partition to boot into the NVME one. So it seems to be related with the frzr_boot partition specifically on NVME

By any chance do you have other ChimeraOS installation in another disk connected to the device?

Not connected right know, but I have it in an external drive (USB SSD) that I can use for that if needed

IS this issue still relevant? Does it still happen on a freshly downloaded and installed ChimeraOS?

@Samsagax were there any updates recently? I can try to reinstall it again

Not to the stable image nor the installer. But there are a pre-release installer you can test. Either way if you do try again I would recommend downloading the stable installer and reflash.

How should I install a pre-release to test it? Just dd the image or is there any other recommended way of doing it?

Download the pre-release installer ISO and dd it to a flash drive. Should work that way. But I would recommend doing that same thing with the stable image instead.


Scrum 2165

Looks great! Thanks @azurebrd
usually I would add the following after line80
db_session.add(x)
I didn't know it would work without it.

@sweng66 Oh.  I think it worked ?  I mean, I think I saw the db change afterward.  @valearna do you know if that should work ?

@azurebrd I believe you. I just didn't know that before.

@sweng66 It's kind of late, I was just starting to doubt whether I'd set things backwards in the data (at first it was backward, because I was checking that the wrong thing was still on 3002), and I was checking the wrong thing :P  The logs make sense though.  Thanks :)

I see.


Data retention of OSS version

Hi, thanks for the great work. I'm curious about the default data retention days of OSS version, and whether there's a way to customize it?

Hi @shan-mx, thanks for bringing this issue up. The default data retention is a month. We should make it obvious to customize the data retention. Currently the way to do it is to run a command to update the clickhouse tables schema:

Access ClickHouse Client:

docker compose exec ch-server clickhouse-client

Customize Data Retention:
Let's say we want to bump the retention to 90 days.

Logs/Spans

ALTER TABLE log_stream MODIFY  TTL toDateTime(_created_at) + INTERVAL 90 DAY DELETE

Metrics

ALTER TABLE metric_stream MODIFY  TTL toDateTime(_created_at) + INTERVAL 90 DAY DELETE

Hope this is helpful :)

@wrn14897 Thank you for your detailed response. It's very helpful to me!

@wrn14897 Thank you. It's very helpful!


opt set longer timeout for hive query cache test case

Proposed changes
Sometimes the first run of query may be longer then former given threshold, which case test fail.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


[3pt]  - Add comments counter - Student B

Even if the API gives you the number of comments you will create a specific function to calculate it.
Make sure that the correct number is displayed on the Comments pop up.
Respect the following rules:

Each counter should be implemented as a separate module.
A counter function should look for specific DOM elements (e.g. for the comments counter it should look for comments) and make the counting based on what is actually displayed on the page.
A counter function should cover all the edge cases you can think about.

Brillant job @shakerAbuDrais https://github.com/shakerAbuDrais/FreeEpicGames/pull/28 👍🏾


Bugfixes for GOP phrases code

Fix (and test for!) two issues:

ngram_freqs drops the last token
integer division errors in tfidf_dicts_from_freq_dicts

cc @ritchieking

Just curious @forecasterenten @natesilver538 @adamobeng Do you all open source your presidential forecast model? I'm trying to do some forecasting of my own for fun and wanted to see how y'all are doing it. Thanks!

alat pkvgames.apk

Thanks for your note. Since this repository is a record of the data that was used in our stories, we're going to leave it as it was a the time of publication.


inconsistency in html graph w.r.t. external cidrs

At the moment, each node in the html graph for external ips is an endpoint which is a src/dst in a line of the textual presentation.
As a result:

A single external cidr may participate in several html nodes
The edges to/from a single external node may present only some of the connections of a cidrs that participates in this node. To get the full connectivity one need to consider all the nodes that the cidr participate in.
As a result of the above item, the explanantion for a specific node may actually be non-consistent with its edges. This is since the explainability will include all the existing connections.

Development wise, this is because the html graph is driven from the connectivity result grouped for external ips.
My proposed solution: have a dedicated grouping for drawio in which the grouping in such that each cidr is at most in one grouping line.
The issue with this solution is that it may result in too many "html nodes"
Perhaps have a default over approximation presentation of the entire internet and then enable restriction it to specifics, selected, cidrs?
@zivnevo @haim-kermany

After discussion with @haim-kermany
Consider the following:
<IP_ADDRESS>/7 -> vsi1
<IP_ADDRESS>/8 -> vsi2
<IP_ADDRESS>/0 -> vsi3
transforming this to nodes with distinct cidrs will result in:
<IP_ADDRESS>/8 -> vsi1, vsi2,  vsi3
<IP_ADDRESS>-<IP_ADDRESS> -> vsi1, vsi3
<IP_ADDRESS> - <IP_ADDRESS>, <IP_ADDRESS> - <IP_ADDRESS> -> vsi3
Which is clearly less readable and graphically will result in much more edges. Especially if we assume users will mainly want to know what is the public internet available for a certain vsi and not vice versa. Specifically, it will be much harder to see that vsi3 is accessible to the entire public internet
Solutions:

Transform to distinct cidrs as above
Leave as is, perhaps change the icon of cidr to something less strict, as cloud, that will imply it is not a node in the same strict manner the vsis are.
Have 2 types of nodes: "entire public internet" and the other cidrs. In this option, the above will look as follows:
<IP_ADDRESS>/8 -> vsi1, vsi2
<IP_ADDRESS>-<IP_ADDRESS> -> vsi1
<IP_ADDRESS>/0 -> vsi3
And sometime in the future present the entire internet not as a node but as the entire rectangle - have edges emerging from that rectangle.
This solution is much more readable than 1 and the nodes are well defined, in the sense that cidrs of different nodes are disjoint

Indeed, 1 seems like a bad solution. We should decide between 2 and 3 (and other ideas?). @haim-kermany strongly prefers 2
@zivnevo @kyorav

There is also option 4: instead of splitting nodes we add edges to represent ability to connect:
<IP_ADDRESS>/7 -> vsi1, vsi3
<IP_ADDRESS>/8 -> vsi2, vsi1, vsi3
<IP_ADDRESS>/0 -> vsi3
This is the most intuitive for me, but obviously this is very subjective. If option 4 is impossible (maybe it can't be generalized?) or too much work, then I'd choose 3 because it is at least accurate.

There is also option 4: instead of splitting nodes we add edges to represent ability to connect: <IP_ADDRESS>/7 -> vsi1, vsi3 <IP_ADDRESS>/8 -> vsi2, vsi1, vsi3 <IP_ADDRESS>/0 -> vsi3
This is the most intuitive for me, but obviously this is very subjective. If option 4 is impossible (maybe it can't be generalized?) or too much work, then I'd choose 3 because it is at least accurate.

If I understand you correctly, this is what we have today.  In the pic below the 2nd node is <IP_ADDRESS>/7 and the issue is that one node actually contains the other, cidr wise. I don

There is also option 4: instead of splitting nodes we add edges to represent ability to connect: <IP_ADDRESS>/7 -> vsi1, vsi3 <IP_ADDRESS>/8 -> vsi2, vsi1, vsi3 <IP_ADDRESS>/0 -> vsi3
This is the most intuitive for me, but obviously this is very subjective. If option 4 is impossible (maybe it can't be generalized?) or too much work, then I'd choose 3 because it is at least accurate.

I think this is too much work @haim-kermany  is it?

There is also option 4: instead of splitting nodes we add edges to represent ability to connect: <IP_ADDRESS>/17 -> vsi2, vsi, vsi3 <IP_ADDRESS>/16 -> vsi1, vsi3 <IP_ADDRESS>/0 -> vsi3
This is the most intuitive for me, but obviously this is very subjective. If option 4 is impossible (maybe it can't be generalized?) or too much work, then I'd choose 3 because it is at least accurate.

I think this is too much work @haim-kermany  is it?

Please recall that we already have a node for all public internet IPs - this is the big rectangle where all the CIDR icons live. The recent enhancements @haim-kermany made, allow selecting this rectangle for getting full details + explanation regarding connectivity to the internet. So maybe option 5 would be to leave just this rectangle (possibly, only if there are too many CIDRs inside and things get messy).

@nevo you mean leaving this rectangle and removing the "all internet" node?
This makes sense, but unless combining it with 3 or 4 we are left with a graph that is inconsistent.
Just to make sure we are all on the same page: the inconsistency problem with the current graph is that it is not a legal graph, in the sense that the edges from a specific external node could present only a subset of the actual edges from the cidr(s) it present. As <IP_ADDRESS>/17 ->vsi2 in the example below.
I tend to think  @kyorav 's solution (which was also proposed by @zivnevo at some point) is the best:

The graph is consistent; the edges from an external node are all the edges that apply to the entire IP range represented by the node
We do not add nodes
Looking at the nodes from a  VSI to external nodes, one can easily understand what this VSI is connected to (@haim-kermany )
Last and perhaps least, the amount of work required to implement the solution is not big

On top of this solution and independent from it, we can apply @zivnevo 's 5 above and remove the extra "all internet" node

@nevo you mean leaving this rectangle and removing the "all internet" node? This makes sense, but unless combining it with 3 or 4 we are left with a graph that is inconsistent. Just to make sure we are all on the same page: the inconsistency problem with the current graph is that it is not a legal graph, in the sense that the edges from a specific external node could present only a subset of the actual edges from the cidr(s) it present. As <IP_ADDRESS>/17 ->vsi2 in the example above.

I meant that when things get too messy, leave just the rectangle with no icons in it. Users get less (graphical) details, but they can get these details (textually) if they select the rectangle and a VSI

@nevo you mean leaving this rectangle and removing the "all internet" node? This makes sense, but unless combining it with 3 or 4 we are left with a graph that is inconsistent. Just to make sure we are all on the same page: the inconsistency problem with the current graph is that it is not a legal graph, in the sense that the edges from a specific external node could present only a subset of the actual edges from the cidr(s) it present. As <IP_ADDRESS>/17 ->vsi2 in the example above.

I meant that when things get too messy, leave just the rectangle with no icons in it. Users get less (graphical) details, but they can get these details (textually) if they select the rectangle and a VSI

makes sense; this can be on top of the other solution.
The problem with 3. is that I'm afraid it will make also the simple cases messier. This is why I tend to 4 + 5


New version impedes PCX importer to work: v0.4.0: URP/HDRP support, easier PLY workflow, smaller chunk info Latest

It's great to have this running in URP/HDRP but the new method of version 4 for creating the assets, through a ply importer, impedes other useful packages, as PCX for importing pointclouds, from working simultaneously in the scene, which wasn't the case until version 3. Would it be possible to incorporate the GaussianSplatURPFeature or GaussianSplatHDRPPass in version 3  that didn't have this conflict? Thank you!
As of now, this error occurs, when having both packages installed:
i get this error in unity: Multiple scripted importers are targeting the extension 'ply' and have all been rejected: Pcx.PlyImporter (assembly: C:\Unity_New\UnityGaussianSplatting-main\Library\ScriptAssemblies\Pcx.Editor.dll), GaussianPlyImporter (assembly: C:\Unity_New\UnityGaussianSplatting-main\Library\ScriptAssemblies\GaussianSplatting.dll)
UnityEditor.AssetImporters.ScriptedImporter:RegisterScriptedImporters ()

Ah! I guess I could make it so that people have to rename their gaussian splat point clouds to some other extension, e.g. .gply. Would that work?

Not the original poster but I think it would. However I think this points to a flaw somewhere. On one level - the Splatting community should probably settle on their own extension. These are regular .ply files only in the loosest sense so a new extension makes a lot of sense and would ideally be adopted widely.
But another aspect is that Unity's scripted importers are really annoying! This isn't the first time the tight coupling between importer and file extension has caused problems.

@andybak looks like Unity scripted importers do have some functionality where multiple importers could co-exist. I'll investigate https://docs.unity3d.com/ScriptReference/AssetDatabase.SetImporterOverride.html and friends and will report back. Thanks for notifying me, I was not aware that other packages also want to import PLY files!

Ah! I guess I could make it so that people have to rename their gaussian splat point clouds to some other extension, e.g. .gply. Would that work?

Thanks, I imagine that might work. PCX is very established for PLY, it has a lot of functionalities and works with VFX. I’m eager to produce visuals using both packages. I was able to add the GaussianSplatURPFeature to an asset renderer on version 3, but it only worked by replacing the GaussianSpla
TRenderer and deleting the GaussianAssetCreator, but my previous created assets still don’t visualize. The GaussianSplatRenderer panel even shows a message that say the asset was created in a previous version. Thank you for considering this issue!

I was hoping that using ScriptedImporterAttribute.overrideFileExtensions would work nicely, as in I'd register no "primary" extension, only the ply as an override extension. And then indeed it works nicely, if both GaussianSplat and PCX are in the project - PCX is used by default, but you can override the asset to be imported as GaussianSplat instead.
But! Then it does not work at all if PCX is not in the project; the asset just is not imported at all. Oooof!
I guess I'll get back to not using a custom importer afterall, i.e. back to the "create asset" window thingy.

Thank you for trying that! Yes, the create asset window, prior to the URP/HDRP update, worked great with PCX.

Should be fixed now in v0.5.0

Should be fixed now in v0.5.0

Thank you so much for implementing this, @aras-p . It works!
Sometimes I've had some memory leakage alerts when selecting ply files on the project window, but I've been able to ignore them. Runtime works normally.
[00:07:17] [Worker1] Internal: There are remaining Allocations on the JobTempAlloc. This is a leak, and will impact performance
[00:07:17] [Worker1] To Debug, run app with -diag-job-temp-memory-leak-validation cmd line argument. This will output the callstacks of the leaked allocations.
[00:07:26] [Worker4] Internal: There are remaining Allocations on the JobTempAlloc. This is a leak, and will impact performance
[00:07:26] [Worker4] To Debug, run app with -diag-job-temp-memory-leak-validation cmd line argument. This will output the callstacks of the leaked allocations.
[Worker4] To Debug, run app with -diag-job-temp-memory-leak-validation cmd line argument. This will output the callstacks of the leaked allocations.
A [Worker4] To Debug, run app with -diag-job-temp-memory-leak-validation cmd line argument. This will output the callstacks of the leaked allocations.

One thing I did so the various glTF importers could happily co-exist was to make a scripting define to specify if the „fileExtension“ should be used (default) or if „overrideFileExtension“ is used.
This allows for both, the nice import workflow and coexisting importers. People that have both pcx and splats have to set the scripting define manually (can also be automatic with a version define in an AsmDef).

@hybridherbst yeah that might work, but also a step that someone has to actually do :/ Right now I'll probably keep on not using a scripted importer, given that it has other issues (namely: there's no way to efficiently store the imported "bunch of bytes" without making either inspector slow, or domain reload slow -- waiting for Unity to add TextAsset constructor that takes byte array as input).


error[E0277]: the trait bound ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>: ToVectorValue is not satisfied

I am trying to follow the documentation for returning a reference to an ndarray from Rust back to R: https://extendr.github.io/extendr/extendr_api/robj_ndarray/index.html
But I receive the above error after creating a new cargo project following the code:
use ndarray::Array2;

#[extendr]
fn return_matrix() -> Robj {
    Array2::<f64>::zeros((4, 4)).try_into().unwrap()
}

The error occurs at try_into()
Is this example out of date?

Are you using the crate from crates.io? Those docs relate to the github master branch, which has many more features than the last published crate.

Which I now realise is misleading because the Cargo.toml in that example doesn't show that.

Ah, that might explain it, I ran cargo add extendr-api when testing it.

How would I specify to install extendr-api from github using the rust_source() function from rextendr?
I was previously trying to call like this
code = r"(
    use extendr_api::prelude::*;
    use ndarray::Array2;

    #[extendr]
    fn return_matrix() -> Robj {
        Array2::<f64>::zeros((4, 4)).try_into().unwrap()
    }
)"

rust_source(code = code,
    dependencies = list(
        `extendr-api` = "0.3.1",
        `ndarray` = "0.15.6"
    ),
    features = list(
        `extendr-api` = "ndarray"
    )
)

Hi! Sorry, it seems our docs are hopelessly outdated. So, in order to use ndarray, you need two things:

Add ndarray as dependency
Enable ndarray feature in extendr-api, and also use its dev version from git

Note: array(x, 1) is required when we want to output an array of one element [ 'x' ] to Cargo.toml.
code <- r"(
    use extendr_api::prelude::*;
    use ndarray::Array2;

    #[extendr]
    fn return_matrix() -> Robj {
        Array2::<f64>::zeros((4, 4)).try_into().unwrap()
    }
)"

rextendr::rust_source(
    code = code,
    dependencies = list(`ndarray` = "*"),
    extendr_deps = list(
        `extendr-api` = list(
            git = "https://github.com/extendr/extendr",
            features = array("ndarray", 1L)
        )
    )
)
#> ℹ build directory: 'C:/Users/.../AppData/Local/Temp/RtmpuwiFV6/file6f4012dd4ff7'
#> ! warning: unused import: `extendr_api::prelude::*`
#>  --> src\lib.rs:3:9
#>   |
#> 3 |     use extendr_api::prelude::*;
#>   |         ^^^^^^^^^^^^^^^^^^^^^^^
#>   |
#>   = note: `#[warn(unused_imports)]` on by default
#>
#> ! warning: 1 warning emitted
#>
#> ✔ Writing 'C:/Users/.../AppData/Local/Temp/RtmpuwiFV6/file6f4012dd4ff7/target/extendr_wrappers.R'

return_matrix() |> print()
#>      [,1] [,2] [,3] [,4]
#> [1,]    0    0    0    0
#> [2,]    0    0    0    0
#> [3,]    0    0    0    0
#> [4,]    0    0    0    0

Created on 2023-02-18 with reprex v2.0.2


Mdx

The PR is unclear random grabage. It even contains visual basic code.
I can't understand anything here and checked other PRs of the user and they also seems like some unclear garbage. Maybe this is abuse of github and I'll report this account.
Please close the PR


New translator

Before, we were simply translate by turning AST into string. This new translator will have additional steps: from Toki Pona AST into English AST then finally into string. This is necessary in order to analyze and grammar check English AST.
This issue shall only track the Toki Pona AST to English AST part. The English AST to string part shall be on new issue.

#47


Incorrect message gets shown if mute role is undefined

Instead, there should be more information provided on what needs to be done for functionality to function correctly.

Resolved


Inconsistent caps

Testing #141

I think Using should be capitalized to fit in

closing in favor of https://github.com/microsoft/vscode-python-debugger/issues/175


impl TryFrom<&[T]> for Simd?

now that we have added Simd::from_slice (see #177), which panics when the len is not enough to construct the Simd; I think we may need to consider adding a TryFrom impl to let the users handle errors in case the conversion fails.

I hesitate to add a conflict for TryInto from the appropriate reflexive impl.

@workingjubilee I'm confused. how would that potientially conflict? could you please show me a concrete example?

Hm, I think given that it TryFrom => array exists for slices (and mut slices), that TryFrom makes sense here. Is there a reason you'd expect it to conflict? I also think people expect From/TryFrom conflicts, so they don't write code succeptable to it in the same way as e.g. arithmetic operators.

@workingjubilee hello? did you forget what & why you expected it to conflict?


update php grammar

So in tomorrow's insiders, I don't have any problems. :)
//cc @aeschli

@jens1o,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


Create GitHub pull requests statistics.

Summary:
We want to move faster and reduce the number of our pull requests. Our
first step is to generate data and get an overview. The Python script
ci/github_pulls_stats.py gets the list of pull requests and calculates
the youngest, oldest, p50 and p90 open pull request.

@zen-dog, what are the action items on my side to merge this pull requests? Your comments hint on the mid term goal but not on the short term task of retrieving the data.

what are the action items on my side to merge this pull requests?

agreed.

Looks like this just gets stats for the current open pull requests?

It's by design - otherwise, we get all possible "old stats" which will skew the stats.


Fix CPU load tests for MacOSX environments

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@6f2ab1f). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #6670   +/-   ##
=========================================
  Coverage          ?   82.96%
  Complexity        ?    13363
=========================================
  Files             ?     1524
  Lines             ?    49553
  Branches          ?     5941
=========================================
  Hits              ?    41111
  Misses            ?     5619
  Partials          ?     2823

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 6f2ab1f...f44e2a1. Read the comment docs.


Add d3d12 support to gpu-allocator

GPU Allocator has worked great for Vulkan so far, so it is only natural to add support for D3D12. We managed to reuse all the sub-allocation logic from the Vulkan allocator. Both Vulkan and D3D12 will be behind feature flags, so the user can decide which API support they want to compile in there.
Todo:

[ ] Clean-up visualizer code.
[x] Update README.md and lib.rs documentation.
[x] Should the D3D12 allocator take shared ownership over the device by using AddRef and Release?
[x] Remove todos.
[x] Replace panics with errors.

Stray #[cfg(feature = "winapi")] has been removed and my checklist has been finished except for restructuring the visualizer a bit. I'll do that in another PR so we can get this huge PR merged.
Now just waiting for CI before merging.


Bug inside Diffusers repo

Originally in train_dreambooth.py, the dreambooth training noise scheduler is:
    noise_scheduler = DDPMScheduler(
        beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train_timesteps=1000
    )

Which was later incorrectly changed to:
noise_scheduler = DDPMScheduler.from_config(args.pretrained_model_name_or_path, subfolder="scheduler")

Why is it a bug?
Because the noise scheduler in the pretrained models is used for inference only. If you use that for dreambooth training, it will mess up everything. In fact, some models now have DDIMScheduler for inference. If you load the DDIM config into a DDPMScheduler for training, it will produce wrong results.

I changed it to match the official diffusers update, with this change, and if you check the scheduler,  and the V2-768 has the v_prediction parameter , if I keep the initial line, the 768 will not train at all.

I believe the correct approach would be using the previous code for SD v1.x training and using the updated noise_scheduler code for SD v2.x training.
Apart from that, if training SD v1.x, we need to force epsilon prediction type too by always setting target = noise without checking the condition.

After several experiments to get back the exact pre-merge results (because DDPMScheduler now forces epsilon prediction by default). Previously, DDPMScheduler used sample prediction. So need to add prediction_type="sample" during the init.
    noise_scheduler = DDPMScheduler(
        beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train_timesteps=1000, **prediction_type="sample"**
    )

try a comparison with and without specifying the prediction_type, even though I think if not specified, it will use the default type

Before the recent merge, the default prediction_type was "sample" but after the merge, it's now "epsilon". I don't think epsilon prediction works with dreambooth training,

I'll check it out

Previously,

when ? did prediction_type="sample" exist before in the script ?

Previously,

when ? did prediction_type="sample" exist before in the script ?

It's in the HF original DDPMScheduler.py script. Before the merge, the default prediction was sample. Recently, HF team modified DDPMScheduler.py to support v-prediction, so they changed the default to epsilon.

this is where it was changed, check the training script : https://github.com/huggingface/diffusers/commit/c18941b01ad0ea6b07d020f353d81153c632a374

I believe Diffusers is broken for SD 1.x dreambooth since then. Now even after all the reverts to old code, the image results are still horrible. I'm going to revert the Diffusers to the pre-merge.

are you using the A100 or the standard T4 ?

I train on T4.
Today is a nasty day. HuggingFace updated the Transformers and their other libraries to enforce strict safety checker, so even the pre-merge code stopped working. I guess this is one of the reasons why you prefetched those pip packages into a zip.


i18n(fr): update guides/view-transitions.mdx

Description (required)
Updates the French translation of guides/view-transitions.mdx:

add changes from #9240 and #10277,
make some Transition de Vue lowercase to match the English version,
fix a wrongly translated inline code.

Related issues & labels (optional)

Suggested label: i18n

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note

fr/guides/view-transitions.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

Thank you @ArmandPhilippot for your contribution!


Allow more permissive char set in SNI headers

Motivation:
As explained in issue #11819, certain chars such as ":" in the SNI header cause the netty pipeline to blow up.
Modifications:
By converting strings to byte arrays first, we can allow chars like ":"
Result:
Netty will have a more permissive char set allowed for SNI headers.
Fixes #11819.

@kevyang thanks a lot!


Semantics of YR_UNDEFINED since 4.x

There was a change in YARA 4.x which changed a semantics of YR_UNDEFINED in certain operations which are ==, !=, <, <=, >, >=, contains and matches. Basically whenever one of the operand is undefined, it no longer evaluates to undefined but rather to false. This means that these 2 expressions
not pe.signatures[0].subject == "..."
pe.signatures[0].subject != "..."

will evaluate differently if there are no signatures in the scanned file. First one will be true (== evaluates to false, not makes it true) while the other one will be false (!= evaluates to false). In 3.x, neither of them will evaluate to true.
My question is, is this intended behavior? I suppose you should always check for these undefined cases but in certain scenarios, there's no way (or at least very limited way) to check for them like in case of pe.imphash(), pe.rich_signature etc. Unless there is something like is_def(x) function in YARA, there won't be a proper way to check these values. This all gives me an impression that this might be undesired behavior and that's why I am asking.

This is somewhat discussed in https://github.com/VirusTotal/yara/issues/1238. I don't think it's undesired behavior, just a change in behavior. 😐

Thanks @wxsBSD for linking this issue. I welcome any change in this regard since propagating UNDEFINED even through logical operators was a bad idea in 3.x as it will render a lot of conditions unusable. However, I don't think #1180 was fixed correctly. not operator returning false from UNDEFINED is fine, but since also relational operators evaluate to false, expressions like the one in my example are evaluated in a very strange way.
I don't think it's correct that 2 equal expressions are evaluated in a different way (once as true and other time as false). This behavior only introduces confusion. Let's say you want to express that certain signature does not equal to certain string. If you write it as pe.signatures[0].subject != "..." then you'll end up with false when there are no signatures. But if you write it as not pe.signatures[0].subject == "..." then you'll end up with true if there are no signatures I've seen both styles being used in real world rules. I don't really think this is something you should keep in mind when writing rules.

I  totally agree, but we have a problem here because we can't easily solve both this and #1180 at the same time. If we make operations ==, !=, contains, etc to return UNDEFINED when some of argument is undefined, this issue can be fixed but #1180 gets broken again.
The only solution I see is removing the concept of UNDEFINED altogether and returning zero values for things that are undefined, for example pe.signatures[0].subject would be an empty string and pe.entry_point would be zero. This has some implications, because conditions like pe.entry_point == 0 that now are false for non-PE files, will become true with this new logic.
But I don't see a way of solving all the edge cases of using UNDEFINED, specially when the not operator is involved.

Mmmm... maybe we can do something if some operators return false when an argument is undefined and while others return true in the same case. I'm going to think carefully about it.

Yeah, I have been thinking about it these 2 days but I still haven't come up with anything that'd work in all cases. I am thinking about it too and will post here once I figure something out.

I've thinking about this problem and didn't found an elegant solution. At first I thought about making the == operator return false if any the operands was undefined, and != return true if any of the operands was undefined. This apparently solves our problems, but what can we do with operators >, <, >=, and <=?
The result from undefined < "foo" should be the same than not undefined >= "foo", but in that case  undefined >= "foo" should be the opposite of undefined < "foo". These relationship operators introduce a lot of problems.
At the end I'm thinking about reverting b7da5d2835cc4cf8a15027da30265addab1a4be5 and go back to the old semantics. This reintroduces #1180, but I think it's the most coherent solution. Thoughts?

I've thinking about this problem and didn't found an elegant solution. At first I thought about making the == operator return false if any the operands was undefined, and != return true if any of the operands was undefined. This apparently solves our problems, but what can we do with operators >, <, >=, and <=?
The result from undefined < "foo" should be the same than not undefined >= "foo", but in that case  undefined >= "foo" should be the opposite of undefined < "foo". These relationship operators introduce a lot of problems.
At the end I'm thinking about reverting b7da5d2835cc4cf8a15027da30265addab1a4be5 and go back to the old semantics. This reintroduces #1180, but I think it's the most coherent solution. Thoughts?


Unable to access some paths in public repos

I'm having difficulty getting ask the code to access some paths/files in a public GitHub repo.
For example: https://github.com/gcc-mirror/gcc/blob/master/libstdc++-v3/include/experimental/type_traits
This link is viewable and points towards a file but askthecode complains of being unable to access the file directly.
It's not the only header in the GCC mirror repo which askthecode cannot seem to query. Some work and some do not without any obvious reason.

Hi @jbmln
Thank you for reporting the issue, and sorry for the delay with the response. I can confirm that the issue exists, and I was able to reproduce it.
I will work on the fix and will release it today or tomorrow. Will also ping you here once it is resolved.

Thanks. Obviously you'll know your own codebase but the issue seemed to be triggered for files without extensions: could the plugin be parsing them as directories?
I also wondered whether "+" char in the libstdc++-v3 folder might be problematic given "+" is not URL safe.
It might also be due to the sheer size of the GCC repo.
I created my own public repo containing only the include folder from libstdc++-v3 and askthecode worked perfectly. I forget if I had to append a .h to the extension-less headers.
Thanks for being responsive - no need to apologise. Must be annoying having OpenAI presumably make breaking changes to their APIs

Yes, that's exactly the root cause of the issue. The absence of the file extension made the plugin treat this file URL as the URL to the repository directory. This issue has been fixed; however, it has not yet been deployed to the production instance.
Apart from the issue with loading the content of the files without extensions, I've noticed that the plugin struggles to operate correctly with the repository you've shared due to the large size of the repo, which causes truncated responses from the GitHub API when the repository tree structure is queried.
I'm testing the fix for this issue on my development plugin instance, so hopefully, I will release both fixes tomorrow.

Structure request:
{
  "url": "https://github.com/gcc-mirror/gcc/blob/master/libstdc++-v3/"
}

hi @jbmln
I've released the fix to the production instance, could you please test it works for you now?
I've tested the changes on this sample conversation:
https://chatgpt.com/share/ce79a709-91cf-41bc-a4a1-b6b129128f4a

hi @dsomok,
What works
Able to read files without an extension. As per your chat link but also in my own tests.
What doesn't work
Interacting with some directories when prompted to directly - such as https://github.com/gcc-mirror/gcc/tree/master/libstdc%2B%2B-v3/include/bits
See chat link
You'll see from the above linked chat, the plugin copes fine with ./gcc/tree/master/config but not with ./gcc/tree/master/libstdc++-v3/include/bits.
I tried replacing the URL encoded %2B representations of "+" with the "+" char in chat prompt window but it still didn't work. I'd hazard a guess it has something to do with either the "+" char or the size/depth of the structure so deep into the repo.
In summary
It seems to be able to interact with all files now (great!), but not necessarily all directories.

hey @jbmln,
Thanks for sharing test results, I've found an issue and released a fix. I've verified with the bits directory, looks like it works now:
https://chatgpt.com/share/d1d9e5ac-4995-485e-8637-b813eff7b906
Could you please test if the problem is solved for you?

Today: "I currently don't have the capability to directly commit changes to your GitHub repository." which should be not true.
Later:
The current situation may be due to one of the following reasons:
Permission Changes: There might have been a change in permissions that now restricts my ability to directly interact with your repository.
Session or Token Expiry: The access token or session that enabled direct commits might have expired or been revoked.

Looks like the access token expired. What to do about it?

hey @jsbien, could you please share some demo conversation via the Share chat button at the top-right corner? This would help me to spot the issue and check the logs for a potential issue.

Sorry, I somehow haven't noticed your comment. Unfortunately I have problem with sharing a chat.


[Shadowrun 5thOB] OpenBeta Shadowrun Sheet

Changes / Comments
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[ ] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[x] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.

What is the error in the failed validation?

Sheet validation fails usually when you failed to include a file or the sheet.json is not filled out correctly.
Is this the same sheet as the Shadowrun Advance sheet?

Yes, I used the Advanced Sheet as a base

Hey @Stexinator, before I merge you PR I would like to ask you what are the key differences between your sheet and the existing Shadowrun 5e sheets. While there have been duplicate public sheets allowed in the past, going forward Roll20 wants to limit this practice.

@mperes this is based on the Shadowrun 5th Advanced Sheets. It contains experimental features and will contain usability changes in the future. Due to my experiences with the Dark Heresy 2ed Sheet where people changed functionality/usability that produces backlash from the community, I want to provide the possibility to check out and comment on the changes before it goes into the main sheet.
If you got a better way then duplicating and copying the feature after a sufficient test time I am all ears.

Hey there @Stexinator, my advice for you is to implement your ideas on top of the existing sheet by using a feature [flag.] (https://martinfowler.com/articles/feature-toggles.html)


outsourcing test data

Current state
Input and result data for testing suite are located in cdm_reader_mapper. This may lead to data size problem with zenodo.
Possible soultion
Outsource those data to new repository: cdm-testdata

New repository cdm-testdata


Setting integrality / binary undefined in managed SCIP mode

The MOI wrapper is directly defining:
function MOI.add_constraint(o::Optimizer, func::SVF, set::S) where {S <: VAR_TYPES}
using the low-level SCIP generated API, we should have an intermediate function in managed_scip.jl

I kind of agree, in terms of consistency, but there are two special properties for these "variable" constraints (bounds and integral types):

they are not considered constraints by SCIP (with their own SCIP_CONS), so they do not need reference counting for memory management (in the scope of ManagedSCIP).
there is some not-so-nice setting of implicit bounds of [0, 1] for binary variables, together with storing and resetting older bounds. Would we have to handle this logic twice, at the ManagedSCIP and also at the MOI level?

Yes the idea was moving all parts requiring the Clang-generated API to managed, so that the dependency on the generated part is only in there (keeping it consistent with the other constraints).
Yes I saw the bounds, I think this could be handled once at the ManagedSCIP level, and only passed and not stored at MOI level

OK, I'm open to that kind of change in this case.
But I wonder whether it makes sense to require a layer between all calls from the MOI interface implementation to the Clang wrapper, in general. For example, a lot of result queries (in #115) are just one-liners.
I also expect power users to make some direct calls to (currently) unwrapped calls. It is already relatively convenient to do so, as SCIP.Optimizer and ManagedSCIP are automatically cconverted to Ptr{SCIP_}.

Indeed this is maybe a pointless layer. I was thinking about it because the managed tests still required low-level manipulations as:
        # indicator constraint: z = 1 ==> 𝟙^T [x, y] <= 1.
        z = SCIP.add_variable(mscip)
        SCIP.@SC SCIP.SCIPchgVarType(mscip, SCIP.var(mscip, z), SCIP.SCIP_VARTYPE_BINARY, Ref{SCIP.SCIP_Bool}())
        SCIP.@SC SCIP.SCIPchgVarLb(mscip, SCIP.var(mscip, z), 0.0)
        SCIP.@SC SCIP.SCIPchgVarUb(mscip, SCIP.var(mscip, z), 1.0)


Generic type not assignable if extends type with optional field and passed object does not include the optional field

TypeScript Version:  3.9.2
Search Terms:
optional generic "not assignable"
Code
const foo = <V extends { s?: string }>(v: V) => {};

// This works:
foo({ s: "1", v: 2 });

// This doesn't work:
foo({ v: 2 }); // Argument of type '{ v: number; }' is not assignable to parameter of type '{ s?: string | undefined; }'. Object literal may only specify known properties, and 'v' does not exist in type '{ s?: string | undefined; }'.

Compare with
const bar = <V extends { }>(v: V) => {};

// Both work:
bar({ s: "1", v: 2 });
bar({ v: 2 });

Expected behavior:
Both statements in the first snippet should compile.
Actual behavior:
foo({ v: 2 }); doesn't compile for const foo = <V extends { s?: string }>(v: V) => {};
Playground Link:
https://www.typescriptlang.org/play?#code/MYewdgzgLgBAZiEMC8MA8A1GBTAHlbMAEwhgG8YIB+ALkqgCcBLMAcxgF8A+ACgDc6GAJQou5ALAAoKRwDcUhCB4UIdAEQBGNQBoYAmACZOQ+ZMXK9dIxxNSpoSLABGAQwYp0WPAWKkK3fkERZDEyOTtJAHpImAAhECgACxgAdxAGAGsaKVcGC1UYTR1LQ2NTXIt9axMgA
Related Issues:
Possible remotely related... https://github.com/microsoft/TypeScript/issues/13747

This is working as intended but the behavior does feel a little off in this situation


Flutter 3.0 fix

Closes #41

@zzterrozz Thanks for your contribution,  We have reviewed your PR, and we have already merged the flutter 3.0 breaking changes with the main branch.


getrawtransaction implementation

Fixes https://github.com/bitcoin-core/gui/issues/645.
Add getrawtransaction RPC to GUI on Tools -> Verify external txid. tab
Screencast from 21-12-2023 06:35:04 ASUBUHI.webm

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Reviews
See the guideline for information on the review process.
A summary of reviews will appear here.

Cool, that's pretty nice!
Just thinking out loud, but it does make me wonder if perhaps a new Verify or Utils button, in line with "Send | Recieve | Transactions" could be even nicer? If we added it there, we might consider adding a few more utils to the GUI like "Decode raw transaction", "Decode Script", "Get Descriptor Info", "Verify Message" etc. which folks who use the gui generally use other software for today...

Cool, that's pretty nice!
Just thinking out loud, but it does make me wonder if perhaps a new Verify or Utils button, in line with "Send | Recieve | Transactions" could be even nicer? If we added it there, we might consider adding a few more utils to the GUI like "Decode raw transaction", "Decode Script", "Get Descriptor Info", "Verify Message" etc. which folks who use the gui generally use other software for today...

@willcl-ark would love to hear more opinions on this, I also think  Help -> Verify external txid tab might not work well with adding more utils

Yeah I don't want to derail this pr, which I think looks good on its own!
If there was desire to add more utils we could always move this later; I think this looks nice.

I have updated the PR based on the feedback given above:

Added Tools menu
Moved getrawtransaction RPC implementation to Tools > verify external txid

cc: @willcl-ark @luke-jr @pablomartin4btc

Concept ACK

🐙 This pull request conflicts with the target branch and needs rebase.

⌛ There hasn't been much activity lately and the patch still needs rebase. What is the status here?

Is it still relevant? ➡ Please solve the conflicts to make it ready for review and to ensure the CI passes.
Is it no longer relevant? ➡ Please close.
Did the author lose interest or time to work on this? ➡ Please close it and mark it 'Up for grabs' with the label, so that it can be picked up in the future.


[Unification] Refactor FLAVA with MultiHeadAttention

Stack from ghstack (oldest at bottom):

-> #191
#190
#189
#170
#169
#168

@RdoubleA has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.


settings/font-family: Upon changing the font, I encountered a sluggish performance

This thing occurs upon changing the font title at the "Editor Settings: Font Family".

Clearing this field has crashed Lapce on me, more than once

Clearing this field has crashed Lapce on me, more than once

I think this problem is fixed on nightly build.


Investigate Travis CI failures due to JVM crashing

For some reason the JVM crashes when running unit tests on Travis CI, see for example here: https://travis-ci.org/MutabilityDetector/MutabilityDetector/builds/109694632
No idea whether this is a Travis issue or not, but needs looked at. Every pull request comes up as failing this build, and when I run locally, the same build passes.

Fixed. Using the short-hostname plugin, as well as telling Travis to run with sudo... and additionally deleting a JUnit test case that loaded a class which totally barfed makes the build pass again.
https://travis-ci.org/MutabilityDetector/MutabilityDetector/builds/116168930


make gen_sw_proposals format consistent with gen_proposal_list

gen_proposal_list.py uses function process_proposal_list() in io.py and gen_sliding_window_proposals.py uses function dump_window_list() in io.py to generate proposal files. However, these two functions have a slight difference when handling output formats. This pull request, along with the previous one, help to make the two formats consistent. Currently gen_sliding_window_proposals.py generates a redundant blank line when gt_num is 0.

Thanks!


Add a button in the toolbar to reset the editor

Fixes the issue #323 .
It adds a button to reset the content of the editor. The session storage is also updated.

Oh wow, I never responded to this, and for that I apologize!
I don't believe that this action is common enough to deserve space on the toolbar, which I attempt to keep minimal to avoid overwhelming people.
My vision for this functionality is two-fold:

Place a "reset text" (and potentially "reset all settings") button in the configuration menu.
Track when the user last visited and if it's long enough ago (exact amount TBD), pop up an offering to reset the text / settings.

Huh. I thought it was really weird that there wasn't a reset button right about there. I thought it was a UI bug or something, actually. I would expect there to be some easily-findable way to reset the state.


Incorrect year placement in references

Issue(s)

Year does not appear in the correct location in references

Steps to reproduce
Visit https://libero-editor--test.elifesciences.org/?archive=00001 and navigate to the references.
Note that year appears after journal title in the Berk et al. reference
Note that year appears after publisher name title in the Feyerabend reference
and so on..
The year should appear in the position it does in the XML, i.e. after the first person-group[@person-group-type="author" or @person-group-type="inventor"].
Expected behaviour
Berk et al. - '2012' appears after the string 'Chu S.' and before the string 'Molecular architexture ...'
Feyerabend - '2010' appears after the string 'Feyerabend P.' and before the string 'Against Method'
Screenshots

Fixed.


Metrics api

@mamafun
The generated code was affected by action of the folder changed from ai-service to aiservice.


engine rn: recorrect EE version in dm deprecation

https://github.com/docker/docker.github.io/pull/8377/commits/4b5fbbdbc9ed26dfe9d3e298c48594ab80fd9c8e#diff-96cb98afede3eeb9803f82e78366de1e threw out some baby with bathwater.
PR 8427 cherry picks commit f0639301f4226cc221be13ff6c984aa472fe5050

Deploy preview for docsdocker ready!
Built with commit cc054162d2e94fc1de873f02b8de332e692782c0
https://deploy-preview-8427--docsdocker.netlify.com

LGTM - @thaJeztah - Any objections from your perspective? Thanks!

LGTM

@thaJeztah @mklamb Thank you both for the quick responses!


Update to Spark 3.0 master

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

👍

👍