need to include exception for Bathy_depth

This code adds an "_ann" suffix to all variables when processing layers -- however, Bathy_depth needs to be excluded.
https://github.com/BigelowLab/brickman/blob/01136f2a28962d96fd5d5c13d362cb5e1656da98/R/io.R#L8`
    x <- suppressWarnings(stars::read_stars(filename,                            sub = paste0(vars, "_ann"),                            curvilinear = c("nav_lon", "nav_lat"),                            quiet = !verbose)) |>       rlang::set_names(paste0(vars, "_ann"))

Appears to be fixed for good with https://github.com/BigelowLab/brickman/commit/2ec7f8f2c3dcd142e9f54c214e0252c6ec034c46 (fingers crossed)


[Packaging][Conda] Ubuntu: libarrow conda package fails to install on ecryptfs

Describe the bug, including details regarding any error messages, version, and platform.
Ubuntu 22.04.1 x86-64
conda 22.9.0 (defaults channel)
My home directory was created on top of ecryptfs by the Ubuntu installer:

$ mount | grep home
/home/.ecryptfs/crusaderky/.Private on /home/crusaderky type ecryptfs (rw,nosuid,nodev,relatime,ecryptfs_fnek_sig=0ee7f63b0c91f840,ecryptfs_sig=c7f3e46a3b8390b1,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs)

Trying to install libarrow with conda fails with [Errno 36] File name too long:

$ conda create -n test libarrow
InvalidArchiveError("Error with archive /home/crusaderky/miniconda3/pkgs/libarrow-10.0.1-h86614e7_4_cpu.conda.  You probably need to delete and re-download or re-create this file.  Message was:\n\nfailed with error: [Errno 36] File name too long: '/home/crusaderky/miniconda3/pkgs/libarrow-10.0.1-h86614e7_4_cpu/share/gdb/auto-load/home/conda/feedstock_root/build_artifacts/apache-arrow_1673819166020/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol'")

Out of the hundreds of other packages that I'm installing, libarrow seems to be the only problematic one.
Workaround
Move the conda root dir to ext4:
$ sudo mkdir /home/$USER-nocrypt
$ sudo chown $USER:users /home/$USER-nocrypt
$ mv /home/$USER/miniconda3 /home/$USER-nocrypt/
$ ln -s /home/$USER-nocrypt/miniconda3 /home/$USER/miniconda3
$ conda create -n test libarrow

Component(s)
Python

It seems that this is a conda package problem. Could you report this to https://github.com/conda-forge/arrow-cpp-feedstock ?


BitDefender detects install process as Variant.Bulz.6751

As the title specifies, BitDefender detects one of the executables / temp files as Variant.Bulz.6751 malware.

False positives unfortunately, I will look into contacting bit defender and the other anti virus companies. If that doesn't work I'll think about purchasing a code signing certificate.


ad-hoc filtering is applied incorrectly

Use TimeSeries and Logs panels together on the same dashboard. Display some logs in Logs panel and try filtering by one of the fields:

Filter is applied incorrectly and breaks all other panels on the dashboard:

The original query used for one of the panels:
kubernetes.pod_namespace:~"$namespace" kubernetes.pod_name:~"$pod" kubernetes.container_name:~"$container"
| stats by (kubernetes.pod_name,kubernetes.container_name) count() logs_total
| filter logs_total: > 10
| math(logs_total/$_interval)

The resulting query sent by Grafana after filtering by field value in the table:
kubernetes.pod_namespace:~"argocd" kubernetes.pod_name:~".*" kubernetes.container_name:~".*"<PHONE_NUMBER>00000006fe3869127251e6c8c8bbee1a18bfbc _stream_id:"=" | stats by (kubernetes.pod_name,kubernetes.container_name) count() logs_total | filter logs_total: > 10 | math(logs_total/$_interval)

The part<PHONE_NUMBER>00000006fe3869127251e6c8c8bbee1a18bfbc _stream_id:"="  is syntaxtically incorrect for LogsQL.

Hi! The issue was fixed in the new release. Please check it. If you find any problems feel free to reopen the issue


Question regarding milestone of https://github.com/mattermost/desktop/pull/1933

Hi!
@amyblais marked the mentioned PR for milestone 5.1.0, but does that really mean we have to wait 5.0.2...5.1.0 until this will find its way into an official client? I have about 400 colleagues going totally mad about this problem after the last upgrade (because of our corporate Windows theme) and they'd love to see this showing up as soon as possible in an upcoming version.
Is there any reason for this not being planned for 5.0.3? Or do I have to compile the desktop version on my own?
Regards,
Holger

@pandel Yes, the plan is to release this in version v5.1, which should be out in the coming months.
However, if you would like to use the fix now you can find nightly builds of our Desktop App (which will contain the fix) here. Please note however that these builds are not considered stable and are currently unsupported.

I guess the main question is more why is that fix not included in 5.0.3? Also don’t see the point.

At the time we didn't think it was mission critical, sorry for the inconvenience. Unfortunately v5.0.3 final was cut yesterday so I'm unable to add it at this point.

I am general in favor to add all available bigfixes into the next release. Why wait?

Normally we include regression fixes and high severity fixes to dot releases. We didn't realize this was critical, but we can take this into consideration if 5.0.4 gets scheduled.

@amyblais Many thanks for your clarification. I must admit that a visible taskbar icon is absolutely mission critical! I had over 100(!) phone calls only in the first two hours after upgrading Mattermost to 5.0.2 because of the missing icon! Our task bar is nearly black (corporate decision) and so the icon is invisible atm. People open and close Mattermost via this icon and we use minimize to taskbar, so they simply don't find the icon whenever they want to write a new message.
Thanks for the hint regarding the nightly builds. I am no big friend of them in production, but the icon problem is even more problematic, so I will consider this...

@amyblais
FYI, I recompiled 5.0.3 from source with added #1933 . It works now :-) - hopefully you decide to integrate this patch before 5.1.0, so we don't have to recompile again for every new version.

@pandel We're planning to fix this in v5.0.4 along with another fix. v5.0.4-rc1 will be cut soon.

@amyblais WOW! Ok, that is faster than I expected. Many many thanks for taken this so seriously!


Keep track of fellows that are Software Carpentry or Data Carpentry instructors

This pull request change the data base as requested by @anenadic.

Superb - thx @rgaiacs!


fix: rp-adapter ui

