NS1: Records with no answers, throw IndexError

So just dumping our zone, got this error. We had a PTR record in our forward zone in NS1, no idea why, but it also had no answers.
Response from NS1
PTR, {u'domain': u'asmith.net', u'short_answers': [], u'link': None, u'ttl': 3600, u'tier': 1, u'type': u'PTR', u'id': u'1b05cd7943dde9d3'}

Error
Traceback (most recent call last):
  File "/Users/asmith/as-octodns/venv/bin/octodns-dump", line 11, in <module>
    sys.exit(main())
  File "/Users/asmith/as-octodns/venv/lib/python2.7/site-packages/octodns/cmds/dump.py", line 31, in main
    manager.dump(args.zone, args.output_dir, args.lenient, *args.source)
  File "/Users/asmith/as-octodns/venv/lib/python2.7/site-packages/octodns/manager.py", line 362, in dump
    source.populate(zone, lenient=lenient)
  File "/Users/asmith/as-octodns/venv/lib/python2.7/site-packages/octodns/provider/ns1.py", line 156, in populate
    record = Record.new(zone, name, data_for(_type, record),
  File "/Users/asmith/as-octodns/venv/lib/python2.7/site-packages/octodns/provider/ns1.py", line 76, in _data_for_CNAME
    'value': record['short_answers'][0],
IndexError: list index out of range

The record doesn't make sense, plus why have a record with no answers. I believe this should probably throw a ValidationError with a "No Records" reason.
Also at least for NSOne, it's another convenience, you don't have to put the . in, and it will still put it when you query for it.

I'd like to tackle this one, would like some feedback on if it should be a validation error or not, etc.
Thanks

I'd like to tackle this one, would like some feedback on if it should be a validation error or not, etc.

That's an interesting one. I don't think it is/should be valid to have a record with no values. I just tried to find a way in a couple other providers to add a "node" without any values and wasn't able to do so.
I think the best thing to do here is probably to handle that case in the NS1Provider's _data_for_CNAME. Happy to take a look at that and answer any questions if you run into any bumps in the road. The unit testing for that case will be the more interesting bit.
This has actually brought up something tangentially related is that I'm not 100% sure of the behavior of Record when it gets an empty value or zero-length values array. I've added a todo for myself to look into the handling of that. I think the NS1 exception/problem should be tackled separate as its more of a bug in the provider, but it does raise interesting questions 😁 .

                  IN  A

;; AUTHORITY SECTION:
asmith.net.      3600    IN  SOA dns1.p01.nsone.net. hostmaster.nsone.net.<PHONE_NUMBER> 43200 7200 1209600 3600

;; Query time: 12 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Fri Oct 20 15:57:07 2017
;; MSG SIZE  rcvd: 102

It also doesn't even show up in zone transfers

So besides being a PTR record in a forward zone, you can't query for it/get an answer, or even an A record

:cool: That matches up with it being a ~bug/oversight in NS1's system and agrees with just pretending it doesn't exist. That may be able to be revisited down the road if/when there's clean validation stuff setup for empty values (as mentioned above,) but for now it's the best option.

I'm not sure if there actually needs to be a code change to the NS1 Provider. That no value record wasn't made with OctoDNS, but manually via the UI/API at some point. It only presented an error when I tried to dump it.
I believe maybe the the dump process should present a normal ValidationError saying "No Values" as a reason, rather than hitting a index out of range error. This would make it apparent to the user that they have a record that is not correct, and they should remove it. It would be the same thing as not having a . at the end of a CNAME value, you have to go correct that before OctoDNS will let you dump it.
I simply went and deleted it because it's not even valid, and NS1 clearly won't serve the record. After that I was able to dump the zone correctly.
The bigger question was what would happen if you tried to create a record with no values/empty values, etc. via OctoDNS.
I tested trying to make a record with these tests:

No value or values key

Test:
test:
  type: A

Result:
octodns.record.ValidationError: Invalid record test.yzguy.io.
  - missing value(s)

value key, no value

Test:
test:
  type: A
  value:

Result:
octodns.record.ValidationError: Invalid record test.yzguy.io.
  - invalid ip address "None"

values key, no values

Test:
test:
  type: A
  values:

Result:
TypeError: 'NoneType' object is not iterable

values key, 1 empty index

Test:
test:
  type: A
  values:
    -

Result:
octodns.record.ValidationError: Invalid record test.yzguy.io.
  - invalid ip address "None"

So OctoDNS definitely does the right thing and stops it, except Test 3, which just failed because it tried to iterate on an empty list, so something could probably be done about that to be more user friendly.
I'm cool with closing this issue, and opening another that deals with the ValidationError due to no values on a dump.
I'm confident enough that OctoDNS currently won't allow you to create a DNS record on any provider if you don't specify any values, and the clean validation stuff will address the friendliness of the errors, etc.

I believe maybe the the dump process should present a normal ValidationError saying "No Values" as a reason, rather than hitting a index out of range error

I agree with that.

3 values key, no values
Test:
test:
type: A
values:
Result:
TypeError: 'NoneType' object is not iterable

Yeah this is the main case that would need to be dealt with as you discovered the other situations are reasonably handled.
The one potential wrinkle is making sure the lenient mode behavior (the stuff used when dumping) is to warn and allow the "bad" value through with an appropriate message. Then things will complain and fail if you were to try and push them. That was the behavior introduced in #8

I'm cool with closing this issue, and opening another that deals with the ValidationError due to no values on a dump.

Up to you. It's fine to track it here since there's already relevant discussion. You could update the time to reflect the change if that makes sense to you.

All sounds good. I'm working on the change
I have it "working", just need to fix up the tests/new ones
If you dump it without lenient you get
octodns.record.ValidationError: Invalid record test.yzguy.io.
  - missing value(s)

If you specify --lenient it will complete, giving the warning
2017-10-22T20:46:43  [140737049330624] WARNING Record Invalid record test.yzguy.io.
  - missing value(s)

and you're YAML file will look like this
test:
  type: A

Which would be caught if you applied it with a
 octodns.record.ValidationError: Invalid record test.yzguy.io.
   - missing value(s)

After the new code, ran the tests and got
======================================================================
ERROR: test_populate (test_octodns_provider_dnsimple.TestDnsimpleProvider)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/yzguy/Projects/foss/octodns/tests/test_octodns_provider_dnsimple.py", line 99, in test_populate
    provider.populate(zone)
  File "/Users/yzguy/Projects/foss/octodns/octodns/provider/dnsimple.py", line 272, in populate
    source=self, lenient=lenient)
  File "/Users/yzguy/Projects/foss/octodns/octodns/record.py", line 102, in new
    raise ValidationError(fqdn, reasons)
ValidationError: Invalid record unit.tests.
  - missing value(s)

I'm thinking that the test that failed is not needed anymore, as it's invalidated at the "record" level, versus at a specific provider.
If so, I believe it would be removing Lines 89 - 116 in tests/test_octodns_provider_dnsimple.py, as well as deleting tests/fixtures/dnsimple-invalid-content.json, let me know if that's correct. I don't want to remove the bust the cache part if that's necessary.

Made a PR here: https://github.com/github/octodns/pull/132

