Use of post and put with handlers

Within a program using p4p's PVAccess Server I believe developers have two options to set a SharedPV's value. The most obvious route is to use a post but the other option is to use a client put. An important difference between these two options is that the post will not trigger the SharedPV's handlers while the put will. This means that, for example, if a handler is setup to evaluate valueAlarm settings then the post will not trigger the associated alarm severity or message while a client put will.
Is there an intended design to emulate a handler for a post? Or some other mechanism to allow post values to be reliably evaluated against alarm limits, control limits, etc.? For example, inheriting from SharedPV to override its post method?
Here's a program to demonstrate the put and post difference by implementing a (bad!) handler with a version of control.minStep:
import random, time

from p4p.nt import NTScalar
from p4p.server import Server
from p4p.server.thread import Handler, SharedPV
from p4p.client.thread import Context, RemoteError

class demo_handler(Handler):
    def put(self, pv, op):
        pv_raw = pv.current().raw
        if abs( pv_raw['value'] - op.value().raw['value'] ) < pv_raw['control.minStep']:
            op.done(error="<minStep")
            return

        pv.post(op.value()) # just store and update subscribers
        op.done()

def create_sharedpv():
    pv = SharedPV(nt=NTScalar('d', control=True),
                  handler = demo_handler(),
                  initial=0.0)
    pv.post({'control.minStep':2})
    return pv

pvs = {
    'demo:pv:post':create_sharedpv(),
    'demo:pv:put' :create_sharedpv(),
}

pvaserver = Server(providers=[pvs])

try:
    while True:
        time.sleep(1)
        newval = random.randint(1,5)

        pvs['demo:pv:post'].post(newval)
        try:
            Context('pva').put('demo:pv:put', newval)
        except RemoteError as err:
            print(err)
except KeyboardInterrupt:
    pass
finally:
    pvaserver.stop()

If monitored although the PVs demo:pv:post and demo:pv:put are set with the same values they will show divergent behaviour as the minStep causes the demo:pv:put to change less frequently.
If a SharedPV is set as read-only through its handler then only the post may be used to change it's value, e.g.
@pv.put
    op.done(error='read-only')

This means write protected PVs can't use the client put route.
There is the obvious mechanism of implementing a check each time, e.g.
def check_minstep(pv_value : Value, newvalue : float):
    pv_raw = pv.current().raw
    if abs( pv_raw['value'] - newvalue ) < pv_raw['control.minStep']:
        return False

    return True

if check_minstep(pv, newval):
    pv.post(newval)

but this seems error prone.
And a simplified version using inheritance to override post and implement the minStep:
class CustomPV(SharedPV):
    def post(self, value, **kws):
        try:
            V = self._wrap(value, **kws)
        except: # py3 will chain automatically, py2 won't
            raise ValueError("Unable to wrap %r with %r and %r"%(value, self._wrap, kws))

        pv_raw = self.current().raw
        if abs( pv_raw['value'] - V['value'] ) < pv_raw['control.minStep']:
            return

        super().post(V)

Still bad since like the earlier handler example it doesn't correctly deal with changes to the minStep. I think it still has potential issues around code duplication with the handler, especially as a developer adds more Normative Type fields or custom logic.

Is there an intended design to emulate a handler for a post?

No.
If it is helpful, I see .post() as analogous to db_post_event() is epics-base record and device support code, which is "trusted" to provide a valid Value.  However, .put() is not a good analogy to a record support process() function.
In the past I have sometimes "cheated" by using a nt= wrapper which maintains a shadow copy of the current Value.  However, this is imperfect (a cache of a cache...).
I have so far shied away from designing "database records in python" as a feature of P4P.  Pointing rather to pythonSoftIOC or pyDevSup which provide access to the full power (and historical limitations) of the EPICS Process DataBase.  Either can be used in combination with QSRV to serve up via PVAccess protocol.
My worry is that my lack of attention/motivation/imagination would only produce a slow, partial, clone of pyDevSup when it seems like there is latitude for more.
Still, maybe the time has come to reconsider?
What could "records in python" look like in 2024?  How much, if any, of the PDB infrastructure should transfer over?  (scan tasks, I/O Intr, lock sets, ...?)
Am I making too much of what could be no more than adding some notion of validator callback(s) to SharedPV?

As promised / threatened (!) some ideas based on attempting an implementation of an NTHandler for p4p.
1. Changes to Value
It would be useful for Value to allow something like:
Value.update(other_value: Value, fields: Optional[str, list[str], None] = None) -> None:

The obvious default behaviour here is that I have value1 and value2 with the same structure and if I use value1.update(value2) then any fields marked as changed in value2 overwrite those in value1 in an in-place operation. In this case value1 and value2 would probably be required to have the same Type. Or for value2 to be a strict subset of value1. However, something like value1.update(value2, ["value", "control"]) could be used when only a subset of the structure needs to be updated and in that case only those fields would be required to have the same Types.
But what's needed for handlers is almost the opposite. Consider the .put(pv: SharedPV, op: ServerOperation). Assuming we're applying the logic for the control or valueAlarm fields then we will need to use:
current_value = pv.current().raw
op_value = op.value().raw

to get the information needed. However, neither Value has all the information needed by the handler.
What we want is an in-place update of op_value replacing all its unchanged fields with values from the current_value but continuing to mark those fields as unchanged. Once this is done we have a complete set of information necessary for evaluating the fields control, valueAlarm, etc.
That might look like
op_value.update_unchanged(current_value)

or maybe
op_value.update(current_value, fields=["value", "control", "valueAlarm"], marked=False)

Very long explanation of the problem with full NTScalar structures and a code sample with partial solution
Consider an example NTScalar with timeStamp, control, and valueAlarm:
struct "epics:nt/NTScalar:1.0" {
    int32_t value = 3
    struct "alarm_t" {
        int32_t severity = 0
        int32_t status = 0
        string message = ""
    } alarm
    struct "time_t" {
        int64_t secondsPastEpoch = 123
        int32_t nanoseconds = 456
        int32_t userTag = 0
    } timeStamp
    struct {
        int32_t limitLow = 1
        int32_t limitHigh = 10
        int32_t minStep = 0
    } control
    struct {
        bool active = true
        int32_t lowAlarmLimit = -5
        int32_t lowWarningLimit = 0
        int32_t highWarningLimit = 10
        int32_t highAlarmLimit = 15
        int32_t lowAlarmSeverity = 2
        int32_t lowWarningSeverity = 1
        int32_t highWarningSeverity = 1
        int32_t highAlarmSeverity = 2
        double hysteresis = 0
    } valueAlarm
    string descriptor = "An example int PV with control limits and valueAlarm settings"
}

and I wish to update it with
{"value": 7, "control.limitHigh": 6, "valueAlarm.highWarningLimit": 5, "valueAlarm.highAlarmLimit": 10}

when it's received by the handler after a .put() or .post() it will look like this (where I've used * to mark changed fields):
struct "epics:nt/NTScalar:1.0" {
*   int32_t value = 7
    struct "alarm_t" {
        int32_t severity = 0
        int32_t status = 0
        string message = ""
    } alarm
    struct "time_t" {
        int64_t secondsPastEpoch = 0
        int32_t nanoseconds = 0
        int32_t userTag = 0
    } timeStamp
    struct {
        int32_t limitLow = 0
*       int32_t limitHigh = 6
        int32_t minStep = 0
    } control
    struct {
        bool active = true
        int32_t lowAlarmLimit = 0
        int32_t lowWarningLimit = 0
*       int32_t highWarningLimit = 5
*       int32_t highAlarmLimit = 10
        int32_t lowAlarmSeverity = 0
        int32_t lowWarningSeverity = 0
        int32_t highWarningSeverity = 0
        int32_t highAlarmSeverity = 0
        double hysteresis = 0
    } valueAlarm
    string descriptor = ""
}

Neither of the above two NTScalars are suitable for a handler evaluating the fields according to the Normative Type specification.
What we want is something that combines the information from both as follows:
struct "epics:nt/NTScalar:1.0" {
*   int32_t value = 7
    struct "alarm_t" {
        int32_t severity = 0
        int32_t status = 0
        string message = ""
    } alarm
    struct "time_t" {
        int64_t secondsPastEpoch = 123
        int32_t nanoseconds = 456
        int32_t userTag = 0
    } timeStamp
    struct {
        int32_t limitLow = 1
*       int32_t limitHigh = 6
        int32_t minStep = 0
    } control
    struct {
        bool active = true
        int32_t lowAlarmLimit = -5
        int32_t lowWarningLimit = 0
*       int32_t highWarningLimit = 5
*       int32_t highAlarmLimit = 10
        int32_t lowAlarmSeverity = 2
        int32_t lowWarningSeverity = 1
        int32_t highWarningSeverity = 1
        int32_t highAlarmSeverity = 2
        double hysteresis = 0
    } valueAlarm
    string descriptor = "An example int PV with control limits and valueAlarm settings"
}

After evaluation by the handlers the resulting NTScalar should then be (changes highlighted with -->):
struct "epics:nt/NTScalar:1.0" {
--> int32_t value = 6
    struct "alarm_t" {
-->     int32_t severity = 1
        int32_t status = 0
-->     string message = "highWarning"
    } alarm
    struct "time_t" {
-->     int64_t secondsPastEpoch = 789
-->     int32_t nanoseconds = 123
        int32_t userTag = 0
    } timeStamp
    struct {
        int32_t limitLow = 1
-->     int32_t limitHigh = 10
        int32_t minStep = 0
    } control
    struct {
        bool active = true
        int32_t lowAlarmLimit = -5
        int32_t lowWarningLimit = 0
-->     int32_t highWarningLimit = 5
-->     int32_t highAlarmLimit = 10
        int32_t lowAlarmSeverity = 2
        int32_t lowWarningSeverity = 1
        int32_t highWarningSeverity = 1
        int32_t highAlarmSeverity = 2
        double hysteresis = 0
    } valueAlarm
    string descriptor = "An example int PV with control limits and valueAlarm settings"
}

This is my own attempt to implement the required in-place merge:
"""Utilities related to p4p Values and Types"""

from typing import Callable, Optional, cast
from p4p import Value

def recurse_values(value1: Value, value2: Value, func: Callable[[Value, Value, str], None], keys=None) -> bool:
    """Recurse through two Values with the same structure and apply a supplied to the leaf nodes"""
    if not keys:
        keys = cast(list[str], value1.keys())

    for key in keys:
        if isinstance(value1[key], Value) and isinstance(value2[key], Value):
            if not recurse_values(value1[key], value2[key], func):
                return False
        else:
            func(value1, value2, key)

    return True

