Inconsistent dependencies for simple-odata-v3-client

Hi,
I may be mistaken, but it seems there's something fishy with the Microsoft.OData.Core dependency in the V3 client.

Simple.OData.V3.Client depends on Microsoft.OData.Core 5.8.4
https://github.com/simple-odata-client/Simple.OData.Client/blob/cc377a7e1d6a4399e6a4283030bac59e491f9905/src/Simple.OData.Client.V3.Adapter/Simple.OData.Client.V3.Adapter.csproj#L10
Simple.OData.V3.Client depends on Simple.OData.Client.Core
https://github.com/simple-odata-client/Simple.OData.Client/blob/cc377a7e1d6a4399e6a4283030bac59e491f9905/src/Simple.OData.Client.V3.Adapter/Simple.OData.Client.V3.Adapter.csproj#L16
Simple.OData.Client.Core depends on Microsoft.OData.Core 7.9.0 (formerly 7.8.3)
https://github.com/simple-odata-client/Simple.OData.Client/blob/cc377a7e1d6a4399e6a4283030bac59e491f9905/src/Simple.OData.Client.Core/Simple.OData.Client.Core.csproj#L30

Funny thing, it mostly works when forcing the 5.8.4 assembly in the path, but I noticed some (rare) log entries with errors that say Could not load file or assembly 'Microsoft.OData.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
What do you think?

That was a mistake in version of Microsoft.OData.Core (7.9.0, not 7.8.3). The error is fixed in the package <IP_ADDRESS>.

Hi @object , thanks for reviewing this. I still have some doubt regarding the fix. The issue is not about the mixup between 7.8.3/7.9.0, but about the dependencies in the V3 client. I was expecting the V3 client to not depend at all on Microsoft.OData.Core v7.x, but according to the elements detailed above, there is a hard dependency path to v7.x.
Maybe I'm not correctly understanding something?

Ah I see. That's weird, I agree. Let me double check

I reviewed the code and unfortunately this is not something easy to fix. The dependency on Microsoft.OData.Core has sneaked into Simple.OData.Core library from a couple of PRs that I reviewed but overlooked the fact they brought dependency on OData V4 stuff. There are two ODataClientSettings properties that depend on V4:

ValidationKinds
BatchPayloadUriOption

They are there and there is nothing that can be done to them at this point. It is possible to revise ODataClientSettings class, for example split it on common and version-dependent parts, but this will be a major change, something perhaps for version 6.

Thanks for confirming! It's actually pretty easy to just replicate those enums and cast them to the appropriate Microsoft.OData data structures as they are only ever used in the V4 adapter. Clients would just need a recompile but if they update the package they're going to recompile anyway.
There is also another issue that needs to be worked around:
https://github.com/simple-odata-client/Simple.OData.Client/blob/bb48d56cda6f6b62d5cff9ed67819040be9fbe24/src/Simple.OData.Client.Core/Cache/TypeCache.cs#L261-L264
The type Microsoft.OData.Edm.Date is referenced explicitly but it does not exist in branch v5.x of Microsoft.OData. It should be moved to the V4 TypeConverters class.
I will provide a PR as a reminder of what needs to be done. I think the fixes are minor and they could be pushed without a major release, but I understand if you prefer to wait for a major release. Thanks for your work!

Released in 5.23.


Messaging Endpoint Form Payload Issue

Discussed in https://github.com/OfficeDev/Microsoft-Teams-Samples/discussions/1030

Originally posted by Bytezart November  8, 2023
I'm running into problems with the Azure Bot Service's messaging posts to the sampe TeamsMessagingExtensionSearch project. It appears as though I have the correct AppID's, Passwords and AppTypes set correctly. Specifically, the HTTP post the messaging endpoint doesn't appear to have any form data and is not being flagged as having a HasFormContentType by the runtime.
In the debugger screen shot below I'm sending a message through a Teams Channel for the Azure Bot Service.

Hi Bytezart- This issue is being tracked here. Please follow that thread for further updates.

Closing it. Please track it here: https://github.com/OfficeDev/Microsoft-Teams-Samples/issues/1031


Release Linting

Before 0.10.0 is released we should YAPF, isort, Codecov check, and LGTM check the entire code base. Development should be at a low point and everything merged.

Let's also check that #369 and #370 are fixed before we release.

v0.10.0 has come and gone.

We didn't do this. Let me tackle it.


Be more explicit when a background service is missing.

When testing an implementation using the CloudEventBus, a null ref exception was throw.
Queue appeared to be null because the background service wasn't provided by the host.
A more explicit error should be displayed throw instead of the null ref.

Closed as stale


Is it possible to build table transformer for

I want to use the table transformer model for a mobile App and want to see if there is support for building TableTransformer from source as a CoreML model so inferencing can be run on an iphone. Is this possible?


TS-4645: traffic_top doesn't start

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/487/ for details.

Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/384/ for details.

:+1:


feat(common): add controller.type of cronjob

Description of the change

I started to use your library for most of my apps ( great job on this library btw! ). I have to run some of my applications as cronjobs, so i added a controller.type of deployment to generate a CronJob object. I tested the generated output to adhere to snyk's default rules.
Removed

no features removed
Fixed

Added

Changed

Benefits

users will be able to run cronjobs of certain images to achive certain things
Possible drawbacks

Applicable issues

fixes #

Additional information

Checklist

[X] Title of the PR conforms to the Conventional Commits standard.
[X] Scope of the of the PR title contains the chart name.
[X] Chart version in Chart.yaml has been bumped according to Semantic Versioning.
[X] Chart artifacthub.io/changes changelog annotation has been updated in Chart.yaml. See Artifact Hub documentation for more info.
[X] Variables have been documented in the values.yaml file.

I hope i understood the error of your failing test correctly and pushed the changes to correct
Error: Error: The head commit for this pull_request event is not ahead of the base commit.

any other changes required?

any other changes required?

Thanks for the kind words and for raising this PR! It took me a bit longer to get to due to $life stuff but I'm going to go over it today and try to get this merged in to the development branch.


Rename vpn ip

Builds upon #460 to further normalize vpn ip names

😅 since we had a mix, I picked the logging convention. But also for the exported struct, VPNIP? I don't have a razor for why VpnIP makes logical sense but it looks fine to me.


pyrebase4 or pyrebase

Discussed in https://github.com/flet-dev/flet/discussions/4375

Originally posted by youssef969 November 14, 2024
hello everybody, at first I had flet project with Firebase, so I used Pyrebase lib to connect with Firebase
so when I transformed the main file with this library it didn't transform to APK and at the same time didn't generate an error just loading without progress
so what is the solution to this problem?
and I will upload the log file and requirements file
python version is 3.13
flet version is 0.24.1
pyrebase4 is 4.8.0
requests is 2.32.3

https://flet.dev/blog/flet-packaging-update


Ubuntu installation failed

The setup instructions for Ubuntu yielded the following error:
$ sudo pip3 install dataserv-client
Downloading/unpacking dataserv-client
  Downloading dataserv-client-1.2.1.tar.gz
  Running setup.py (path:/tmp/pip-build-2p4_wfs8/dataserv-client/setup.py) egg_info for package dataserv-client
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/tmp/pip-build-2p4_wfs8/dataserv-client/setup.py", line 4, in <module>
        from esky.bdist_esky import Executable
    ImportError: No module named 'esky'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

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

  File "/tmp/pip-build-2p4_wfs8/dataserv-client/setup.py", line 4, in <module>

    from esky.bdist_esky import Executable

ImportError: No module named 'esky'

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-2p4_wfs8/dataserv-client
Storing debug log for failure in /home/chrisvdb/.pip/pip.log

Sorry you pulled a development version. Use:
pip install dataserv-client==1.1.0


I found that the bounding box loss function uses GIOU loss and L1 loss, and the hyperparameter settings are the same as TransT. Have you tried DIOU or CIOU? Do you have any experience with hyperparameter settings? thanks a lot！

We haven't try other loss in order to take a relatively fair comparison with STARK/TransT.
For hyperparameter settings, I usually train different-setting models for a few epochs.


Make outputs of salvage processes primary outputs

We noticed this morning that many of the logical definitions of salvage processes have an output of the chemical specified in the term. If we want these to auto-classify correctly in the metabolism branch of the ontology these should be changed to primary outputs. There are also a lot of asserted sub-classifications in this branch of the ontology that I think are unnecessary once the correct logical defs are in place. One question with respect to this is whether all salvage would be considered a subclass of biosynthesis or are only some or are none. This relationship will need to be asserted at the appropriate generic level.
@deustp01 I know we had hand-waived and decided that the nucleotide salvage made sense to be a biosynthetic process, but we were a little unsure. This would be the time to nail this down for the various salvage processes.

I know we had hand-waived

There's a general ontology question here. Can there be metabolism that is neither synthesis nor catabolism?
If not, then salvage has to be biosynthesis because it's always working towards the goal of preserving and reusing an existing molecule, preventing that molecule from entering an irreversible catabolic process.
But if there can be metabolic processes that are neither synthesis nor catabolism, then nucleotide salvage and also the reactions labeled "nucleotide interconversion", e.g., GMP + ATP => GDP+ ADP, could plausibly go in that category.
I think both salvage and interconversion are good enough fits to synthesis so that, if there is not already a category of non-synthetic non-catabolic metabolism, this is not a reason to go and create it now, though. And anyway this is a tangent to the main issue, that specifying primary outputs will be a really useful clean-up for both human and computer users.

Salvage could be it's own class, distinct from biosynthesis and catabolism. But since it is still metabolic, we would need the 'primary' distinction in the logical defs. We haven't gotten to interconversion yet. I still have questions for you about that for a future Thursday afternoon.

Thinking about this a bit more, although I think we should discuss it too, it might make sense to have the salvage as separate metabolic processes. This would allow us to distinguish it from 'de novo' biosynthesis. Otherwise things would be lumped together unless we did some trickery to create sibling biosynthetic processes that were distinct. One thing we toyed with was going the old route of 'x biosynthesis from y'. Not sure how well that would be received.

Plus, keeping them separate would also parallel the arrangement in Reactome: biosynthesis, catabolism, salvage and interconversion are all 'sibs' under metabolism in the hierarchy.