So after some poking around. I now realize/understand the change that would need to happen in the NS1 Provider.
Originally I had a PTR record with no answers, which is the same method for CNAME and ALIAS
So before even getting to the validate method of octodns/record.py inValueMixin, it's failing with my original error
Traceback (most recent call last):
  File "/Users/yzguy/Projects/yzguy-octodns/venv/bin/octodns-dump", line 11, in <module>
    sys.exit(main())
  File "/Users/yzguy/Projects/yzguy-octodns/venv/lib/python2.7/site-packages/octodns/cmds/dump.py", line 31, in main
    manager.dump(args.zone, args.output_dir, args.lenient, *args.source)
  File "/Users/yzguy/Projects/yzguy-octodns/venv/lib/python2.7/site-packages/octodns/manager.py", line 362, in dump
    source.populate(zone, lenient=lenient)
  File "/Users/yzguy/Projects/yzguy-octodns/venv/lib/python2.7/site-packages/octodns/provider/ns1.py", line 155, in populate
    record = Record.new(zone, name, data_for(_type, record),
  File "/Users/yzguy/Projects/yzguy-octodns/venv/lib/python2.7/site-packages/octodns/provider/ns1.py", line 75, in _data_for_CNAME
    'value': record['short_answers'][0],
IndexError: list index out of range

So at least for NS1, when dumping/nooping it will give the error above if you have a CNAME, ALIAS, or PTR with no answers
Something like
    def _data_for_CNAME(self, _type, record):
        if len(record['short_answers']) == 0:
            value = None # First option, produces null in zone file
            value = ''       # Second option, produces '' in zone file
        else:
            value = record['short_answers'][0]

        return {
            'ttl': record['ttl'],
            'type': _type,
            'value': value,
        }

The above code will produce a sane default, triggering the other validations that checks for None or zero-length.

First PR here to handle the issues in NS1 Provider: https://github.com/github/octodns/pull/136
That PR will help fix up NS1 to work correctly with the validations.

2nd part of issue fixed in: https://github.com/github/octodns/pull/132
Closing.


Minor fix: formatting for phrase brand-new

Changed from "a new brand token" to "a brand new token"

@sumittada thanks

Just released this under v1.10. Thank you @sumittada!


chore(tests_integration): return tx sender address

Stack:

#2057
#2056 ⬅
#2055

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

This change is


resource_group_name deprecation warnings

Trying to use azure.appservice.HttpEventSubscription seems to unconditionally lead to this warning:
warning: urn:pulumi:dev::page-counter-az::azure:appservice:HttpEventSubscription$azure:storage/zipBlob:ZipBlob::site verification warning: "resource_group_name": [DEPRECATED] This field has been deprecated and is no longer used - will be removed in 2.0 of the Azure Provider
I suspect we need to change the implementation of HttpEventSubscription and/or ZipBlob somehow?
In general, it's actually not clear to me what's changing with resource group names generally. Is there a guide somewhere on what changes should be made? Do we intend to scrub our examples also?

Terraform has been gradually deprecating resource_group_name property in child-level resources of Azure Storage. Basically, it's not possible to put a blob into a group that is different from its storage account.
I believe HttpEventSubscription is fixed in master and this warning should be gone with the next release. I still need to go through all examples to see where this warning still may slip in.

Closed via release of v1.3.0


[DX] Managed access

Tasks

[x] [AnVIL DX] Indicate access on datasets list
[x] [AnVIL DX] Only show access column if user is authenticated
[ ] [AnVIL DX] Allow users to filter by access facet
[x] [AnVIL DX] Indicate user already has access on dataset detail page UI
[x] [AnVIL DX] Indicate user already has access on dataset detail page
[x] [AnVIL DX] Verify in production that dbGaP access is shown correctly

Complete


OSError: [WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted and OSError: [WinError 10049] The requested address is not valid in its context

This issue is a followup to the #4819, After applying the #4820 changes, Under windows, trying to run the example : Auto-tuning a convolutional network for x86 CPU this error occurs.
the error occurs in the last cell :
def tune_and_evaluate(tuning_opt):
    # extract workloads from relay program
    print("Extract tasks...")
    mod, params, data_shape, out_shape = get_network(model_name, batch_size)
    tasks = autotvm.task.extract_from_program(mod["main"], target=target,
                                              params=params, ops=(relay.op.nn.conv2d,))

    # run tuning tasks
    print("Tuning...")
    tune_kernels(tasks, **tuning_opt)
    tune_graph(mod["main"], data_shape, log_file, graph_opt_sch_file)

    # compile kernels with graph-level best records
    with autotvm.apply_graph_best(graph_opt_sch_file):
        print("Compile...")
        with relay.build_config(opt_level=3):
            graph, lib, params = relay.build_module.build(
                mod, target=target, params=params)

        # upload parameters to device
        ctx = tvm.cpu()
        data_tvm = tvm.nd.array((np.random.uniform(size=data_shape)).astype(dtype))
        module = runtime.create(graph, lib, ctx)
        module.set_input(input_name, data_tvm)
        module.set_input(**params)

        # evaluate
        print("Evaluate inference time cost...")
        ftimer = module.module.time_evaluator("run", ctx, number=100, repeat=3)
        prof_res = np.array(ftimer().results) * 1000  # convert to millisecond
        print("Mean inference time (std dev): %.2f ms (%.2f ms)" %
              (np.mean(prof_res), np.std(prof_res)))

# We do not run the tuning in our webpage server since it takes too long.
# Uncomment the following line to run it by yourself.

# tune_and_evaluate(tuning_option)

Error :
Extract tasks...
ANTLR runtime and generated code versions disagree: 4.8!=4.7.2
ANTLR runtime and generated code versions disagree: 4.8!=4.7.2
Tuning...
[Task  1/12]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/252) | 0.00 sTraceback (most recent call last):

  File "C:\Users\User\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)

  File "C:\Users\User\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)

  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\exec\rpc_server.py", line 138, in <module>
    main(args)

  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\exec\rpc_server.py", line 58, in main
    silent=args.silent)

  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\rpc\server.py", line 389, in __init__
    raise sock_err

  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\rpc\server.py", line 382, in __init__
    sock.bind((host, my_port))

OSError: [WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted

Exception ignored in: <function Server.__del__ at 0x0000021F5BF3A8B8>
Traceback (most recent call last):
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\rpc\server.py", line 419, in __del__
    self.terminate()
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\rpc\server.py", line 414, in terminate
    if self.proc:
AttributeError: 'Server' object has no attribute 'proc'
Exception in thread Thread-3:
Traceback (most recent call last):
  File "C:\Users\User\Anaconda3\lib\threading.py", line 926, in _bootstrap_inner
    self.run()
  File "C:\Users\User\Anaconda3\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\autotvm\measure\measure_methods.py", line 572, in _check
    remote = request_remote(device_key, host, port, priority)
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\autotvm\measure\measure_methods.py", line 539, in request_remote
    tracker = _rpc.connect_tracker(host, port)
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\rpc\client.py", line 430, in connect_tracker
    return TrackerSession((url, port))
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\rpc\client.py", line 221, in __init__
    self._connect()
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\rpc\client.py", line 227, in _connect
    self._sock = base.connect_with_retry(self._addr)
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\rpc\base.py", line 171, in connect_with_retry
    raise sock_err
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\rpc\base.py", line 167, in connect_with_retry
    sock.connect(addr)
OSError: [WinError 10049] The requested address is not valid in its context

Traceback (most recent call last):

  File "tune_relay_x86.py", line 225, in <module>
    tune_and_evaluate(tuning_option)

  File "tune_relay_x86.py", line 198, in tune_and_evaluate
    tune_kernels(tasks, **tuning_opt)

  File "tune_relay_x86.py", line 170, in tune_kernels
    autotvm.callback.log_to_file(log_filename)])

  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\autotvm\tuner\tuner.py", line 125, in tune
    results = measure_batch(inputs)

  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\autotvm\measure\measure.py", line 260, in measure_batch
    build_results = builder.build(measure_inputs)

  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\autotvm\measure\measure_methods.py", line 105, in build
    **self.build_kwargs)

  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\autotvm\measure\local_executor.py", line 151, in submit
    process.start()

  File "C:\Users\User\Anaconda3\lib\multiprocessing\process.py", line 112, in start
    self._popen = self._Popen(self)

  File "C:\Users\User\Anaconda3\lib\multiprocessing\context.py", line 223, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)

  File "C:\Users\User\Anaconda3\lib\multiprocessing\context.py", line 322, in _Popen
    return Popen(process_obj)

  File "C:\Users\User\Anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 89, in __init__
    reduction.dump(process_obj, to_child)

  File "C:\Users\User\Anaconda3\lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)

AttributeError: Can't pickle local object '_wrap_build_func.<locals>._wrapped'

 Done.
Exception ignored in: <function Server.__del__ at 0x000001EDA5A7BDC8>
Traceback (most recent call last):
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\rpc\server.py", line 419, in __del__
    self.terminate()
  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\rpc\server.py", line 411, in terminate
    os.killpg(self.proc.pid, signal.SIGTERM)
AttributeError: module 'os' has no attribute 'killpg'