def overwrite_unmarked(current: Value, update: Value, fields: Optional[list[str]] = None) -> None:
    """
    Overwrite all of the unmarked fields in one Value with fields from another Value.

    This makes the changes in place rather than returning a copy.
    """

    def overwrite_unchanged_key(update_leaf: Value, current_leaf: Value, key: str) -> None:
        """
        Given a leaf node in the update Value tree, check whether it is unchanged and, if so,
        set it equal to the equivalent leaf node in the current Value tree. Then mark the new
        value for the leaf as unchanged.
        """
        if not update_leaf.changed(key):
            update_leaf[key] = current_leaf[key]
            update_leaf.mark(key, val=False)

    if not fields:
        fields = cast(list[str], current.keys())

    recurse_values(update, current, overwrite_unchanged_key, fields)

I believe this not a breaking change as it shouldn't affect existing code (unless someone has derived from Value and implemented it themselves). However, I don't have a good idea about the size of the change. I suspect my own code sample won't deal with more complicated and deeper structures. And I strongly suspect it won't be performant. But that might take implementing it in pvxs which might be a much larger request?

2. Post in Handler
This is relatively straightforward in the code I've implemented:
class PostHandler(Handler):
    def post(self, pv: SharedPV, new_state: Value) -> None:
        pass

class PostSharedPV(SharedPV):
    """Implementation that applies specified rules to post operations"""

    def post(self, value, **kws) -> None:
        """
        Override parent post method in order to apply post_rules.
        Rules application may be switched off using `rules=False`.
        """

        evaluate_rules = kws.pop("rules", True)

        # Attempt to wrap the user provided value
        try:
            newval = self._wrap(value, **kws)
        except Exception as err:
            raise ValueError(f"Unable to wrap {value} with {self._wrap} and {kws}") from err

        # Apply rules unless they've been switched off
        if evaluate_rules:
            self._handler.post(self, newval)  # type: ignore

        super().post(newval, **kws)

A fuller implementation would need to catch errors from the post handler but it's not complex in principle to allow .post()s to be evaluated like .put()s. In fact my own implementation pretty much passes .put()s straight to the .post()s with only a check to see if the PV is set to be externally read-only.

Last one! Apologies my answer has been so long-winded 😞
3. List of Handlers
Currently SharedPV only allows a single handler. It would be nice if it were possible to supply a List or OrderDict of handlers so that handlers could be evaluated in a defined sequence.
Only having a single handler causes two issues. First of all it means that handlers have to be monolithic and handle all the cases they might see rather than allowing each handler to carry out a single task. A handler that deals with Normative Types has to be able to handle controls, valueAlarms, timestamps, etc. instead of a simpler handler for each purpose. The second issue is that it makes it hard to provide a library handler. How does an end user conveniently mix my handler with any custom logic of their own? Our solution has been to create a handler which manages an OrderedDict of handlers. But it might make more sense to standardise this in the library?
The issue with a sequence of handlers is that there is a definite order that makes sense. Usually it's authentication/authorisation handlers, handlers that change values, other handlers, timestamp at the end. It's up to the end user to manage that but it's not clear to me what the best interface to make it easy is?


Cartodbfy of exported and re-imported tables shall use existing columns

A typical use-case is exporting to CSV and then re-importing. It's been noted that for instance the_geom column (exported as WKB in the CSV) is not always taken as the good source for the new the_geom column when re-importing the csv file.
How to reproduce:

create a file with lat/lng columns
import to cartodb. the lat/lng is guessed as geometry and converted to the_geom
export the table to CSV. the_geom column is exported as wkb.
re-import the resulting csv

Expected: the new dataset looks like the original one
Actual: there's a backed up the_geom_ (or sth similar) and a new the_geom is created from lat/lng columns.
cc/ @saleiva

Dup: https://github.com/CartoDB/cartodb/issues/6163

Putting here the behaviour I saw yesterday:
When reimporting a exported table such as the one defined in the issue, aka:

the_geom
cartodb_id
lat
long

WKB (point 1,1)
1
4
5

when passing through ogr2ogr which is converting lat and long to Multipoint because of the -nlt PROMOTE_TO_MULTI  parameter, the table in the cdb_importer schema is:
                                           Table "cdb_importer.importer_02d80ca6"
    Column    |           Type            |                                                Modifiers
--------------+---------------------------+----------------------------------------------------------------------------------------------------------
 ogc_fid      | integer                   | not null default nextval('cdb_importer.importer_02d04f2cd0ca6_ogc_fid_seq'::regclass)
 cartodb_id   | integer                   |
 the_geom     | character varying         |
 long         | double precision          |
 lat          | double precision          |
 wkb_geometry | geometry(MultiPoint,4326) |

with contents:

 ogc_fid | cartodb_id |                      the_geom                      | long | lat |                             wkb_geometry
---------+------------+----------------------------------------------------+------+-----+----------------------------------------------------------------------
       1 |          1 |<PHONE_NUMBER>E6100000000000000000F03F000000000000F03F |    5 |   4 |<PHONE_NUMBER>E6100000010000000101000000FFFFFFFFFFFF13400000000000001040
(1 row)

which after the CartoDBfication gets converted into:
   Table "public.untitled_table_22"
        Column        |          Type           |                               Modifiers
----------------------+-------------------------+------------------------------------------------------------------------
 cartodb_id           | integer                 | not null default nextval('untitled_table_22_cartodb_id_seq'::regclass)
 the_geom             | geometry(Geometry,4326) |
 the_geom_webmercator | geometry(Geometry,3857) |
 long                 | double precision        |
 lat                  | double precision        |
```

whose contents are:

```

 cartodb_id |                               the_geom                               |                         the_geom_webmercator                         | long | lat
------------+----------------------------------------------------------------------+----------------------------------------------------------------------+------+-----
          1 |<PHONE_NUMBER>E6100000010000000101000000FFFFFFFFFFFF13400000000000001040 |<PHONE_NUMBER>110F000001000000010100000099476EE86AFC204160AB497020331B41 |    5 |   4