Combining bits of @ukemi 's last three comments to say it's a hard problem. First, whatever sibling categories we choose, clear boundary conditions are needed, and the salvage / synthesis / interconversion boundaries look tricky. Specifying start and end points, e.g., 'x biosynthesis from y' can do this at the expense of making a structure that is detailed (too granular?) and potentially rigid and complicated to maintain - e.g., how does the structure perform when extended from mammalian metabolism to bacterial?

changed to has primary output to
AMP salvage
GMP salvage
IMP salvage
XMP salvage
purine nucleotide salvage


eden status need to display whether EVE instance is in the unknown, onboarding or managed state

Currently an EVE instance under Eden's management can be in one of the following states:

unknown
onboarding
managed

These would correspond to the status of the adam admin device/onboard commands and need to be displayed by eden status

Let' close this

Do you think that output is not particular useful or it belongs to a different subcomand?

I put your comment into #41. This all relates to "Change output of status command"

Aha! Makes sense!


New exception occurs in v2.2.0

I'm seeing a new error after upgrading v2.2.0 of this package which was just released:
Asynchronous error
type 'Null' is not a subtype of type 'String' in type cast
package:puppeteer/protocol/page.dart 887   new FrameNavigatedEvent.fromJson
package:puppeteer/protocol/page.dart 44    PageApi.onFrameNavigated.<fn>
dart:async                                 _BroadcastStreamController.add
package:puppeteer/src/connection.dart 231  Session._onMessage
package:puppeteer/src/connection.dart 121  Connection._onMessage

If the cause isn't immediately obvious, let me know and I can try to put together a minimal repro case.

Hi, thanks for the report.
I would love a minimal reproduction.
The first thing that comes to my mind is that maybe you are not using chromium 92 and you are passing a custom executablePath?

First of all, thank you very much for this project.
I also have the same issue. (windows 10, puppeteer-dart: 2.2.0, using executablePath)
Does 2.2.0 only work with chrome 92 version?
Is there any documentation showing puppeteer-dart and chrome version relationship?
(ex: 2.0.0: chrome 90~91, 2.2.0: chrome 92)
I want to automatically download and run the package according to the client chrome version.
(ex: npm install puppeteer-core@chrome-71)

Hello @whoraks
There is a small change in the devtool protocol in chromium 92.0. It makes it breaking in this library because of null-safety (when a value is absent in the response it will fail).
If you still want to use chrome 90, you should probably stay on 2.0.0.

Is there any documentation showing puppeteer-dart and chrome version relationship?