D:\Codes\tvm_testbed>Extract tasks...
ANTLR runtime and generated code versions disagree: 4.8!=4.7.2
ANTLR runtime and generated code versions disagree: 4.8!=4.7.2
Tuning...
[Task  1/12]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/252) | 0.00 sTraceback (most recent call last):

  File "<string>", line 1, in <module>

  File "C:\Users\User\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
    exitcode = _main(fd)

  File "C:\Users\User\Anaconda3\lib\multiprocessing\spawn.py", line 114, in _main
    prepare(preparation_data)

  File "C:\Users\User\Anaconda3\lib\multiprocessing\spawn.py", line 225, in prepare
    _fixup_main_from_path(data['init_main_from_path'])

  File "C:\Users\User\Anaconda3\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
    run_name="__mp_main__")

  File "C:\Users\User\Anaconda3\lib\runpy.py", line 263, in run_path
    pkg_name=pkg_name, script_name=fname)

  File "C:\Users\User\Anaconda3\lib\runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)

  File "C:\Users\User\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)

  File "D:\Codes\tvm_testbed\tune_relay_x86.py", line 225, in <module>
    tune_and_evaluate(tuning_option)

  File "D:\Codes\tvm_testbed\tune_relay_x86.py", line 198, in tune_and_evaluate
    tune_kernels(tasks, **tuning_opt)

  File "D:\Codes\tvm_testbed\tune_relay_x86.py", line 170, in tune_kernels
    autotvm.callback.log_to_file(log_filename)])

  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\autotvm\tuner\tuner.py", line 108, in tune
    measure_batch = create_measure_batch(self.task, measure_option)

  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\autotvm\measure\measure.py", line 252, in create_measure_batch
    attach_objects = runner.set_task(task)

  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\autotvm\measure\measure_methods.py", line 332, in set_task
    tracker = Tracker('<IP_ADDRESS>', port=9000, port_end=10000, silent=True)

  File "C:\Users\User\Anaconda3\lib\site-packages\tvm-0.7.dev0-py3.7-win-amd64.egg\tvm\rpc\tracker.py", line 404, in __init__
    self.proc.start()

  File "C:\Users\User\Anaconda3\lib\multiprocessing\process.py", line 112, in start
    self._popen = self._Popen(self)

  File "C:\Users\User\Anaconda3\lib\multiprocessing\context.py", line 223, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)

  File "C:\Users\User\Anaconda3\lib\multiprocessing\context.py", line 322, in _Popen
    return Popen(process_obj)

  File "C:\Users\User\Anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 46, in __init__
    prep_data = spawn.get_preparation_data(process_obj._name)

  File "C:\Users\User\Anaconda3\lib\multiprocessing\spawn.py", line 143, in get_preparation_data
    _check_not_importing_main()

  File "C:\Users\User\Anaconda3\lib\multiprocessing\spawn.py", line 136, in _check_not_importing_main
    is not going to be frozen to produce an executable.''')

RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.

 Done.

Compilmentary info:
OS: Windows 10 build 1803
CPU : Intel Core-i7-6770HQ @ 2.6Ghz
GPU: Intel(R) Iris(R) Pro Graphics 580
Python: Python 3.7.4 [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Compilers : Microsoft Visual C++14 (Visual Studio 2019 community Edition)
Build_Config:

Set(LLVM ON)
Set(OpenCL ON)
LLVM ver: 9.0.1 - built from source code.
OpenCL ver: 2.1 (Installed using Intel SDK for OpenCL Applications (intel_sdk_for_opencl_applications_2020.0.245.zip)

 config.cmake

#---------------------------------------------
# Backend runtimes.
#---------------------------------------------

# Whether enable CUDA during compile,
#
# Possible values:
# - ON: enable CUDA with cmake's auto search
# - OFF: disable CUDA
# - /path/to/cuda: use specific path to cuda toolkit
set(USE_CUDA OFF)

# Whether enable ROCM runtime
#
# Possible values:
# - ON: enable ROCM with cmake's auto search
# - OFF: disable ROCM
# - /path/to/rocm: use specific path to rocm
set(USE_ROCM OFF)

# Whether enable SDAccel runtime
set(USE_SDACCEL OFF)

# Whether enable Intel FPGA SDK for OpenCL (AOCL) runtime
set(USE_AOCL OFF)

# Whether enable OpenCL runtime
set(USE_OPENCL ON)

# Whether enable Metal runtime
set(USE_METAL OFF)

# Whether enable Vulkan runtime
#
# Possible values:
# - ON: enable Vulkan with cmake's auto search
# - OFF: disable vulkan
# - /path/to/vulkan-sdk: use specific path to vulkan-sdk
set(USE_VULKAN OFF)

# Whether enable OpenGL runtime
set(USE_OPENGL OFF)

# Whether enable MicroTVM runtime
set(USE_MICRO OFF)

# Whether to enable SGX runtime
#
# Possible values for USE_SGX:
# - /path/to/sgxsdk: path to Intel SGX SDK
# - OFF: disable SGX
#
# SGX_MODE := HW|SIM
set(USE_SGX OFF)
set(SGX_MODE "SIM")
set(RUST_SGX_SDK "/path/to/rust-sgx-sdk")

# Whether enable RPC runtime
set(USE_RPC ON)

# Whether embed stackvm into the runtime
set(USE_STACKVM_RUNTIME OFF)

# Whether enable tiny embedded graph runtime.
set(USE_GRAPH_RUNTIME ON)

# Whether enable additional graph debug functions
set(USE_GRAPH_RUNTIME_DEBUG OFF)

# Whether enable additional vm profiler functions
set(USE_VM_PROFILER OFF)

# Whether enable uTVM standalone runtime
set(USE_MICRO_STANDALONE_RUNTIME OFF)

# Whether build with LLVM support
# Requires LLVM version >= 4.0
#
# Possible values:
# - ON: enable llvm with cmake's find search
# - OFF: disable llvm
# - /path/to/llvm-config: enable specific LLVM when multiple llvm-dev is available.
set(USE_LLVM ON)
set(LLVM_DIR D:/Codes/tvm_testbed/tools/llvm-9.0.1.src.tar/llvm-9.0.1.src/lib/cmake/llvm/)
#---------------------------------------------
# Contrib libraries
#---------------------------------------------
# Whether use BLAS, choices: openblas, mkl, atlas, apple
set(USE_BLAS none)

# /path/to/mkl: mkl root path when use mkl blas library
# set(USE_MKL_PATH /opt/intel/mkl) for UNIX
# set(USE_MKL_PATH ../IntelSWTools/compilers_and_libraries_2018/windows/mkl) for WIN32
# set(USE_MKL_PATH <path to venv or site-packages directory>) if using `pip install mkl`
set(USE_MKL_PATH none)

# Whether use MKLDNN library
set(USE_MKLDNN OFF)

# Whether use OpenMP thread pool, choices: gnu, intel
# Note: "gnu" uses gomp library, "intel" uses iomp5 library
set(USE_OPENMP none)

# Whether use contrib.random in runtime
set(USE_RANDOM OFF)

# Whether use NNPack
set(USE_NNPACK OFF)

# Possible values:
# - ON: enable tflite with cmake's find search
# - OFF: disable tflite
# - /path/to/libtensorflow-lite.a: use specific path to tensorflow lite library
set(USE_TFLITE OFF)

# /path/to/tensorflow: tensorflow root path when use tflite library
set(USE_TENSORFLOW_PATH none)

# Possible values:
# - OFF: disable tflite support for edgetpu
# - /path/to/edgetpu: use specific path to edgetpu library
set(USE_EDGETPU OFF)

# Whether use CuDNN
set(USE_CUDNN OFF)

# Whether use cuBLAS
set(USE_CUBLAS OFF)

# Whether use MIOpen
set(USE_MIOPEN OFF)

# Whether use MPS
set(USE_MPS OFF)

# Whether use rocBlas
set(USE_ROCBLAS OFF)

# Whether use contrib sort
set(USE_SORT ON)

# Whether use MKL-DNN (DNNL) codegen
set(USE_DNNL_CODEGEN OFF)

# Build ANTLR parser for Relay text format
# Possible values:
# - ON: enable ANTLR by searching default locations (cmake find_program for antlr4 and /usr/local for jar)
# - OFF: disable ANTLR
# - /path/to/antlr-*-complete.jar: path to specific ANTLR jar file
set(USE_ANTLR OFF)

# Whether use Relay debug mode
set(USE_RELAY_DEBUG OFF)

# Whether to build fast VTA simulator driver
set(USE_VTA_FSIM ON)

# Whether to build cycle-accurate VTA simulator driver
set(USE_VTA_TSIM ON)

# Whether to build VTA FPGA driver (device side only)
set(USE_VTA_FPGA OFF)

# Whether to build the example external runtime module
set(USE_EXAMPLE_EXT_RUNTIME OFF)

Given that we do not have a clearly actionable item atm, I would recommend to bring a trouble shooting thread on https://discuss.tvm.ai/ instead. Feel free to open new thread after we have something that is actionable

@tqchen: what do you mean by not having any actionable item? do you mean windows build is not the priority or you do not plan on focusing on fixing such issues?
In any case, imho, it would not help much to close this issue, when its not fixed as we may lose track of the issues that still exist.
I propsed a pr to fix one of the problems in this issue and I'll be fixing others (or at least try to) as my time permits. Having this open can at least show whats missing or needs to be fixed in  this regard!
Cheers

sure, we usually encourage everyone to open new thread on https://discuss.tvm.ai/ where the community work collectively to resolve the problems, once we have a clear plan to act on what can be fixed, then we start to quickly resolve the problem. Note that there is not really too much difference between the forum and the issue thread. The only thing is that we want to be able to keep all the issues managable(close within a period of time) without losing track.
In this case, we can also leave the issue open for a bit :)

AutoTVM doesn't work on Win at the moment, @jmorrill  is working on it. See #4548

close for now due to inactive status, feel free to open new threads on https://discuss.tvm.ai/


Remove top-level "self" link

The self link in the top-level links object doesn't seem to add anything. Meanwhile, it actually introduces a bit of confusion, namely: whether the link should point to the HTTP resource being requested or the JSON API resource (i.e. the HTTP entity).
Consider a request to an /articles?filter[is-latest]=true endpoint that always returns a single resource. If the top-level self key's value should be the URI of the HTTP resource (i.e. /articles?filter[isLatest]=true), then it's redundant, as the client already knows that URI. On the other hand, if the top-level self link is supposed to point to the entity—which seems like a bad idea anyway—then it's also redundant because that link can be given within the primary resource object.
So where's the value here?

Edit: from the examples here, it does seem like this key's value is supposed to be the HTTP resource, and not the entity. So that's good (though perhaps worth clarifying).
And, as far as the value goes...I guess it could help clients that don't realize they've been redirected or have thrown away the original url they used for the request (but for some reason have hung onto the payload). That's probably reason enough to allow this as an option. So I'm going to contradict myself and close this.

it does seem like this key's value is supposed to be the HTTP resource

Yes. I think it's pretty clear actually: "self - a link for fetching the data in the response document".
However, what's not at all clear is whether top-level self is supposed to be a static URL like resource-level self or if a request to, e.g., a related resource URL can return that same URL as self.
In other words, are repeated requests to a top-level self URL allowed to return completely different resources over time?

@bintoro Whether "repeated requests to a top-level self URL [are] allowed to return completely different [json api] resources over time" is exactly what I was asking. But, seeing as they seem to point to the HTTP resource, the answer should be yes. Check out the example where the top-level self url is "http://example.com/articles/1/author"

@ethanresnick Aha, I see. Well, in that case the definition "a link for fetching the data in the response document" is wrong because the response is not at all guaranteed to return the same data.
The definition should be something like "the URL that returned the response document". And if that's the definition, then it's a legitimate question what the whole thing is needed for.


Update to Apache 2.0 License and fix tests

Fixes #65

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
752

Relevant Lines:
752

💛  - Coveralls


Create scripts to build OpenTitan with SilverOak replacements

Currently blocked on #498 #499

Building with replacements of combinational blocks:

[X] - SubBytes
[X] - ShiftRows
[X] - MixColumns

Building with aes_cipher_core

Initial step towards #464

OpenTitan notes. After tools are installed:

fusesoc --cores-root . run --flag=fileset_top --target=sim --setup --build lowrisc:systems:top_earlgrey_verilator
./meson_init.sh
ninja -C build-out all (this builds aes_test.c, so re-run if disabling mask)
build/lowrisc_systems_top_earlgrey_verilator_0.1/sim-verilator/Vtop_earlgrey_verilator   --meminit=rom,build-bin/sw/device/boot_rom/boot_rom_sim_verilator.elf --meminit=flash,build-bin/sw/device/tests/aes_test_sim_verilator.elf   +UARTDPI_LOG_uart0=- AES test execution with verilator and UART out redirected to console

OpenTitan notes. After tools are installed:

fusesoc --cores-root . run --flag=fileset_top --target=sim --setup --build lowrisc:systems:top_earlgrey_verilator
./meson_init.sh
ninja -C build-out all (this builds aes_test.c, so re-run if disabling mask)
build/lowrisc_systems_top_earlgrey_verilator_0.1/sim-verilator/Vtop_earlgrey_verilator   --meminit=rom,build-bin/sw/device/boot_rom/boot_rom_sim_verilator.elf --meminit=flash,build-bin/sw/device/tests/aes_test_sim_verilator.elf   +UARTDPI_LOG_uart0=- AES test execution with verilator and UART out redirected to console

This has been completed for the combinational components, with aes_cipher_core remaining.

Looking at the discussion in https://github.com/project-oak/silveroak/pull/464, it appears this work was completed; I'm closing the issue.


Improve whitespace handling of class attribute in toVNode

Improved from #1109, based on @paldepind’s input.
The multi-space-separated case is definitely common when HTML is generated by templating languages.
Prettier likes to format class names across multiple lines, so \n, \r and \t (for indentation) has to be supported anyway. This meant \f is the only ASCII whitespace character that’s uncommon in class attributes but I didn’t really see a reason to exclude it either.

Thanks a lot for the PR.

Prettier likes to format class names across multiple lines, so \n, \r and \t (for indentation) has to be supported anyway. This meant \f is the only ASCII whitespace character that’s uncommon in class attributes but I didn’t really see a reason to exclude it either.

I think that's solid reasoning. Definitely agree that there is no need to leave \f out as the only character omitted from the spec.

Looks great 💪. Thanks again.


yubikey-manager: 5.0.0 -> 5.0.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for yubikey-manager is: Command line tool for configuring any YubiKey over all USB transports
meta.homepage for yubikey-manager is: https://developers.yubico.com/yubikey-manager
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 5.0.1 with grep in /nix/store/z4fbi5hlcqwha6qlqb66l323bakrapfa-python3.10-yubikey-manager-5.0.1
found 5.0.1 in filename of file in /nix/store/z4fbi5hlcqwha6qlqb66l323bakrapfa-python3.10-yubikey-manager-5.0.1

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
gen-oath-safe
yubikey-manager
yubioath-flutter

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/z4fbi5hlcqwha6qlqb66l323bakrapfa-python3.10-yubikey-manager-5.0.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A yubikey-manager https://github.com/r-ryantm/nixpkgs/archive/c578d9fd25d407ab7aa52c7b131267f74fdf56e3.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/z4fbi5hlcqwha6qlqb66l323bakrapfa-python3.10-yubikey-manager-5.0.1
ls -la /nix/store/z4fbi5hlcqwha6qlqb66l323bakrapfa-python3.10-yubikey-manager-5.0.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

yubioath-flutter

2 packages built:

gen-oath-safe
yubikey-manager

Maintainer pings
cc @benley @Lassulus @pinpox for testing.

@ofborg build yubioath-flutter

LGTM

Result of nixpkgs-review pr 211980 run on x86_64-linux 1

1 package failed to build:

yubioath-flutter

2 packages built:

gen-oath-safe
yubikey-manager

https://github.com/NixOS/nixpkgs/pull/215271 fixes yubioath-flutter, so closing this one.


Request to not obsolete “syndromic constitutional thrombocytopenia” (MONDO:0018795)

The ClinGen Hemostasis/Thrombosis GCEP would like to maintain the “syndromic constitutional thrombocytopenia” (MONDO:0018795) term. It is currently used for one curation (with the gene RAP1B). We feel this is an appropriate term for this emerging disease entity, the evidence is too limited at this time to create a disease entity term specific to the RAP1B related syndromic thrombocytopenia. However, the parent term of inherited thrombocytopenia (MONDO:0100241), suggested as the alternative term to consider, is too broad and does not acknowledge the syndromic nature of the disease, which includes congenital brain malformations and dysmorphic features. Therefore we would like to maintain the “syndromic constitutional thrombocytopenia” (MONDO:0018795).
nano-attribution (ORCID) https://orcid.org/0000-0002-7437-8060

We have received notification that this term is again on the obsoletion list to take place on September 1st, 2023. Please confirm this will not be obsoleted.

Apologies! We are doing a review of existing terms and considering obsoleting certain terms and this slipped onto our list but we will ensure it is not obsoleted.


StLogged must show chars count in BEFORE document

@rultor release, tag is 0.17.1

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.17.1

@yegor256 Done! FYI, the full log is here (took me 5min)


how to change navigation map shape?

 default navigation map is red rectangle， how to change like cross shape (+)? like below:

There's no API for customizing the navigator shape. You could potentially do it by adding some more elements to the navigator's displayRegionContainer and updating their position when the viewer raises "animation" events. For reference, here's where the navigator's displayRegion is updated:
https://github.com/openseadragon/openseadragon/blob/8bdc0a414649ba7085ea3f9bdf7c932a705196d0/src/navigator.js#L407


Wrong position reported for unused destructuring parameters

This works in JSHint 2.8.0, but not in master.
//jshint esnext: true, unused: true
function fn({ x }) {}

$ bin/jshint test.js
test.js: line 0, col 0, 'x' is defined but never used.
test.js: line 2, col 10, 'fn' is defined but never used.

2 errors

Expected:
test.js: line 2, col 10, 'fn' is defined but never used.
test.js: line 2, col 15, 'x' is defined but never used.

It will be the token used in functionparams destructuring i bet. Ive made a  pr altering functionparams,  will fix this tomorrow on top of that to avoid conflicts. Thanks for finding this.


Potential cdkey leak

I'm just checking with you @memstechtips, this is not a real cdkey, is it?
Originally posted by @Brzhk in https://github.com/memstechtips/UnattendedWinstall/pull/162#discussion_r1827038917

Yo, I answered your question here:
https://github.com/memstechtips/UnattendedWinstall/pull/162#discussion_r1830915756


Update chart coroot to 0.10.3

This PR contains the following updates:

Package
Update
Change

coroot
patch
0.10.2 -> 0.10.3

[!WARNING]
Some dependencies could not be looked up. Check the warning logs for more information.

Release Notes

coroot/helm-charts (coroot)
v0.10.3
Compare Source
A monitoring and troubleshooting tool for microservice architectures.

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


Material Share

Create a server that hosts material settings that users have shared with the public.

Partially implemented with the use of settings QR Codes.


Fix PyTorch discriminator loading

Summary
This PR addresses issue #1375 and integrates the suggested change.
Details and comments
Fix PyTorch model loading.

This PR includes gradient changes outside of the issue it solves. Can we include the gradient changes in a different PR?

Sure, sorry they are already in a different PR. Apparently something went wrong when I changed between the two branches.


Ingawei/make contracts page more efficient

Basically I've made getContractParams a backend api call, so that it is not bounded by client side RLS rules when fetching all comments/bets. It checks access to the contract once and then fetches everything, so should be more efficient for private market pages

Thanks Inga! The approach of getting this data from an api endpoint makes a ton of sense to me!
What do you think about a simpler RLS policy that would never bring the database down: Private groups / markets are never allowed to be fetched from the client. Public data is. Then, all such private data would have to be fetched from an api endpoint (or from getStaticProps.

I think yeah this might be eventually where we want to go, but for now it's nice to be able to fetch private stuff in the same call as other stuff for the user profile page for the time being


Project's reorganisation with more documentations

Hello @clemlesne,
I close this version, I will send you next week, I new version with some improvements.
Best regards
Elvis


Array spread in compiled JS files is incorrect when targeting ES5

Bug Report

🔎 Search Terms
array spread, iterator spread, empty array
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about the spread operator.

⏯ Playground Link

Playground does not support the --allowJs flag, so I can't provide a playground link. If the bug workbench supports demonstrating runtime behavior bugs, I can't figure out how.
💻 Code
const foo = new Set([1, 2]);
console.log([...foo.values()]); // expected: [1, 2]

🙁 Actual behavior
Compiling the above Javascript file with --allowJs in all versions of Typescript I tested results in incorrect behavior at runtime. The actual behavior varies based on the version installed. I tested against typescript@3, which generates a runtime error<EMAIL_ADDRESS>and @4.3, which both result in empty arrays being logged, and typescript@next, which puts the iterator itself inside the array.

4.4.0-dev.20210730
% tsc test.js --allowJs --target es5 --outfile test.out.js

% cat test.out.js
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
        if (ar || !(i in from)) {
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
            ar[i] = from[i];
        }
    }
    return to.concat(ar || from);
};
var foo = new Map();
foo.set('a', 1);
foo.set('b', 2);
console.log(__spreadArray([], foo.values(), true));

% node test.out.js
[ [Map Iterator] { 1, 2 } ]

4.3.5 and 4.2.4
% tsc test.js --allowJs --target es5 --outfile test.out.js

% cat test.out.js
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
    for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
    return to;
};
var foo = new Map();
foo.set('a', 1);
foo.set('b', 2);
console.log(__spreadArray([], foo.values()));

% node test.out.js
[]

3.9.10
% tsc test.js --allowJs --target es5 --outfile test.out.js

% cat test.out.js
var __spreadArrays = (this && this.__spreadArrays) || function () {
    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
    for (var r = Array(s), k = 0, i = 0; i < il; i++)
        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
            r[k] = a[j];
    return r;
};
var foo = new Map();
foo.set('a', 1);
foo.set('b', 2);
console.log(__spreadArrays(foo.values()));

% node test.out.js
/home/erin/test.out.js:3
    for (var r = Array(s), k = 0, i = 0; i < il; i++)
                 ^

RangeError: Invalid array length
    at __spreadArrays (/home/erin/test.out.js:3:18)
    at Object.<anonymous> (/home/erin/test.out.js:11:13)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47

Note that adding the --checkJs flag alongside --allowJs, or just putting the same code in a .ts file, returns an error:
% tsc test.js --allowJs --checkJs --target ES5 --outfile test.out.js
test.js:1:17 - error TS2583: Cannot find name 'Map'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2015' or later.

1 const foo = new Map();
                  ~~~

Since the error states --lib es2015 is required, and es2015 is a later version than the target of es5, this can lead the user to fix the error by bumping the build target to es2015, which doesn't try to include a helper for the spread operator.
On the other hand, following the advice of the error directly and setting lib higher than target results in a different error, which in turn suggests adding the --downlevelIteration flag. After following the prompts directly, I wound up with the following:

Correctly behaving code from lots of flags with a large helper
% tsc test.js --allowJs --checkJs --target ES5 --lib dom,es2015 --downlevelIteration --outfile test.out.js

% cat test.out.js
var __read = (this && this.__read) || function (o, n) {
    var m = typeof Symbol === "function" && o[Symbol.iterator];
    if (!m) return o;
    var i = m.call(o), r, ar = [], e;
    try {
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
    }
    catch (error) { e = { error: error }; }
    finally {
        try {
            if (r && !r.done && (m = i["return"])) m.call(i);
        }
        finally { if (e) throw e.error; }
    }
    return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
        if (ar || !(i in from)) {
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
            ar[i] = from[i];
        }
    }
    return to.concat(ar || from);
};
var foo = new Map();
foo.set('a', 1);
foo.set('b', 2);
console.log(__spreadArray([], __read(foo.values()), false));

% node test.out.js
[ 1, 2 ]

🙂 Expected behavior

Either the emitted code should work correctly, or the compiler should error. I'm not exactly sure what the correct behavior is, since the bug arises when using builtins TS doesn't have helpers for and can't assume are present in the given target. It seems like an error may be appropriate, but since --checkJs isn't being used (and an error is in fact thrown if it is used), maybe the right call is just to rework the helper so it works across targets? Or maybe this isn't a bug at all, and setting a target lower than the code requires (or failing to change the default target) is just user error - I'm not entirely sure what's considered a bug with --allowJs but not --checkJs, but emitting transformed code which has different behavior than the input code doesn't seem right to me.

This isn't a bug, per se. If you have the correct types for Map, the actual error --checkJs would show is this:
Type 'IterableIterator<number>' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher.

The __spreadArray helper can only be used when the value being spread is an Array (or array like), since our default downlevel behavior is essentially to just call Array.prototype.concat.
If you specify --downlevelIteration, then the output runs correctly as long as Symbol.iterator is defined:
% tsc test.js --allowJs --target es5 --downlevelIteration --outfile test.out.js

% cat test.out.js
var __read = (this && this.__read) || function (o, n) {
    var m = typeof Symbol === "function" && o[Symbol.iterator];
    if (!m) return o;
    var i = m.call(o), r, ar = [], e;
    try {
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
    }
    catch (error) { e = { error: error }; }
    finally {
        try {
            if (r && !r.done && (m = i["return"])) m.call(i);
        }
        finally { if (e) throw e.error; }
    }
    return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
        if (ar || !(i in from)) {
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
            ar[i] = from[i];
        }
    }
    return to.concat(ar || Array.prototype.slice.call(from));
};
var foo = new Set([1, 2]);
console.log(__spreadArray([], __read(foo.values()), false));

% node test.out.js
[ 1, 2 ]


Cloudflare Token

Hi,
i want to get a RSS Feed but its behind a cloudflare,
how can i parse the token or ignore the protection ?
http://www.mydealz.de/rss/deals/new

Hi @gdomod,
it looks like Cloudflare executes some Javascript code to redirect the browser. Huginn unfortunately does not support Javascript execution in the Website or PostAgent, so I think it is not possible to bypass the Cloudflare protection with Huginn.

I had kind of a similar problem.
You could try knu's suggestion of using PhantomJS Cloud.


JSON TreeView

Description
One of the valuable features of Proxyman is the JSON TreeView. We should bring it to this app.

Acceptance Criteria

Use this library for the JSON Tree View: https://mac-s-g.github.io/react-json-view/demo/dist/
Use the config on the screenshot
For the theme, try to use the same theme with the Body/Raw Tab
Add the "JSON" tab beside the Body Tab on the Request & Response Panel
Show "Invalid JSON" if the body of the request/response is not a JSON.

Update with new requirement 👍


[BUG]: JS SDK script is not cached properly between main window and button iframe

Is there an existing issue for this?

[X] I have searched the existing issues.

🐞 Describe the Bug
The JS SDK script is not cached properly between main window and button iframe, even though the paypal performance docs state:

The script loads inside the button iframe and Checkout popup window to communicate with the parent window. Loading from paypal.com means your users' browsers cache the script and there is no need to download the script again inside the iframe or popup.

Note that I am using the deferLoading strategy. (edit: it happens even without the defer strategy)
😕 Current Behavior
The following recording shows that the script is not cached between requests:
https://user-images.githubusercontent.com/93596663/170523159-c0ede4e9-2653-4024-9063-270371d7a538.mov
This is the codesandbox: https://codesandbox.io/s/7lsbff?file=/App.js&from-sandpack=true
🤔 Expected Behavior
In the browser devtools, I expected the 2nd request's size to be shown as (disk cache).
Maybe I am missing something. Sorry if that's the case.
🔬 Minimal Reproduction
1. Go to https://codesandbox.io/s/7lsbff?file=/App.js&from-sandpack=true
2. Follow the steps in the video linked above.

🌍 Environment
| Software         | Version(s) |
| ---------------- | ---------- |
| react-paypal-js  |  7.8.0     |
| Browser          |  Brave     |
| Operating System |  MacOS     |

Relevant log output
No response
Code of Conduct

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

➕ Anything else?
No response

bump

bump

bump

bump


BUG: If NPSP Data Import has custom checkbox field on Opportunity, an Opportunity will be created even if false/unchecked and no other Opp data mapped

POU thread: https://powerofus.force.com/0D58000002M1JfO (replicated in clean org)

**lurch: add

Tracking W-008586

Included in beta release version 3.55 (Beta 6) and higher

Included in production release version 3.55


Use azd for deployment

This pull request adds support for azd deployment, while still retaining the previous approach of just changing the .env file.
For the azd support, I added:

infra folder with Bicep files (mostly using AVM)
azure.yaml
Dockerfile
setup_intvect.py: sets up a search index with integrated vectorization and uploads sample data to blob storage. Plus sh and ps1 files to call it.
write_env.sh and write_env.ps1: Scripts to write the .env required for local running.

I also made some changes to existing files

start.sh: I want to be able to call it from the root, without having to cd to app, so I made some changes to support that.
app/backend/app.py: Refactored to use create_app async function, added logging, and improved credential handling with AzureDeveloperCliCredential and DefaultAzureCredential.
README.md: Extensive updates to include new sections for features, architecture diagram, deployment instructions, and cost and security guidance. This README now matches the requirements for our AI App Gallery templates.
.vscode/settings.json: Added python.envFile setting to the VS Code configuration, so that ".env"

I've marked this as draft so that I can go through the whole flow in Codespaces again.

I've gone through the flow in Codespaces. Unfortunately my swedencentral realtime deployments arent working today, despite eastus working. I think thats a service issue however.

I'm doing another azd up test in a fresh Codespaces.

I had to revert the change from main.parameters.json to main.bicepparam as it was no longer popping up the OpenAI location picker. I then got a fully working app, both deployed and locally. This should be good to go!


Rubocop configuration is out-of-date

$ bundle exec rubocop lib/bamboozled/api/employee.rb
bamboozled/.rubocop.yml: Lint/SpaceBeforeFirstArg has the wrong namespace - should be Style
Error: The `Style/TrailingComma` cop no longer exists. Please use `Style/TrailingCommaInLiteral` and/or `Style/TrailingCommaInArguments` instead.
(obsolete configuration found in bamboozled/.rubocop.yml, please update it)

From my Gemfile.lock
rubocop (0.37.2)
It looks like a number of the cops have been changed with the latest version of rubocop, while no version of rubocop is specified in the Gemfile. I updated the cops on my local box, and when it was finally running the existing project 32 offenses.
Depending on which direction the project want to take, I think the resolution here is to either

update the rubocop config to support the latest version of rubocop
specify the rubocop gem version

Well, I thought #17 would fix the hound problems, but perhaps not. It still fails without comments.

Thanks for the work on this @danielwestendorf. I've added a fix for Rubocop and Hound. It should all work once merged so I'll be closing this issue. :+1:


rpm dump

Hi, I notice the fileinfo doesnt contain the flags isconfig, isdoc, rdev.
If I need to get them do I just need to get the right tag?
How can I now what is the meaning of each tag or how to calculate it?

Hey, I'm not sure the answer to your question so will have to look into it. Admittedly, have little time available while traveling and working but will try make this a priority.
If you find an answer, PRs are welcome :)
RPM tags are defined in the original source here: https://github.com/rpm-software-management/rpm/blob/master/lib/rpmtag.h#L61
Figuring out what they mean and how they are used is unfortunately, difficult.


Set default MAKE=gmake on FreeBSD again

as an workaround for Ruby bug 16331: https://bugs.ruby-lang.org/issues/16331
Due to this bug, build will fail with FreeBSD's make after #1368.
The bug is already fixed in MRI upstream but GNU make is still required
when building older releases of Ruby. Use GNU make rather than switching
make/gmake depending of Ruby version.
See also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241633

I'm sorry about not fixing the test together. I completely forgot it. Thanks!


Build(deps-dev): Bump typescript from 5.1.6 to 5.2.2 (#5146)

Pull request opened by the merge tool on behalf of #5146

Merged in aefa017992e2ad9256c0c9153285d90ef40ff25e


Double spacing for PDFs in LaTeX

It occurred to me that you cannot easily create PDFs with double spacing in R Markdown. So I submitted a pull request to the rmarkdown repo adding this capability.
If you download the GitHub version of R Markdown now you will be able to use double spacing (the new CRAN version should be out soon-ish):
devtools::install_github('rstudio/rmarkdown')

Then in the YAML header of your .Rmd file use setspace: doublespacing. For example:
---
title: "Untitled"
author: "Christopher Gandrud"
date: "25 October 2014"
setspace: doublespacing
output: pdf_document
---

Hi, How to download the Github version of rmarkdown?

@Zigzig I'm unclear about what you are talking about.

Thanks for this @christophergandrud!

:+1:


Improved enriched error propagation from the transport and middlewares

Motivation
Fixes https://github.com/apple/swift-openapi-generator/issues/302 and https://github.com/apple/swift-openapi-generator/issues/17.
The issue was that we hid away errors thrown in transports and middlewares, and the adopter would get ClientError where the underlyingError wasn't the error thrown by the underlying transport/middleware, but instead a private wrapper of ours.
Modifications
Make sure {Client,Server}Error.underlyingError contains the error thrown from the underlying transport/middleware when that was the cause of the error, otherwise keep RuntimeError there as was the behavior until now.
Also added a causeDescription property on both public error types to allow communicating the context for the underlying error.
Also made sure middleware errors are now wrapped in Client/ServerError, they weren't before so didn't contain the context necessary to debug issues well.
Result
Adopters can now extract the errors thrown e.g. by URLSession from our public error types using the underlyingError property and understand the context of where it was thrown by checking the user-facing causeDescription.
Also, adopters now get enriched errors thrown from middlewares.
Test Plan
Wrote unit tests for both UniversalClient and UniversalServer, inevitably found some minor bugs there as well, fixed them all, plus the unit tests now verify the behavior new in this PR.

cc @groue @MahdiBM

Hmm I'm not sure I understand your concern. Can you elaborate on what you're trying to do, how the library makes that difficult, and what you'd like to see instead?
This PR is about allowing you to programmatically get the unmodified underlyingError. Is that not what you needed?

Sort of, but not exactly.
Now that i'm testing it, it actually doesn't solve my problem for the most par, at a;;.
Given this code:
let error: any Error = RuntimeError.transportFailed(
    DecodingError.dataCorrupted(.init(codingPath: [], debugDescription: "description!"))
)

print(error) // Transport threw an error.
print(String(describing: error)) // Transport threw an error.
logger.log("Got error", metadata: ["error": "\(error)"]) // Transport threw an error.
logger.log("Got error", metadata: ["error": "\(String(reflecting: error))"]) // Transport threw an error.

You see? It's not very debuggable. This is exactly my use-case.
One could catch the error and print it, but IMO it's not right to expect am explicit catch at all times just to be able to debug.
Solution 1:
Add CustomDebugStringConvertible to the error types, and let it include everything.
String(reflecting: error) will use that, so result could look like:
print(error) // Transport threw an error.
print(String(describing: error)) // Transport threw an error: THE UNDERLYING ERR
logger.log("Got error", metadata: ["error": "\(error)"]) // Transport threw an error.
logger.log("Got error", metadata: ["error": "\(String(reflecting: error))"]) // Transport threw an error: THE UNDERLYING ERR

Solution 2:
Make the CustomStringConvertible contain the full error, in which case all the above print/logs will contain the full error.

Another note. I notice the edited types still conform to LocalizedError but don't provide the whole point of the conformance which is the errorDescription variable, unlike other error types.
Something should probably change. Either removal of the conformance, or providing the errorDescription. I think the latter would be what you want considering other Error types do that.

RuntimeError is an internal type, so what you showed above is never what you'll get. You'll get a ClientError, where the causeDescription is "Transport threw an error." and the underlyingError is the actual error threw by the transport. When you print the ClientError, it should contain a summary of everything it includes, but you can always grab the underlyingError yourself and print or cast it to a concrete type and inspect if further.
Can you check out this branch and show, by using a generated Client and a mock ClientTransport that throws a custom error, how any part of the error is missing when you print it?

Also note that because ClientError and ServerError are public types, you can create a completely custom way to print them, all their properties that store what's printed by description is public.

RuntimeError is an internal type, .... You'll get a ClientError,

That's actually great, sorry that i failed to remember/notice that. If what users always get is a ClientError, then this PR absolutely solves the problem I was having, considering you've added the underlyingError to its description.

RuntimeError is an internal type ... You'll get a ClientError

That's actually great, sorry that i failed to remember/notice that. If what users always get is a ClientError, then this PR absolutely solves the problem I was having, considering you've added the underlyingError to ClientError's description.

Cool - yeah and this PR also fixes https://github.com/apple/swift-openapi-generator/issues/17 as previously, you wouldn't get a ClientError when a middleware threw, but the raw underlying error. This PR makes it all consistent, the generated client should always throw a ClientError, and the underlyingError either has the error thrown by the middleware/transport, or it has the internal runtime error which is only useful for logging. But in general, for logging, I recommend logging the full ClientError as its description contains both the context of where the error was thrown, plus the error itself. We only expect users who need to programmatically inspect the underlyingError to actually access that property.

The API breakage CI pipeline is red but it's a bug in diagnose-api-breaking-changes, I believe, and filed as rdar://117520415. So we can consider the CI green.


The arrow on the mermaid diagram is not displayed on google chrome.

Describe the issue
Hi,
Thank you for developing such a great library.
I found the problem and would like to share it.
Issue overview
When drawing a diagram in Mermaid, the arrow disappears in Google Chrome.
Steps to reproduce the issue

check diagram on https://imzbf.github.io/md-editor-rt/en-US/index
arrow not visible

environment

<EMAIL_ADDRESS>Chrome Version: 119.0.6045.159 (Official Build) (arm64)
Apple M1 Pro

cause analysis
When comparing path element between marmaid live editor and imzbf on chrome devtools, marker-end property of the path element is different.

mermaid live editor : url(#graph-div_flowchart-pointEnd)
imzbf : url(#flowchart-pointEnd))

Supplementary information
On Safari version 16.5.2 (186<IP_ADDRESS>.10) , an arrow on the mermaid diagram will appear correctly.

If there is anything I can do to help solve a problem, I will share it.
Thank you.
Procedure version
Chrome Version: 119.0.6045.159 (Official Build) (arm64)
Reproduction link
No response

Upgrade mermaid
config({
  editorExtensions: {
    mermaid: {
      js: 'https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.6.1/mermaid.esm.min.mjs'
    }
  }
});


NIFI-6803 - ActionHandler Controller Services

NIFI-6803 - updated to description
NIFI-6803 - add Spring reference to Notice
This PR provide default Action Handlers for Rules as Controller Services.  Action Handlers included are:
LogHandler - Executes Logging Actions
ExpressionHandler - Execute MVEL or SpEL Expressions
RecordSinkHandler - Executes Actions that require Records to be Sent via Record Sink
ActionHandlerLookup - Provides a dynamic method for tying Action types to an Action Handler (e.g. a 'LOG' action type can align with the LogHandler service, 'SEND' to RecordSinkHandler, etc)
Attached is an example or how things can be invoked with an InvokedScriptedProcessor with the ActionHandlerLookup service used to invoke other handlers, however this test should also allow use of the individual handlers (and report when handlers can not support the provided action).
rules-test.zip
Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
Enables X functionality; fixes bug NIFI-YYYY.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically master)?

[ ] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] Have you verified that the full build is successful on both JDK 8 and JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

Reviewing...

+1 LGTM, ran contrib-check and tried some sample flows with various action handler configurations. Thanks for this addition! Merging to master


Error Unable to 'pub upgrade' flutter tool. Retrying in five seconds

I'm having this error: Waiting for 0 seconds, press CTRL+C to quit ... Running pub upgrade... The current Dart SDK version is 2.1.0-dev.9.4.flutter-f9ebf21297. Because flutter_tools requires SDK version >=2.2.2 <3.0.0, version solving failed. Error Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (6 tries left)

Hi @osunkoyadavid
Can you please provide your flutter doctor -v, your flutter run --verbose and a minimal complete reproducible code sample.
Thank you

Don't get it pls

I need help please

Without additional information we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.

Errr, thanks for your help, by the way, I'm running flutter apps already
On Wed, 3 Jun 2020 at 08:23, Taha Tesser<EMAIL_ADDRESS>wrote:

Closed #58447 https://github.com/flutter/flutter/issues/58447.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/58447#event-3400778731, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AM2YJJ467RVDQV2MPUQROVDRUX26LANCNFSM4NQF73YQ
.


Follow topic implementation plan

This issue lays out an implementation plan for the "follow topic" feature requested in #6027. Specific issues will be filed for separate pieces of the work once we have product/design plans for the implementation.
Minimum set of user-visible changes

[x] notifications support (#25640)

[x]  Followed Topic email notifications
[x]  Followed Topic push notifications
[x]  Followed Topic wildcard mention notifications
[ ]  Followed Topic desktop notifications
[ ]  Followed Topic audible notifications

[ ] #25917
[ ] #25918
[x] Add a "Followed topics" row to the Personal settings > Notifications panel

Required for a complete initial feature

[ ] #25915
[ ] #25914

High-priority follow-ups

[ ] is:followed search filter
[ ] Add filter to "Recent conversations". Probably a multi-select (Followed, Unmuted, Muted) replacing “Include muted” and “Participated”.
[ ] Document this feature in the help center, probably by renaming and extending /help/mute-a-topic. Tag @drrosa when ready for this step.

Possible follow-ons

Noted here: Maybe in the left sidebar, unread messages in topics you follow would be prioritized over other unread messages for what to include without opening "more topics".
Proposed in https://github.com/zulip/zulip/issues/6027#issuecomment-605726226:

A view that contains only your subscribed topics
A new keyboard shortcut to "go to next unread subscribed topic"
The unread count can be changed from "unread in all subscribed streams" to "unread in subscribed topics”

Related discussions

CZO thread (2023-04)

Related issues

#17008. Should be done after we've made changes to the message header bar and Recent conversations to accommodate following topics, as that will affect the UI.

https://chat.zulip.org/#narrow/stream/101-design/topic/notifications.20of.20Followed.20Topics also has some discussion on this.

With #25640 merging today, I've updated the issue with the parts of this issue that are completed; I think that might be essentially all the backend/server changes required to complete the feature.

Thank you for your feedback, @joeflack4! This is planned as part of #25914.

These two tasks have also been completed:

Followed Topic desktop notifications
Followed Topic audible notifications

#26016 -- Last 2 commits

All the required parts of this issue have been completed. I'll file separate issues to track all the follow-ups.


Nordlond Bestiary V1.2.3?

Currently have V1.1.3 installed and have been prompted to update to V1.2.3, but get the following errors on The Forge:

Delete the module and reinstall. That will fix it.

Thanks, mate - that sorted it!


Speedup insert

The PR looks great to me. I have added the following:

parameters to control the number of workers (--n-workers; defaults to 1 so parallel is opt-in,  0, and negative numbers can be used to as offset to cpu_count, positive values just specify the nr of workers)
added opt-out validation to the tagpack insertion; not really related to the PR but I was startled that this was not already done
added retry handling for deadlock situations.
added a single thread mode that runs the insert in the main thread as before (makes pdb debugging way easier)
added code to share the tagstore connection (one per worker process). Otherwise, every tagpack established a new connection to the database.

I will test some more but i think this is ready to be merged! Great work @mdragaschnig


Set/get configuration does not work

Try to
dbInstance.setConfiguration("query_server_config", "reduce_limit", "false");

result:
 nested exception is org.ektorp.DocumentNotFoundException: nothing found on db path: /_config/query_server_config/reduce_limit, Response body: {"error":"not_found","reason":"Database does not exist."}

Should not use url '_config'. According to https://groups.google.com/forum/#!topic/couchdb-user-archive/ZQePL4EKzLE url should start from '/_node/<node_name>/_config/ '

In CouchDB 2.0 the configuration has moved from _config to /_node/{node-name}/_config. This is not reflected up until now in Ektorp. Ektorp seems to be still fixed to 1.x.


Update all SignalR topics to RC1

@rachelappel  List them all here

[ ] first
[x] Get started with SignalR on ASP.NET Core  via #6249
[ ] #6244
[ ] etc

OK, thanks


Blocktrail entropy checksum

Coverage increased (+0.04%) when pulling 3c799371c09b619e3995035909619503294081b3 on yemel:blocktrail-entropy-checksum into 421b2343b9169396f19e5bf164399f2fc2636c83 on bitpay:master.


chore: bump typescript version

As react version is 17.0.1, @types/react and @types/react-dom should be updated too.
Also, typescript version should be 4.1.2.
(I'm not sure what causes this, but when I create typescript project with CRA 4.0.1, installed node_modules/typescript version is 4.1.2, but root package.json describes it as "^4.0.3".)

Thanks!


Decide on whether to launch with pubkey or addr proofs

spartan-ecdsa proofs of sig->pubkey are considerably cheaper in terms of prover complexity than sig->address (b/c keccak)
the difference in UX is huge; minute proving time vs. 3s proving time
ideally we'd launch with proof of sig->pubkey but not all nouner addresses have pubkeys associated (i.e. b/c haven't submitted a tx). in the long-term, we can have a form input for signing a transaction and sending pubkey, but in the near-term, it'd be simplest to just use sig->pubkey proofs
this only makes sense if most of the pseudonymous discourse is initially only from addresses with a pubkey
this issue tracks making the decision here. current thinking is to manually look through vocal nouner addresses and determine how many are held at addresses with pubkeys

looked through the data for owners (past/present) who don't have an address:

https://dune.com/ls43/nouns-pubkey-checks/6fad3627-3509-4202-9ee8-25699e5780ca
https://github.com/lsankar4033/eth_analyses/tree/main/packages/noun_pubkeys

tl;dr - used the heuristic of 'owns an ENS name' as a proxy for governance participation. all of the no-tx addresses with an ENS name are gnosis SAFEs, adn all of these had at least one owner that has a tx
final decision: let's go with proof of pubkey<>sig and have a submission modal for those who aren't supported to submit a signed tx. for a later launch including those pubkeys as well (cc @DanTehrani @amirgamil @cha0sg0d )

have a submission modal for those who aren't supported to submit a signed tx. for a later launch including those pubkeys as well

@lsankar4033 can you expand a bit on what you mean here?

ah yes!
if a user for whom we don't have a pubkey gets to the nym creation interface, they a message like "we don't currently support nyms for users who haven't made transactions on-chain. to be included in a later release, sign this message" and a button that signs a message via web3 wallet + sends it to our server along with address
one day, if enough people do this, we can release v2 with all of their pubkeys included as well


You must provide backward compatibility when changing API

Describe the bug
The client has reported that they get an error on my site when trying to pay. Inspecting the logs I found this:
'--Exception--'
TypeError("TimePeriod.__init__() got an unexpected keyword argument 'interval'")
('Traceback (most recent call last):\n'
....
 '    payment_terms=TimePeriod(interval=Interval.Day, frequency=30)))\n'
 '                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n'
 'TypeError: TimePeriod.__init__() got an unexpected keyword argument '
 "'interval'\n")

This code was working when I was testing it. During the last rebuild AWS automatically pulled the latest version of your SDK that completely broke my payment.
I can see that you fixed the bug in the commit https://github.com/PaddleHQ/paddle-python-sdk/commit/fe0b79f94382caec03628b3a7774009f02072a65#diff-cfd98103172fef71024004fff1f715b9eaa5f1447bd7c443762d49b49cf65137
When you make changes like that you must provide backward compatibility and allow applications using the old API to continue working without errors.
It is a very disappointing incident and I'm going to raise a ticket with Paddle as well.
Steps to reproduce
see above
Expected behavior
no error
Code snippets
No response
Python version
3.11
SDK version
v0.3.1
API version
1
Additional context
No response

This is my code:
        operation = CreateTransaction(
            customer_id=customer.id,
            address_id=address.id,
            business_id=business.id,
            collection_mode=CollectionMode.Manual,
            items=items,
            billing_details= BillingDetails(
                enable_checkout=False,
                purchase_order_number='',
                additional_information='',
                payment_terms=TimePeriod(interval=Interval.Day, frequency=30)))

I can see that you also changed the signature of the BillingDetails class and it no longer accepts TimePeriod but rather Duration.
This all is just so wrong.
You can close this issue if you do not want to do anything about it. Just keep in mind that every change you make can break things for people who use your sdk


Using RayonExistingPool for parallelism in WalkDir

As I understand using RayonExistingPool will use the threads from the thread pool to perform the actual dir walk.
When I run the following snippet I am seeing threadId's in WalkDir being different from the ones created by custom pool.
Is this expected? I am using jwalk 0.6.0.
let mut pool = std::sync::Arc::new(
        ThreadPoolBuilder::new()
        .start_handler(|_| {
            println!("Thread started: {:?}", std::thread::current().id());
        }).num_threads(2).build().unwrap()
    );

    let count = WalkDir::new("/tmp/test")
        .parallelism(Parallelism::RayonExistingPool(pool))
        .into_iter()
        .par_bridge()
        .inspect(|result| println!("{:?} {:?}", std::thread::current().id(), result.as_ref().unwrap()))
        .count();

@kunjann par_bridge distributes iter items across rayon's thread pool. Even though jwalk executes on your custom pool, the resulting items are yielded back to the caller's thread.
If you want to know the thread id that jwalk executes on, you can log it inside process_read_dir.


EPOE Compatibility

What mod would you like to see compatibility with?
Expanded Prosthetics and Organ Engineering (EPOE)
Is this request to add functionality that synergizes with the other mod? If so, please explain.
Yes. Tasklist below:

[x] Fix anything in the mod that breaks EPOE
[ ] Remove all code around: Eyeball, Ear, Stomach, Nose, Arm, Leg, Jaw

Is there a bug in the mod when it's enabled with this other mod?
Unknown.
Are there errors in the debug log? If so, when do they occur?
Unknown.

The mod is compatible. There are many duplicate natural organ defs, but the game will still function with both mods enabled. EPOE is quite old and overwrites a lot of vanilla items, so I don't want to spend a lot of time perfecting compatibility here. I think most people are using RBSE at this point, anyway.


⚠ Bofrost.lu has degraded performance

In 1af543a, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1052 ms

Resolved: Bofrost.lu performance has improved in bbc826f.


⚠ Bofrost.de has degraded performance

In 5ab23f3, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1308 ms

Resolved: Bofrost.de performance has improved in 6c2a396 after 20 minutes.


[BUG] NRTReplicationReaderManagerTests.testUpdateSegmentsWhileRefreshing flaky test failure

Flaky test failure org.opensearch.index.engine.NRTReplicationReaderManagerTests.testUpdateSegmentsWhileRefreshing

This flaky test failure is causing lot of gradle check failures. Discussed with @mch2, deleting this test as it is not needed now.


Add parser icon

Icon Request

Icon name: parser
Use case: A tool that can parse one thing to another (for example, Rust code to runable program)
Screenshots of similar icons:
None. But I draw one. It looks not good:

uhm I think this icon is kind of hard to understand - also when you say

Rust code to runable program

it makes me think that you probably mean 'compiler' and not 'parser' (that's not exactly the same thing)

That's also a very specific need IMO

That's also a very specific need IMO

Sorry but what is IMO?

I do think you are right. I find another icon to use. Although I forget what I choose...
The "command" icon or a triangle icon is also a nice idea to replace it.

Need I close it?

I agree, "parser" icon is too specific, command, code-2 or other icons are suitable for this use case .

or binary


stupid question  - no issue

Is it possible to define a 2nd publish topic to the same broker.
Something like this:
client.publish(TH_Living_outTopic1, MQTTmsg); // send msg to mqtt server
and another
client.publish(TH_Wohnen_outTopic2, MQTTstring); // send msg to mqtt server
The messages are to be sent to a node red v2.1.0 system.

Was able to test it. Yes it works.


CSV to Postrgresql fails

When I Try to convert straight from CSV to PostgreSQL:
odo.odo("my.csv", "postgresql://user:pwd@localhost/database::table")

I get an OperationError saying that odo can't open the file.
But if I first do a conversion from CSV to  dataframe and then to PostgreSQL, all works perfectly, but is too darn slow.
any workarounds?

@fccoelho Are you running against master?

@fccoelho Can you post the traceback?

@fccoelho Can you also show the first few lines of your CSV or ping me with the file?

I am running the version on PyPI (0.3.2) with Python 3
the head of the file looks like this:
"COD_PROC","NUM_SEQ","COD_TIP_RELAC","COMPL","COD_ASSUNTO"
"1958.001.500131-1A",1,,"",899
"1958.001.500156-6",1,,"",899
"1958.001.500162-1",1,,"",899
"1958.001.500204-2",1,,"",899
"1958.001.500204-2A",1,,"",899
"1958.001.500204-2B",1,,"",899
"1958.001.500223-6",1,,"",9610
"1958.001.500233-9",1,,"",4703
"1909.017.000018-3",1,30,"sumaria",899

I "upgraded" to master and now I am hitting an UnicodeDecodeError which I didn't have before. My csv is in ISO-8859-1.
c = odo.CSV(tables[0], encoding="iso-8859-1", has_header=True, sep=',')
UnicodeDecodeError                        Traceback (most recent call last)
<ipython-input-14-35b3fa82c8f3> in <module>()
----> 1 c= odo.CSV(tables[0], encoding="iso-8859-1", has_header=True, sep=',')

/usr/local/lib/python3.4/dist-packages/odo/backends/csv.py in __init__(self, path, has_header, encoding, sniff_nbytes, **kwargs)
    101             self.has_header = has_header
    102         self.encoding = encoding
--> 103         kwargs = merge(sniff_dialect(path, sniff_nbytes),
    104                        keymap(alias, kwargs))
    105         self.dialect = valfilter(bool,

/usr/local/lib/python3.4/dist-packages/odo/backends/csv.py in sniff_dialect(path, nbytes, encoding)
     64     with open_file(path, 'rb') as f:
     65         raw = f.read(nbytes)
---> 66     dialect = csv.Sniffer().sniff(raw.decode(encoding))
     67     dialect.lineterminator = '\r\n' if b'\r\n' in raw else '\n'
     68     return dialect_to_dict(dialect)

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position 114: invalid continuation byte

hm ok, marked as a bug. fix coming tomorrow

looks like it's ignoring your encoding

I switched back to 0.3.2, and I don't seem to get the old error anymore, now I got this, which I think is related to a problem in my csv:
/usr/local/lib/python3.4/dist-packages/odo/backends/sql_csv.py in execute_copy_all(dialect, engine, statement)
    162     conn = engine.raw_connection()
    163     cursor = conn.cursor()
--> 164     cursor.execute(statement)
    165     conn.commit()
    166     conn.close()

OperationalError: out of memory
DETAIL:  String of 472261105 bytes is too long for encoding conversion.
CONTEXT:  COPY acaoprocesso, line 16088860

@fccoelho Can you send me the lines from the actual file that you posted on github? I want to make sure I'm testing the encoding properly. Thanks
my email: github handle @ google's mail service

This particular CSV is huge, I'll try to cook up a csv which triggers the
same error.
On Thu, May 21, 2015 at 11:55 AM, Phillip Cloud<EMAIL_ADDRESS>wrote:

@fccoelho https://github.com/fccoelho Can you send me the lines from
the actual file that you posted on github? I want to make sure I'm testing
the encoding properly. Thanks
my email: github handle @ google's mail service
—
Reply to this email directly or view it on GitHub
https://github.com/ContinuumIO/odo/issues/201#issuecomment-104308148.

--
Flávio Codeço Coelho
+55(21) 3799-5551
Professor
Escola de Matemática Aplicada
Fundação Getulio Vargas
Praia de Botafogo, 190 sala 312
Rio de Janeiro - RJ
22250-900
Brasil

that's ok, i just wanted the lines from the file that you pasted here, something like this:
head -n 10 original_file.csv > send_this_file.csv

@fccoelho is this still an issue for you?

No. Thanks for looking into it.

great! thanks.


Move away from buildx

The release of trust-manager 0.4.0 hit several issues relating to buildx. For go, it seems incredibly heavyweight since rather than cross compiling, say, the arm64 version of trust-manager with the amd64 version of go, it instead runs the native arm64 binary in qemu, inside a container.
There are a lot of things that can go wrong there, and during the build for 0.4.0 we saw a deadlock - the cause of which was very difficult to pin down.
We use ko in other projects and should consider using that here too.

This has been fixed, we now use Ko.


Implings plugin: add 5 spawns for the essence impling

Updated the impling spawn with the 5 spawns for the essence impling.
the essence impling with ID: 1639 has a random spawn location.
the essence impling with the ID: 1649 is connected to the 5 spawn points
fixes: https://github.com/runelite/runelite/issues/17600

I think 4 of the 5 spawns for Essence imps are labeled incorrectly (with some closer than others).  I have tested each location 10 times and only 1 of the locations ever had an essence imp spawning at the label position (see image below for an example). I can upload screen shots of all the locations if that would be helpful.  Let me know if there is anything else I can do.

Ok, I'll revert it until someone is able to figure out where they spawn at.

Hee @Adam-. I thought it tested it well. I see that there is a other PR open for this issue. However i still had a question regarding the labels. Because the implings didnt spawn 100% at the same spot. How does the label renderen know which one to render if i add 5 postions like you showed for 1 impling, so like 25 spots if all implings have 5 spawn location in one area.
is there something in an event that holds the new spawn location for the impling that was just catched? and if that matches with one of the coded location the label will be rendered?

NPCs can walk on the same tick they spawn, meaning they can appear to have spawned on a tile adjacent to where they actually spawn. You can see the NPC indicators plugin handles this case: https://github.com/runelite/runelite/blob/f890298298cdc99923ce1836252c00cb7c8e1426/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java#L761-L774

Aah Thanks for the information. I don't think i will try to fix it because of the open pr. if that pr doesnt solve it i'm more then willing to try again. or an other entry level issue


Unexpected keyword argument 'kenlm_directory_path'

I'm trying to follow Using a language model section.
I have only tensorflow's official GPU installation.
With speecht-cli record --run-name best_run --language-model kenlm-english/ command, I'm getting this error:
Traceback (most recent call last):
  File "/home/mertyildiran/.local/bin/speecht-cli", line 221, in <module>
    cli.run()
  File "/home/mertyildiran/.local/bin/speecht-cli", line 207, in run
    self.command_executor.run()
  File "/home/mertyildiran/.local/lib/python3.5/site-packages/speecht/recording.py", line 43, in run
    model = create_default_model(self.flags, self.flags.input_size, speech_input_loader)
  File "/home/mertyildiran/.local/lib/python3.5/site-packages/speecht/speech_model.py", line 318, in create_default_model
    valid_word_count_weight=flags.valid_word_count_weight)
  File "/home/mertyildiran/.local/lib/python3.5/site-packages/speecht/speech_model.py", line 111, in add_decoding_ops
    top_paths=1)
TypeError: ctc_beam_search_decoder() got an unexpected keyword argument 'kenlm_directory_path'

Probably because you said; "you need Tensorflow with KenLM integration" in that section. But I also stuck in tensorflow-with-kenlm's guide and I don't know what the exact cause. So I'm opening this issue as a question @timediv thank you so much.
I also opened https://github.com/timediv/tensorflow-with-kenlm/issues/4

With the resolution of https://github.com/timediv/tensorflow-with-kenlm/issues/4, this issue is solved. Thanks anyway. :blush:


Add support for delete_discount, along with discount#start and discount#end

Add support for subscription#delete_discount, discount#start, discount#end

need to fix tests


What happens when rabbit message retry limit is reached

It would be preferable if it logged an error, so it's more obvious when a rabbit message is thrown away.
Alternatively, a callback could be supplied during configuration so custom actions can be taken.
Thoughts/feelings on these or other options?

This has already been resolved :)


Uncaught Package not found p5.dom

Hi,
I got Uncaught Package not found p5.dom while using the following code:
src/sketch.ts
import 'p5';
/// <reference path="../node_modules/p5/lib/addons" />
import 'p5.dom'

The package.json looks like this:
    {
    	"dependencies": {
    		"p5": "^0.6.1"
    	},
    	"devDependencies": {
    		"@types/node": "^10.3.1",
    		"fuse-box": "^3.2.2",
    		"tslib": "^1.9.2",
    		"typescript": "^2.9.1",
    	}
    }

fuse.js:
const {FuseBox, WebIndexPlugin} = require('fuse-box');

const fuse = FuseBox.init({
  homeDir: 'src',
  output: 'dist/$name.js',
  sourceMaps: true,
  globals: { "p5": "p5" },
  plugins: [
      WebIndexPlugin(),
  ]
});

fuse.dev({open : true});

fuse.bundle('app')
  .instructions('> sketch.ts +p5')
  .hmr({reload: true})
  .watch()

fuse.run();

What did I miss?
Thank you in advance.
Michal

@mictadlo it looks like FuseBox thinks it's a file
p5.dom as dots in module names are not allowed.

Is there any workaround? Here is the p5 project.

This has been all fixed in v4. Please upgrade to the major version


Transfer from YAML to custom ini-like file formats

To provide simplicity and custom settings loading, such as allowing string lists to be stored a specific way, it is proposed to use a file format similar to .ini. Uses headers and variable assignments to create python dictionary objects.

Majority of work is done on properties-file-parser branch.

properties-file-parser branch has been merged into master and various bugs have been squashed relating to the custom ini-like format.