(1 row)
```

Which means that in the cartodbfication, the old varchar `the_geom` column is being discarded in favour of using the `wkb_geometry` that ogr2ogr generated (which happens to be a MultiPoint because of the command options).

After some study last week, here are the final conclusions.
The CartoDBfication will always give precedence to a geometry(Geometry, 4326) column than to any other geometry in the table.
This scenario for lat/long columns would only happen when guessing is enabled, and in this situation it could make sense and we would not consider it a bug. See https://github.com/CartoDB/cartodb/issues/6163#issuecomment-193178693.
There's still an issue that does not affect any regular CartoDB workflow: generating a table manually (SQL) with a the_geom column and another column with type geometry(Geometry, 4326) would use the other column instead of the_geom. But we can just say that this is unsupported, or that creating the the_geom column automatically must use geometry(Geometry, 4326).


[REEF-207] Make REEF Version(s) available as MSBuild properties

The updates build.props with a task and init target that extracts the version from the pom.xml file in the root of our source tree. The version is made available in the property REEF_Version.
In order to use it, I had to delay the construction of derived properties in Org.Apache.REEF.Bridge.Jar into the targets themselves. This unfortunately creates some code duplication.
JIRA:
REEF-207

I am looking at this.


New 'expand/collapse all flows' menu options on flow views

Improvement:
-The new menu options on Flow, Flow Execution and Schedule/Execute pages prevent users from having to unfold deeply nested flows by clicking one by one.
-Users will be able to browse flows and enable or disable job executions more easily.
-Options are shown and work on projects using both flow 1.0 and flow 2.0

You can attach some screenshots to demonstrate what the UI looks like with the new change.
Also mention the new change will apply to both flow 1.0 and flow 2.0.

You can attach some screenshots to demonstrate what the UI looks like with the new change.
Also mention the new change will apply to both flow 1.0 and flow 2.0.

PR description updated

Pull Request Test Coverage Report for Build 4192

0 of 0   changed or added relevant lines in 0 files are covered.
23 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.06%) to 36.151%

Files with Coverage Reduction
New Missed Lines
%

azkaban-exec-server/src/main/java/azkaban/execapp/JobRunner.java
2
76.89%

azkaban-exec-server/src/main/java/azkaban/execapp/event/JobCallbackRequestMaker.java
21
56.25%

Totals

Change from base Build 4189:
-0.06%

Covered Lines:
10532

Relevant Lines:
29133

💛  - Coveralls


Add Algolia Support

Integrates Algolia Docsearch to Sphinx Docs

Hi, shibuya theme has Algolia native support now:
https://shibuya.lepture.com/extensions/docsearch/

Awesome, thank you for letting me know. Your documentation theme is amazing btw!


It is impossible (nearly) to associate post count with user or theme on widescreen monitors

Perhaps use a table instead? Otherwise, use some kind of horizontal line.

This has been fixed.


Remove renovate config that is not matching correctly

Codecov Report

Merging #604 (19c313f) into main (51972f3) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 19c313f differs from pull request most recent head 9c416cb. Consider uploading reports for the commit 9c416cb to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #604   +/-   ##
=======================================
  Coverage   97.50%   97.50%
=======================================
  Files           6        6
  Lines         400      400
  Branches       80       80
=======================================
  Hits          390      390
  Misses          8        8
  Partials        2        2


Ading cobra + viper CLI initial setup

This PR contains,

Basic CLI setup with basic commands as per CLI
Dummy response for each commands with autocomplete suggestions
Added some default flags with dummy values

Will add logic and other flags or commands as per our needs this is just a prototype of the cli, working with dummy outputs


rollupOptions/worker.rollupOptions.output.entryFileNames is not work for monaco worker file

Describe the bug
I use rollupOptions/worker.rollupOptions.output.entryFileNames for cancel hash name for all files, but its not work for worker file
export default defineConfig({
    build: {
    rollupOptions: {
      output: {
        entryFileNames: `[name]-1.js`,
        chunkFileNames: `[name].1.js`,
        assetFileNames: `[name]-1.[ext]`,
      },
    },
  },
  worker: {
    rollupOptions: {
      output: {
        entryFileNames: `[name]-2.js`,
        chunkFileNames: `[name]-2.js`,
        assetFileNames: `[name]-2.[ext]`,
      },
    },
  },
})

Reproduction
https://stackblitz.com/edit/vitejs-vite-jdm99f?file=package.json
System Info
System:
    OS: macOS 12.3.1
    CPU: (16) x64 Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz
    Memory: 931.38 MB / 32.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.14.0 - ~/.nvm/versions/node/v16.14.0/bin/node
    Yarn: 1.22.17 - /usr/local/bin/yarn
    npm: 8.3.1 - ~/.nvm/versions/node/v16.14.0/bin/npm
  Browsers:
    Chrome: 103.0.5060.114
    Safari: 15.4
  npmPackages:
    @vitejs/plugin-react: ^1.3.2 => 1.3.2
    vite: ^2.9.13 => 2.9.14

Used Package Manager
yarn
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

This is a duplicate of https://github.com/vitejs/vite/issues/7928 and fixed by #7804. Please upgrade to 3.0.0.


fixed label argument in entrypoint

Fixes #161
Putting quotes around "${LABEL_ARG}" will cause it to be passed as a single argument. Removing the quotes will pass them as separate arguments again (--labels x,y,z)

@mumoshu / @summerwind this is quite an important one, since labels are no longer working for any runner that is using latest or v0.11.0

Now that I think about it, it seems that quotes should also be remove from ${RUNNER_GROUP_ARG}, I will add this as well

meanwhile, if you feel like it, there's also a newer release version of the runner which I could incorporate (2.274.1)


signal: 7, SIGBUS: access to undefined memory

Problem
When running anchor test I am getting the following error message:
BPF SDK: /home/joel/.local/share/solana/install/releases/1.9.5/solana-release/bin/sdk/bpf
cargo-build-bpf child: rustup toolchain list -v
cargo-build-bpf child: cargo +bpf build --target bpfel-unknown-unknown --release
error: process didn't exit successfully: `rustc -vV` (signal: 7, SIGBUS: access to undefined memory)

Steps

cargo install --git https://github.com/project-serum/anchor anchor-cli --locked
anchor init myepicproject --javascript
cd myepicproject
anchor test

Possible Solution(s)
No response
Notes
No response
Version
cargo 1.58.0 (f01b232bc 2022-01-19)
release: 1.58.0
commit-hash: f01b232bc7f4d94f0c4603930a5a96277715eb8c
commit-date: 2022-01-19
host: x86_64-unknown-linux-gnu
libgit2: 1.3.0 (sys:0.13.23 vendored)
libcurl: 7.80.0-DEV (sys:0.4.51+curl-7.80.0 vendored ssl:OpenSSL/1.1.1l)
os: Ubuntu 21.10 (impish) [64-bit]

There are plenty of bugs in cargo and we are happy to work on them. But we are not responsible for all code ever built with our tool. Can you show some work here? What evidence led you to think this was a bug in cargo, as opposed to a bug in anchor or solana? When we have minimized the example to something wrong with Cargo, we will be happy to help!

Hello, Thanks for responding!
When I run the following command:
cargo +bpf build --target bpfel-unknown-unknown --release

I am receiving the following error message:
error: process didn't exit successfully: `rustc -vV` (signal: 7, SIGBUS: access to undefined memory)

I am new to rust and cargo and wasn't able to find anything with a google search, so I am lost as to where to look next.
Thanks for your help!

The cargo +bpf part means it is running a custom build of Rust, presumably with bpfel-unknown-unknown support.  I'm guessing this is part of solana, so I would contact them.  I don't know anything about their setup or what kind of custom toolchain they are building.

Ok thank you!

For those curious, I was able to solve this issue my erasing the solana cache.
rm -rf ~/.cache/solana/v1.21/

Hi @joelnet,
I run anchor test and it shows the same issue. I tried using your rm -rf ~/.cache/solana/v1.21/ but still it doesn't work.
BPF SDK: /root/.local/share/solana/install/releases/1.10.32/solana-release/bin/sdk/bpf
cargo-build-bpf child: rustup toolchain list -v
cargo-build-bpf child: cargo +bpf build --target bpfel-unknown-unknown --release
error: process didn't exit successfully: rustc -vV (signal: 7, SIGBUS: access to undefined memory)
Version:
rustc 1.63.0 (4b91a6ea7 2022-08-08) binary: rustc commit-hash: 4b91a6ea7258a947e59c6522cd5898e7c0a6a88f commit-date: 2022-08-08 host: x86_64-unknown-linux-gnu release: 1.63.0 LLVM version: 14.0.5


rucio dev

daemons to v 1.30.4, DB pool max size to 100 and fts-cron certificates referenced correctly

I'll might have a fix for #34, after that I'll consecutively merge all PRs into the main.


Add LaboroTVSpeech recipe

https://github.com/laboroai/LaboroTVSpeech

Codecov Report

Merging #334 (f5c05d3) into master (7479ef2) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #334   +/-   ##
=======================================
  Coverage   68.00%   68.00%
=======================================
  Files          96       96
  Lines       10803    10803
=======================================
  Hits         7347     7347
  Misses       3456     3456

Continue to review full report at Codecov.

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


[UMA 2.9] Assigning recipe to the Dynamic Character Avatar doesn't load the recipe

Assigning a pre-designed dynamic recipe to the Dynamic Character Avatar doesn't load the recipe, instead it loads the default race w/o any changes.

Unity Version: 2019.3.1f1
UMA Version: 2.9 (Package manager version downloaded from Asset Store access)

To Reproduce
Steps to reproduce the behavior:

Assign custom made UMA recipe to the Dynamic Character Avatar field.
Enter playmode.
Observe that default race has been loaded instead of the recipe

Expected behavior
Custom recipe should be loaded instead.
Additional context
This problem is caused by the BuildUsingComponentSettings property in the DynamicCharacterAvatar.
Instead of
        bool BuildUsingComponentSettings
        {
            get
            {
				bool startRecipeEmpty = (loadString == "" && loadFilename == "" && umaRecipe == null);

				if (loadFileOnStart && !startRecipeEmpty)
					return false;
				else
					return true;
			}
        }

That should be:
        bool BuildUsingComponentSettings
        {
            get
            {
				bool startRecipeEmpty = (loadString == "" && loadFilename == "" && umaRecipe == null);

				if (loadFileOnStart || !startRecipeEmpty) // OR instead of AND here
					return false;
				else
					return true;
			}
        }

Changing that line fixes the issue.

Pushed to latest release. Thanks.


NewTrie checks max height 251

Description
Checks for max new trie height to be 251.
Prints message requesting the height to be 251 or lower, and returns no new trie.
Changes:

Branch if statement to check for max height

Types of changes

Bugfix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)

Testing
Requires testing:
Yes
Did you write tests??:
I tested different uint values for the branch statement.
I can help with formal tests as well if needed.
Documentation
If this requires a documentation update, did you add one?
No, but this new check will follow the:
maxHeight = 251

specification stated here:
https://docs.starknet.io/documentation/architecture_and_concepts/State/starknet-state/#state_commitment

@IronGauntlets This is meant to resolve the TODO comment from the trie refactor. Instead of adding a check for the height here, could we make the trie support any height by changing the *felt.Felts to []bytes (in e.g., the Put function)?

could we make the trie support any height by changing the *felt.Felts to []bytes (in e.g., the Put function)?

We could but then we would have to check length of the byte array against the trie height, on every Put/Get call.

So there are 2 issues here:

One to decide on the max height
Check whether the put/get calls exceed the max key value

The reason we need the first one is that we don't want to have big ints in our trie library, since any height more than 251 bits would require the big ints library and we don't want to constantly switch between felts and big ints.
Using the height we can derive the max key value so that there is no panic if someone tries to insert a key of 5 in a trie height of 2. So we still need to check the length of the key in put/get calls.

Closing in favor of #518


any tutorial for building the dist folder?

I successfully follow the instruction to build the dll file, but failed to generate bundle.js using the npm run build command

cactbot is a npm package project.
so just install nodejs, and then run this below:
$ npm install
$ npm run build

Thanks! I think the thing that I did wrongly is I cd the directory to *\cactbot-main-1\webpack
successfully run the command in *\cactbot-main-1

Glad you got this sorted! Sorry for the hassle.


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/91749

TagBot fix

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/95235

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/106740


Support for Serial on Particle devices

VoodooSpark supports serial data functions but spark-io does not.  Will you be adding this capability soon or are there specific barriers to doing so?

VoodooSpark supports serial data functions

These are only used for debugging when the spark is connected via USB.

spark-io does not. Will you be adding this capability soon or are there specific barriers to doing so?

I'm not sure what capability you're referring to? Do you want to be able to control the Spark core over USB? If that's the case, then you don't need to use an IO Plugin with Johnny-Five, just load firmata/spark onto the Core and connect as you would with an Arduino family board.

I am looking to be able to read/write on Serial1 through voodoospark (from node.js server) but spark-io does not support that I believe.

I am looking to be able to read/write on Serial1 through voodoospark (from node.js server) but spark-io does not support that I believe.

That's correct. Spark-IO implements an emerging standard for IO-Plugins, which doesn't currently specify a way to interact with Serial, because in many cases Serial is being used to communicate with the actual board. Any API specification added to IO Plugins must be defined in a way that will work for all of the platforms that are currently supported and hopefully for any new ones in the future. I'd be willing to implement some experimental features to get the ball rolling towards support for serial read/write. I'm at JSConf this week, but I'll start roughing out some ideas and report back as soon as I have something worth test driving—hopefull by Monday?


Jenkins: update binary platform matrix

This PR drops Debian jessie, adds Debian buster, and adds CentOS 8 to the binary platform build matrix on master.

Thanks @kocolosk . At some point we should replace the cache of .js packages on that server with direct downloads from our bintray (http://dl.bintray.com/apache/couchdb-deb/ and -rpm)...or at the point when SM60 is supported everywhere upstream, we can drop the entire thing and simplify the process considerably.

thanks @wohali for consideration for SM60-related package distribution.

@jiangphcn this is still SM1.8.5, I am not yet committing to shipping SM60 for all platforms. But we'll see ;)

totally understand @wohali . We can work together to make this happen in the future :-)


Make RssAgent emit events for new feed items in chronological order

RssAgent now sorts feed items by the date published and then by the last
updated time when creating events.
Previously it would create an event for each new feed item in order of
appearance, but when most feeds list items in reverse chronological
order you would often end up seeing newer items processed earlier than
older items.

I think this makes sense.  The other option would be entries.reverse, trusting the order in the feed, but I think this makes sense?

I could make it fall back to reverse order of appearance when no timestamps exist at all, but I'm not sure if it makes sense.


WIP:   Map workspace to iprojectsite

Use the Roslyn workspace as a datasource for source files and referenced projects for the F# Editor language service.
Note:  as of right now the source files are not in project file order.

I cannot build it locally:
 E:\github\visualfsharp\vsintegration\src\FSharp.Editor\LanguageService\LanguageService.fs(329,35): error FS 0039: The field, constructor or member 'DocumentInfoChanged' is not defined. [E:\github\visualfsharp\vsintegr ation\src\FSharp.Editor\FSharp.Editor.fsproj]

How to fix it?

@vasily-kirichenko working on it.

Also tagging @srivatsn here.

closing for a pr targeting vs2017-rtm


Fix: Merge global configuration files

This PR

[x] merges global configuration files
[x] keeps main keys sorted alphabetically
[x] makes use of the class keyword

Related to #505.

/cc @gianarb

IMO now is better! Thanks

Thank you, @gianarb!


How to use renderHook with a Context.Provider using async onMount in test

Hello, I'm new to using @solidjs/testing-library and need help handling a particular test scenario having to do with renderHook. The scenario is the following:

A Context.Provider with a onMount(async () => { ... }) setup.

The initial value of the provider is set with a default createStore object containing pre-defined keys with empty values. The true values I want to assert in test get assigned to the store object at the end of the async onMount

A custom hook (useSSO) that reads the context value via useContext(...).

Inside is just a simple undefined check to guarantee the return of the context value and this is the hook that I am trying to test via renderHook.

The important bits of the implementation of these things are as follows:
// Summarized version of SSOContextProvider.tsx
const [sso, setSSO] = createStore({
    token: "",
    signOut,
    user: {
      email: "",
      name: "",
      username: "",
      roles: [],
    },
  });

  onMount(async () => {
    // ...authentication logic
    const authResult = ...

    setSSO(({ signOut }) => ({
      signOut,
      token: authResult.accessToken,
      user: {
        name: claims.name,
        roles: claims.roles === undefined ? [] : claims.roles,
        email: claims.preferred_username,
        username: claims.preferred_username.split("@")[0],
      },
    }));
  });

// only show the children when `token` gets assigned -- and notice default `sso` value being used
return (
    <SSOContext.Provider value={sso}>
      <Show when={sso.token} fallback={props.fallback ?? "Loading..."}>
        {props.children}
      </Show>
    </SSOContext.Provider>
  );

// useSSO.tsx
function useSSO(): Store<SSO> {
  const sso = useContext(SSOContext);

  if (!sso) {
    throw new SSOError(
      "SSOError: Must wrap component with SSOProvider to initiate token fetch"
    );
  }

  return sso;
}

In my test, I have the following setup:
// MockJumpSSOProviderWrapper uses SSOContext.Provider under the hood...
const MockJumpSSOProviderWrapper: ParentComponent = (props) => (
  <MockJumpSSOProvider>
    {props.children}
  </MockJumpSSOProvider>
);

const { result } = renderHook(useSSO, { wrapper: MockSSOProviderWrapper });
expect(result.token).toEqual("mock_token") // <-- fails because result is undefined

There are two things in this situation that I would like clarification on and help with -- one of them is truly unexpected in my mind:

The surprising one: result is undefined

This caught me off guard and I do not know how this is possible. Considering I am providing a MockContextProviderWrapper in test, I would expect result to at least  have been assigned the default value that I mentioned earlier. I do not know how this is happening.

How do I wait for the onMount(async () => { ... }) to finish in test?

Dove-tailing from the above point, I really want to assert on the true value being set after the component finishes mounting. How do I go about doing that?

Let me know if I should clarify anything further 😄

@atk do you have any insight into the above?

I am now looking at this issue.

I tried to replicate the issue in a test case:
test("renderHook will return a context with an async onMount in its Provider", () => {
  const context = createContext<() => boolean>();
  const TestProvider: ParentComponent = (props) => {
    const [x, setX] = createSignal(true);
    onMount(async () => {
      await new Promise(resolve => setTimeout(resolve, 150));
      setX(false);
    });
    return <context.Provider value={x}>{props.children}</context.Provider>
  };
  const testHook = () => useContext(context);
  const { result } = renderHook(testHook, { wrapper: TestProvider });
  expect(result).toBeInstanceOf(Function);
  expect(result?.()).toBe(true);
});

Though I now see the issue why you don't get the value: it is that the Wrapper does not render props.children before it is resolved. This is a no-go to test with testHook, as it requires its wrapper to always render, otherwise there are no children to subscribe reactive effects to. Even if you would make the fetcher synchronous, onMount would ensure that the resolution would be too late for the synchonous evaluation of the hook.
So the only way to test this at all is to create your own test component and use render to apply it, then use an effect that subscribes to the store and tests certain states of the context.

@atk thank you so much for looking into this. That was helpful insight! I feel like this use-case should be documented for others trying to leverage renderHook with an underlying wrapper that utilizes an async onMount -- don't want them to trip up like I did.

Thanks for the feedback. I will update our README.
I just had another thought: what you could do would be to have an optional fallback prop in your Provider component and use the wrapper component to put props.children into the fallback component. This way you would get the store and then could use createEffect to catch the next update.

@atk I tried that alternative idea you proposed but it didn't work. I believe I did everything right in passing the children as the fallback. However, the use of render instead of renderHook definitely did the trick! I had to use an external signal outside of my test scaffolding that I did a await waitFor(() => { ... }) on to determine proceeding with my test assertions


Location indicator not visible in Kakoune v2019.12.10

The location indicator is not visible in Kakoune v2019.12.10.
The problem does not occur in Kakoune v2019.07.01.

The issue was introduced by the following commit:
https://github.com/mawww/kakoune/commit/0e4a4acf61dbcd1e025810f8e67aca2eaeb44e19

I'm on v2019.12.10-5-gb9823718 and everything seems to work fine, is there anything in the debug buffer?

*** This is the debug buffer, where debug info will be written ***
[gdb][kak] gdb-cmd -gdb-exit
[gdb][kak] gdb-cmd -exec-arguments ␤ -exec-run --start
Error: parse error: unknown expand 'var'
Error: no such env var: kak_session
Error: parse error: unknown expand 'env'
Error: option not found: 'kak_session'. Use declare-option first
Error: option not found: 'session'. Use declare-option first

It works for me if I unset XDG_RUNTIME_DIR.

If XDG_RUNTIME_DIR is unset the debug buffer contains:
*** This is the debug buffer, where debug info will be written ***
[gdb][kak] gdb-cmd -gdb-exit
[gdb][kak] gdb-cmd -exec-arguments ␤ -exec-run --start
[gdb][kak] gdb-handle-breakpoint-created 1 y 26 /tmp/hello.cxx
[gdb][kak] gdb-refresh-breakpoints-flags /tmp/hello.cxx
[gdb][kak] gdb-handle-breakpoint-modified 1 y 26 /tmp/hello.cxx
[gdb][kak] gdb-refresh-breakpoints-flags /tmp/hello.cxx
[gdb][kak] gdb-handle-running
[gdb][kak] gdb-clear-location
[gdb][kak] gdb-clear-breakpoints
[gdb][kak] gdb-handle-breakpoint-created 1 y 26 /tmp/hello.cxx
[gdb][kak] gdb-refresh-breakpoints-flags /tmp/hello.cxx
[gdb][error] Selected thread is running.
[gdb][kak] gdb-handle-breakpoint-modified 1 y 26 /tmp/hello.cxx
[gdb][kak] gdb-refresh-breakpoints-flags /tmp/hello.cxx
[gdb][kak] gdb-handle-stopped 26 /tmp/hello.cxx
[gdb][kak] gdb-process-pending-commands
[gdb][kak] gdb-refresh-location-flag /tmp/hello.cxx
[gdb][kak] gdb-handle-breakpoint-deleted 1
[gdb][kak] gdb-refresh-breakpoints-flags /tmp/hello.cxx

The problem materialized due to unfortunate circumstances: I was using a manually compiled kak binary located in some private directory. kakoune-gdb called my old kak binary from bin.
Probably, kakoune should provide an environment variable kak_binary_path so that the usual pattern kak -p $kak_session be improved to $kak_binary_path -p $kak_session.


Has anyone considered using an OpenGL view for Osmdroid?

i have been using osmdroid for several years , it is very good for me
Along with the development of  requirements,
i need to draw 200+ polygons or polylines or markers on the map at the same time.
i find the map become very slowly  ，Especially the polygons makes the map become slowly,
so i think it is better to use OpenGl view for Osmdroid ,it well Obvious  improve the performance.
do you have this in plans?
nutiteq map（https://github.com/nutiteq/hellomap3d-android） sdk is using OpenGl ,so it is very Smooth when draw lots of polylines or polygons on the map.It doesn't seem to be open source .

Do you have osmdroid hardware acceleration enabled? From osmdroid 6.0.0, it works quite fine.
And from what I understood, when hardware acceleration is enabled, it means that view drawing makes a use of OpenGL "under the hood".

of course i have enabled the hardware acceleration, but the effects were unsatisfied
i have run a test on nutiteq sdk ,i can easily put 1000+ markers on the map , it is very smooth.....

OSMdroid 在移动和缩放的过程中没有做图片缓存处理，导致频繁刷新的的事情。这个才是问题的根本。

需要定义一个bitmap 作为中间缓存，只有在移动结束，缩放结束的时候才绘制数据。数据绘制单独线程任务完成，返回绘制的bitmap 给地图用来刷新。只有这样才能根本上解决数据量大的问题。

我也是这样想的，只有这样才能从根本上解决问题，兄弟 能否留个方式 ，交流一下！


Revamp the header

Currently, we have those infos in the header part : (the 3 last lines are removed in non local mode)
PostgreSQL 13.2 - benoit-dalibo - postgres@/var/run/postgresql:5433/postgres - Ref.: 2s
 Size:       845.73M - 0B/s           | TPS:                     1         | Active connections:          1 | Duration mode: query
 Mem.:      35.6% - 2.12G/7.46G       | IO Max:                  0/s
 Swap:      4.9% - 575.23M/11.39G     | Read:           0B/s - 0/s
 Load:         0.06 0.10 0.09         | Write:          0B/s - 0/s

Detail :

Size : Size of the database you are connected to  - Growth in B/s
Mem. : Pct used - memory used / memory available (in local mode only)
Swap : Pct swap used - swap used / swap available (in local mode only)
Load : CPU load  (in local mode only)
TPS  : Transaction per second (sum of commit & rollback for all databases / time elapsed since last snap)
IO Max : Displays the iops (in local mode only)
Read : Current Read thruput  (aggregated data from the psutil library) (in local mode only)
Write : Current Write thruput (aggregated fata from the psutil library) (in local mode only)
Active connections : count of active connections
Duration mode : query/transaction/backend (seems out of place)

It would be nice to have more:

Active connections : count of active connections / max_connections (superuser_reserved_connections)
Idle :  count of idle connection / max_connections (superuser_reserved_connections)
Idle in transaction :  count of idle in transaction connections / max_connections (superuser_reserved_connections)
Idle in transaction aborted :  count of idle in transaction aborted connections / max_connections (superuser_reserved_connections)
worker process : count of worker processes /  max_worker_processes
parallel workers : count of parallel workers used for query processing  / max_parallel_workers
maintenance workers : count of parallel workers used for maintenance / max_parallel_maintenance_workers
logical workers : count of  workers used for logical replication / max_logical_replication_workers
autovacuum workers : count of autovacuum workers / autovacuum_max_workers

We also could list the number of wal senders / wal receiver. But I am not convinced that it's usefull in the header. I am also not fond of having logical workers but they are taken from the worker process pool (like parallel workers and maintenance workers) so not having them here could make the info incomplete / misleading.
Note: the availability of these infos depend on the version of PostgreSQL
Example :
PostgreSQL 13.2 - benoit-dalibo - postgres@/var/run/postgresql:5433/postgres - Ref.: 2s, Duration mode: query
 Size:       845.73M - 0B/s           | TPS:                     1         | Active connections:           9/100(3) | worker process:      8/8
 Mem.:      35.6% - 2.12G/7.46G       | IO Max:                  0/s       | Idle:                        80/100(3) | parallel workers:    6/8
 Swap:      4.9% - 575.23M/11.39G     | Read:           0B/s - 0/s         | Idle in transaction:         10/100(3) | maintenance workers: 1/2
 Load:         0.06 0.10 0.09         | Write:          0B/s - 0/s         | Idle in transaction aborted:  1/100(3) | logical workers:     1/4
                                      |                                    |                                        | autovacuum workers:  1/3

EDIT: data from ps = > data from the psutil library

That's quite a lot of informations. My main wonder is how you would handle smaller screens. This header is way beyond 80 character-wide (looks like 143 to me), it's going to be an issue. If you put that much informations, you need to think about how you will handle smaller screens.
On the details themselves, that looks interesting, and I'm mostly +1 on them.

About content width and smaller screens, that's true. But we're already
quite bad as the process table has a fixed (and large) width.
That should be improved overall, but I'm not sure how at the moment.

OK. I had no idea about the look and width of the process table, but it actually makes sense. Then go for it. Sounds like interesting details to add up in the header.

Hi,
First, in the same fashion than top, you could add some interactive commands to enable/disable some infos and save some space. These keys can also turn to command argument so users can alias the command the way they like it.
About existing content, it would be useful to add some infos about the caches. In Mem, having the cache size (eg. Used/Cache/Total) would be less confusing. You could add the shared_buffers hit/miss ratio around there as well.
In regard with the backends, it's a shame we have to compute the total number of connections by summing four lines.
Lag with standbys, archiver status and WAL MB/s might be interesting, but I feel they might be hidden by default and enabled interactively.

Thanks for the inputs !
It's possible to disable some infos from the command line and we plan to make it more flexible thru a config file.
Adding Keybinds to do the same should be feasible.

I finally started working on this again.
Here is the new header.
PostgreSQL 14.0 - benoit-dalibo - postgres@/var/run/postgresql:5435/postgres - Ref.: 2s - Duration mode: query
 Global: 22 hours and 39 minutes uptime ⋅ 124.36M dbs size - 131.52K/s growth ⋅ 99.86% cache hit ratio
 Sessions: 51/100 total (3 reserved) ⋅ 51 active ⋅ 0 idle ⋅ 0 idle in txn ⋅ 0 idle in txn abrt
 Activity: 2126 tps ⋅ 2122 insert/s ⋅ 6368 update/s ⋅ 0 delete/s ⋅ 17863 tuples returned/s
 Worker processes: 0/8 total ⋅ 0/4 logical workers ⋅ 0/8 parallel workers
 Other processes & infos: 0/3 autovacuum workers ⋅ 0/10 wal senders ⋅ 0 wal receivers ⋅ 0/10 repl. slots
 Mem.: 7.45G total ⋅ 3.31G (44.46) free ⋅ 2.82G (37.81) used ⋅ 1.32G (17.73) buff+cached
 Swap: 11.39G total ⋅ 9.91G (87.03) free ⋅ 1.48G (12.97) used
 IO: 2419/s max iops ⋅ 0B/s - 0/s read ⋅ 9.45M/s - 2419/s write
 Load average: 0.75 0.44 0.52

This is the new info. It's a lot but everything doesn't have to be displayed all the time :

Global, Session, Activity can be toggled on/off with the "i" key
Worker processes, Other processes & infos can be toggle on/off with the "w" key
Mem, Swap, IO, Load average can be toggle on/off with the "s" key

We recently added a filter option. When appropriate the counters will show information according to the filters (currently we can filter only on a database name).
I didn't include the replication lag because it's dependant on the number of standbies.
I think a screen dedicated to replication would be better.
@ioguix @gleu @Krysztophe: do you think some info is missing or unnecessary.

Nice !
Hard to say how it would look in real life, but that's worth a try.

A thought : any way to print the size/nbr of temp files? (in big fat red)

That's a good one. I'll try to squeeze it in there.

A real screenshot would help to better see what you've done.

@gleu : screen shot :)

Real nice. The bigger header is quite crowed though.

Yes, but you can choose to display any "group"  you want. I think the instance info will be displayed by defaut and not the rest.
Here is a new screenshot with the tempfiles and waiting query, plus a cheap attempt at making the groups more visible.

For now, adding color when a threshold is reached on a metric is not implemented. We lack the facility to do it and it could be something we add when we move to Rich (#261).

@Krysztophe : The changes have been merge in the master branch feel free to test it and give us feedback.

It's in.


Mac OS comptability

can you please provide a description how (if) this utility can be used from macos systems

Hi Sinaiy,
Good catch, I don't think it does at the moment.
Typically the tool is meant to be used in a CI/CD pipeline so on a server.  But for sure you would test your config on a laptop first.
It wouldn't be a huge thing for us to add it to the binaries.  Those are built using GitHub Actions which offer two different flavours for Mac:
macOS Big Sur 11 | macos-11
macOS Catalina 10.15 | macos-latest or macos-10.15
Which one would make more sense for a Mac Laptop?

Thank you for the swift reply
macOS Big Sur 11 would be great for my purposes
but even a note on a recommended approach for other operating systems would
be super helpful,
i.e building locally or using a container
Thanks again for the assistance.
sinai
On Mon, May 31, 2021 at 6:01 PM Vincent-Philippe Lauzon <
@.***> wrote:

Hi Sinaiy,
Good catch, I don't think it does at the moment.
Typically the tool is meant to be used in a CI/CD pipeline so on a server.
But for sure you would test your config on a laptop first.
It wouldn't be a huge thing for us to add it to the binaries. Those are
built using GitHub Actions
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
which offer two different flavours for Mac:
macOS Big Sur 11 | macos-11
macOS Catalina 10.15 | macos-latest or macos-10.15
Which one would make more sense for a Mac Laptop?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/delta-kusto/issues/27#issuecomment-851545689,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQX3SITQBFDPABC2MGBAY3TQOQEVANCNFSM45ZM2XEQ
.

Have taken a look at the tutorials section?
For instance, the Azure DevOps tutorial shows a sample of CI / CD pipeline.
Looking further at GitHub action, it seems that macOS Big Sur 11 is in private preview.  Would something built for macOS Catalina 10.15 work as well?  It is a CLI so it integrates pretty lightly with the OS...

it should work,
Thanks again for the effort.
currently, i am running the binaries through a container, which is
perfectly fine for my needs
On Mon, May 31, 2021 at 7:33 PM Vincent-Philippe Lauzon
@.***> wrote:

Have taken a look at the tutorials section?
For instance, the Azure DevOps tutorial shows a sample of CI / CD pipeline.
Looking further at GitHub action, it seems that macOS Big Sur 11 is in private preview. Would something built for macOS Catalina 10.15 work as well? It is a CLI so it integrates pretty lightly with the OS...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Cool.  I'll ping this issue once we get the Mac OS version.
Should be later this week or next week.

Hi Sinaiy,
Could you take a look at https://github.com/microsoft/delta-kusto/releases/tag/<IP_ADDRESS>, download the mac bits and let us know if that works?

works great!
thanks for the help

Excellent!
I'll close this issue then.


remembering last launched applications?

would it be possible to implement remembering the last X launched applications?

Sure sounds easy to implement, Will gladly take a look at it tomorrow when i get a chance.

@koutsie Tomorrow could also mean 2 in the morning, Consider your feature request "complete"
For now the history does not persist so whenever you close the menu or restart your pc the history gets wiped.
I'm tempted to add a history file hoooowever i don't feel like that's necessary, Totally down to add it if you consider it necessary.
Let me know what you think.

Forgot to mention but the history isn't sorted by how recently you launched the program.
Too much work to add a filter like that. (Big excuse because i'm lazy)

It'd be more https://codeberg.org/dnkl/fuzzel like with history yeah - I'm too tired to think how to implement that properly haha

I think this is ready so gonna close this issue, Feel free to suggest better implementations if you come up with any in the future :+1:


hey is your discord account inactive?

im xfaon btw

Yeah I haven't looked at it in a while

Oh, do you have a new account?

 (Issue #1)
Oh, do you have a new account?
—
Reply to this email directly, view it on GitHubhttps://github.com/77Z/pluto-bootstrapper/issues/1#issuecomment-1798401090, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AK7H3PSUOK5IJC3FDMI7EPTYDISCJAVCNFSM6AAAAAA67T2UU6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJYGQYDCMBZGA.
You are receiving this because you commented.Message ID: @.***>


Provide long description when packaging

Codecov Report

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

@@          Coverage Diff           @@
##           master     #87   +/-   ##
======================================
  Coverage    96.2%   96.2%
======================================
  Files          23      23
  Lines         474     474
======================================
  Hits          456     456
  Misses         18      18

Continue to review full report at Codecov.

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


WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.

Describe the bug
When the mouse wheel is used, this error occurs all the time, causing the scene to fail to zoom
Reproduction
https://stackblitz.com/edit/vitejs-vite-9seq6j?file=tsconfig.json,package.json,vite.config.ts,src%2Fcomponents%2FTheExperience.vue
Steps to reproduce
No response
System Info
No response
Used Package Manager
npm
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] The provided reproduction is a minimal reproducible example of the bug.

Hi @Sea-DH1, thanks for opening this, so for some reason in stack blitz the deps are not resolved correctly and there are different versions of threejs been imported. You can fix it by adding dedupe to your vite.config.ts:
 resolve: {
    dedupe: ['three', '@tresjs/core'],
  },

This is happening also

Hi @Sea-DH1, thanks for opening this, so for some reason in stack blitz the deps are not resolved correctly and there are different versions of threejs been imported. You can fix it by adding dedupe to your vite.config.ts:
 resolve: {
    dedupe: ['three', '@tresjs/core'],
  },

Confirming that this solution works.
It happened also on my stack (TresJS + Nuxt) on both Vercel and localhost.


Unable to load dynamic server library

Apple M3 Max
Error: Unable to load dynamic library: Unable to load dynamic server library: dlopen(/var/folders/5j/k79qzwzj79zccrv78q7yc3yh0000gn/T/ollama1325625138/metal/libext_server.dylib, 0x0006): tried: '/var/folders/5j/k79qzwzj79zccrv78q7yc3yh0000gn/T/ollama1325625138/metal/libext_server.dylib' (code signature in <5A0BFDE3-DAFF-3CDC-88E1-EB69C3900B6B> '/private/var/folders/5j/k79qzwzj79zccrv78q7yc3yh0000gn/T/ollama1325625138/metal/libext_server.dylib' not valid for use in process: mapping process and mapped file (non-platform) have different Team IDs),

Same issue on Apple M3 Pro.

Same issue on Apple M1 Pro.

Hey everyone, thanks for the reports. I believe this was a bug in the packaged ollama runner which should be fixed now in v1.1.1`. If anyone else still experiences this please let me know.