Generally the association can be found in the changelog
But there is nothing as precise as in the official puppeteer library (https://github.com/puppeteer/puppeteer/blob/main/versions.js)

thank you so much !!!!!!

Is there any update on issue.
Or does it something that can only be solved with orginal puppeteer library.
Since my most of automation rely most on media [youtube etc]...Which is not something possible on chromium and require chome.

Hi @Akaatsukhi , if you need to use chrome < v92, the best way is to use version v2.0.0 of this library.
I think the official puppeteer library has the same problem when there is a breaking change in the protocol. The only difference is that they provide a reference table with the compatibilities.

Hey @xvrh I still getting error with v2.0.0 with chrome 91

@Akaatsukhi can you double check the version you are using by looking in your pubspec.lock.
I think you should use this pub constraint:
dependencies:
 puppeteer: 2.0.0

Because ^2.0.0 can give you 2.2.0 too.

@Akaatsukhi can you double check the version you are using by looking in your pubspec.lock.
I think you should use this pub constraint:
dependencies:
 puppeteer: 2.0.0

Because ^2.0.0 can give you 2.2.0 too.

Ahh 😩 !! My bad...my bad @xvrh  It's working know  thank you.


Functional Nodes that are not tied to the Node Editor Window

I've spent a decent amount of time creating a Behavior Tree system that works really well, and I would like to release it to the general Unity audience at some point, but I've got to address some pretty major issues before I consider doing that.
The main issue I would really like to fix is the fact that the Behavior Tree is very GUI dependent. I can only run one BT at a time, which is the one in the Node Editor window. If the Node Editor window is not open, the BT won't run. Currently I use the Node Editor window to create "blueprints" of behavior trees where I set up the flow of the graph, use the RTEditorGUI to input parameters that my leaf nodes need to run, and then when I save the canvas, I save the .asset file of the canvas.
I'm thinking that I need to break up the "Node" aspect and the logic execution of my objects. The BaseBTNode class will handle the display of the nodes, displaying the input/output ports, assigning them the color based on their type, and handling the RTEditorGUI stuff to grab parameter values. The LogicExecutor class, which would be a ScriptableObject, would take over the responsibility of calculating the node logic, including the Init, Start, and Tick functions. Here are the few issues I need to address and the solutions I think might be viable. Any input and direction would be greatly appreciated.
Issue: Do I need subclasses of both BaseBTNode and LogicExecutor for every type of node?
I have a lot of different types of nodes that I have constructed so far. It would be a pain to say create a InverterNode and InverterLogicExecutor, instead of just the one Inverter node class I have now.
Possible Solution:
I don't need a node sub-class for every node type. I can use smarter inheritance and have CompositeNode, DecoratorNode, and LeafNode derive from BaseBTNode, which will handle the display of the input/output ports, the size, and color of the node in the window. The only issue here is that different node types under the same subclass of BaseBTNode will have different parameters.
Issue: Different node types under the same subclass of BaseBTNode will have different parameters.
For example, currently a "MoveTo" leaf node has a TextField for a blackboard key, and a float field for the speed to move, but a "WaitXSeconds" leaf node only has a float field for the number of seconds to wait.
Possible Solution:
Change how parameters work. Instead of each non-abstract node subclass defining the floats and strings that make up its parameters, LogicExecutor will have a Dictionary<string, object> parameters field, and the BaseBTNode will loop through, display the parameters, and set them accordingly. Would have to do some typecasting logic, or instead do a Dictionary<string, float> float_params, Dictionary<string, string> str_params, Dictionary<string, bool> bool_params kind of approach.
Issue: Which contains which?
I can have every BaseBTNode contain a LogicExecutor or every LogicExecutor contains a BaseBTNode.
Possible Solution:
I think it makes more sense for every BaseBTNode to contain a LogicExecutor. Then OnBeforeSaveCanvas(), the LogicExecutor will update its list of children LogicExecutors, and the root node LogicExecutor will be saved (like a LinkedList, I think we only need to save the root LogicExecutor since they are storing references to each other all the way down the tree).
After all that work, and assuming everything works out, my thinking is that I can give any GameObject a BTManager component with my root node LogicExecutor SO as the "blueprint", and the BTManager will call ScriptableObject.CreateInstance(blueprint) to make a copy of the tree and will call Tick() on the root node. LogicExecutor is not derived from Node so it will be able to execute without the need of the Node Editor window, and I can reuse the same blueprint for many different GameObjects. What are your thoughts? Thanks to @Seneral or anyone who wants to contribute to this!

I think you're overcomplicating this. What is your exact reason why you need to separate the GUI code from the Logic code? I understand why you'd entertain it, but as you have demonstrated it won't be particularly nice either.
Take a look at the RTCanvasCalculator example, it does not initiate the GUI function and does not load any GUI resources, but it allows you to load the canvas and manipulate it and execute traversal routines (or your own implementation of these).

Yeah, I've been browsing through the RTCanvasCalculator, NodeCanvas, and NodeCanvasTraversal classes, and that seems like a much better built-in solution. Definitely shouldn't reinvent the wheel here.
One reservation I still have with this approach, would I be able to run more than one of the same behavior tree at the same time with this? I can't tell if there is any restrictions against that.

No, that should be fine.
There is a global nodeCanvas to refer to the currently edited canvas, but that is only used for the editor, and since there is no true concurrency in editor applications, even that is not hindering you from having multiple editors at the same time (with a bit of work).

Here's where I'm at. I have a BehaviorTreeCanvas that derives from NodeCanvas and a BehaviorTreeManager which is a monobehaviour.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using NodeEditorFramework;
using NodeEditorFramework.Standard;

public enum TaskResult { NOT_ACTIVE, SUCCESS, FAILURE, RUNNING };

public class BehaviorTreeManager : MonoBehaviour
{
    public BehaviorTreeCanvas behaviorTree;
    public float tickingFrequency = .2f;
    public bool debug = false;

    private IEnumerator coroutine;

    void Awake()
    {
        coroutine = EvalTree();
    }

    // Start is called before the first frame update
    void Start()
    {
        StartCoroutine(coroutine);
    }

    public void AssureCanvas()
    {
        if (behaviorTree == null)
            throw new UnityException("No canvas specified to calculate on " + name + "!");
    }

    private void SetupTree()
    {
        AssureCanvas();
        NodeEditor.checkInit(false);
        behaviorTree.Validate();
    }

    public IEnumerator EvalTree()
    {
        if(debug)
            Debug.Log("Starting evaluation of tree with status: " + behaviorTree.rootNode.GetStatus());
        while (true)
        {
            SetupTree();
            TaskResult status = behaviorTree.rootNode.Tick(this);

            if (!(status == TaskResult.NOT_ACTIVE || status == TaskResult.RUNNING))
            {
                if (debug)
                    Debug.Log(transform.name + " (" + behaviorTree.name + " behavior tree) returned: " + status);
                yield return status;
                yield return new WaitForSeconds(tickingFrequency); // pause after full tree traversal
                behaviorTree.rootNode.DeactivateStatus();
            }
            yield return new WaitForSeconds(tickingFrequency); // ticking frequency
        }
    }

}

I looked into making a BehaviorTreeCanvasTraversal class, but overriding the TraverseAll method won't be that helpful to me since I need to pass the 'this' reference to the manager Monobehaviour to access components like NavMeshAgent and Animator, and I also need to return a TaskResult. Not sure if there is a way around this.
I still have the issue that only the last loaded NodeCanvas within the Node Editor window will work, any other will throw a NullReferenceException when the root node iterates through its children since the size of the children length stays correct, but all elements are null. Not sure how to go about fixing this, I assume it's an issue on my end but I really don't know what it could be.
My BaseBTNode class has fields that should be serialized:
[SerializeField]
public BaseBTNode[] children = new BaseBTNode[0];
[SerializeField]
public BaseBTNode parent = null;

and the RecursivelyFindChildren method is called in the BehaviorTreeCanvas.OnBeforeSaveCanvas method
public void RecursivelyFindChildren()
{
	if (inputPorts.Count > 0)
		parent = inputPorts[0].connections[0].body as BaseBTNode;
	if (outputPorts.Count < 1)
	{
		children = new BaseBTNode[0];
		return;
	}
	children = outputPorts[0].connections.Select(connection => connection.body as BaseBTNode).ToArray();
	Array.Sort(children, (o1, o2) => o1.position.x.CompareTo(o2.position.x));
	foreach (BaseBTNode child in children)
	{
		child.RecursivelyFindChildren();
	}
}

Let me know if there is anything else you need, I'm at a loss here. You can also check out my forked repo on the Examples/AISystems branch if you want all the code. It's a (pretty) minimal example.

Why have the children array? It won't save since they are references to ScriptableObjects. That means they need to be saved as files in the saved canvas. NodeEditorSaveManager.CreateWorkingCopy is responsible for this behaviour, it is needed to make sure the canvas the editor holds in memory and the last saved canvas on disk is separate, else a ton of other weird behaviour by unity kicks in. In other words, you either need to tell the save system that you hold these references (override these two) or better, just use the output ports directly.
As for references to components, you could have them as explicit inputs to the canvas and set them on the input nodes (or specifically those that need it) before calculating. E.g. if one node type needs it, filter by node type and set it.
Or you can have it be a field in your custom canvas, each node can access it using the canvas member.
Worst case, just modify the framework, that's always an option

I figured early on that having to typecast the Nodes of outputPorts[i].connections[j].body to BaseBTNodes in order to call Tick() (a BaseBTNode method) would be bad on performance and that it would be better to save them as BaseBTNodes in an array so I only have to typecast once. Decided to skip over that step and try just using the outputPorts directly. Much much better, I can use any tree I want now and it's lovely! Not sure what kind of performance hit I am getting, but that is something I can test later. Also will consider which method of referencing components is best in the next few days.
Thanks a lot @Seneral ! I should've gone to you a lot sooner 😄


[py2py3] Open file in binary mode for pickle load/dump

Fixes #10636
Status
not-tested
Description
Open the job description pickle file - in JobCreator - in binary mode, for the pickle.dump.
This will cause an error in the JobSubmitter component [1], so I have also changed the access to that job.pkl file to binary mode in JobSubmitter
Is it backward compatible (if not, which system it affects?)
yes
Related PRs
There are other candidate modules for making a similar change, but I'm trying to be conservative here.
External dependencies / deployment changes
none
[1]
2021-06-28 20:30:56,306:139920120297216:WARNING:JobSubmitterPoller:Failed to load job pickle object /data/srv/wmagent/v1.5.0.pre3/install/wmagentpy3/JobCreator/JobCache/amaltaro_TaskChain_ProdMinBias_June2021_Val_210628_152244_8881/ProdMinBias/JobCollection_3_0/job_633/job.pkl

It's been tested in a python3 WMAgent. I'm going to merge it to put it in a new release, but I'm happy to have follow up comments. Thanks


Failed to resolve component 'rmaker_common'.

I try to add ESP Insights to an ESP32-C3 project. I have added esp_diagnostics, esp_insights and esp-rainmaker (git clone --recursive https://github.com/espressif/esp-rainmaker.git) to the components directory of my project. During the build process the following error is thrown:
PS C:\Projects\wifi-prov> pio run -t menuconfig
Processing debug (board: esp32-c3-devkitm-1; platform: https://git.traplinked.com/traplinked/hardware/platformio/platforms/platform-espidf.git#idf_4.4.2; framework: espidf)
------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-c3-devkitm-1.html
PLATFORM: Espressif 32 (4.4.2+sha.ce6cdd0) > Espressif ESP32-C3-DevKitM-1
HARDWARE: ESP32C3 160MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - framework-espidf @ 3.40402.0+sha.67bfcf25
 - tool-cmake @ 3.16.4
 - tool-esptoolpy @ 1.30300.0 (3.3.0)
 - tool-idf @ 1.0.1
 - tool-mconf @ 1.4060000.20190628 (406.0.0)
 - tool-mklittlefs @ 1.203.210628 (2.3)
 - tool-mkspiffs @ 2.230.0 (2.30)
 - tool-ninja @ 1.9.0
 - toolchain-esp32ulp @ 1.22851.191205 (2.28.51)
 - toolchain-riscv32-esp @ 8.4.0+2021r2-patch3
Reading CMake configuration...
-- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.38.1.windows.1")
-- Component directory C:/Projects/wifi-prov/components/esp-rainmaker does not contain a CMakeLists.txt file. No component will be added
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Users/Daniel/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc.exe
-- Check for working C compiler: C:/Users/Daniel/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc.exe
-- Check for working C compiler: C:/Users/Daniel/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Users/Daniel/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++.exe
-- Check for working CXX compiler: C:/Users/Daniel/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Project is not inside a git repository, or git repository has no commits; will not use 'git describe' to determine PROJECT_VER.
-- Building ESP-IDF components for target esp32c3
-- Configuring incomplete, errors occurred!
See also "C:/Projects/wifi-prov/.pio/build/debug/CMakeFiles/CMakeOutput.log".

CMake Error at C:/Users/Daniel/.platformio/packages/framework-espidf@src-7f04cf235f256dbc46d61361b84e2ab6/tools/cmake/build.cmake:201 (message):
  Failed to resolve component 'rmaker_common'.
Call Stack (most recent call first):
  C:/Users/Daniel/.platformio/packages/framework-espidf@src-7f04cf235f256dbc46d61361b84e2ab6/tools/cmake/build.cmake:232 (__build_resolve_and_add_req)
  C:/Users/Daniel/.platformio/packages/framework-espidf@src-7f04cf235f256dbc46d61361b84e2ab6/tools/cmake/build.cmake:509 (__build_expand_requirements)
  C:/Users/Daniel/.platformio/packages/framework-espidf@src-7f04cf235f256dbc46d61361b84e2ab6/tools/cmake/project.cmake:384 (idf_build_process)
  CMakeLists.txt:4 (project)

How can I fix this?

Hello @Kampi sorry for the late reply. Did you get resolution for the issue?
ESP-Insights needs to clone rmaker_common on it's own.

No it doesn´t work :(

@Kampi

I try to add ESP Insights to an ESP32-C3 project. I have added esp_diagnostics, esp_insights and esp-rainmaker (git clone --recursive https://github.com/espressif/esp-rainmaker.git) to the components directory of my project.

I think there is an issue with how you are trying to include the project.
First of all, you do not need to do explicit clone/copy of esp_insights and esp_diagnostics components to your project directory, as esp-insights project is already is a submodule to esp-rainmaker and doing recursive clone (or git submodule --init --recursive later if you forgot the recursive clone) would just do.
Please refer this example for how to include the esp-insights with rainmaker: https://github.com/espressif/esp-rainmaker/blob/fe94cc6994c4d012bad3ce04d6ae07b616894714/examples/led_light/CMakeLists.txt#L12

Sorry, but I don´t get it...
I execute the following steps:

Create a new project in VS Code by using PlatformIO (using esp-idf)
Create components directory
cd components
git clone https://github.com/espressif/esp-insights.git
cd esp-insights
git submodule update --init --recursive

I copy the CMake directives from the example to srcCMakeLists.txt`:
set(INSIGHTS_PATH ${CMAKE_CURRENT_LIST_DIR})
set(EXTRA_COMPONENT_DIRS ${INSIGHTS_PATH}/components)

And I get the error Error: Couldn't find the main target of the project!.


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-main" workflow

AWS CodeBuild CI Report

CodeBuild project: DDKIntegrationTestsD8472609-5SCHWjldmWcf
Commit ID: 4e5b7c924a2b2d96350002191e7c0bd332311a60
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: DDKIntegrationTestsD8472609-5SCHWjldmWcf
Commit ID: ac6a170490489550a7e9224411dad7e1627b513d
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: DDKIntegrationTestsD8472609-5SCHWjldmWcf
Commit ID: 969f320dd073670206b9b29b9c8ede00479a5bc4
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: DDKIntegrationTestsD8472609-5SCHWjldmWcf
Commit ID: 596a071498f72851df21820c3061bdbc0e9eca42
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: DDKIntegrationTestsD8472609-5SCHWjldmWcf
Commit ID: cb47e97202966abbb50c673d2ef9f3f4a16af62f
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: DDKIntegrationTestsD8472609-5SCHWjldmWcf
Commit ID: 0ebf979fb33cd6ecb6c87be8966a6b2c14665b7a
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Migration: Chef-backend to  A2Ha Cluster

Chef-Backend Migration to A2HA Cluster
This task is about how a customer migrate from chef-backend to the A2HA cluster.
Definition of Done

List out the chef-backend version to A2HA cluster(Migration supports).
List out the data will migrate via knife-ec-backup/chef-server-ctl command.
List out the data need to copy/migrate manually.
ReadMe section
Capture the error in the FAQ section.(keep the error in text and image both  separately).
Post restore, able to see the data in automate for client run and compliance scans ?.

Testing
Setup the Infra

HA cluster set up for the Chef-Backend (3 Node Cluster).
Setup the A2HA (3 Node Cluster).

Note :Need to check dependency on the version on ES and PG.
Add the Data to the chef-backend

Add the data to the chef-backend like Org, nodes, cookbooks, databag etc.

  1.1 Add at-least 3 Org, with more than 2 node in each org.

1.2 Each org will have number of cookbooks, data-bags etc...
1.3. Script to do the task
1.4. ReadMe section

List of the item store in the PG, ES and locally.

To do the backup (chef-server-ctl / knife) commands.Purpose of both command and difference.

Take the backup either in the zip or tar files.

Is there any way to move data directly from 1 machine to another (not to create a zip.tar).

restore the backup to chef-server

Post restore, how the node will get to know the new server URL.

Populate the new server url to all the node.

Make sure that it would received the data from the node.

We have tried backup on standalone chef-server and chef-backend cluster frontend node chef-server and took restore on chef-automate HA chef-server using knife-ec-backup utility.

And doc for migration:
https://progresssoftware.sharepoint.com/:w:/s/ChefCoreC/EagZk2yq6YtEuiSxI-Qpj1QB_QkUd6dERzH2K8hL458hlQ?e=vkoCX9

doc for createing data using chef-load https://github.com/chef/a2ha-docs/wiki/Create-data-using-chef-load


pull request for e2e test at 11/22/2016 11:26:09

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


New avoidance of food intake pattern, tsv, and add related terms

@matentzn Tried to write a pattern and tsv file.  I don't recall how to change the imports so it brings in Foodon

Updated all edits. Let me know if this is okay.


Update pinned versions

updated pinned versions, and matched qhub-dask version with qhub current release

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Notifications ( Static/Dynamic) in Foundation sites

Example => http://foundation.zurb.com/apps/docs/#!/notification
As foundation apps is deprecated and zurb has plans to be accesible in every JS Frameworks within foundation sites .
I hereby Propose notifications to foundation sites project!

@kball : thoughts ?
yes or no ?

I think this is very nice to have!

thanks @Vuurvlieg but this isn't kinda new feature request .... foundation had that already .... just not in this repo .....

@brettsmason ..... is this under radar? ....  I mean no labels ?

@IamManchanda Yes I'm sure its planned. The plan I think is to port missing parts over from Apps, though I guess this probably wont happen until 7.0 (though I'm not sure).

i think for this, the label should be vintage feature request ..... lol :smile:


pull request for e2e test at 01/04/2017 03:26:09

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


initial commit for mm based sms_wsj example

This is an CaCGMM based baseline system for sms_wsj as presented in
https://arxiv.org/abs/1910.13934
It mostly relies on code from https://github.com/fgnt/sms_wsj and https://github.com/fgnt/pb_bss

Thanks a lot for the PR !
I'll look more into it from next week, thanks again

I won't be having WSJ1 anytime soon.
This PR was tested by @jensheit
Merging.


Adding composer/installer

The idea is to support custom paths. More info https://getcomposer.org/doc/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md

This is actually not needed


New author page should exist

Scenario
When a user visits the new author page
Then the page should be available at the new_author_path route and should render without errors
Hints
Currently, the application contains a single route (at /, see config/routes.rb), a view (app/views/home/index.html.erb) and a controller (app/controllers/home_controller.rb), connecting them.
All available application routes are displayed using the command rails routes.
Before implementing the requested feature, write a test for it. The file spec/features/author/new_author_spec.rb contains the needed test case, it needs to be un-commented.
The describe block defines which aspect will be tested. Specifying the feature type includes helper methods for simulating browser actions in tests. Each it block is a single test case. The test tries to access the path (i.e. the URL) of the "new author" page. This fails because no such path is defined yet.
Run the test (bundle exec rspec) and commit the failing test case.
To make the test pass, see the Rails Guide for creating the appropriate controllers, views and setting up routes for authors. Note: Instead of articles (in the guide), this exercise is concerned with authors.
You can learn more about RSpec, the testing framework here.
Error

Got NameError: undefined local variable or method `new_author_path' for #RSpec::ExampleGroups::NewAuthorPage:0x00007f5cbc2b9ce0
Did you mean?  new_polymorphic_path

1 exercise tests have passed. There are 44 in total. You will solve multiple at once towards the end.

es gibt pending tests, aber die sind irrelevant (vllt später löschen?)


@conda-forge-admin rerender

Issue:

Environment (conda list):

$ conda list

Details about  conda and system ( conda info ):

$ conda info

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I rerendered the recipe in conda-forge/lalframe-feedstock#17.


Session timeout while looking at iframed ember pages needs to log vue out

Set the auth-user-session-ttl-minutes setting to 1 minute to make this easy.
Log out, then back in. (the TTL is saved on each token at create time so your current session is still good for 16hrs)
Go to the Cluster Management product
Wait 1 minute
Click on RKE Templates or Node Templates (any page that's an ember iframe)
You end up looking at the Ember login screen on the right half of the page and regular Vue nav on the left.
(7. Then the Ember login redirects you to Vue login inside the iframe, but not really relevant).

If Ember is iframed and receives a 401, it needs to send a signal up to the parent Vue window to tell it to bring you to the login screen via the vue logged out actions, instead of redirecting to the ember login route and staying in a frame.

Verified on v2.6-head - 4b6af95
Steps taken to see the issue is fixed:

Set the auth-user-session-ttl-minutes setting to 1 minute
Went to Cluster Management
Waited 1 minuted
Clicked RKE Templates
Session timeout, and was sent to the login screen. Just the Ember login screen, Vue nav was NOT to the left. I was successfully logged out to the correct screen.


pnpm lint command error

Hi @dan5py good repo and it's on its way to being a great starting point for projects!
A couple things of note.
When running pnpm lint I see it throws an error:
><EMAIL_ADDRESS>lint /Users/michaelzavattaro/Developer/test-turbo/turborepo-shadcn-ui
> turbo lint

• Packages in scope: @repo/eslint-config, @repo/typescript-config, @repo/ui, docs
• Running lint in 4 packages
• Remote caching disabled
@repo/ui:lint: cache hit, replaying logs 589e04928081172e
@repo/ui:lint:
@repo/ui:lint: ><EMAIL_ADDRESS>lint /Users/michaelzavattaro/Developer/test-turbo/turborepo-shadcn-ui/packages/ui
@repo/ui:lint: > eslint .
@repo/ui:lint:
docs:lint: cache miss, executing 002ae449ef3d2771
docs:lint:
docs:lint: ><EMAIL_ADDRESS>lint /Users/michaelzavattaro/Developer/test-turbo/turborepo-shadcn-ui/apps/docs
docs:lint: > eslint . --max-warnings 0
docs:lint:
docs:lint:
docs:lint: /Users/michaelzavattaro/Developer/test-turbo/turborepo-shadcn-ui/apps/docs/next.config.mjs
docs:lint:   0:0  error  Parsing error: ESLint was configured to run on `<tsconfigRootDir>/next.config.mjs` using `parserOptions.project`: <tsconfigRootDir>/tsconfig.json
docs:lint: However, that TSConfig does not include this file. Either:
docs:lint: - Change ESLint's list of included files to not include this file
docs:lint: - Change that TSConfig to include this file
docs:lint: - Create a new TSConfig that includes this file and include it in your parserOptions.project
docs:lint: See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file
docs:lint:
docs:lint: /Users/michaelzavattaro/Developer/test-turbo/turborepo-shadcn-ui/apps/docs/postcss.config.mjs
docs:lint:   0:0  error  Parsing error: ESLint was configured to run on `<tsconfigRootDir>/postcss.config.mjs` using `parserOptions.project`: <tsconfigRootDir>/tsconfig.json
docs:lint: However, that TSConfig does not include this file. Either:
docs:lint: - Change ESLint's list of included files to not include this file
docs:lint: - Change that TSConfig to include this file
docs:lint: - Create a new TSConfig that includes this file and include it in your parserOptions.project
docs:lint: See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file
docs:lint:
docs:lint: ✖ 2 problems (2 errors, 0 warnings)
docs:lint:
docs:lint:  ELIFECYCLE  Command failed with exit code 1.
docs:lint: ERROR: command finished with error: command (/Users/michaelzavattaro/Developer/test-turbo/turborepo-shadcn-ui/apps/docs) /opt/homebrew/bin/pnpm run lint exited (1)
docs#lint: command (/Users/michaelzavattaro/Developer/test-turbo/turborepo-shadcn-ui/apps/docs) /opt/homebrew/bin/pnpm run lint exited (1)

 Tasks:    1 successful, 2 total
Cached:    1 cached, 2 total
  Time:    1.715s
Failed:    docs#lint

 ERROR  run failed: command  exited (1)
 ELIFECYCLE  Command failed with exit code 1.

I was able to fix this by adding "**/*.mjs", to apps/docs/tsconfig.json.
Another thing I noticed is that the linting doesn't work at all out of the box. Not sure how to fix this, if there's specific VSCode settings to support this setup?
Thanks!

Hi @mzavattaro, I'm fixing some issues today, this one too.
For the linting on VSCode (if you want something visual rather then just a cli script), you can use the official ESLint extension by Microsoft. (Marketplace link)


Update Quorum version to 2.2.3

Update Quorum version to 2.2.3

@adamzhangsm : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@adamzhangsm Thanks for the update.  We have a backlog item to report the version number in the portal.
#sign-off


Identify potential changes and components for inclusion in d3fc

Some ideas:

Navigator
Zoom/brush limits
Extent padding
Other API changes (e.g. to Cartesian chart)

Import/Export from/to CSV

Removing tick values at the range limits?

A component for grouping sub-components together - like a generic version of fc.series.multi()

Would be nice to be able to get the values of the ticks automatically assigned by yTicks() eg:

primary.yTicks(5)
console.log(primary.yTickValues())


[BACKLOG-32639] Update existing vfs browser enabled steps to use the …

…select file,folder combo or save to state

:white_check_mark: Build finished in 3m 11s
Build command:
mvn clean verify -B -e -Daudit -amd -pl \
plugins/json/core,plugins/xml/core

:ok_hand: All tests passed!
Tests run: 154, Failures: 0, Skipped: 0    Test Results

:information_source:  This is an automatic message


Erroneous syntax error in ES6 JavaScript

I have a method in a class which looks like so:
foo(x, y) {
  if(x instanceof Vector2) {
    { x, y } = x;
  }
  // do the rest
}

VSCode is highlighting the deconstruction syntax as invalid despite this being perfectly legal and correctly working code.
The exact error is "Declaration or statement expected.ts(1128)" and the equals sign is highlighted as being the problem character.

Duplicate of https://github.com/microsoft/TypeScript/issues/20761


Allow swappable Observable implementation

This is long-future stuff, but any-observable provides a way for a library author to depend on a generic Observable and allow the consumer to choose which Observable implementation they want to use. Right now, we have a hard dependency on Kefir, and are returning Kefir.Observables for all the library methods. Allowing the library consumers to choose which Observable implementation will allow brookjs to be more flexible. Especially given the popularity of RxJS, I suspect consumers are going to want to use that, although I've found the complexity of dealing with the various builds hard to deal with and much prefer the smaller surface area and semantics of Kefir.
Major Blockers:

[ ] es-observable spec ratification

Spec
Current spec also doesn't include most of the useful methods (map, flatMap, etc.)

[ ] Kefir spec conformity

This issue is likely to make things difficult, as it conflicts w/ Kefir's semantics and is opposed by Kefir's developer.

We're not going to be able to do this, as I don't think Kefir will ever conform to the ESObservable spec. We can revisit this at some point in the future.


Mixed Case Name Check Review

This check flags objects with name tags that improperly use mixed cases.
Proper case use is defined by set standards and configurable exceptions.
The standards are as follows:

Words must start with a capital unless:

The first letter is preceded by a number
All the words in the name are lower case

All other letters must be lower case unless:

They follow an apostrophe and, they are not the last letter of the word
The entire word is uppercase, except the last letter if it follows or is followed by an apostrophe

The standards are broken by the following configurable exceptions (with default values):

Articles that are capitalised only if they are the first word:

a, an, the

Prepositions that do not need to start with a capital:

and, from, to, of, by, upon, on, off, at, as, into, like, near, onto, per, till, up, via, with, for, in

Name affixes that may be followed by a capital:

Mc, Mac, Mck, Mhic, Mic

Mixed case units of measurement that are valid after a number:

kV

These configurables allow this check to be adapted to test different languages.
OSM uses the name tag for the name in a locations primary language, and name:[ISOcode] for other languages.
This check uses two configurable to control what languages are checked.
The first is a list of ISO codes for countries that should have there name tag checked. It has default values of:

AIA, ATG, AUS, BHS, BRB, BLZ, BMU, BWA, VGB, CMR, CAN, CYM, DMA, FJI, GMB, GHA, GIB, GRD, GUY, IRL, JAM, KEN, LSO, MWI, MLT, MUS, MSR, NAM, NZL, NGA, PNG, SYC, SLE, SGP, SLB, ZAF, SWZ, TZA, TON, TTO, TCA, UGA, GBR, USA, VUT, ZMB, ZWE

The second is a list of name:[ISOcode] tags to check. Default values are:

name:en

A final configurable is a list of characters that names are split by to for words. Its default values are:

SPACE, -, /, &, @, –

OSM Example:

Way id:4780932622 has the name NZ Convenience store. It is flagged because the S in store should be capitalized.

@savannahostrowski I may have missed that discussion. Is that regarding the validCheckForObject function ?

@danielduhh, there is one example in the description, but I will see if I can find some of the stranger cases to show.


Add ability to customize TableViewCell separator color

Platforms Impacted

[x] iOS
[ ] macOS

Description of changes
Added ability to customize TableViewCell's separator color. A new token separatorColor was added to TableViewCellTokenSet.
Binary change
Total increase: 7,704 bytes
Total decrease: 0 bytes

File
Before
After
Delta

Total
30,796,008 bytes
30,803,712 bytes
⚠ 7,704 bytes

 Full breakdown

File
Before
After
Delta

TableViewCell.o
805,384 bytes
809,800 bytes
⚠ 4,416 bytes

TableViewCellTokenSet.o
108,280 bytes
109,984 bytes
⚠ 1,704 bytes

__.SYMDEF
4,770,960 bytes
4,772,144 bytes
⚠ 1,184 bytes

PopupMenuItemCell.o
174,072 bytes
174,208 bytes
⚠ 136 bytes

PersonaCell.o
62,704 bytes
62,832 bytes
⚠ 128 bytes

BooleanCell.o
89,904 bytes
90,032 bytes
⚠ 128 bytes

ListActionItem.o
224,808 bytes
224,816 bytes
⚠ 8 bytes

Verification

Visual Verification

Before
After

N/A

Pull request checklist
This PR has considered:

[x] Light and Dark appearances
[ ] iOS supported versions (all major versions greater than or equal current target deployment version)
[ ] VoiceOver and Keyboard Accessibility
[ ] Internationalization and Right to Left layouts
[ ] Different resolutions (1x, 2x, 3x)
[ ] Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)
[ ] iPad Pointer interaction
[ ] SwiftUI consumption (validation or new demo scenarios needed)
[ ] Objective-C exposure (provide it only if needed)

Microsoft Reviewers: Open in CodeFlow

Is there a reason this isnt a token on separator control instead of tableViewCell?

also, if we want to update in TableViewCell, we should also update here: https://github.com/microsoft/fluentui-apple/blob/main/ios/FluentUI/List/ListActionItem.swift
That was my thought behind doing it in separator instead, then both implementations are going to get the right color without having to set it in each implementation.

I'd suggest choosing a more drastic override color in the demo like pink so we can see the overridden separator easier since it's a very tiny control.

not pink. otherwise accessibility vendors will flag our app as not color contrast accessible.

we should also update here: https://github.com/microsoft/fluentui-apple/blob/main/ios/FluentUI/List/ListActionItem.swift

Will do in future pr


Validating if markup options are really set in $scope

Validates if options are really set in $scope when  datepicker-options="options"   is given in markup, but no  $scope.options  exists.
otherwise it will throw an error like:

TypeError: Cannot read property 'initDate' of undefined
at link (http://localhost:3000/bower_components/angular-bootstrap/ui-bootstrap-tpls.js:1523:19)
at http://localhost:3000/bower_components/angular/angular.js:8252:44
at invokeLinkFn (http://localhost:3000/bower_components/angular/angular.js:8258:9)

....

I am getting this error "Cannot read property 'initDate' of undefined as well. This only started occurring after updating from 0.12.1 to 0.13.0. What I am trying to understand is if I need to change my values that are getting passed into the directive.

@311chaos Indeed, this happened to me after updating from 0.12.x to 0.13.x,  and when I have the "datepicker-options="options"" attribute defined, but no $scope.options is defined. It seems that the old version didn't really care about $scope.options existence.

Well, what seems to have changed is the $scope. All of my values are on the $parent scope. So I had:
data-datepicker-options="SRCtrl.datepicker.dateOptions"
but it needs to be changed to:
data-datepicker-options="$parent.SRCtrl.datepicker.dateOptions"
I can work around this, but it isn't obvious and I don't love referencing the $parent....

I think a better fix might be options = scope.$parent.$eval(attrs.datepickerOptions) || {}.

I decided to merge as is - this is probably a better check to avoid mutating the value.


WIP Text selection handles are sometimes not interactive

Closes https://github.com/flutter/flutter/issues/31286
Text selection handles are being moved outside of their enclosing GestureDetector, making them not interactive.  I have seen this for the left Material handle at the start of a text field and for the left Cupertino handle at any position.

I've gotten the GestureDetectors to be the correct size and position for all of the different text selection handles that we have.

However, despite the GestureDetectors being the right size and in the right place, there are parts of them that are sometimes still not interactive.  I think that's because of the CompositedTransformFollower that we use to reset the coordinate space.
From the docs, "Hit testing on descendants of this widget will only work if the target position is within the box that this widget's parent considers to be hitable."  I can't quite get a perfect visual on exactly where the widget's boundary is and if it lines up perfectly with the non-interactive regions I'm seeing, though.

The last problem that I'm fighting with is that the GestureDetector swallows tap events from the text field behind it.  This manifests as double tapping to select text being broken (the first tap shows the handle, which blocks the second tap).
@HansMuller I've got a working solution by using Listener instead of GestureDetector, like we talked about.  I was able to reuse the dragging logic from GestureDetector, but I reimplemented tap myself (poorly) because reusing any code caused the event to be swallowed.  I'll talk to you on Monday about it, and hopefully I can bypass having to write my own tap if I understand a bit more about the event arena.

@HansMuller We talked about doing this by removing the tap handler on the handle when it wasn't needed, allowing the tap gesture to be picked up by the text field.  However, this broke double tapping directly on the cursor, which used to work before this PR.  I could not detect both a single tap to show the selection menu and a double tap to select when it was happening on the cursor.
I tried another idea, which was to hack the TextSelectionGestureDetector so that it would listen to events that had already been won by the selection handle.  I got this working by creating _TransparentTapGestureRecognizer, which extends TapGestureRecognizer and overrides rejectGesture to instead accept.  This might work, but it gets really tricky to not conflict with longpress events, which I had to set up a timer for.

There are a lot of very sneaky gestures that I keep discovering, so I'm making a list of them.  I should make sure that all are tested.

Double tap to select.
Double tap to select on top of the cursor.
Tap the cursor to toggle the menu.
Long press to select (Material only).
Long press and drag to select more (Material only).
Select (by long press, etc.) then tap elsewhere to immediately move the cursor to the tap.

@HansMuller This is ready for review.  The main things this PR does to achieve its goal of making the handles nicely interactive are:

Refactor how handles are drawn so that they can be easily padded to a nice 48x48 interactive size. TextSelectionControls renders the handles in an encapsulated way, and the parent TextSelectionHandleOverlayState handles padding them and putting them in the right place wrapped in a GestureDetector.
Changed how the selection overlay uses CompositedTransformFollower and the gesture arena to get interactions to work on both handles and text field at the same time.  This was the big time sink as there were many gestures that I needed to get right while still allowing 48x48 interaction with and without overlap of the underlying text field.  See my big list of sneaky gestures above.

Also, do you have any idea what is going on with the tests?  The error is:
Deserializing '[ServerLog, level, INFO, message, About to build [codegen]...]' to 'unspecified' failed due to: Tried to construct class "ServerLog" with null field "log". This is forbidden; to allow it, mark "log" with @nullable.


added vector-sized

as discussed in https://github.com/expipiplus1/vector-sized/pull/11 , i'm adding vector-sized as the designated stackage correspondent on behalf of the vector-sized maintainers.

Thanks


desktop.exe credential store is not supported in WSL

What is the areas you experience the issue in?
Notation CLI
What is not working as expected?
Docker Desktop was installed on Windows, but I cannot login by notation login command

What did you expect to happen?
I should login with notation login command successfully because I have installed the Docker Desktop with desktop.exe credential store.
Here is my docker config:
{
        "auths": {
        },
        "credsStore": "desktop.exe"
}

Here is the files under notation config directory:
$ ~/.config/notation
total 28K
drwx------ 2 jj jj 4.0K Mar 13 16:34 localkeys
-rw-r--r-- 1 jj jj  253 Jan 11 15:10 pluginkeys.json
drwxr-xr-x 5 jj jj 4.0K May 29 16:56 plugins
-rw------- 1 jj jj  440 May 26 13:43 signingkeys.json
-rw-r--r-- 1 jj jj  360 Dec 28 17:28 trustpolicy.json
drwx------ 3 jj jj 4.0K Mar 13 16:34 truststore

How can we reproduce it?

Install Docker Desktop on Windows
run notation login in WSL

Describe your environment
Windows 11 with WSL2 Ubuntu 22.04
What is the version of your Notation CLI or Notation Library?
Notation v1.0.0-rc.7

The current behavior is that for notation login, the oras-credentials-go library only takes look at the notation config for credential helper. If there is no credential helper, it will detect a default one even if the credential helper is set in the docker config.
The bug should be fixed at the oras-credentials-go side.

Related issue on oras-credentials-go: https://github.com/oras-project/oras-credentials-go/issues/71

Thanks @jimmyraywv
Notation login will use credentials-store to securely store the credentials if authenticated with registries successfully.  The current order of detecting credentials store is Notation config -> Docker config -> OS default credentials store. This issue is a bug of notation login command, that it failed to detect the credentials store if it was not found in notation config. However, it works for notation sign/verify/list commands since these commands just read credentials if they exist.
From the requirement point of view,

Notation should be able to authenticate with registries, and use credentials store to store the credentials securely, especially for the scenario that docker CLI is not installed in the system.
If users have successfully authenticated with registries using docker commands, users can use notation sign/verify/list commands directly without the need to notation login

Hope this can answer your questions that why the behavior is different between different commands. It's a bug in notation login. IMO, notation login should follow the same order to detect the credentials store.

@yizha1  - A couple of more thoughts.

Is this bug present in both notation login and logout commands?
In what scenarios can users run into difficulties due to this bug?  What is the mitigation?
Is this one of the scenarios where customers may encounter unexpected behavior  ? Imagine that  Notation users are using a common credential helper that is used by other CLI clients ( docker, oras, notation, etc) running on the same host, then what will users expect out of Notation - A login/logout in other clients should login/logout them out of Notation and vice-versa?
If we didn't have this bug, the would this statement be true for RC-7 - "When using a shared credential helper a login/logout in any of the clients sharing the same credential helper, will login/logout other clients"

@iamsamirzon

@yizha1 - A couple of more thoughts.

Is this bug present in both notation login and logout commands?

Yes

In what scenarios can users run into difficulties due to this bug?  What is the mitigation?

When users use notation login/logout, and no Notation config for credential store. The mitigation is to manually create Notation config.json, and add credential store.

Is this one of the scenarios where customers may encounter unexpected behavior  ? Imagine that  Notation users are using a common credential helper that is used by other CLI clients ( docker, oras, notation, etc) running on the same host, then what will users expect out of Notation - A login/logout in other clients should login/logout them out of Notation and vice-versa?

This is not relevant to this bug. Please check the answers to question 5, it may help.

If we didn't have this bug, the would this statement be true for RC-7 - "When using a shared credential helper a login/logout in any of the clients sharing the same credential helper, will login/logout other clients"

Before RC-7, Notation still used credentials store to store the credentials securely. The login/logout behaviors are the same for credentials store. In RC-7 Notation support reading credentials from docker config file if credentials store is not configured. However, there is a bug in RC-7 that Notation only checks its own config, not docker config.

What is a good summary description of Notation behavior that users should expect, after we fix this bug?

Notation login command uses credentials store to save the credentials securely, the credentials store detection order is Notation config first, then docker config, the last is OS default credential stores. The bug in RC-7 is that Notation didn't check the docker config if no credential store was found in its own config.
Notation logout command will remove credentials from credential store as other clients, for example docker CLI
If no credential stores are present in the system, and users logged in using docker CLI (since docker save plain text credentials by default if no credential store is present), Notation reads the credentials from docker config file. (This is useful for test environment or system that trusts docker config, but no credential store is present)

Thanks @yizha1 .So you are saying before RC-7/RC-6 one had to configure the Notation config.json file if they wanted to use a credential help. With RC-7/RC-6, we aimed to simplify that by having Notation look at docker.config automatically, but due to the bug, login/logout commands still don't automatically look at docker;s config.json

@iamsamirzon Before RC-7/RC-6, notation commands support using credentials store from docker config, but this bug broke the experience for notation login/logout commands. What's new in RC-7/RC-6 is to enable read credentials from docker config if there is no credentials store present.

https://github.com/notaryproject/notation/pull/712#issuecomment-1584042555


Build an example pipeline with the CLI

Description
Closes #1924.
In this PR I made a change to the command name. It's build-pipeline instead of init. The reason is that conduit init is a bit broad and might lead someone to thinking it's initializing Conduit. conduit build-pipeline reads a bit more precise.
Example output:

./conduit --source s3
error: invalid configuration: options --source, --destination, --out-path can only be used with --build-pipeline

./conduit --build-pipeline
version: "2.2"
pipelines:
  - id: example-pipeline
    status: running
    name: example-pipeline
    description: Example pipeline
    connectors:
      - id: example-source
        type: source
        plugin: "generator"
        settings:
          # Generate field 'id' that's of the int type
          # Type: string
          # Optional
          format.options.id: "int"
          # Generate field 'name' that's of the string type
          # Type: string
          # Optional
          format.options.name: "string"
          # The format of the generated payload data (raw, structured, file).
          # Type: string
          # Optional
          format.type: "structured"
          # The maximum rate in records per second, at which records are
          # generated (0 means no rate limit).
          # Type: float
          # Optional
          rate: "2"
      - id: example-destination
        type: destination
        plugin: "log"

./conduit --build-pipeline --source s3 --destination postgres --out-path ./pipelines/example.yaml
cat pipelines/example.yaml
version: "2.2"
pipelines:
  - id: example-pipeline
    status: running
    name: example-pipeline
    description: Example pipeline
    connectors:
      - id: example-source
        type: source
        plugin: "s3"
        settings:
          # AWS access key id.
          # Type: string
          # Required
          aws.accessKeyId: ""
          # the AWS S3 bucket name.
          # Type: string
          # Required
          aws.bucket: ""
          # the AWS S3 bucket region
          # Type: string
          # Required
          aws.region: ""
          # AWS secret access key.
          # Type: string
          # Required
          aws.secretAccessKey: ""
          # polling period for the CDC mode, formatted as a time.Duration
          # string.
          # Type: duration
          # Optional
          pollingPeriod: "1s"
          # the S3 key prefix.
          # Type: string
          # Optional
          prefix: ""
          # Specifies whether to use a schema context name. If set to false, no
          # schema context name will be used, and schemas will be saved with the
          # subject name specified in the connector (not safe because of name
          # conflicts).
          # Type: bool
          # Optional
          sdk.schema.context.enabled: "true"
          # Schema context name to be used. Used as a prefix for all schema
          # subject names. Defaults to the connector ID.
          # Type: string
          # Optional
          sdk.schema.context.name: ""
          # Whether to extract and encode the record key with a schema.
          # Type: bool
          # Optional
          sdk.schema.extract.key.enabled: "false"
          # The subject of the key schema. If the record metadata contains the
          # field "opencdc.collection" it is prepended to the subject name and
          # separated with a dot.
          # Type: string
          # Optional
          sdk.schema.extract.key.subject: "key"
          # Whether to extract and encode the record payload with a schema.
          # Type: bool
          # Optional
          sdk.schema.extract.payload.enabled: "false"
          # The subject of the payload schema. If the record metadata contains
          # the field "opencdc.collection" it is prepended to the subject name
          # and separated with a dot.
          # Type: string
          # Optional
          sdk.schema.extract.payload.subject: "payload"
          # The type of the payload schema.
          # Type: string
          # Optional
          sdk.schema.extract.type: "avro"
      - id: example-destination
        type: destination
        plugin: "postgres"
        settings:
          # Key represents the column name for the key used to identify and
          # update existing rows.
          # Type: string
          # Optional
          key: ""
          # Maximum delay before an incomplete batch is written to the
          # destination.
          # Type: duration
          # Optional
          sdk.batch.delay: "0s"
          # Maximum size of batch before it gets written to the destination.
          # Type: int
          # Optional
          sdk.batch.size: "0"
          # Allow bursts of at most X records (0 or less means that bursts are
          # not limited). Only takes effect if a rate limit per second is set.
          # Note that if `sdk.batch.size` is bigger than `sdk.rate.burst`, the
          # effective batch size will be equal to `sdk.rate.burst`.
          # Type: int
          # Optional
          sdk.rate.burst: "0"
          # Maximum number of records written per second (0 means no rate
          # limit).
          # Type: float
          # Optional
          sdk.rate.perSecond: "0"
          # The format of the output record.
          # Type: ParameterType(0)
          # Optional
          sdk.record.format: "opencdc/json"
          # Options to configure the chosen output record format. Options are
          # key=value pairs separated with comma (e.g. opt1=val2,opt2=val2).
          # Type: ParameterType(0)
          # Optional
          sdk.record.format.options: ""
          # Whether to extract and decode the record key with a schema.
          # Type: bool
          # Optional
          sdk.schema.extract.key.enabled: "true"
          # Whether to extract and decode the record payload with a schema.
          # Type: bool
          # Optional
          sdk.schema.extract.payload.enabled: "true"
          # Table is used as the target table into which records are inserted.
          # Type: string
          # Optional
          table: "{{ index .Metadata "opencdc.collection" }}"
          # URL is the connection string for the Postgres database.
          # Type: string
          # Required
          url: ""

### Quick checks

[ ] I have followed the Code Guidelines.
[ ] There is no other pull request for the same update/change.
[ ] I have written unit tests.
[ ] I have made sure that the PR is of reasonable size and can be easily reviewed.

@hariso I think init is ypically used to set up the initial structure, configuration, and dependencies for a new project or application. Here are some industry examples:

npm init The npm init command is used to set up a new or existing npm package
tsc --init Initializes a TypeScript project and creates a tsconfig.json file.
git init: Initializes a new Git repository in the current directory, creating the necessary files and directories to start version controlling your project.
webpack init: Helps you set up a new Webpack configuration by asking you a series of questions and generating a basic Webpack configuration file (webpack.config.js).
vue init: Generates a new Vue.js project based on a specific template. It prompts the user with questions to customize the project setup.
terraform init: Initializes a new Terraform working directory, creating the necessary files and directories to start managing infrastructure as code.
yarn init: Initializes a new Yarn project, creating a package.json file and setting up the initial project structure.
kubectl init: Initializes a new Kubernetes cluster, setting up the necessary components and configuration files.

By having --build-pipeline I also see the disadvantage of not distinguishing the command with flags. --build-pipeline as it is now looks like a global flag for the conduit CLI.
For that reason, I feel strongly opinionated that the commands needs to be init and nothing else.

We discussed this at our daily sync, here's the summary

conduit init will initialize a "working directory" for Conduit, i.e. create connectors, processors and pipelines directory, and the conduit.yaml config gile
once conduit init is done, it will inform the user to run conduit pipelines init, to initialize a pipeline.
conduit pipelines init does what we already mentioned.

We discussed this at our daily sync, here's the summary

conduit init will initialize a "working directory" for Conduit, i.e. create connectors, processors and pipelines directory, and the conduit.yaml config gile
once conduit init is done, it will inform the user to run conduit pipelines init, to initialize a pipeline.
conduit pipelines init does what we already mentioned.

Yes, I was convinced today. There’s something that wasn’t mentioned above, which hopefully addresses @nickchomey’s latest comment.
The idea behind conduit init is that it will accept an optional flag --path, with the current directory as its default value. This will allow users to initialize different environments if needed.
While we don’t expect conduit init to be run more than once, conduit pipelines init is a command that could (and likely will) be executed multiple times. Therefore, these two actions should remain separate.

I forgot to mention something above. The intention behind the conduit init command includes an educational component. This command will initialize a working conduit environment, demonstrating what it comprises (it's more than just a pipeline YAML file). We believe this is helpful for illustrating the different components of a conduit project.

Not that my opinion should matter much here, but I'm curious why you dont just have the one command do both things?

Opinions of users always matter.:)
Can you elaborate a bit more on "one command doing both things"?


Replace python.dataScience.ptvsdDistPath with python.dataScience.debugpyDistPath

Since we are switching over to debugpy. We should get rid of ptvsd specific settings.

We'd need to find out how many are even using this.
Is this even required?

This is probably useful for local debugging or testing the debugger. It would be ideal, if we can get rid of this. We could always replace the local debugger for testing purposes.

Is the desired fix for this to just rename the setting?

You probably have to do the following for this setting:

See if people are using it. If no one is using it, then get rid of it.
If people are using it, and this setting seems useful, then rename it. also ensure that the rename is applied to any user setting file that exists out there.

Validated.


DRAFT: feat(format): add formatter for more common std types

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (ed5b341) 99.40% compared to head (2357963) 99.41%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #83   +/-   ##
=======================================
  Coverage   99.40%   99.41%
=======================================
  Files          56       58    +2
  Lines        5904     5939   +35
=======================================
+ Hits         5869     5904   +35
  Misses         35       35

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


continue making py_ rules import attribute visible in Starlark

Hi!
Bazel team member here:)
I decided to help moving your pull request to merge.
Please merge this so that we could move on.
Thank you for your contribution!
Comments to commit:
see https://github.com/bazelbuild/bazel/pull/2791

make PythonImportsProvider keep Strings, not PathFragments, but use PathFragments for paths operations and normalization
add PythonStarlarkApiTest.java, including testing the imports attribute being available

Hi. This is an issue I'm interested in seeing resolved, and it looks like this PR is abandoned. Would there be any problem with me taking this commit and opening another pull request back on the main bazel repository? I'm just not sure of the protocol here.

Hi @Faqa, thank you for help! I was going to do this myself - submit the code as a separate PR... I will help to merge your PR then.


CI:Add python dbg run to GH Actions

Reference issue
Xref: #13134
Attempt to see how GH Actions work. Fingers crossed.

very nice so did we turn off the new job addition on forks or something? Apparently didn't even register the workflow

I think actions are turned off by default for forks. I think I kept my fork active.
I normally experiment by making a PR against your own fork, rather than scipy. This saves resources.  I disable the other CI files when I do that. Once it's working I then submit a PR against scipy.
The job may not register here because the workflow file doesn't already exist in master.

If the workflow doesn't trigger when you submit the PR against your own fork I think experimenting with the on section might yield results.

The job may not register here because the workflow file doesn't already exist in master.

So how do we bootstrap it ? Should merge into my own master?

Why not add to the existing bleedingedge.yml file? That's currently running well. We could rename it to linux.yml.

Nevermind I managed to trigger it finally. Now the question is do we need all that virtualenv stuff ? I'll clean up the env vars.

I do think it's worth merging into a single Linux file

That organization can be done anytime, that's not my biggest concern. Once we are out of Travis crisis then we can reorganize as we please.

For future reference there is a setup python action:
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python-version }}

that eases Python installation a lot. The macOS tests have that. However, I don't think that action is able to install debug versions.

Yes I tried that (now rebased commit). So reverted back to manual entry. So far it is finally working.

OK looks like this is relocated pretty straightforwardly.

This looks clean. Do you want to remove the job from .travisci.yml? Then this looks good to go.

@andyfaff now that it is working now where should we place this, to nightly builds? The name is a bit awkward though.

@andyfaff now that it is working now where should we place this, to nightly builds? The name is a bit awkward though

Maybe just add it wherever seems sensible. The two current yaml files are named bleedingedge and testing, that's a bit odd so needs changing anyway.

OK files are combined and renamed. We now have one linux and one macos file.

Thank you @ilayn


Webhook For Test Completion

Describe the solution you'd like
Just to include an option to notify through webhook when tets is completed.
Describe alternatives you've considered
Alternative is integrating Zapier to respond on all emails that arrive from Appcenter that include test in subject.
Additional context
It's not useful not to have webook feature for test completion if you have an entire testing environment.

Thanks for the feature request! We don't have any immediate plans to add this but we'll consider it for our future roadmap.

Duplicate of #318

I would also be very interested in this feature. Thank you!


chore(automation): add workflow to automatically update CONTRIBUTORS.md

Purpose: This PR introduces a new GitHub Actions workflow and accompanying Python script to automate the process of updating the CONTRIBUTORS.md file. This ensures that contributor tiers and badges are updated automatically based on the number of merged PRs.
Changes:

GitHub Actions Workflow: Adds a workflow file (.github/workflows/update_contributors.yml) that triggers on pull request merges. The workflow counts the contributor's merged PRs, updates the CONTRIBUTORS.md file, and pushes the changes to a dedicated branch (contributors-updates).
Python Script: Introduces a Python script (scripts/update_contributors.py) that handles the logic of determining the contributor's tier and badge based on their PR count. The script updates the CONTRIBUTORS.md file accordingly.

Impact:

Automation: This change automates the previously manual process of updating contributor information, reducing the likelihood of human error and ensuring consistency.
Branch Management: Updates are pushed to the contributors-updates branch, allowing for periodic review and merging into the main branch without cluttering the PR space.

Next Steps:

Review: Please review the workflow and script to ensure they align with our repository's standards.
Merge: Once validated, merge this PR to enable automated updates for CONTRIBUTORS.md.

Summary by CodeRabbit

New Features

Introduced an automated workflow for updating contributor tiers in the CONTRIBUTORS.md file upon merging pull requests.
Added a script to categorize contributors based on the number of pull requests, enhancing recognition with visual badges.

Bug Fixes

Improved accuracy and timeliness of contributor recognition through automation.

This approach is a bit heavy handed and we solved this with a manual approach which was better suited.


Adaptive Card Tabs shipped to production! 🐿

Adaptive Card Tabs is now in production.
Removing the "Developer Preview" notice.

Acrolinx Scorecards
We do not currently enforce a minimum score for content merged to the default branch. This will change in the future.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/tabs/how-to/build-adaptive-card-tabs.md
94
7
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit e28aad9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/tabs/how-to/build-adaptive-card-tabs.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


SourceLink issue on linux/OSX travisCI "error : unable to find repository origin with: dotnet sourcelink-git origin "

Howdy @ctaggart,
I am fighting with a real doozy over at https://github.com/octokit/octokit.net/pull/1738 at the moment 🤕
Background
Until now, our core libraries have been targeting netstandard1.1 and our test projects were netcoreapp1.0, with the .NET Core SDK 1.0.4 being used to do the builds on AppVeyor and TravisCI (Linux and OSX).
Due to some changes on that PR I had to update our test projects to netcoreapp2.0 and change our builds over to .NET Core SDK  2.0.3 (core libraries are still targeting netstandard1.1).
Problem
The AppVeyor windows builds are working fine, however both linux and OSX builds on Travis are failing with a SourceLink issue:
/home/travis/.nuget/packages/sourcelink.create.github/2.8.0/build/SourceLink.Create.GitHub.targets(25,5): error : unable to find repository origin with: dotnet sourcelink-git origin [/home/travis/build/octokit/octokit.net/Octokit/Octokit.csproj]

Logs
Here is a TravisCI linux build with "detailed" verbosity on the dotnet build step
https://travis-ci.org/octokit/octokit.net/jobs/353796760
And here is one with "normal" verbosity which still shows the sourcelink error
https://travis-ci.org/octokit/octokit.net/jobs/353817606
Things Ive tried
Ensuring the origin remote does exist
I thought perhaps travis was doing something weird with the way it clones the git repo and there might not be an origin remote, however I added a debug git -v remote show origin command to the .travis.yml and the output in the build log shows the origin remote is as expected.
0.39s$ git remote -v show origin
* remote origin
  Fetch URL: https://github.com/octokit/octokit.net.git
  Push  URL: https://github.com/octokit/octokit.net.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)

Disabling SourceLink
Passing /p:SourceLinkCreate=false to the build step, which allowed the build to complete successfully (see log).
Although it technically doesn't matter if we SourceLink on Travis (since it's the AppVeyor builds we publish to NuGet) I'd still like to get to the bottom of this!
Updating to latest version of SourceLink packages
We were previously using 2.1.0 and have now updated to 2.8.0.  It was a long shot but figured I may as well try... no dice though 😛
Any insights you have would be much appreciated! 🙏
Thanks!

@ryangribble Can you switch to SourceLink.Create.CommandLine instead of SourceLink.Create.GitHub. That will avoid any problems with dotnet sourcelink, which I'm guessing that you are getting.

OK that seems to have sourcelink'ed correctly, but getting a runtime errror on the "test sourcelink" build step, because our TravisCI image only has the 2.0.x runtime on it, and this task is wanting runtime 1.0.4.
Where is the "runtime" for a DotNetCliToolReference specified, when the tool reference comes from a netstandard targeted library?  Is this because "your" package requires 1.0.4, or because "my" project is still targetting netstandard1.1?  Ultimately Im trying to have our SDK tooling updated to 2.0.x but still keep our library targeted at netstandard1.1 although Im not sure if that's going to be possible
Could this same situation also have been the issue being experienced with the SourceLink.Create.GitHub option previously?
https://travis-ci.org/octokit/octokit.net/jobs/354276922

... just discovered that VS2017 doesnt update DotNetCliToolReference entries itself... so still had 2.1.0 of those, prior to you supporting a netcoreapp2.0 runtime as well.  With that change in place, things are working using the CommandLine rather than GitHub sourcelink.  Although it would still be nice to know why the GitHub one doesn't work on linux/OSX for us...

Argh!  Spoke too soon 😬
Succeeded on Linux, but sourcelink test failed on OSX
https://travis-ci.org/octokit/octokit.net/jobs/354289023

OK so that OSX failure was weird... retried it and it then passed 🤔 Tried another time and it failed again.  I might raise a separate issue to look into that sourcelink test issue, because in terms of this issue I think I have all the answers I need.
So now that SourceLink.Create.CommandLine was working I figured I'd go back and try SourceLink.Create.GitHub and lo and behold it is now working too 😀
To sum up:-
My issue was using an earlier version of SourceLink that didnt offer a netcoreapp2.0 target.  Furthermore when updating to the newer version I didn't realise that the 2 DotNetCliToolReferene entries are not updated by VisualStudio and have to be done manually in the csproj file.
Finally, the fact it was a "couldnt find runtime" error the whole time, was only revealed when I got up to my "Test Sourcelink" step (by getting past the build stage by using COmmandLine rather than GitHub option), and could see that error output.  The SourceLInk.Create.GitHub method internally runs a dotnet sourcelink-git orgin tool command and was evidently getting this runtime error too, but the logs just say the step failed and didn't provide the actual reason (was looking for runtime 1.x)
Thanks for the pointers and I'm happy to have both resolved the problem and have a better understanding of what was going on!  👍


Some style-related cleanups

Hi, here are some commits for simplifying syntactical constructs a little, for better readability. No functionality changes.

Looks good to me.  Thanks @agrover !

@hanscj1 could you push a new release?

Sure can. thx


Setup test environment and add reservations tests

I set up a test environment in this PR and added reservations tests.
Changes

Set up vitest with react testing library.
Added a snapshot test for reservations.
Added unit tests for reservations.

Nice.


Failed to load resource: the server responded with a status of 404 (Not Found)

Im trying to migrate our existing theme-extensions to react, and ive just begin the testing process but it seems to not be working as expected.
Using this vite.config.mjs
import { defineConfig } from 'vite'
import shopify from 'vite-plugin-shopify'
import react from '@vitejs/plugin-react'

export default defineConfig({
  plugins: [
    shopify({
      themeRoot: 'extensions/theme-extensions',
      sourceCodeDir: 'frontend',
      entrypointsDir: 'frontend/entrypoints',
      snippetFile: 'vite.liquid'
    }),
    react(),
  ]
})

And this project structure:

When i try to access the files i get the following error:

This is the test_thing.liquid file, which should run the vite builded files

her

{% liquid render 'vite' with 'entry.ts' as da %}

{% schema %}
{
  "name": "Test vite",
  "target": "section",
  "settings": [
    {
      "type": "checkbox",
      "id": "show_buy_now_button",
      "label": "Show 'buy now' button",
      "default": true
    }
  ]
}
{% endschema %}

Ive tested with both .ts, .tsx and .jsx files. All gets the same result.
Ive checked out most of the example repos, and it seems to me that i have the exact project structure as the others

@Ulset see https://github.com/montalvomiguelo/theme-extension-vite

@montalvomiguelo i have! Is it anything there in particular i should be aware of? Seems to be the same there aswell. Do i need to have a separate package.json file in the theme directory?

Ive replicated your provided example

Still the same error

It seems to try to request a path to endpoints without anything more specified, is this expected behavior?

@Ulset that is not expected; you need to provide an entry point; we don't support the "as" parameter.
The example I provided works fine. Pick the pieces you need from there?
https://github.com/barrel/shopify-vite/assets/5134470/9a78a90c-462b-4fa3-ab6f-a4302b4c8f4f

My editor (IntelliJ) keeps complainting about the missing 'as' paramter.

But by removing the 'as' everything works as expected, thank you for the help!


adding images to hotspots

Hi,
I love your library, and I have a question- I want to replace the hotspots with costume images, and I want those images to move as I move in the panoramic view. so I pushed them in the hotspot div, but when the image is in the side, it moves correctly but won't stretch the right way, so it looks quite bad.
I want it to look like a part of the background.
So, is there a way to replace the hotspots with an image and make it look like a natural part of the panorama?
I'm using the cube multires view.
thanks!

This isn't possible at the moment. I plan to make it easier to use custom styles for hot spots fairly soon, but support for background-type hot spots is much further out.

Good to know. thank you for the quick answer


Introduce an IR for better optimizations and abstractions

In order to better manipulate the AST is convenient to introduce an Intermediate Representation.
This would allow for optimizing more complex calls and having an overall better picture of the code before compiling it.
An IR could also help introduce more abstractions, for example, hiding field extractions.

implemented with v0.3


Fix readme formatting error

2 spaces are missing from the README, which doesn't look elegant enough. ^-^

Thanks!


added RENAME Command

Added support for Rename Command #253

@rkarthick15 please add the atomic rename API to the store and use it for evaluation the RENAME operation

@JyotinderSingh
I am trying to create a new store API for rename,  below is the sample snippet
func Rename(sourceKey string, destinationKey string, obj *Obj) bool {
	storeMutex.Lock()
	defer storeMutex.Unlock()
	keypoolMutex.Lock()
	defer keypoolMutex.Unlock()

	//Delete the destinationKey if exists
	//create a new destinationKey and set the value
	//Delete the source Key

	return false
}

If this above method is correct, can we have a separate shared functions for Put and Delete operations?, so that rename, put , del function can also access the same shared function for PUT and DEL operations

@JyotinderSingh
I am trying to create a new store API for rename,  below is the sample snippet

func Rename(sourceKey string, destinationKey string, obj *Obj) bool {

	storeMutex.Lock()

	defer storeMutex.Unlock()

	keypoolMutex.Lock()

	defer keypoolMutex.Unlock()

	//Delete the destinationKey if exists

	//create a new destinationKey and set the value

	//Delete the source Key

	return false

}

If this above method is correct, can we have a separate shared functions for Put and Delete operations?, so that rename, put , del function can also access the same shared function for PUT and DEL operations

Sounds good, just make sure those functions aren't exported from the package.

There are a few merge conflicts as well, please resolve them @rkarthick15


Add date header to please strict mail servers

Computer said no:
Missing required header field: "Date"
Delivery of the email was stopped!

Can you add a test to notifier_test.go please?

Fixed the testcase

:+1:

:+1: thanks!


*: update watch related proto

Add watch/cancel request
Add necessary fields in response to return watch error
Add watch_id into watch response

/cc @gyuho @heyitsanthony

/cc @gyuho @heyitsanthony

LGTM. Thanks!

LGTM. Thanks!


Convert BigFloat to BigUint (from num_bigint)

Thanks for the lib! It has been immensely helpful.
I am running into issues converting a BigFloat instance to BigUint (from num_bigint). My naive try is
let mut consts = Consts::new().unwrap();

let mut value = BigFloat::from(1.2);

let (sign, radix_repr, ex) = value
  .round(0, ROUNDING_MODE)
  .convert_to_radix(astro_float::Radix::Dec, ROUNDING_MODE, &mut consts)
  .unwrap();

// Assume sign is always positive
let value_biguint = BigUint::from_radix_be(&radix_repr, 10).unwrap();

I though that  setting to n to 0 (i.e. fractional digits are decimal) will round the value to 1, hence mantissa will 1 and exp will be 0. But this isn't the case. Probably  I am misreding the docs. Can you point me to a function using which I can round the value towards 0 and mantissa will drop rounded-off digits?

round is the function that can round fractional part of a number.
What's the value of this ROUNDING_MODE ?

Also, rounding will not change exponent of a number, unless there was overflow during rounding.

What's the value of this ROUNDING_MODE ?

It is set to none - RoundingMode::None

Ok, so seems a like the only way is to read the mantissa after rounding as a string. Drop off digits after decimal as per the exponent. Then parse the resulting string of digits into BigUint. Do you think there's a better way to do this?

This is what I came up with:
let mut consts = Consts::new().unwrap();

let mut value = AstroBFloat::from(1.2);

let (sign, radix_repr, mut ex) = value
    .round(0, ROUNDING_MODE)
    .convert_to_radix(astro_float::Radix::Dec, ROUNDING_MODE, &mut consts)
    .unwrap();

if ex < 0 {
    ex = 0;
}

// Assume sign is always positive
let value_biguint = BigUint::from_radix_be(&radix_repr[..ex as usize], 10).unwrap();

round() with RoundingMode::None has no effect: docs.
The most efficient way in my opinion is to get raw parts of big float, and then construct big integer from the mantissa slice after accomplishing required bit shift.

Sorry for late reply!
Is this what you had in mind ?
// PRECISION = 256
// MANTISSA_LEN = 4
let value = value.0.clone();
let (raw, _, s, _, _) = value.as_raw_parts().unwrap();
let exponent = value.exponent().unwrap();

let mut bits = exponent;
let mut index = MATISSA_LEN - 1;
let mut res = BigInt::zero();
while bits > 0 {
    res += (BigInt::from_u64(raw[index as usize]).unwrap())
        << (astro_float::WORD_BIT_SIZE * index);
    bits -= astro_float::WORD_BIT_SIZE as i32;
    index -= 1;
}
res >>= (PRECISION as i32) - exponent;
res = if s.is_negative() { res.neg() } else { res }

Closing the issue as it is not a bug.


Define logo

Idea
Derive logo from Baloise logo (as this is the source of the umbrella idea) by:

rotating it counterclockwise by 90 degree
split the tail of the basilisk of the original Baloise logo: representing an combination of O and I of Open-Insurance
keep colors, symmetry and style (for now)

In context of #6 we've (for now) agreed on using the branding of OPIN instead of an (our) own one. Resolving this accordingly for now.

We've (@ralfzurich, @MarkusTiede  and @OpenInsurance ) briefly discussed to use the same (but yet a bit different) branding:
Corresponding to the differentiation of a project <-> product (by RedHat) we'd also like to see the both initiatives this way:

open-insurance.org: the project approach
openinsurance.io: the product approach (derived from project (re)sources)

Therefore I'd like to propose a similar but yet a bit distinctive (by color) different icon for these both initiatives:

Square:


⚠ Bofrost.de has degraded performance

In 6dfda6c, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1484 ms

Resolved: Bofrost.de performance has improved in ec55a9d.