Fix RP Adapter UI (trustbloc/edge-adapter#200)
Signed-off-by: George Aristy<EMAIL_ADDRESS>

@llorllale Did you run the sandbox demo ? I see that the merge build for https://github.com/trustbloc/edge-adapter/issues/200 has failed - https://dev.azure.com/trustbloc/edge/_build/results?buildId=6148&view=results.

@rolsonquadras

@llorllale Did you run the sandbox demo to verify the changes for trustbloc/edge-adapter#20 ? I see that the merge build for trustbloc/edge-adapter#200 has failed - https://dev.azure.com/trustbloc/edge/_build/results?buildId=6148&view=results.

I'll fix the lint error over there. This shouldn't block this PR.

@rolsonquadras

@llorllale Did you run the sandbox demo to verify the changes for trustbloc/edge-adapter#20 ? I see that the merge build for trustbloc/edge-adapter#200 has failed - https://dev.azure.com/trustbloc/edge/_build/results?buildId=6148&view=results.

I'll fix the lint error over there. This shouldn't block this PR.

Then the PR description needs to be updated as this PR doesn't contain updates mentioned in trustbloc/edge-adapter#20, right ?

@rolsonquadras

@rolsonquadras

@llorllale Did you run the sandbox demo to verify the changes for trustbloc/edge-adapter#20 ? I see that the merge build for trustbloc/edge-adapter#200 has failed - https://dev.azure.com/trustbloc/edge/_build/results?buildId=6148&view=results.

I'll fix the lint error over there. This shouldn't block this PR.

Then the PR description needs to be updated as this PR doesn't contain updates mentioned in trustbloc/edge-adapter#20, right ?

Fixing the error over there...

@rolsonquadras fix in trustbloc/edge-adapter#207 please approve

@rolsonquadras please verify now


Add unique index to email & mobile fields

Like, why haven't we done this yet?!?
Luckily, it seems like we've plugged the bugs that were letting this happen so we shouldn't see the issue anymore regardless, but if not it's better to fail with a constraint violation than save invalid data that we have to clean up later on!
See MongoDB Documentation.

cuh-ray-zay

:scream:


System.TypeInitializationException

(copied from https://github.com/akavache/Akavache/issues/169)
I installed Akavache 4.0 via nuget, and with this code, I get the exception (WP8.1 WinRT project):
var image = new BitmapImage();
var source = ...

var sb = await BlobCache.LocalMachine.LoadImageFromUrl(source);

using (var ms = new MemoryStream())
{
    await sb.Save(CompressedBitmapFormat.Png, 1.0f, ms);
    image.SetSource(System.IO.WindowsRuntimeStreamExtensions.AsRandomAccessStream(ms));
}

Exception details:
{System.TypeInitializationException: The type initializer for 'Akavache.BlobCache' threw an exception. ---> System.IO.FileLoadException: Could not load file or assembly 'Splat, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
   at System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)
   at System.Type.GetType(String typeName, Boolean throwOnError)
   at Akavache.DependencyResolverMixin.InitializeAkavache(IMutableDependencyResolver This)
   at Akavache.BlobCache.<.cctor>b__0()
   at Splat.Locator.RegisterResolverCallbackChanged(Action callback)
   at Akavache.BlobCache..cctor()
   --- End of inner exception stack trace ---
   at Akavache.BlobCache.get_LocalMachine()
   at (my program here)

The "The located assembly's manifest definition does not match the assembly reference." part is likely the issue here. I'm using Splat in the source, and I see Splat in my project references, and I have Splat.dll in packages\Splat.1.3.3\lib\Portable-Win81+Wpa81, but when I inspect the file, it's not version <IP_ADDRESS>, it's version <IP_ADDRESS>:

TL;DR make sure you have the build configuration set correctly.

Android + iPhoneSimulator =

Hi, I experience the same issue. I'm working on NET45, installed Akavache 4.1.1 and  Splat 1.6.2 but I still have this 'System.TypeInitializationException'

Hi, I spent 24 hours on this and came with the result, that it is working in RELEASE mode only with following conditions:

Microsoft C++ 2013 referenced (Add reference, win 8.1, Microsoft C++ 2013 Runtime...)
Install support for SQLITE (Tools - Extensions and Updates)
In project options do not check "Enable optimizations"
If running on simulator, set Target processor to x86
If running on device, set Target processor to ARM
Note: I found no way to make it working in DEBUG mode


LCFS - Implement 'current_user' Endpoint in FastAPI Middleware for User and Organization Data Retrieval

Describe the task
Develop a new endpoint named 'current_user' in the FastAPI middleware. This endpoint should fetch the mapped user's information from the database, relying on the user token ID present in the auth token of the request header. The returned data should include comprehensive user information and the organization they belong to.
Purpose
To provide authenticated users with an efficient and secure way to access their complete profile information and associated organization details, enhancing user experience and streamlining data retrieval operations for frontend applications.
Acceptance Criteria

[ ] The endpoint is capable of extracting the user token ID from the auth token in the request header.
[ ] The system fetches the correct user information based on the extracted token ID from the database.
[ ] The response from the 'current_user' endpoint includes all user details and the associated organization's information.
[ ] Proper error handling is implemented, ensuring that invalid or unauthorized requests are promptly identified and appropriate responses are returned.

Additional context

Considering that the user token ID is sensitive information, it is essential to ensure that proper authentication and authorization checks are implemented before processing the request.
It would be beneficial to implement rate-limiting or throttling on this endpoint to prevent potential abuse or DDOS attacks.
Ensure the database queries are optimized for fast retrieval to maintain good response times for the endpoint.

Hey team! Please add your planning poker estimate with Zenhub @hvalioll @jig-patel @kevin-hashimoto @prv-proton

Nothing for PO to test


FactBox for Storefront articles

We need a FactBox for the Storefront articles like this:

The factbox should have 3 color options; First, Second, Third.
It should be possible to add Header, Paragraph, Links and Lists to the box.

Solved by the Card component


Update navigation header focus states (take two)

What
Repeat of https://github.com/alphagov/govuk_publishing_components/pull/2319 which was reverted in https://github.com/alphagov/govuk_publishing_components/pull/2395.
Should fix the reason for the reversion - #2319 was causing the end to end tests to fail, specifically when a page rendered by a frontend application was visited.
These were failing with a not very verbose 500 error - the theory is that this was caused by a closing </div> tag being omitted, which would cause the Nokogiri parser to throw an error in Static, which would then return a 500 error.
This pull request outputs valid HTML with the correct number of closing tags, so should not cause the same error to persist.
Updates the focus states on the navigation elements to use :focus-visible with a fallback for browsers that don't support that pseudo-selector.
Also fixes misalignment reported in #2331.
Why

Using :focus means that the focus state is triggered when a user clicks on a button - this could lead to users being uncertain to what the state of the button is, as the button stays focussed when the cursor moves away from the button.
Using :focus-visible means that the focus state is only used when an element is tabbed to - the focus remains until the next item is navigated to.
Visual Changes
No-JavaScript layout

Mobile before
After

Desktop before (navigation items are showing focus, hover, no-state):

Desktop after (navigation items are showing focus, hover, no-state):

JavaScript available layout

Screen size
Before
After

< 360px

> 360px

Desktop before:

Desktop after:

Menu open before:

Menu open after:

One comment. Looking swell otherwise 👍
I should've caught that missing closing div tag when I reviewed this, sorry 😞 Did you manage to test this against local e2e's?

Nah, the </div> was there but cunningly hidden inside an if statement - and a browser's more relaxed approach to closing tags meant the component behaved as expected. Only by using the old-school view source was the error highlighted; and I ran a couple of pages through the W3C markup validator to double check it was okay this time. It was an error so basic it shouldn't even need checking for.
I haven't managed to run this against local e2e tests yet - mainly because I haven't been able to run the e2e tests locally at all yet. I've run Static locally with this change, and then run frontend, collections, and government-frontend tests locally which all passed okay.


How can I use structs?

Hi,
I'm trying to use my C code and works fine, but when I have to call a function that takes Structs as input and/or output, I don't know how to send the information in JS. Example:
** .h File **
struct input_example {
    struct other_struct othStruct;
    struct internal_struct internalStruct;
    struct stores_external_Struct externalStruct[3];
    char path[200];
    char file [20];
    char database[200];
    int id;
};
struct output_example {
    int id;
    char somechar[100];
    int limitIntegers[15];
    float somefloat;
};

** .C File **
#include "file.h"
long calc_example(struct input_example *input, struct output_example *output)
{
 .... all code ....
}

** ..js File **
/*global cordova, module*/
module.exports = {
    calc_example: function(STRUCT ,successCallback, errorCallback) {
        cordova.exec(successCallback, errorCallback, "HelloCPlugin", "calc_example", [STRUCT]);
    },

How to call a function with input sctructs directly from JS file?
I don't know how to pass parameters as struct values in JS file. May be as an Array, multi-array?
Thank you!

This example plugin only demonstrates primitive types such as int and string.
I'm unsure if the Android JNI supports passing of complex types but that is beyond the scope of this simple example.
For iOS it's easier as you only have to map the stringified Javascript structure passed via the Cordova plugin interface to C types in your Objective C plugin implementation.
I'd suggest Googling how to pass complex types using the Android JNI as this is not something I've had need to do so have no experience with.

Android is over for this project. iOS is the main.
My problem is when Objective try to read a Struct from JS.

- (void) calc_example:(CDVInvokedUrlCommand *)command
{

    // option 1 - NSString* a = [[command arguments] objectAtIndex:0];
    // option 2 - NSArray* a = [[command arguments] objectAtIndex:0];
    // option 3 - NSDictionary* a = [[command arguments] objectAtIndex:0];
    // More options?

    float output = calc_example(a);

    CDVPluginResult* result = [CDVPluginResult
                               resultWithStatus:CDVCommandStatus_OK
                               messageAsDouble:output];

    [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
}


New BG crash

the bots do not enter the BG and after a while the server goes down

Hopeful resolved in https://github.com/ZhengPeiRu21/mod-playerbots/commit/dbb80b6aa22f3a21bf94645c84e49af9db3edc52


Fast pipe precedence

I think these should always mean exactly the same thing:
foo->bar(baz);
foo->(bar(baz));

This is a really confusing experience and is especially awkward when upgrading the relatively pretty:
foo
|. Map.get("bar")
|. Option.getWithDefault("baz");

to the paren heavy:
foo
->(Map.get("bar"))
->(Option.getWithDefault("baz"));

https://reasonml.github.io/en/try.html?rrjsx=true&reason=GYexFoD4CMEMCcAUcBeBKA3AKC6EACAHwDp84lVMc8pkE71Mg
Apologies if this is a KP or already open somewhere. It's a little tricky to search for operators and I didn't see anything.

explanation here: https://github.com/facebook/reason/issues/2118#issuecomment-411529634
from I understand it should safe to just search and replace |. with -> when compiling with BuckleScript (when the fixes in reason are upstreamed to bucklescript).

One of the goals of the fast pipe sugar is to allow certain kinds of code that isn't possible with the infix operator |..
Example:
/* before with infix operator |. */
(location |. streets)[0]

/* after with fast pipe sugar */
location->streets[0]

|. and -> have different precedence. -> has the same precedence as the . in foo.bar.
Fast pipe reads from left to right as you would do with the ., e.g. x.y.z or x->y->z.
To allow easy stubbing of -> on native, let (|.) = (a, f) => f(a), we made the choice to parse the following an ast that doesn't contain function application on the right side of ->.
This is needed to make let (|.) = (a, f) => f(a) work.
Example:
a->f(b);

/* ast sees */
(a->f)(b);
(a |. f)(b);

/* ocaml executes, because of let (|.) = (a, f) => f(a) */
f(a)(b);

The downside is that we get the following transformation:
foo
|. Map.get("bar")
|. Option.getWithDefault("baz");

/* precedence of |. results in the following ast */
foo
|. (Map.get("bar"))
|. (Option.getWithDefault("baz"));

/* refmt prints */
foo
->(Map.get("bar"))
->(Option.getWithDefault("baz"));

With the precedence of fast pipe and the fact that it doesn't accept an expression with function application on the right side, the parens are necessary. Also note the ast stays the same here.
If the parens where dropped we would get a total different ast:
foo
->Map.get("bar")
->Option.getWithDefault("baz");

(((foo->Map.get)("bar"))->Option.getWithDefault)("baz");
(((foo |. Map.get)("bar")) |. Option.getWithDefault)("baz");

Refmt should not change the meaning of your program's ast, hence we print the parens to conserve the original ast…
@rickyvetter does this make sense? Do you have a suggestion on how we could solve this?

Yup. This makes a lot of sense! Thanks for going through the detailed explanation (for the nth time!).
 So foo |. bar.baz and foo |. bar[baz] in particular are common cases where the issue comes up. Why can't the extra parens be removed by the same rule that would remove unnecessary parens in other places in refmt? It removes foo && (bar && baz) correctly. Is this the same issue?

I can investigate if the parens can be removed safely.

could be great @IwanKaramazow! I'm having lots of cases were the parens move the expression far away, which doesn't really look good. mostly with the a->(b(c)) pattern, where the parens could be removed safely


Custom prompt when generating commit messages

It would be nice to have the ability to add custom instructions when generating commit messages. that way it can follow your own commit styles and be consistent.
For example, you might want it to follow Conventional Commits

we need this please!

Closing as duplicate of https://github.com/microsoft/vscode-copilot-release/issues/526. See this comment on how to specify custom instructions for commit message generation.


How to use sass/scss styles

I'm going to leave this issue for discussion because author is dead
I'm using react-native-sass-transformer to generate stylesheets from .scss modular files in my app. On phone it works fine, but in web with webpack and electron-builder it only outputs css files into page, but does not append classNames to Views, elements, etc.

Neither style nor className attribute works, it replaces anything inside these with custom styles
However styles are there, generated from file and ready to be used:

The only problem is to write correct class names into class argument in DOM and all methods I tried with webpack didn't work well.
I thought maybe inject javascript utility that goes through each element and adds specific class to classList of it? But how to find out which element should have which class? I tried to pass name, data, some random arguments to <View> but they aren't appearing in built version on the page (my goal was to have something like <View realClass="gybberish" /> and
 to then make it into
)
Any ideas on how to implement this?

Since this library works well with inline style={} attributes where you put styles right into prop, maybe it's better to find loaders that can load sass files and put contents into prop

Also you can use style prop to pass real classname into page with css-variables like this:
<View style={style.container ?? { '--realClassName': 'container' }} />

on page:

But how to generate  ?? { '--realClassName': 'container' } part before webpack and its style loaders catches it? Is it worth doing this at all?

I used
{
    test: /\.tsx?$/,
    use: [
      {
        loader: 'string-replace-loader',
        options: {
          search: /style={styles\.([a-zA-Z_0-9]+)}/,
          replace: 'style={{ "--realClassName": "$1" }}',
        }
      }
    ]
  }

but it doesn't work with modules anyway so you have to find a better way good luck


Remove rnn-serving from example functions

Summary
rnn-serving is known to be unstable.

No need to delete the YAML, other than that is ok. Thanks


Tracing Updates

Attempt to instrument more things with tracing, and set reasonable trace levels for things. Would love feedback and input on it.
Based on the discussion in #829

So I fixed the dumb issues and applied your feedback. Now the only thing left to do is make sure the levels of each thing are consistent

Awesome! Yeah there is nothing about the levels that sticks out to me when reading through it. I'm sure there will be tweaks along the way but this seems good to me. I'm going to merge, and thanks again for all your work!


[WIP] Implement CircuitGraph and IRLookup to firrtl.analyses

This PR implements CircuitGraph and IRLookup by rebasing #937 by @azidar into master branch.
It need refactor to a more efficient way to analyse circuit.
status:

[x] rebase into master
[x] remove unrelated codes
[x] fix compiling
[ ] fix testing
[ ] port to annotation to cache between different transforms
[ ] make CircuitGraph regional to Module rather than Circuit
[ ] RFC API

Contributor Checklist

[ ] Did you add Scaladoc to every public function/method?
[ ] Did you update the FIRRTL spec to include every new feature/behavior?
[ ] Did you add at least one test demonstrating the PR?
[ ] Did you delete any extraneous printlns/debugging code?
[ ] Did you specify the type of improvement?
[ ] Did you state the API impact?
[ ] Did you specify the code generation impact?
[ ] Did you request a desired merge strategy?
[ ] Did you add text to be included in the Release Notes for this change?

Type of Improvement

API Impact

Backend Code Generation Impact

Desired Merge Strategy

Release Notes

Reviewer Checklist (only modified by reviewer)

[ ] Did you add the appropriate labels?
[ ] Did you mark the proper milestone (1.2.x, 1.3.0, 1.4.0) ?
[ ] Did you review?
[ ] Did you check whether all relevant Contributor checkboxes have been checked?
[ ] Did you mark as Please Merge?

rebase on to always-wir to fix #1621.

In 5a9f910 Bundle type cache by IRLookup is different from Expression bundle type. solution I can come up with is changing all Seq to Vec in IR case class, or update to 2.13. Any good suggestions?

In 5a9f910 Bundle type cache by IRLookup is different from Expression bundle type.

Can you expand on this, what precisely is the issue?
The types are not equal but they both still implement structural equality:
Welcome to Scala 2.12.11 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_162).
Type in expressions for evaluation. Or try :help.

scala> import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.ArrayBuffer

scala> Seq(1, 2, 3) == ArrayBuffer(1, 2, 3)
res0: Boolean = true

solution I can come up with is changing all Seq to Vec in IR case class, or update to 2.13

Both of these would be massively backwards incompatible. We cannot just switch to 2.13 without a long period of cross compiling to 2.12 (we haven't even dropped 2.11 yet, so we need at least a major release cycle of adding 2.13 and deprecating 2.11). I have thought about switching to a concrete type instead of Seq for performance reasons, but that too is a massive undertaking that shouldn't undertake lightly.

Sorry @jackkoenig I just found the bug, is not related to 'ArrayBuffer' and List.
It was an internal logic issue from original codes.

@sequencer, that does appear to be a bug in Utils.expandRef -- at the very least, it doesn't match the description from the API spec in the Scaladoc for the method. Unfortunately, this is one of the pain points of using a method that doesn't get used in more than one place in the codebase.
I made the behavior of expandRef line up with the description in #1624 -- feel free to try that out and see if it fixes your issue.

Every tests passed! Thank you! @albert-magyar, after #1624 upstream, I will rebase to master.

wait #1624 to be merged, codes cleaned up.

quite strange, in https://travis-ci.org/github/freechipsproject/firrtl/jobs/689972026:
/home/travis/build/freechipsproject/firrtl/src/main/scala/firrtl/analyses/ConnectionGraph.scala:412:3: Could not find any member to link for "DiGraph".
I did import DIGraph with:
import firrtl.graph.{CyclicException, DiGraph, MutableDiGraph}

@azidar ready for review now, sorry for the delay.

@sequencer can you rebase this on the latest master please?
This is quite a big PR and there might be some Scala 2.13 incompatible changes.

Sorry for the delay!
Work on it today!

This is quite a big PR and there might be some Scala 2.13 incompatible changes.

I think it's OK now:)


Datagrid checkbox styling

When you add a checkbox to the column it seems to be a fixed width size.
So if you make it smaller it falls behind:

I think the root cause it that line: https://github.com/amwx/FluentAvalonia/blob/8636ee6ed41420ea93b93a1b6011999768330f83/src/FluentAvalonia/Styling/ControlThemes/BasicControls/CheckBoxStyles.axaml#L20
I see three solutions:

Remove the MinWidth from CheckBox completely
Add a special Style for CheckBoxes inside a DataGridCell
Override the given resource in DataGrid-style

@amwx any preference?

I've decided to just go ahead and remove the forced MinWidth from CheckBox, RadioButton, and ToggleSwitch. Changes are already in the open next preview PR.

@amwx great, thank you a bunch as always!


range() integer end argument expected, got float

I am simply trying to use luminoth with a simple image but I run into this issue.
Do you know where it might come from?
MBP-de-Wael:luminoth Waelabd$ lumi predict test122.jpg --checkpoint=fast --save-media-to="." Found 1 files to predict. 2018-11-10 13:12:07.176885: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA Predicting test122.jpg...Traceback (most recent call last):   File "/usr/local/bin/lumi", line 11, in <module>     sys.exit(cli())   File "/usr/local/lib/python2.7/site-packages/click/core.py", line 722, in __call__     return self.main(*args, **kwargs)   File "/usr/local/lib/python2.7/site-packages/click/core.py", line 697, in main     rv = self.invoke(ctx)   File "/usr/local/lib/python2.7/site-packages/click/core.py", line 1066, in invoke     return _process_result(sub_ctx.command.invoke(sub_ctx))   File "/usr/local/lib/python2.7/site-packages/click/core.py", line 895, in invoke     return ctx.invoke(self.callback, **ctx.params)   File "/usr/local/lib/python2.7/site-packages/click/core.py", line 535, in invoke     return callback(*args, **kwargs)   File "/usr/local/lib/python2.7/site-packages/luminoth/predict.py", line 279, in predict     save_path=save_path,   File "/usr/local/lib/python2.7/site-packages/luminoth/predict.py", line 94, in predict_image     vis_objects(np.array(image), objects).save(save_path)   File "/usr/local/lib/python2.7/site-packages/luminoth/vis.py", line 170, in vis_objects     draw, obj['bbox'], color, width=round(3 * scale), fill=fill   File "/usr/local/lib/python2.7/site-packages/luminoth/vis.py", line 75, in draw_rectangle     for i in range(width): TypeError: range() integer end argument expected, got float.

I also have this issue.

Thanks for your report!
I have fixed it in #243. In the meantime, you can use Luminoth with Python 3 (Python 2 support will be removed eventually).


Potential features

Live GitHub stats on Dashboard
Profile
Team matching?

Moved to ideas column in the systems Github project: https://github.com/orgs/HackIllinois/projects/8#column-11551794


SPSearchTopology: Fixes issue where exception was incorrectly thrown

Pull Request (PR) description

Fixes issue in SPSearchTopology where an exception was thrown if the FirstPartitionDirectory didn't exist on the local server, which is not required when the local server isn't going to run the Index Component.
This Pull Request (PR) fixes the following issues

Fixes #1095

Task list

[x] Added an entry to the change log under the Unreleased section of the
file CHANGELOG.md. Entry should say what was changed and how that
affects users (if applicable), and reference the issue being resolved
(if applicable).
[x] Resource documentation added/updated in README.md.
[x] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[x] Comment-based help added/updated.
[x] Localization strings added/updated in all localization files as appropriate.
[x] Examples appropriately added/updated.
[x] Unit tests added/updated. See DSC Community Testing Guidelines.
[x] Integration tests added/updated (where possible). See DSC Community Testing Guidelines.
[x] New/changed code adheres to DSC Community Style Guidelines.

This change is

@NikCharlebois Could you do a quick review?


When i create a new project generated by angular cli not working?

Versions
Angular CLI: 1.7.4
npm:5.6.0
Node: 8.11.1
OS:  Windows 7 win32 x64
Repro steps

install latest CLI (1.7.4) using npm install -g @angular/cli
generate new project using ng new demoAng4
then cd into demoAng4
And launch the project using ng serve

Observed behavior
The browser for localhost:4200 shows blank with the afore-mentioned errors
vendor.bundle.js:523 Uncaught SyntaxError: Invalid or unexpected token inline.bundle.js:55 Uncaught TypeError: Cannot read property 'call' of undefined     at __webpack_require__ (inline.bundle.js:55)     at Object.0 (main.bundle.js:66)     at __webpack_require__ (inline.bundle.js:55)     at webpackJsonpCallback (inline.bundle.js:26)     at main.bundle.js:1
Desired behavior
App works normally
``
Please help me to find what is the problem?

Thanks for reporting this issue. This issue is now obsolete due to changes in the recent releases. Please update to the most recent Angular CLI version.
If the problem persists after upgrading, please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior.


GoogleDataSettings reports an error if repository used as SubModule.

If I subModule the repository in an empty project and clone it in a folder "Assets/__submodules/Unity-QuickSheet", it always callback the error as shown on the following screenshot.
If the repository is cloned and then open the project with Unity, there is no error at all.
Would be better if I can submodule then can work from my project then always keep your project up to date :).

Good pointing it out!
Right, that is already known problem and fixed in the "feature/template" branch but not merged into the master till now.
I suggest you to switch to the feature/template branch and try that.
The main change of "feature/template" branch is adding SingletonScriptableObject class which makes setting file related code to be much simpler and yes, the hard-coded .setting file path was removed.
Cheers,

Thank you!!
I confirm that "Google Data Settings" now works using the "feature/templatepath" branch!
Cheers 👍


Future of MailTrackerBlocker – Porting from Plugin to Mail Extension

It seems, that macOS 14 Sonoma will remove the plugin feature in Apple Mail. As Apple said with macOS 11 Big Sur, the only way to extend Mail will be the limited Mail Extensions. In my understanding MailTrackerBlocker could be ported to Extensions. Have you already investigated this case?

Yep, definitely possible, looked into it a few years back. Hadn't considered porting it though because Mail Privacy Protection is a more robust solution

I've read several times that Mail Privacy Protection is supposed to be better. Maybe I'm misunderstanding how it works, but I see it as complimentary to MTB. Let's use an example, here's the latest tracker MTB has blocked:
<img src="https://fromtheheart.us18.list-manage.com/track/open.php?u=3D818a719e5f2462d35cb6f299d&id=3D2dc587eecf&e=3Dd514c7520d" height="1" width="1" alt="">
According to their documentation, Apple's MPP implementation can do 3 things:

It can hide my IP address from the web server serving this <img> by using proxies. But the email marketing platforms don't need to use my IP address to track this, they use the unique identifier u=3D818a719e5f2462d35cb6f299d&id=3D2dc587eecf&e=3Dd514c7520d". That is, tracking occurs at the application layer, not the network layer (I used to do this myself in a previous job;  I could see exactly who opened my messages, and it is at the application layer that this tracking was enabled).

Additionally, it can download content in the background rather than when the message is opened. Apple's documentation claims:

This option prevents senders from collecting information when you view a message, such as when and how many times you view it, whether you forward it, your IP address and other data.

To an extent, this is all correct, but (1) still applies. As the application layer contains a unique identifier which the email marketing platform associates with your email address (plus anything else they know about you), it can (and does) still track you.

Finally, Apple's MPP implementation can will block all remote content, and this indeed will prevent tracking; until I press the "Load Remote Content" button! Then I've overridden this setting for this instance, and we're back to either being tracked or relying on something like MTB to block tracking at the application layer.

If I've misunderstood anything above, I would be very grateful if someone could set me straight, because it's been bothering me that MPP is being touted as some kind of privacy silver bullet, when its effectiveness seems easily circumvented to me.

tracking occurs at the application layer, not the network layer

Yes, that's right. But MPP also works at the application-level, as a transparent HTTP proxy built into macOS (the NetworkServiceProxy daemon) that works with Mail, similar to what iCloud Private Relay's is for Safari. For a given image, this MPP takes the whole HTTP URL, caches it on Apple's server, then it comes time for Mail to lookup that exact URL when you open that email, the NetworkServiceProxy daemon will transparently redirect the cached content back to Mail instead of going direct to the marketer's server. When the proxy/relay caches the spy pixel, it will trigger it, and yes, the spy pixel will report that it's been opened but I think dhh stated MPP's impact the best when he said::

Either way, and given Apple's monopoly advantage with their preinstalled Mail app, we don't need much of an uptake from what they're calling Mail Privacy Protection to break the dam on spy pixels. You can't really say anything authoritatively about open rates if 5-10-30-50% of your recipients are protected against snooping, as you won't know whether that's why your spy pixel isn't tripping, or it's because they're just not opening your email.

Anyway, for all this to work, you need to check "Protect Mail Activity" instead of just the "Hide IP Address" box. "Load Remote Content" will indeed connect you directly to the marketer's servers and let them know when exactly you opened the mail.

The emailer can't tell if you've opened and viewed the email (because essentially all emails are opened and viewed upon receipt, and they can't tell your IP address, but what they can tell is if your email address is valid and not blocked by a spam filter.
I have MTB off and Mail Privacy Protection turn on on my Monterey machine, but for this reason I'm still not convinced it is better in all respects than MTB.

Thank you both for explaining in more detail how MPP works. Maybe I need to reassess. I appreciate your candour.

Decided to work on the Mail Extension. There's some limitations with the Content Blocker format that make it less effective than the plugin, the biggest one being that I can't setup a generic 1x1 rule anymore. I think we can capture the majority of trackers like we've been doing with targeted rulesets.
Anyhow, I've been going through the App Store review process. It'll still need a lot of work to get it up to same effectiveness as the plugin but let's see how it goes.

I'm using MailTrackerBlocker, because Mail Privacy Protection (and Private Relay which it uses) doesn't work together with Adguard: https://adguard.com/kb/adguard-for-mac/solving-problems/protect-mail-activity/
And so I'd love to see MTB converted to an extension.
A question though: "I can't setup a generic regex rule for 1x1px img tags anymore." - does it mean tracking pixels will be able get through?

A question though: "I can't setup a generic regex rule for 1x1px img tags anymore." - does it mean tracking pixels will be able get through?

If I'm limited to the Safari-style Content Blocker API, some will get through yes.But  I've been able to get it to work the same way as the plugin though Mail Kit's message security APIs. Have to wait a bit though; App Review is taking some time.

I did a soft launch of the Mail Extension. App Store-approved and all.
There's unfortunately two major issues that some users have been facing: Mail crashing and/or slow-loading of messages.  Because of the limited MailKit API, I'm not able to fix or even workaround these issues. These issues most likely are on the API/Mail side because they seem to occur when I had these users test out Apple sample Mail Extension app. Hoping there will be fixes before Sonoma is out in the wild.

Is this the extension you've softlaunched?
https://apps.apple.com/de/app/mailtrackerblocker/id6450760473

Nice to see the extension ported to Apple Mail's modern add-on type.

The bugs I mentioned above seem to have been resolved in recent Sonoma betas 🚀. So this extension will be officially launched on the same day as the Sonoma 14 release as it will require Sonoma. Ventura 13 and older users should continue to use the existing plugin.

So, currently there's no way to get the Extension as you removed it from that App Store?

Not at the moment. I was getting numerous complaints about the above issues with Ventura so I decided pull it until Apple's fixes land (in the form of Sonoma).

Does this mean that when it becomes live again, those who paid won’t have to repay?

Definitely not. If you already have it, you can update to the upcoming 1.0.5 version once it's live but you'll need to upgrade to Sonoma first to use it. If you'd like to stay on Ventura, I recommend staying on the existing plugin.

Could you release the mail extension (app) in the German Mac App Store?
Thanks.

+1 for worldwide access.

Unfortunately through further testing, Mail still crashes on the official Sonoma 14.0 release when my Extension is enabled. Seems to be random. The good news is that Apple has recently acknowledged my issue with the MailKit API but we'll have to wait for a fix from their end still.
As an interim workaround, I've been toying with the idea of releasing the Extension as a Content Blocker-only Extension. It will block trackers but won't be any tracker labeling/reporting functionality which means it won't give you any indication that something has been blocked (due to the Content Blocker API limitation). I'm thinking it's not worth putting it up in this form so I'm still leaning toward waiting for an official fix.

@apparition47 I remember you mentioning something about the new API's limitations compared to the older one, is it stuff like displaying information, or the actual tracker blocking (compared to the old one)?

I've managed to replicate the original plugin's functionalities with the new APIs (labeling trackers, displaying that info inline in the email viewer pane, blocking trackers not on the blacklist) but one of these APIs causes Mail to crash in its current state. Official APIs definitely shouldn't crash Mail.
The Content Blocker API doesn't crash but doesn't allow me to implement any of the above functions.

Hello! Just thought I would check in on the Sonoma support and if this extension was working. Looking forward in installing as I just came across this.

Still waiting for a crucial Mail fix on Apple's side. They've acknowledged my bug back in Sept but haven't seen any update around this as of 14.2 beta 1.

Thank you for the update! Awesome that you are on top of this having already looked at 14.2 right away. Hopefully they will address your bug faster than some Apple bugs I’ve tracked.
On Oct 26, 2023, at 11:05 PM, Aaron Lee @.***> wrote:
Still waiting for a crucial Mail fix on Apple's side. They've acknowledged my bug back in Sept but haven't seen any update around this as of 14.2 beta 1.
—
Reply to this email directly, view it on GitHubhttps://github.com/apparition47/MailTrackerBlocker/issues/200#issuecomment-1782215382, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATB4CRYTUBVDSY5XT5F2VB3YBMQHPAVCNFSM6AAAAAAZFCAZKWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBSGIYTKMZYGI.
You are receiving this because you commented.Message ID: @.***>

Still waiting for a crucial Mail fix on Apple's side. They've acknowledged my bug back in Sept but haven't seen any update around this as of 14.2 beta 1.

Will it then also be available in other App Stores around the world?

Did Apple still not fix it in 14.1.1?

Will it then also be available in other App Stores around the world?

Yes

Did Apple still not fix it in 14.1.1?

Hasn't been fixed according to https://developer.apple.com/documentation/macos-release-notes/macos-14_1-release-notes

How about 14.2.1?

Apple has since updated my bug report with the status "Potential fix identified - For a future OS update" but there hasn't been anything in 14.2.1 or the 14.3 betas. Will have to continue to wait

Is this your app? https://apps.apple.com/us/app/mailtrackerblocker/id6450760473

@Bob16180 Yes! Apple officially fixed the crash in Sonoma 14.3. There's still a few remaining bugs I need to iron out with Apple but I've put it in the store for now.

Congratulations on getting it released!  Any advice for users of the old version to upgrade?  Will there be a home-brew cask and/or TestFlight?  Or would you recommend buying the App Store version?

@blackketter Thanks! I've already had a few requests for non-App Store distribution. Not sure in what form would be best but looking into this down the line. For now, let me add you to TestFlight so you can try it out (email me from my profile, @apparition47).

There's a pretty annoying bug in 1.0.6: apostrophes and quotation marks are not displayed correctly in Mail messages: they appear as "â€™" and "â€œ", respectively. Accents don't appear correctly, either.
I've filed a bug report.

Sorry for the question, but does this version retain all the blocking capabilities of the original one?

So great to have this back working!
A few issues/observations:

Mail rendering seems slow now with the extension enabled?
There is no indication that something has been blocked.  There used
to be an icon, now all we see is a generic “plugin” icon which needs to be
clicked to see if anything was blocked or not.

I am happy to test new versions via TestFlight if required.

Message ID: @.***
com>

So great to have this back working! A few issues/observations: 1. Mail rendering seems slow now with the extension enabled? 2. There is no indication that something has been blocked. There used to be an icon, now all we see is a generic “plugin” icon which needs to be clicked to see if anything was blocked or not. I am happy to test new versions via TestFlight if required.
…
Message ID: @.*** com>

The extension needs to be enabled. There a puzzle piece/extension icon in the e-mail.

@Bob16180 Yes! Apple officially fixed the crash in Sonoma 14.3. There's still a few remaining bugs I need to iron out with Apple but I've put it in the store for now.

Thank you for continuing to develop this app! It works great.

@Bob16180 - Yes I had it enabled. ;)
Previous behaviour was there was an icon in the top right corner of the email display that showed was solid blue if trackers were blocked.    eg the image on the from the main git page https://github.com/apparition47/MailTrackerBlocker:

The solid blue X icon indicated that a tracker was blocked.
Now this is just the generic plugin icon - and you have to click on that to view if there were trackers or not.

There's a pretty annoying bug in 1.0.6: apostrophes and quotation marks are not displayed correctly in Mail messages: they appear as "â€™" and "â€œ", respectively. Accents don't appear correctly, either.

@odysseus90210 Thanks for the report. I moved it to the new repo. As mentioned, please send me the affected .eml if possible.
Note to anyone else with issues with the app version, please file it on the app repo instead: https://github.com/apparition47/MailTrackerBlockerApp

Sorry for the question, but does this version retain all the blocking capabilities of the original one?

@lothar-cell Yes, core blocking features that exactly the same. The original plugin is pretty mature at this point in contrast to the new app, which has a few bugs I need to work out as you can see in the comments. You are welcome to try out the app if you're on Sonoma 14.3 by using TestFlight.

Mail rendering seems slow now with the extension enabled?

@malwcal This one is a known issue that requires Apple to fix. I'm trying to flag this one to Apple. If you could, please also file a bug via Feedback Assistant referencing FB12796974.

There is no indication that something has been blocked.  There used
to be an icon, now all we see is a generic “plugin” icon which needs to be
clicked to see if anything was blocked or not.

Apple's new MailKit APIs have limitations like this. I can't change that icon (I'm asking Apple if they can let me change it). I do have an inline banner version that you could test out. Please invite yourself to the TestFlight to try out version 1.0.5 then let me know if you prefer this.

Will the sources for the new version be available or did you decide to make it closed-source?


groupBy should accept boolean values on Illuminate\Database\Eloquent\Collection

Laravel Version: 5.4.16
PHP Version: 7.1
Database Driver & Version: MariaDB 10.1

Description:
I have the problem, where I need to groupBy an eloquent field that's being casted as a boolean. An expected behaviour would be to allow groupBy for boolean field where true stands for 1 and false stands for 0. Also in a regular PHP $results[true] = 'value' results to  $results[1] = 'value'.
Steps To Reproduce:
Eloquent model:
/**
 * @property int $id
 * @property string $title
 * @property string|null $description
 * @property int $service_fee
 * @property bool $is_pickup
 * @property bool $is_active
 * @property int $order_to_display
 * @property \Carbon\Carbon $created_at
 * @property \Carbon\Carbon $updated_at
 */
class Shipment extends Model
{
    protected $table = 'shipments';
    protected $guarded = [];

    protected $casts = [
        'is_pickup' => 'boolean'
    ];
}

The following code throws an error: array_key_exists(): The first argument should be either a string or an integer :
$shipments = Shipment::all();
$shipmentsGroup = $shipments->groupBy('is_pickup');

I would be happy to make a PR for this.

Closing since a PR is already opened. Moving the discussion there.


Add switch node and fix log to console node

It would be nice if the Switch node could take T for its two inputs and give T output. Since there are plenty of data types, like Option, this doesn't support. But merging it for now since it's useful.


Create a getModuleFromModuleCode method to retrieve modules

1. A unified method to search and retrieve Modules using the ModuleCode
Currently, there isn't an efficient way of retrieving modules present in AddressBook::modules or in ModelManager::filteredModules as a Module object using only the ModuleCode.
As such, the main purpose of this PR is to introduce the getModuleFromModuleCode method.
2. More tests for Module -related methods in AddressBook and ModelManager
In v1.2, there were no tests added to  AddressBook and ModelManager despite the introduction of multiple module-related methods.
As such more unit tests were added to AddressBookTest and ModelManagerTest to test these  module-related methods.
3. Fixing of bug in AddressBook::equals
The tests added in point 2 above discovered a bug in the current implementation of AddressBook, where the equals method fails to compare the modules present in the AddressBook being compared. This issue has been fixed in this PR.

Codecov Report
Base: 74.90% // Head: 74.80% // Decreases project coverage by -0.10% :warning:

Coverage data is based on head (3077d82) compared to base (1df4440).
Patch coverage: 85.36% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #77      +/-   ##
============================================
- Coverage     74.90%   74.80%   -0.11%
- Complexity      612      613       +1
============================================
  Files           101      101
  Lines          1865     1889      +24
  Branches        210      209       -1
============================================
+ Hits           1397     1413      +16
  Misses          401      401
- Partials         67       75       +8

Impacted Files
Coverage Δ

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

src/main/java/seedu/address/model/AddressBook.java
92.68% <75.00%> (-2.06%)
:arrow_down:

...du/address/logic/commands/DeleteModuleCommand.java
88.88% <80.00%> (-11.12%)
:arrow_down:

...a/seedu/address/logic/commands/AddTaskCommand.java
91.66% <83.33%> (-1.56%)
:arrow_down:

...eedu/address/logic/commands/DeleteTaskCommand.java
95.00% <83.33%> (-1.62%)
:arrow_down:

...a/seedu/address/model/module/UniqueModuleList.java
87.23% <83.33%> (-3.01%)
:arrow_down:

...rc/main/java/seedu/address/model/ModelManager.java
97.43% <92.85%> (-0.98%)
:arrow_down:

... and 2 more

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

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


update repo name to terraform-distributed-minio

Fixes #16
Once this is in, we will rename the repository github.com/packet-labs/terraform-distributed-minio
There is one external link to this repository in docs; I will open a PR there and link to it here.

cc @alice-sowerby
This should be merged in only when someone is ready to rename the repository. I don't have admin rights over this repo, but I believe @DailyAlice does?


Remove trailing comma in script example

Trailing comma breaks json

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

#sign-off

@craigshoemaker: I'm sorry - only the author of this article, @christiannwamba, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Here is a design bug on the website. This is the Z-INDEX issue

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue
Here is a design bug on the website.
This is the Z-INDEX issue.
Same issues in all browsers.
Attached is Mozilla Firefox And Google Chrome Browser.
Reduced test cases
Here is a design bug on the website.
This is the Z-INDEX issue.
Same issues in all browsers.
Attached is Mozilla FIrefox And Google Chrome Browser.
What operating system(s) are you seeing the problem on?
Windows
What browser(s) are you seeing the problem on?
Chrome, Firefox
What version of Bootstrap are you using?
5.2

You haven't described any issue here. Please update this when you can tell us what the problem is.


documentation update

Update documentation for git. Updates for pending 17.8.0 tag not included
README.md had most of the same info as src/Applications/LDAS_App/doc/README.GEOSldas_build , but more up to date. Therefore, I updated REAME.md ton include setup and run info, and removed  src/Applications/LDAS_App/doc/README.GEOSldas_build. Powerpoint tuotiral also updated for git / parallel build.

Oops, meant to PR to develop


Make possible to specify subtype of SQL function

Fix #1157
Breaking changes.

I would like to do the same C impl:
https://github.com/sqlite/sqlite/blob/2e12890732f8c23719a46e56175323cf7d1daccb/src/test_func.c#L662
in Rust:
https://github.com/rusqlite/rusqlite/pull/1160/files#diff-676f1190ad1b28e57e9eac75de61cccc59420615e3da10f91a493fb48d0711ffR1098
but there is a lifetime issue.
Could you please help ?
Thanks.


about process steps

Hey Xiaolei. First of all, thanks for your work! I have successfully run your code on Github, but I have a few questions about the preprocessing code.

I got very high recall@k scores in pretrained-prompt model.
{'test/recall@1': 0.5659283956497578, 'test/recall@10': 0.9083115027387473, 'test/recall@50': 0.9323648487735176, 'test/ndcg@1': 0.5659283956497578, 'test/ndcg@10': 0.757117269984917, 'test/ndcg@50': 0.7626062380924029, 'test/mrr@1': 0.5659283956497578, 'test/mrr@10': 0.7063158638961657, 'test/mrr@50': 0.7075750767791935, 'test/loss': 2.209772330341917, 'epoch': 4}
Is this due to the file preprocessed(test_data_processed.jsonl) through process.py containing user and system responses? So this recall@k is not accurate?

I wonder if it is correct to understand the code for the three preprocessed datasets in this way.
(1) the 'process.py' is for extracting user and system response and their context for semantic fusion.
(2) the 'process_mask.py' is for extracting system response for conv prompt.
(3) the 'merge.py' is for merge the template by conv prompt model and items for rec prompt.

It would be very grateful indeed if you can give me anyhelp.
Best regards.
siqi

Hi, LucyFann. Thanks for your attention on my work!

This is because each input contains the target text mentioning the entity which we require the model to predict. By doing so, the model can associate the entity in kg with that in text (PLM). Recall@k should be high so that the model are well pre-trained.
(1)(2) are true; for (3), merge.py is used to just merge the template, but extract items for rec prompt training, you may not state so accurately.

Hope these will help you!

Thank you for the clarification.

Hey, xiaolei.  I found that you also calculate bleu@k in your evaluator, but why do most CRS baselines (UniCRS, KGSF, C2CRS...) use DIST@k as the metric for CRS?

Hi, LucyFann. About this question, you can see the  Evaluation Metrics section of KGSF paper for details.

ok! Thanks!


createTable() generates "drop table"

Calling createTable() after a dropTable() results in two "drop table" statements being executed
return schema.dropTable('users')
   .then(function(){ return schema.createTable('users',function(t){
       t.string('login').primary();
       t.json('data',true)})
   })

So schema is a ES5 getter on knex, so calling it like that will break things. I'll add a way to warn against this occurrence.
Changing code to:
return knex.schema.dropTable('users')
   .then(function(){ return knex.schema.createTable('users',function(t){
       t.string('login').primary();
       t.json('data',true)})
   })

will work.

Hmm, this feels like an API smell. It seems like bad practice to me to have a non-idempotent getter - why not just make it a method at that point, so that it is more obvious that it (apparently) instantiates an object?

This is now part of the docs, closing.
An API-redesign should be given its own detailed issue if such a change is still requested.


Crypto Future Fee Model

Expected Behavior
CryptoFuture fee structure is different from crypto-spot.
Actual Behavior
We use the same maker/taker rates for CryptoFuture and Crypto.
Potential Solution
Improve BinanceFeeModel to reflect the fee structure:
https://www.binance.com/en/fee/futureFee
Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues
[x] I have provided detailed steps to reproduce the issue

Thanks Alex! Great! Looking forward to this.


Address help index for cmdlets

Type of Change

[x] Bug fix (non-breaking change, fixes #5844  )
[ ] New feature (non-breaking change, adds functionality, fixes # )
[ ] Breaking change (effects multiple commands or functionality, fixes # )
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
A few things addressed:

Errors seen in command on rebuilding with some SMO types it cannot find (not sure why these are showing). I just wrapped the call to Get-Help in try/catch to deal with this:

Now we get the pretty and proper warning messages:

Adding in pulling the help for the cmdlets for some reason caused the Select-DbaObject to show up twice in the index file. To prevent this I just adjusted the output to be unique.

Thanks shawn!

not sure why these are showing

they are showing bc my SMO / DLL skills are garbage and I used them as type in the param list. to make them go away, we can do [object[]]

tests pass ✔


Add Segment tracking on production inference

Summary

Fixes #422
Checklist

[x] My code follows the code style of this project and passes make format.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] My change has adequate unit test coverage.

@homanp Thank you for the pull request! Overall, the changes look good. I have a few suggestions:

In the .env.example file, please add a comment explaining the purpose of the SEGMENT_WRITE_KEY variable.

In the agents.py file, it would be helpful to add a comment explaining the purpose of the analytics import and how it is used.

In the api_user.py file, please add a comment explaining the purpose of the analytics import and how it is used.

It would be great to add some unit tests for the new analytics tracking functionality.

Other than that, the changes look good! Thank you for your contribution. 👍🏼


FromSql vs TryFrom / ToSql vs TryInto

rusqlite::types::ToSql
vs
std::convert::TryInto
rusqlite::types::FromSql
vs
std::convert::TryFrom
TryInto / TryFrom  didn't exist (or at least were not stable) when ToSql / FromSql were created.
But now, is it possible / good to use the standard traits instead ?

I think it's worth keeping the existing traits, but perhaps it'd be good to experiment?
Notably, in the stdlib we don't see TryFrom<&str> as a replacement for the FromStr trait.


fix: icon token for foundation

Description

Motivation and context

Related issue

Types of changes

 [ ] Patch (bug fixes, typos, mistakes; non-breaking change which fixes an issue)
 [x] Minor (add a new token, changing a value, deprecating a token; non-breaking change which adds functionality)
 [ ] Major (deleting a token, changing token value type, renaming a token by deprecating the old one; fix or feature that would cause existing functionality to change)
Checklist:

 [x] I have signed the [Adobe Open Source CLA](https://opensource.adobe.com/cla.html).
 [x] I updated the token in all applicable sets. This applies if updating, adding, or deleting a token that has data across different sets (for example, if the value differs across color themes.)

@lynnhao Thank you for reviewing. Yes, I will double-check the component-pill-edge-to-visual-only-* tokens. They were not listed in the paper doc as "changed values", so I missed them. I will edit the dropbox paper and update this PR.

@lynnhao Update: okay, I double-checked the values for component-pill-edge-to-visual-only-* in desktop/mobile with what I found in the tokens specs (see screenshot). Hope this is correct, now.

@karstens Thank you so much! The values you've attached are correct, but I'm still not seeing the mobile values entered. I might be missing something though.

@karstens Thank you so much! The values you've attached are correct, but I'm still not seeing the mobile values entered. I might be missing something though.

Oh no, my mistake. Please check, now. I have fixed the mobile values. ✅


504: Update copy for 504 dialog for team members present

Who is this PR for?
educators
What problem does this PR fix?
I mistakenly got this down as "persons responsible" but it should be "team members present."
What does this PR do?
Updates the copy
Checklists
Which features or pages does this PR touch?

[x] Student Profile

Does this PR use tests to help verify we can deploy these changes quickly and confidently?

[x] Included specs for changes

selfie


[$1000] Chat - Pressing CMD+K when Global create is open closes the menu and doesn’t open search

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to https://staging.new.expensify.com/
and log in
From LHN press the plus icon
From the keyboard press CMD+K (or CTRL+K on Windows)

Expected Result:
The Global create menu closes and the Right hand modal opens with search
Actual Result:
The Global create menu closes but the Right hand modal doesn't open with search
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/9fffbdbe-2dc0-401f-b078-8eb616338bf9
https://github.com/Expensify/App/assets/78819774/068fa70e-ad0c-4c69-80e0-bba271163fd8
Expensify/Expensify Issue URL:
Issue reported by: Applause -Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01d1f9cb6cfc1f3fe2
Upwork Job ID:<PHONE_NUMBER>274916864
Last Price Increase: 2023-08-08

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

I wouldn't consider this a blocker - cc @puneetlath
And def can be worked externally, marking as such

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~01f5c90a04dc1b08b8

Proposal
Please re-state the problem that we are trying to solve in this issue.
CMD+K keyboard shortcut doesn't work when FloatingActionButtonAndPopover is open. Also happening with CMD+SHIFT+K
What is the root cause of that problem?
The root cause of this problem is in the way we subscribe the keyboard shortcuts in AuthScreens.js:
this.unsubscribeSearchShortcut = KeyboardShortcut.subscribe(
            searchShortcutConfig.shortcutKey,
            () => {
                Modal.close(() => {
                    if (Navigation.isActiveRoute(ROUTES.SEARCH)) {
                        return;
                    }
                    return Navigation.navigate(ROUTES.SEARCH);
                });
            },
            searchShortcutConfig.descriptionKey,
            searchShortcutConfig.modifiers,
            true,
        );
```.
The shortcut subscription for creating a new group is similar. As you can see, we are sending the callback inside the close function of the Modal:

function close(onModalCloseCallback, isNavigating = true) {
if (!closeModal) {
// If modal is already closed, no need to wait for modal close. So immediately call callback.
if (onModalCloseCallback) {
onModalCloseCallback();
}
onModalClose = null;
return;
}
onModalClose = onModalCloseCallback;
closeModal(isNavigating);
}

At this point, our shortcut is closing the Modal, which triggers the Modal's closing function, which is set on `FloatingActionButtonAndPopover`, and it's overriding our shortcut.

### What changes do you think we should make in order to solve the problem?
Since we want our keyboard shortcuts to close the Modals and navigate to the appropriate location (Search or New group), it's better to respect the `close` function of each modal, and then proceed with the navigation.

So, in `AuthScreens.js` , we will make the subscriptions like this:

this.unsubscribeSearchShortcut = KeyboardShortcut.subscribe(
searchShortcutConfig.shortcutKey,
() => {
Modal.close();
if (Navigation.isActiveRoute(ROUTES.SEARCH)) {
return;
}
Navigation.navigate(ROUTES.SEARCH);
},
searchShortcutConfig.descriptionKey,
searchShortcutConfig.modifiers,
true,
);
, where we are first running the close() function, and later navigate, so we don't overlap the onClose functions.

Proposal
Please re-state the problem that we are trying to solve in this issue.
CMD+K doesn't navigate to search when FloatingActionButtonAndPopover is open.
What is the root cause of that problem?
FloatingActionButtonAndPopover uses PopoverWithoutOverlay. In PopoverWithoutOverlay/index.js   Modal.onModalDidClose() isn't called when the Popover gets closed.
`React.useEffect(() => {
if (props.isVisible) {
props.onModalShow();
onOpen({
ref,
close: props.onClose,
anchorRef: props.anchorRef,
});
} else {
props.onModalHide();
close(props.anchorRef);
}
Modal.willAlertModalBecomeVisible(props.isVisible);
Modal.setCloseModal(props.isVisible ? () => props.onClose(props.anchorRef) : null);
    // We want this effect to run strictly ONLY when isVisible prop changes
    // eslint-disable-next-line react-hooks/exhaustive-deps
}, [props.isVisible]);

if (!props.isVisible) {
    return null;
}`

This is also different to BaseModal.js, where this.hideModal is called in componentWillUnmount.
`componentWillUnmount() {
    // Only trigger onClose and setModalVisibility if the modal is unmounting while visible.
    if (this.props.isVisible) {
        this.hideModal(true);
        Modal.willAlertModalBecomeVisible(false);
    }

    // To prevent closing any modal already unmounted when this modal still remains as visible state
    Modal.setCloseModal(null);
}`

What changes do you think we should make in order to solve the problem?
We should change the useEffect in PopoverWithoutOverlay.js to call    Modal.onModalDidClose(); (the same logic as in BaseModal.js).
`React.useEffect(() => {
if (props.isVisible) {
props.onModalShow();
onOpen({
ref,
close: props.onClose,
anchorRef: props.anchorRef,
});
} else {
props.onModalHide();
close(props.anchorRef);
Modal.onModalDidClose();
}
Modal.willAlertModalBecomeVisible(props.isVisible);
Modal.setCloseModal(props.isVisible ? () => props.onClose(props.anchorRef) : null);
    // We want this effect to run strictly ONLY when isVisible prop changes
    // eslint-disable-next-line react-hooks/exhaustive-deps
}, [props.isVisible]);`

Video
https://github.com/Expensify/App/assets/43684335/c8580404-da2a-4df3-af9c-1d6f22996b8f

### What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
CMD+K doesn't navigate to search when FloatingActionButtonAndPopover is open.
What is the root cause of that problem?
FloatingActionButtonAndPopover uses PopoverWithoutOverlay. In PopoverWithoutOverlay/index.js   Modal.onModalDidClose() isn't called when the Popover gets closed.
`React.useEffect(() => {
if (props.isVisible) {
props.onModalShow();
onOpen({
ref,
close: props.onClose,
anchorRef: props.anchorRef,
});
} else {
props.onModalHide();
close(props.anchorRef);
}
Modal.willAlertModalBecomeVisible(props.isVisible);
Modal.setCloseModal(props.isVisible ? () => props.onClose(props.anchorRef) : null);
    // We want this effect to run strictly ONLY when isVisible prop changes
    // eslint-disable-next-line react-hooks/exhaustive-deps
}, [props.isVisible]);

if (!props.isVisible) {
    return null;
}`

This is also different to BaseModal.js, where this.hideModal is called in componentWillUnmount.
`componentWillUnmount() {
    // Only trigger onClose and setModalVisibility if the modal is unmounting while visible.
    if (this.props.isVisible) {
        this.hideModal(true);
        Modal.willAlertModalBecomeVisible(false);
    }

    // To prevent closing any modal already unmounted when this modal still remains as visible state
    Modal.setCloseModal(null);
}`

What changes do you think we should make in order to solve the problem?
We should change the useEffect in PopoverWithoutOverlay.js to call    Modal.onModalDidClose(); (the same logic as in BaseModal.js).
`React.useEffect(() => {
if (props.isVisible) {
props.onModalShow();
onOpen({
ref,
close: props.onClose,
anchorRef: props.anchorRef,
});
} else {
props.onModalHide();
close(props.anchorRef);
Modal.onModalDidClose();
}
Modal.willAlertModalBecomeVisible(props.isVisible);
Modal.setCloseModal(props.isVisible ? () => props.onClose(props.anchorRef) : null);
    // We want this effect to run strictly ONLY when isVisible prop changes
    // eslint-disable-next-line react-hooks/exhaustive-deps
}, [props.isVisible]);`

Video
https://github.com/Expensify/App/assets/43684335/c8580404-da2a-4df3-af9c-1d6f22996b8f

### What alternative solutions did you explore? (Optional)

I think we can consider it a regression so probably not eligible to be a separate issue with separate payment... But I think we also agreed that we wouldn't cut the payment of the original PR for regressions since it was such a big piece of work. Does that make sense?

Pardon my intrusion, but this issue seems to be more on the handling of the keyboard shortcut and less on the Modal re-designs. As I stated on my proposal, the keyboard shortcut should respect the Modal's onClose function and not try to overlap it.
Wouldn't that be considered a different issue?
Thank you in advance! 🙏

@Thanos30  I don't agree with you that it's caused by values overlapping.  See my proposal.

I agree that the code in keyboard shortcuts should be more consistent, but this isn't the root cause of the problem here.
I think that in your last comment you are confusing  Modal.onModalDidClose() with the callbacks from FloatingActionButtonAndPopover. While the latter get's called, the former doesn't.
PopoverWithoutOverlay should be consistent with how the modals behave, and should call Modal.onModalDidClose();
I agree with @aimane-chnaif  that this is a regression.

Got it, thank you for the clarification @SosenWiosen, you might be right about that.

Cool, so if this is a regression @allroundexperts you are working on a PR for this?

thank you for the update!

Considering this is a regression and @rushatgabhane @allroundexperts are handling it, I am unassigning myself.

Looks like this was potentially linked as a regression (see link in this comment) but that was taken back as the PR for this issue actually fixes a few regressions from a different PR.
So I think we're good to pay this out as normal, though @dangrous it seems you had some thoughts about the original PR that caused these regressions? I think we should be good to pay this out as normal, right?

I thiiiink we were deciding that no payment needed for this one since it was a regression on that other PR - but lemme know if you disagree!


PUT /api/v2/me/password doesn't update the user password

A request to PUT /api/v2/me/password with the session cookie, basic auth credentials, and password in the body results in a 500 status and two error objects in complaining that user ID is missing.
The influxdb handlePutUserPassword handler appears to throw an error whenever the URL doesn't contain a user ID, even though user_id is apparently in the context, if I'm interpreting it correctly.
Comment from @jeffreyssmith2nd:
Just from a quick look, it seems like /api/v2/me/password and /api/v2/:id/password are using the same handler and that is why you're seeing that behaviour. I would assume this is a bug, and that me/password shouldn't require an id
Steps to reproduce:
List the minimal actions needed to reproduce the behavior.

Pass the user's Basic authentication credentials (USERNAME:PASSWORD) to the POST /api/v2/signin
endpoint to create a user session and generate a session cookie.
From the response in the first step, extract the session cookie (Set-Cookie) header.
Pass the following in a request to the PUT /api/v2/me/password endpoint:

The Set-Cookie header from the second step
The Authorization Basic header with the user's Basic authentication credentials
{"password": "NEW_PASSWORD"} in the request body

Expected behavior:
There's no Grace test for this method.
According to the openapi spec, PUT /api/v2/me/password requires basic auth (username and password in the Authorization header`) and {"password": "NEW_PASSWORD"} in the request body. It also requires a user session cookie, although that isn't documented. It should not require a user ID in the request.
It should respond with a 204 status and the user password should be updated to the NEW_PASSWORD.
Actual behavior:
500 status with the following response:
< HTTP/1.1 500 Internal Server Error
< Content-Type: application/json; charset=utf-8
< X-Influxdb-Build: OSS
< X-Influxdb-Version: 2.3.0
< X-Platform-Error-Code: internal error
< Date: Tue, 06 Sep 2022 21:30:45 GMT
< Content-Length: 149
<
{ [149 bytes data]
100   180  100   149  100    31   5321   1107 --:--:-- --:--:-- --:--:--  6428
* Connection #0 to host localhost left intact
{
  "code": "internal error",
  "message": "invalid user ID provided in route"
}
{
  "code": "invalid",
  "message": "id must have a length of 16 bytes"
}

cURL request:
* Connected to localhost (::1) port 8086 (#0)
* Server auth using Basic with user 'jstirnaman'
> PUT /api/v2/me/password HTTP/1.1
> Host: localhost:8086
> Authorization: Basic anN0aXJuYW1hbjpwYXNzd29yZA==
> User-Agent: curl/7.71.1
> Accept: */*
> Cookie: influxdb-oss-session=19vduZYGOvP2GGryXVT2qYftlFKu3bIopurM6AGFow1yF1abhtOlbHfsc-d8gozZFC_6WxmlQIAwLMW5xs523w==
> Content-Length: 31
> Content-Type: application/x-www-form-urlencoded
>
} [31 bytes data]
* upload completely sent off: 31 out of 31 bytes
* Mark bundle as not supporting multiuse
< HTTP/1.1 500 Internal Server Error
< Content-Type: application/json; charset=utf-8
< X-Influxdb-Build: OSS
< X-Influxdb-Version: 2.3.0
< X-Platform-Error-Code: internal error
< Date: Tue, 06 Sep 2022 21:30:45 GMT
< Content-Length: 149
<
{ [149 bytes data]
100   180  100   149  100    31   5321   1107 --:--:-- --:--:-- --:--:--  6428
* Connection #0 to host localhost left intact
{
  "code": "internal error",
  "message": "invalid user ID provided in route"
}
{
  "code": "invalid",
  "message": "id must have a length of 16 bytes"
}

Environment info:

System info: Run uname -srm and copy the output here

InfluxDB version: Run influxd version and copy the output here
InfluxDB dev (git: none) build_date: 2022-09-07T20:29:40Z

Also tested on v2.3.0 with the same result.

Other relevant environment details: Container runtime, disk info, etc

Config:
Copy any non-default config values here or attach the full config as a gist or file.

Logs:
Influxd log:
2022-09-07T17:32:19.296957Z     info    request {"log_id": "0cnFyGv0000", "path": "/api/v2/signin", "filename": "net/http/request.go", "line": 356, "error.object": "no span ID found in carrier", "user_agent": "curl", "Accept": "*/*", "newLabels": false, "memoryOptimizedFill": false, "queryTracing": false, "cursorAtEOF": false, "groupTransformationGroup": false, "narrowTransformationFill": false, "vectorizeAddition": false, "optimizeSetTransformation": false, "refreshSingleCell": true, "optimizeAggregateWindow": false, "narrowTransformationLimit": false, "appMetrics": false, "optimizeStateTracking": false, "enforceOrgDashboardLimits": false, "queryConcurrencyLimit": 0, "aggregateTransformationTransport": false, "vectorizeLogicalOperators": false, "unusedSymbolWarnings": false, "groupWindowAggregateTranspose": false, "timeFilterFlags": false, "optimizeUnionTransformation": false, "vectorizedMap": false, "vectorizeOperators": false, "labelPolymorphism": false, "memoryOptimizedSchemaMutation": false, "injectLatestSuccessTime": false, "newAutoRefresh": true, "narrowTransformationDifference": false, "ot_trace_id": "09f23ffa65623002", "ot_span_id": "09f23ffa65623001", "ot_start": "2022-09-07T17:32:19.221273Z", "ot_stop": "2022-09-07T17:32:19.296955Z", "ot_duration": "75.708ms", "method": "POST", "route": "", "handler": "platform"}
2022-09-07T17:32:19.315972Z     info    bolt.(*KVStore).View    {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 164, "ot_trace_id": "09f23ffa7ce23002", "ot_span_id": "09f23ffa7ce23003", "ot_start": "2022-09-07T17:32:19.315649Z", "ot_stop": "2022-09-07T17:32:19.315967Z", "ot_duration": "0.318ms", "ot_child_of": "09f23ffa7ce23001"}
2022-09-07T17:32:19.338164Z     info    bolt.(*KVStore).View    {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 164, "ot_trace_id": "09f23ffa7ce23002", "ot_span_id": "09f23ffa7d223000", "ot_start": "2022-09-07T17:32:19.316848Z", "ot_stop": "2022-09-07T17:32:19.338152Z", "ot_duration": "21.311ms", "ot_child_of": "09f23ffa7ce23001"}
2022-09-07T17:32:19.338597Z     info    bolt.(*KVStore).View    {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 164, "ot_trace_id": "09f23ffa7ce23002", "ot_span_id": "09f23ffa82a23000", "ot_start": "2022-09-07T17:32:19.338577Z", "ot_stop": "2022-09-07T17:32:19.338595Z", "ot_duration": "0.018ms", "ot_child_of": "09f23ffa7ce23001"}
2022-09-07T17:32:19.338955Z     info    bolt.(*KVStore).View    {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 164, "ot_trace_id": "09f23ffa7ce23002", "ot_span_id": "09f23ffa82a23001", "ot_start": "2022-09-07T17:32:19.338876Z", "ot_stop": "2022-09-07T17:32:19.338952Z", "ot_duration": "0.076ms", "ot_child_of": "09f23ffa7ce23001"}
2022-09-07T17:32:19.339156Z     info    request {"log_id": "0cnFyGv0000", "path": "/api/v2/me", "filename": "net/http/request.go", "line": 356, "error.object": "no span ID found in carrier", "user_agent": "curl", "Accept": "*/*", "Cookie": "influxdb-oss-session=GU6DzwdrK7GFo8D0CAxECQlSxkTViMlO1hscEn67S7vZ1dGcHkjv84vrllzLlq7YGHtzAWRSqoGhfwe9l0pwsg==", "vectorizedMap": false, "labelPolymorphism": false, "unusedSymbolWarnings": false, "appMetrics": false, "memoryOptimizedSchemaMutation": false, "newAutoRefresh": true, "aggregateTransformationTransport": false, "groupTransformationGroup": false, "queryConcurrencyLimit": 0, "injectLatestSuccessTime": false, "optimizeAggregateWindow": false, "cursorAtEOF": false, "refreshSingleCell": true, "narrowTransformationFill": false, "memoryOptimizedFill": false, "queryTracing": false, "narrowTransformationLimit": false, "newLabels": false, "enforceOrgDashboardLimits": false, "optimizeUnionTransformation": false, "narrowTransformationDifference": false, "vectorizeAddition": false, "vectorizeOperators": false, "optimizeSetTransformation": false, "groupWindowAggregateTranspose": false, "timeFilterFlags": false, "optimizeStateTracking": false, "vectorizeLogicalOperators": false, "ot_trace_id": "09f23ffa7ce23002", "ot_span_id": "09f23ffa7ce23001", "ot_start": "2022-09-07T17:32:19.315545Z", "ot_stop": "2022-09-07T17:32:19.339154Z", "ot_duration": "23.617ms", "method": "GET", "route": "", "handler": "platform", "user_id": "0772396d1f411000"}
2022-09-07T17:32:19.355492Z     info    bolt.(*KVStore).View    {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 164, "ot_trace_id": "09f23ffa86e23002", "ot_span_id": "09f23ffa86e23003", "ot_start": "2022-09-07T17:32:19.355170Z", "ot_stop": "2022-09-07T17:32:19.355481Z", "ot_duration": "0.311ms", "ot_child_of": "09f23ffa86e23001"}
2022-09-07T17:32:19.379656Z     info    bolt.(*KVStore).View    {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 164, "ot_trace_id": "09f23ffa86e23002", "ot_span_id": "09f23ffa87223000", "ot_start": "2022-09-07T17:32:19.356352Z", "ot_stop": "2022-09-07T17:32:19.379652Z", "ot_duration": "23.308ms", "ot_child_of": "09f23ffa86e23001"}
2022-09-07T17:32:19.379900Z     info    bolt.(*KVStore).View    {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 164, "ot_trace_id": "09f23ffa86e23002", "ot_span_id": "09f23ffa8ce23000", "ot_start": "2022-09-07T17:32:19.379882Z", "ot_stop": "2022-09-07T17:32:19.379898Z", "ot_duration": "0.016ms", "ot_child_of": "09f23ffa86e23001"}
2022-09-07T17:32:19.380007Z     error   api error encountered   {"log_id": "0cnFyGv0000", "handler": "user", "error": "invalid user ID provided in route"}
2022-09-07T17:32:19.380034Z     error   api error encountered   {"log_id": "0cnFyGv0000", "handler": "user", "error": "id must have a length of 16 bytes"}
2022-09-07T17:32:19.380149Z     info    http: superfluous response.WriteHeader call from github.com/influxdata/influxdb/v2/kit/transport/http.(*StatusResponseWriter).WriteHeader (status_response_writer.go:26)        {"log_id": "0cnFyGv0000", "service": "http"}
2022-09-07T17:32:19.380163Z     info    request {"log_id": "0cnFyGv0000", "path": "/api/v2/me/password", "filename": "net/http/request.go", "line": 356, "error.object": "no span ID found in carrier", "user_agent": "curl", "Accept": "*/*", "Content-Type": "application/json", "Content-Length": "31", "Cookie": "influxdb-oss-session=GU6DzwdrK7GFo8D0CAxECQlSxkTViMlO1hscEn67S7vZ1dGcHkjv84vrllzLlq7YGHtzAWRSqoGhfwe9l0pwsg==", "appMetrics": false, "queryTracing": false, "injectLatestSuccessTime": false, "enforceOrgDashboardLimits": false, "narrowTransformationLimit": false, "memoryOptimizedSchemaMutation": false, "newAutoRefresh": true, "groupTransformationGroup": false, "optimizeAggregateWindow": false, "newLabels": false, "narrowTransformationDifference": false, "narrowTransformationFill": false, "timeFilterFlags": false, "optimizeUnionTransformation": false, "optimizeStateTracking": false, "vectorizeAddition": false, "cursorAtEOF": false, "refreshSingleCell": true, "vectorizedMap": false, "unusedSymbolWarnings": false, "memoryOptimizedFill": false, "aggregateTransformationTransport": false, "vectorizeOperators": false, "groupWindowAggregateTranspose": false, "queryConcurrencyLimit": 0, "vectorizeLogicalOperators": false, "labelPolymorphism": false, "optimizeSetTransformation": false, "ot_trace_id": "09f23ffa86e23002", "ot_span_id": "09f23ffa86e23001", "ot_start": "2022-09-07T17:32:19.355067Z", "ot_stop": "2022-09-07T17:32:19.380160Z", "ot_duration": "25.102ms", "method": "PUT", "route": "", "handler": "platform", "user_id": "0772396d1f411000"}
2022-09-07T17:32:21.685188Z     info    bolt.(*KVStore).View    {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 164, "ot_trace_id": "09f23ffccd623001", "ot_span_id": "09f23ffccd623000", "ot_start": "2022-09-07T17:32:21.685014Z", "ot_stop": "2022-09-07T17:32:21.685129Z", "ot_duration": "0.115ms"}
2022-09-07T17:32:31.681985Z     info    bolt.(*KVStore).View    {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 164, "ot_trace_id": "09f2400690623001", "ot_span_id": "09f2400690623000", "ot_start": "2022-09-07T17:32:31.681819Z", "ot_stop": "2022-09-07T17:32:31.681978Z", "ot_duration": "0.159ms"}
2022-09-07T17:32:41.680872Z     info    bolt.(*KVStore).View    {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 164, "ot_trace_id": "09f2401054223001", "ot_span_id": "09f2401054223000", "ot_start": "2022-09-07T17:32:41.680806Z", "ot_stop": "2022-09-07T17:32:41.680858Z", "ot_duration": "0.052ms"}
2022-09-07T17:32:51.681200Z     info    bolt.(*KVStore).View    {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 164, "ot_trace_id": "09f2401a18623001", "ot_span_id": "09f2401a18623000", "ot_start": "2022-09-07T17:32:51.681132Z", "ot_stop": "2022-09-07T17:32:51.681185Z", "ot_duration": "0.053ms"}
2022-09-07T17:33:00.039637Z     info    bolt.(*KVStore).Update  {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 177, "ot_trace_id": "09f2402238223001", "ot_span_id": "09f2402238223000", "ot_start": "2022-09-07T17:33:00.000048Z", "ot_stop": "2022-09-07T17:33:00.039628Z", "ot_duration": "39.581ms"}
2022-09-07T17:33:00.039810Z     info    bolt.(*KVStore).View    {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 164, "ot_trace_id": "09f2402241e23001", "ot_span_id": "09f2402241e23002", "ot_start": "2022-09-07T17:33:00.039712Z", "ot_stop": "2022-09-07T17:33:00.039799Z", "ot_duration": "0.087ms", "ot_child_of": "09f2402241e23000"}
2022-09-07T17:33:00.040379Z     info    bolt.(*KVStore).View    {"log_id": "0cnFyGv0000", "filename": "github.com/influxdata/influxdb/v2/bolt/kv.go", "line": 164, "ot_trace_id": "09f2402241e23001", "ot_span_id": "09f2402241e23003", "ot_start": "2022-09-07T17:33:00.039833Z", "ot_stop": "2022-09-07T17:33:00.040369Z", "ot_duration": "0.536ms", "ot_child_of": "09f2402241e23000"}
(edited)

Hi,
I would like to contribute to this issue. Can I take it up?

@ritikBhandari Sure, feel free to take a stab at it! Jason did a good job writing the issue up, if you have any other questions just throw them on this issue.


When errors are reported, they use the state of the expected object at the end instead of at the time they were used.

When writing a long series of tests with a complicated expectedObject, I'd like to be able to make changes to the expectedObject along the way, so that it's easier to rearrange or insert tests that modify a persistent object.
Unfortunately, when errors are reported at the end, the output is incorrect.
var expectedObject = {val: 1};

it('should fail', function() {
  expect({val: 2}).to.containSubset(expectedObject);
});

it('should pass', function() {
  expectedObject.val++;
  expect({val: 2}).to.containSubset(expectedObject);
});

In this example, the failed test will say something like:
expected: {val: 2}
actual: {val: 2}

This is because it's printing the value of expectedObject at the end of the test run, instead of the value of expectedObject at the time it was run.
I can work around this by cloning the expectedObject passed into containSubset, but it would be much nicer if the library did this for me, as it's only needed when there's an error.

That's why I'm suggesting to clone it only when there's an error.  Another possibility is to start building the final output at the time of the error, instead of waiting until the end when the object has already been changed.

I dont think there will be any performance problem if you just clone on error. And substacks deepclone module should do the trick

On 3. mar. 2016, at 02.17, Mark Herhold<EMAIL_ADDRESS>wrote:
This is interesting... there are serious performance considerations to cloning every object, so perhaps it could be an option? The other issue is determining how to clone the object.
—
Reply to this email directly or view it on GitHub.

@Ecafracs how about creating PR for this?)

Is there a legitimate use-case though for using such expected values which get mutated?
I'm coming from Clojure world, so to me this looks like a rather scandalous practice.
Adding this feature would actually obscure the fact that mutating expected values has been used, hence indirectly encouraging a bad practice for structuring test cases.
On top of that it would complicate the code of this plugin, which translates to more potential bugs, extra dependencies (substack's deepclone) and add a bit more future maintenance burden.

As my silence on this bug might indicate, I haven't really had a pressing need to fix this bug since I'd been working around it, and have also long since moved on from the project that was affected by this bug.
But just to respond to @onetom, I don't see how this could be considered a feature request.  It's a bug that results in incorrect output.  If I wanted to write more verbose test code to fully specify the expected object as I perform mutations on the test object, I probably wouldn't bother to use this plugin.