WordPress.Security.ValidatedSanitizedInput.InputNotValidated does not recognize filter_var()

Bug Description
$_SERVER filtered through filter_var() as float is mistakenly flagged as unvalidated.
Minimal Code Snippet
$request_time = filter_var( wp_unslash( $_SERVER['REQUEST_TIME_FLOAT'] ), FILTER_VALIDATE_FLOAT );

Error Code
 28 | ERROR | [ ] Detected usage of a non-validated input variable:
    |       |     $_SERVER
    |       |     (WordPress.Security.ValidatedSanitizedInput.InputNotValidated)

Environment

Question
Answer

PHP version
7.2.11

PHP_CodeSniffer version
3.3.2

WPCS version
1.2.0

WPCS install type
Composer local

Tested Against develop branch?

[ ] I have verified the issue still exists in the develop branch of WPCS.

Hi @Rarst I've had a look at this and this is not a false positive.
The terminology used by the sniff may be the cause of the confusion:

"validation" in the context of this sniff means: checking if variable exists using isset(), empty() etc.
"sanitization" in the context of this sniff means: cleaning the contents of the received data.

While filter_var() is a valid way to sanitize a variable, it does not validate the variable and will throw a "Undefined index/variable" notice when passed a variable which doesn't exist.
See: https://3v4l.org/GXW62
Did you maybe intend to use filter_input() ? filter_input() will validate a variable and optionally can sanitize it too.
$request_time = filter_input( INPUT_SERVER, 'REQUEST_TIME_FLOAT', FILTER_VALIDATE_FLOAT );

I suggest we close this issue.

"validation" in the context of this sniff means: checking if variable exists

I am not sure I agree "check if variable exist" is a general definition of validation. This code validates that input is a float or returns false. This remains true for undefined input, input does still get validated (even though it's not defined) and result is a validation failure as it should be.
The important part here, in my opinion, is that there is no possibility of invalid data getting through. Which is my idea of validation process.
I would argue that if the purpose of a sniff is to exclusively check for definition then message should say that. "Validated" is a more complex concept with a context that is not sufficiently covered by error message as written.

Did you maybe intend to use filter_input() ?

Unfortunately INPUT_SERVER is routinely unavailable in the wild, depending on server configuration, and cannot be shipped in public code (unlike _GET/_POST).

@Rarst Oh, but I totally agree that the terms are used incorrectly in the sniff. That has been that way since the sniff was added, way back before I ever got involved. That why I said "in the context of this sniff" in my previous reply.
So, yes, the "validation" check in the sniff is about preventing error notices, the "sanitization" check in the sniff is about what you and I would call input validation.
Suggestions on how to improve the error messages (without causing additional confusion) are welcome of course ;-)

How about:

Detected usage of a possibly undefined input variable: $_SERVER['REQUEST_TIME_FLOAT']

Though if variable is set by PHP itself that is still somewhat unhelpful/annoying, but it's more clear what sniff has the problem with.

@Rarst What about this:

Detected usage of a possibly undefined superglobal array index: $_SERVER['REQUEST_TIME_FLOAT']. Use isset() or empty() to check the variable exists before using it

Might be a bit longer, but also more helpful.

Good enough. :+1:

Okidoki, will pull it as part of the current series (three more to go before this one).


[NOMRG]  debug script for pdcdws & pinball

@Badr-MOUFAD there is this comment

    # Despite violating the conditions mentioned in [1]

    # this choice of steps yield in practice a convergent algorithm
    # with better speed of convergence

Do you think the issue happens because of it? Or it could be something else?

Yes indeed @mathurinm, you are right.
After investigation, the algorithm converges when using stepsizes that verifies the inequality.
However, this comes with a drawback of making the convergence speed very very slow.
The algorithm fails to get the last remaining 1e-1 to the optimal object (Extrapolation might help if we manage to spot a auto regressive behavior of the iterates 🤷♂)
I'm afraid that fixing this problem will result in performance degradation in other problems/setups.
I tried a small hack by multiplying/dividing by n_samples/n_feautres to take bigger steps in primal/dual spaces, but it doesn’t not work all the times.

However, this comes with a drawback of making the convergence speed very very slow.

I think a good enough solution would be to add an unsafe_stepsize=True parameter, that uses the current stepsize. If this argument is False, we fall back to the safe, smaller stepsizes.
This would deserve a comment pointing to the adequate equation in the Fercoq & Richtarik paper, because it is not trivial
WDYT?
Also, I'm not understanding the problem 100%, because if we change y a bit in @tpanum's example, convergence is back to normal :thinking:


Check if filter field value is a string

$filterVal may contain an array instead of expected string, for example in case of ENUM db field.

Thanks!


Converter doesn't seem to like Outlast files

I provided examples of several voice line from the game.
It appears that the presence of chunks cue and LIST are making the converter mad.
Soldier.zip

Sorry, I didn't realize Outlast uses Vorbis. You can close this.


Is extension download counter working? Looks like not :(

No download counter for some extensions :(

I saw that too. Thought maybe the counter shows after a certain downloads threshold has been passed


Uncaught Error: ENOENT: no such file or directory, lstat '~/Downloads\index.html'

[Enter steps to reproduce:]

...
...

Atom: 1.40.1 x64
Electron: 3.1.10
OS: Microsoft Windows 10 Home
Thrown From: Atom Core
Stack Trace
Uncaught Error: ENOENT: no such file or directory, lstat 'C:\Users\Delano\Downloads\index.html'
At fs.js:143

Error: ENOENT: no such file or directory, lstat 'C:\Users\Delano\Downloads\index.html'
    at Proxy.realpathSync (fs.js:1744:7)
    at Proxy.fs.realpathSync (ELECTRON_ASAR.js:335:40)
    at TreeView.moveEntry (~/AppData/Local/atom/app-1.40.1/resources/app/static/<embedded>:14:1009306)
    at TreeView.onDrop (~/AppData/Local/atom/app-1.40.1/resources/app/static/<embedded>:14:1016479)
    at HTMLDivElement.<anonymous> (~/AppData/Local/atom/app-1.40.1/resources/app/static/<embedded>:14:989866)

Commands
     -0:38.8.0 tree-view:remove (li.file.entry.list-item.selected)

Non-Core Packages
atom-beautify 0.33.4
atom-clock 0.1.17
color-picker 2.3.0
teletype 0.13.4

Thanks for contributing!
We noticed that this looks like a duplicate of https://github.com/atom/tree-view/issues/1282 so you can subscribe there for updates if you'd like.

Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


Allow checking for updates with an underprivileged user.  Resolve Issue #20

This PR should delay checking for temp and phar file writability until they actually need to be checked, allowing use of the update check command with a user who cannot write to the phar file.  This should close Issue #20

Well, I guess phpoole is basically useless because of this. No way am I going to run it with sudo privs just because this PR isn't merged.


Don't load hmtx table until it's actually needed

The hmtx table loads all glyph advanceWidth and leftSideBearing values, which is fine for small fonts but for large fonts this puts a lot of data  in memory.
Instead of loading all data during hmtx.parseHmtxTable, called from opentype.js:parseBuffer, it would be much nicer to only load in a glyph's values the first time those values are actually needed. The glyph prototype could be assigned default advanceWidth and leftSideBearing values with getter/setters, such that when they are requested, they then consult HMTX and bind the values onto the glyph instance, which then shadows the prototype values:
Object.define( Glyph.prototype, 'advanceWidth', {
  configurable: true,
  get: function() { this.setMetricsFromHMTX(); return this.advanceWidth; },
  set: function(v) { this.advanceWidth = v; }
});

Before any values are bound, the prototype will be hit, but once the instance has these values bound, it won't hit the prototype anymore. A demonstrator of the concept: http://jsbin.com/zopigokeho/edit?js

I like this.

Could be nice, just be aware that putting a getter on a heavily used property on every glyph could affect performance.

depends on how poorly you implement it. An array backed object that grows itself as it's consulted is perfectly fine. The initial hit will be as slow as the data traversal has to be, after that it's the same speed as accessing any other LUT.
(I already did this for glyphs in https://github.com/nodebox/opentype.js/pull/131, the idea was to simply port the same approach to hmtx. Unfortunately, I've not been able to get to this for a long time)

I was just talking about simple property access vs a getter function call.

The nice thing about a getter is that things are still JS, so with some clever code you can actually overwrite a getter with the static binding once you have all the data in. But, agreed! Benchmarks are always good.

What we are saying here is that there are two use cases for a font:

general font information, which should parse only parts of the file
glyph rendering, which requires parsing the full font file
This could also be implemented with options passed to the opentype.parse() method, or a new method like e.g. opentype.parseHeaders().

Actually, I think things are a bit more complex than just the two cases. If I'm only interested in drawing properly kerned text, there's a lot of stuff that gets loaded in memory that I don't care to retain.  I can imagine a "low-memory mode" wherein we're just trying to "carve" through the values as fast as possible, like cutting through the jungle with a machete. (e.g. in  head parse just unitsPerEm and indexToLocFormat; in maxp parse just numGlyphs, ...) This was an approach I saw in pdf.js, and I really like it. Also, Freetype does something similar where it just leaves values in the buffer unparsed and looks them up when needed (e.g. cmap).
I'm not sure if all of these approaches can be consolidated in one library, but I think it would be interesting to have a "font info" and "full" mode, at least.

Actually, glyph rendering definitely does not require parsing the full font file. That would blow up memory instantly for large fonts, like the CJK fonts that actually implement 30,000 glyphs that use a lot. The absolute last thing a font parser need to do there is load every into memory regardless of whether any of the glyphs and associated metadata are going to end up being used.


Bug 2075051: [release-4.10] fix: adds handling for channel with different prefixes in cincinnati.go

Signed-off-by: Jennifer Power<EMAIL_ADDRESS>Description
Currently, channels with the same major and minor version with different
prefixes are processed in a way that causes errors when entering a loop to
calculate for higher version channels. This change adds a check before
processing for prefix differences and handles them accordingly.
Backport changes from #411 for 4.10
Type of change

[X] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

[X] Case added to unit test for channels with different prefixes

Testing scenarios
apiVersion: mirror.openshift.io/v1alpha1
kind: ImageSetConfiguration
storageConfig:
  local:
    path: metadatafake
mirror:
 ocp:
    channels:
    - name: stable-4.10
    - name: fast-4.10

oc-mirror --config imageset-config.yaml file://archives
Run again
oc-mirror --config imageset-config.yaml file://archives
Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

/bugzilla refresh

/retest

/bugzilla refresh

/bugzilla refresh

/bugzilla refresh

@afflom @dinhxuanvu PTAL. Thanks!

/label backport-risk-assessed

/label cherry-pick-approved


[dev_compiler] Some locations are missing from the source map

Some locations are missing from the source map, causing stack frames being displayed on a wrong line in Chrome DevTools or Dart DevTools.
Repro
In the following example, pause at the breakpoint and step into the call, then click on a frame that calls the top frame.
void main() {
    printObjectMultiLine();
}

void printObjectMultiLine() {
  print( // Breakpoint
    createEnclosingObject()
      ..initialize(),
  );
}

MyClass createEnclosingObject() {
  return EnclosingClass();
}

class MyClass {
  MyClass();

  void initialize() {}
}

Expected
Debugger is pointing at line stating at the createObject
Actual
Debugger is pointing at line stating at the print
Details
Note the locations that are printed (by adding debug print in dwds) when trying to hover over a variable in the second from the top frame. There seem to be no location in source map for createObject().

JavaScript call stack in chrome devtools (line 198 corresponds to 197 in the printout above)

Another example: step a few times into runApp call in a flutter app (such as a counter app, for example):

Looks like the location for void scheduleWarmUpFrame() { is missing so we  end up showing location for a previous function instead when chrome stopped on the following line below:

Another example:
Step once into runApp, see incorrect line shown in dart instead of pointing at the beginning of WidgetsFlutterBinding.ensureInitialized()


Styled Components & Preact CLI appears to drop styles

Hi all,
I'm currently working on a small project with the CLI and was curious if I could get styled components in without pulling teeth. My current CLI config includes LESS and it appears that the styles are not being directly attached to my elements when I build and serve the dev server.
Keen to look into this when I get more time, has anyone else had much luck/trouble trying to use styled components?

Hello @BTheunissen,
I use the cli with styled-components and it has worked great.
You can see my setup here: https://github.com/SaraVieira/styled-loaders/tree/master/packages/styled-loaders-preact

Can you explain the issue ?

Thanks for the quick response @SaraVieira! I had a quick play around and in my sleep deprived state I didn't realise I was starting all of my component names in my example with lower case letters. As such the elements appeared to render fine but were effectively just empty divs 😓
Awesome job to the Preact and CLI team as I wasn't expecting integrating styled components to be so simple!

No problem @BTheunissen !
It's actually dead easy , I was pretty suprised too 😄


Publication collections overlap

Hi there,
When subscribing to multiple publications that return with same collections but different projections, the final collection doesn't seem like a super set of them, instead it is a subset.
Any ideas, please?

Hi to give this some more context, here are some example publications
Publication 1
return SomeCollection.find({},{fields:{field1:1}}
Publication 2
return SomeCollection.find({_id:"x"},{fields:{field1:1, field2:1}}
initially the app seems to support returning field1 & field2 then after an app refresh (Cmd #r or going offline/online) collection SomeCollection only has field1 (without field2)
This does not happen in the Meteor app via a browser.
I think Meteor usually "over publishes" on this type of stuff... seems like it's "under publishing" here.
Any ideas, please?


5 a 1

Hi Katie and Emma,
I have automated Indicator 5-a-1. It works well from my local repo, so hopefully does so from the online repo for you.
Happy reviewing!
Michael

Code review
Documentation
Any new code includes all the following forms of documentation:

[ ] README file for the indicator nearly
[ ] Example input and output that run successfully locally.

If the code includes functions, or is a function/set of functions for SDGupdater:

[x] Function Documentation as docstrings within the function definition. NA
[x] Examples demonstrating major functionality, which runs successfully locally. NA

Functionality

[ ] Installation: Installation or build of the code succeeds. not quite due to toTitleCase and potentially due to the years selection in the nomis link (see comments).
[x] Guidelines*: New code conforms to the project contribution
guidelines.  yes but remove some of the more obvious comments from compile_tables
[ ] Example data: Example output generated using the example input matches the given example output.
[ ] csv formatting: The csv output is correct, given general guidance for csvs (e.g. columns are in
a logical order, values within columns are in the correct order, sentence case is used, correct terms are
used (i.e. are in the data dictionary), observation status column is correctly filled in).

If the code includes functions, or is a function/set of functions for SDGupdater:

[x] Automated tests: Unit tests cover essential functions for a reasonable range
of inputs and conditions. All tests pass on your local machine. NA

Final approval (post-review)
The author has responded to my review and made changes to my satisfaction.

[ ] I recommend merging this request.

Estimated time spent reviewing: 2 hours

Review comments
Functionality:

[ ] For the input (the nomis link), I think it would be best to select ALL dates and then filter for the month == 12 ones in the code. Otherwise I think you will run into issues with the current link at certain times of the year.
[ ] Use str_to_title from stringr rather than toTitleCase. OR add tools to the packages list and library(tools). I have used stringr in other indicators so that would prefer that for consistency but happy for you to use either.
[ ] unhash rm(list = ls()) in updtae_indicator main as this could cause issues with the run if there are already objects in the environment with the same name as objects in the 5-a-1 script.
[ ] Delete setwd("D:/Coding_repos/sdg_data_updates") from the update_indicator_main file (this doesn't cause issues for me because I have this folder in my D drive, but will be a bug for some people). I like that you have unhashed install(SDGupdater) though, because otherwise people might end up running old versions of it.

README:

[ ] rename so it is README.md (so it automatically opens when you open 5-a-1 online)
[ ] Delete step 6 (this also needs removing from the templates)

Example input/output:

[ ] Example input and output folders missing - even though there isn't example input as such, I wonder if it is worth saving a bit of the download in an 'example_of_nomis_download' folder
so if for some reason it changes we can see how it has changed? I'll leave that totallyup to you though! Not sure it is worth having example_output as there is no stable example input. But
maybe note that is why it is missing in the readme.

csv formatting:

[ ] Yorkshire and The Humber is wrongly capitalised - either don't change region to sentence case OR make sure Yorkshire and The Humber.
[ ] United Kindom should be ""
[ ] I think it would make sense to put GB after the countries, though I guess alphabetical is also fine as there are so few of them.
[ ] Where 'estimate is less than 500' I think Obs status should be 'Missing value; suppressed' not 'data exist but were not collected'
[ ] Obs status 'Estimate and confidence interval not available since the group sample size is zero or disclosive (0-2)' should also be 'Missing value; suppressed'

Other:

[ ] QA.md needs writing so we can check the numbers
[ ] It might be worth a few instructions on how to generate the nomis link. Pretty sure these are in a readme somewhere already but can't remember which indicator. Not a deal breaker though.

This isn't as bad as I envisaged! Hopefully respond by COP.

Added tools to the packages list. Personally, I really like some of the functions in it, so may be useful for future indicators.

I think I have addressed everything here now, with exception of making the QA.Rmd file. Will comment when I've got htis done.


fix: vpc data full output on first apply

Description
vpc_data: output var in patterns vsi module does not give complete output on first apply
https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone/issues/777
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content
fix for vpc_data: output var in patterns vsi module does not give complete output on first apply.
Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

Hello Team,
Any target date for this to get fixed ? Our new architecture relies on the subnet groups ids required for VPN and ALB creation.

Hello Team,
Any target date for this to get fixed ? Our new architecture relies on the subnet groups ids required for VPN and ALB creation.

Hi @surajsbharadwaj, sorry for the delay I was on holidays last week. I'll get it reviewed and hopefully merged and released tomorrow.

Perhaps we could add a test which would of caught this. For example take a look at the logic here which is checking the output of the code that runs in the test to ensure it contains certain values.

vpc_data previously wasn't included in the outputs for the default example. Now that it is included won't RunTestConsistency catch if there is an issue on reapply?

/run pipeline

@jor2 welcome thank. Thank you for prioritising this work. :)

/run pipeline

/run pipeline

:tada: This PR is included in version 7.18.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Update readme

As per https://github.com/microsoft/pxt-microbit/pull/2483#issuecomment-543966098
The README.MD should be functional, linking to the accessory and describing the usage as it is a help page for users.
I think the second paragraph could be removed and placed on the product page instead

@microbit-mark Ah, sorry, we missed this and only just realised. I'll get to it and let you know once it's done .


'errors' is an invalid keyword argument for this function

Checklist for submitting an issue to KickThemOut:

[x] I have carefully read the README file and haven't managed to resolve my issue.
[x] I have searched the issues of this repo and believe that this is not a duplicate.
[x] I am running the latest version of KickThemOut.

OS name & version:
Python version:
Scapy version:
Nmap version:
Link of Gist:

Description:

'errors' is an invalid keyword argument for this function help idk know how to fix this i did all the steps  of installtion but its still shows this error msg ( 'errors' is an invalid keyword argument for this function )

Hi there @Gamer2637. Could you please share with us the information that is asked for in the issue template? We don't have anything to work with at the moment. Thanks!

Closing due to the lack of information provided. If you are still experiencing an error, please do not hesitate to create a new issue containing all the information asked for in the Issue Template. Thanks.


.terraform-version file: invalid tool version request: latest:^1.3

Describe the bug
with a .terraform-version file which contains an entry like: latest:^1.3 we have this error:
❯ cd ../terraform-azurerm-aks
The application panicked (crashed).
Message:  invalid tool version request: latest:^1.3
Location: src/toolset/tool_version_request.rs:47

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.
The application panicked (crashed).
Message:  invalid tool version request: latest:^1.3
Location: src/toolset/tool_version_request.rs:47

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

To Reproduce
Create a .terraform-version file with this content:
cat .terraform-version
latest:^1.3

Expected behavior
rtx doctor output
❯ rtx doctor
The application panicked (crashed).
Message:  invalid tool version request: latest:^1.3
Location: src/toolset/tool_version_request.rs:47

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.
The application panicked (crashed).
Message:  invalid tool version request: latest:^1.3
Location: src/toolset/tool_version_request.rs:47

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.```

**Additional context**
Add any other context about the problem here.

see here for how to disable legacy file parsing to get around this
the issue is that the file supports semver but rtx does not

right, rtx doesn't currently support semver


TileMap tiles in editor is out of id order

Godot version: 3.0 official

OS/device including version: Ubuntu 17.10

Issue description:

TileMap node show tiles out of order in specific case. They show tiles ordered alphabetically, wich is different from id ordering.
Steps to reproduce:
Create a TileSet with nodes named Tile0 - Tile11
You wil notice that they appear on the TileMap in the order: Tile0, Tile1, Tile 10, Tile 11, Tile2 ...
Problem is you would think Tile10 is id 2, since its the third in the list. But its id 10.
Its not the worst problem in the world, but its a bit confusing.
Minimal reproduction project:

This is what happens with any kind of alphabetic ordering (even in your file explorer). A workaround is to add zeros.

I have the same issues ,  I make a tiledmap with tiledmap editor ,reimport shows  different tile in godot scence.

how to  disable alphabetic ordering of tiles?

Here is how:

Go to Editor -> Editor Settings -> Editors -> Tile Map -> "Sort Tiles By Name"
Uncheck it

That's awesome. Thank you!

thanks ,too.
在 2018-02-23 22:20:55，"Lucas Falcão de Nantua Bessa"<EMAIL_ADDRESS>写道：
That's awesome. Thank you!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


Update php version

I am trying to switch the PHP version to 8.0
But get this
 - babenkoivan/scout-elasticsearch-driver[v4.2.0, ..., v4.2.3] require php ^7.1.3 -> your php version (8.0.0) does not satisfy that requirement.
Versions

scout-elastic-driver: 4.2.3
"laravel/lumen-framework": "^8.0",
php: 8.0
elasticsearch: 7.0

Steps to reproduce
update the PHP version to 8.0

Please update to php version 8 and latest elastic search package. We can't able to use latest packages because of this.

Please update to php version 8 and latest elastic search package. We can't able to use latest packages because of this.


Remove timezone restriction to show time in chat

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/7832
Tests

Open Any User Chat with the same timezone as yours. OR (Create two test accounts User A & B with the same timezone settings.
Open User B's chat logged in as User A
Verify the current time of User B's shown
Now change the timezone in User A's settings to a different timezone from User B's
Repeat 2 & 3

[x] Verify that no errors appear in the JS console

PR Review Checklist

Contributor (PR Author) Checklist

[x] I made sure to pull main before submitting my PR for review
[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[ ] I clearly indicated the environment tests should be run in (Staging vs Production)

[ ] I wrote testing steps that cover success & fail scenarios (if applicable)
[ ] I ran the tests & they passed on all platforms
[ ] I included screenshots or videos for tests on all platforms
[x] I verified there are no console errors related to changes in this PR
[x] I followed proper code patterns (see Reviewing the code)

[x] I added comments when the code was not self explanatory
[ ] I put all copy / text shown in the product in all src/languages/* files (if applicable)
[ ] I followed proper naming convention for platform-specific files (if applicable)
[x] I followed style guidelines (in Styling.md) for all style edits I made

[x] I followed the guidelines as stated in the Review Guidelines

PR Reviewer Checklist

[ ] I verified the Author pulled main before submitting the PR
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[] I verified the testing environment is mentioned in the test steps

[ ] I verified testing steps cover success & fail scenarios (if applicable)
[ ] I verified tests pass on all platforms & I tested again on all platforms
[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified there are no console errors related to changes in this PR
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified comments were added when the code was not self explanatory
[ ] I verified any copy / text shown in the product was added in all src/languages/* files (if applicable)
[ ] I verified proper naming convention for platform-specific files was followed (if applicable)
[] I verified style guidelines were followed

[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines

QA Steps

Open Any User Chat with the same timezone as yours. OR (Create two test accounts User A & B with the same timezone settings.
Open User B's chat logged in as User A
Verify the current time of User B's shown
Now change the timezone in User A's settings to a different timezone from User B's
Repeat 2 & 3

[x] Verify that no errors appear in the JS console

Tested On

[x] Web

[x] Mobile Web

[x] iOS

[x] Android

[ ] Desktop - I am facing some errors while running the desktop app in development. So I kindly verify on this alone, I am sure the issue is handled on all platforms.

Screenshots

Web
https://user-images.githubusercontent.com/85645967/155597449-fd126c8b-411f-4e34-95cc-640b61f09cd8.mov
Mobile Web
https://user-images.githubusercontent.com/85645967/155596864-f973a575-5207-4651-9a34-9602f2d5e345.mov
iOS
https://user-images.githubusercontent.com/85645967/155597107-f3a5cbc7-8b18-4625-b142-6df351e9ce5b.mov
Android
https://user-images.githubusercontent.com/85645967/155596933-cec5f08c-66b1-48ec-aa6a-3c65c86d8156.mov
Desktop

Saw this section right after - PR Reviewer Checklist
@parasharrajat, do you know if i should be filling that or you?

Oops missed it. I will update my review comment to include this.

🚀 Deployed to staging by @chiragsalian in version: 1.1.42-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @chiragsalian in version: 1.1.42-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


compilers/ghcjs/base.nix: Take ghcjsNodePkgs as argument

Motivation for this change
When using pkgs/development/compilers/ghcjs/base.nix from outside nixpkgs, the paths mentioned in ghcjsNodePkgs don't resolve correctly, so it's necessary to provide a mechanism for overriding those paths somehow, instead of hardcoding the paths as we currently do. Moreover, this allows for the customization of ghcjsNodePkgs itself, which, again, is useful when working on a custom GHCJS version outside the nixpkgs tree.
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Wait, no.
nix paths are always resolved relative to the source file.

@Profpatsch hmm... you are right. After some more trying, it looks like I'm hitting some weird corner case with how Nix deals with paths. Maybe you can enlighten me about this?
I'm using some-haskell-package-set.callPackage on this base.nix file. However, depending on how I write the path to base.nix, the reference to the relative paths to the nodejs stuff above either works or not.
Calling callPackage on these three alternatives work properly (i.e., the nodejs related paths are correctly resolved):

"${pkgs.path}/pkgs/development/compilers/ghcjs/base.nix"

(pkgs.path + "/pkgs/development/compilers/ghcjs/base.nix")

let ghcjsNixDir = "${pkgs.path}/pkgs/development/compilers/ghcjs"; in "${ghcjsNixDir}/base.nix"

With this, however, resolution of the nodejs related paths fails:

let ghcjsNixDir = pkgs.path + "/pkgs/development/compilers/ghcjs"; in "${ghcjsNixDir}/base.nix".

What's going on?
In any case, leaving this path-resolution issue aside, the fact that this change allows overriding the nodejs packages used by GHCJS is a good enough feature to add. It makes working on GHCJS easier.

"${pkgs.path}/pkgs/development/compilers/ghcjs/base.nix"

this one gives you
/nix/store/<hash>-packages/pkgs/…

because when you reference a path (in this case pkgs.path is the path to the nixpkgs folder) it will copy that in the store first, return the store path as drv, convert it to a string (because you dereference the drv in the string) and concatenate it.
(pkgs.path + "/pkgs/development/compilers/ghcjs/base.nix")

Apparently you can concatenate paths with + as well. Not sure if that’s a bug or intended.
let ghcjsNixDir = "${pkgs.path}/pkgs/development/compilers/ghcjs"; in "${ghcjsNixDir}/base.nix"

Same as the first with one more indirection of the generated string.
let ghcjsNixDir = pkgs.path + "/pkgs/development/compilers/ghcjs"; in "${ghcjsNixDir}/base.nix"

Same as the second, but the path is dereferenced in the string and the folder copied to the store.
You can test that out by simply pasting it into nix-repl.
Anyway, why are you using pkgs.path in the first place? I don’t see any reason to use that, basically ever. I didn’t even know it exists (<nixpkgs> should be the same thing).

Thanks, that (kind of) clarifies the behavior. I always find working with paths in Nix confusing.

Anyway, why are you using pkgs.path in the first place? I don’t see any reason to use that, basically ever. I didn’t even know it exists ( should be the same thing).

<nixpkgs> points to whatever nixpkgs is specified in NIX_PATH or similar, but I'm not using that mechanism to find nixpkgs, I only use <nixpkgs> to bootstrap a known-to-work-with-my-project nixpkgs version I'm downloading with fetchFromGitHub. This works quite fine, and using <nixpkgs> would be very undesirable in my case.

I see no harm merging this.


Feat(web): Add breakpoint tokens to root CSS variables

Description

Additional context

Issue reference

Before submitting the PR, please make sure you do the following

[ ] Read the Contributing Guidelines.
[ ] Follow the PR Title/Commit Message Convention.
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

coverage: 96.46% (+16.5%) from 80.005%
when pulling a9f40e02dc46fe8c56c7cb2bbac157d7c4425a14 on feature/css-variables-breakpoints
into bd577b0a5dde01793885848aa6ac43352c68a640 on feat/DS-1012-js-design-tokens.