[storage] Blob Change Feed Client returns empty continuation token for final page in iterator

Package Name: @azure/storage-blob-changefeed
Package Version: 12.0.0-alpha.20210210.1
Operating system: Linux (Debian)
[x] nodejs

version:  12.13.0

[ ] browser

name/version:

[x] typescript

version: 3.9.8

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[ ] SDK API docs on https://docs.microsoft.com

Describe the bug
When iterating the PagedAsyncIterableIterator<BlobChangeFeedEvent, BlobChangeFeedEventPage> returned by BlobChangeFeedClient.listChanges().byPage() the SDK returns "" as the value for continuationToken when yielding the final page in the iteration. This makes it difficult to write applications that attempt to treat the change feed as an infinite sequence. See "additional context" section below for more info on my particular use case.
I suspect the cause of the bug is this check:
https://github.com/Azure/azure-sdk-for-js/blob/c52af93c7c718f8aec19630568bfd7c3d7798120/sdk/storage/storage-blob-changefeed/src/BlobChangeFeedClient.ts#L225-L227
which only sets the continuationToken if the wrapped instance of ChangeFeed reports that it has remaining changes.
To Reproduce
Iterate a blob change feed, by page, to the end of the change feed and observe that the final page in the sequence has no continuation token. Or, more specifically, an empty string is returned instead of the normal JSON-serialized continuation token:
const changeFeedClient = new BlobChangeFeedClient(...);

const pageSettings: PageSettings = {
    maxPageSize: 20,
};

for await (const page of changeFeedClient.listChanges().byPage(pageSettings)) {
    console.log(`Got page, events=${page.events.length}, token=${page.continuationToken}`);
}

Got page, events=20, token={"CursorVersion":1,"UrlHost":...}
Got page, events=20, token={"CursorVersion":1,"UrlHost":...}
Got page, events=20, token={"CursorVersion":1,"UrlHost":...}
Got page, events=4, token=

Note that the .NET SDK behaves differently and always returns a continuation token, even for the final page:
var client = new BlobChangeFeedClient(...);
await foreach (var page in client.GetChangesAsync(token).AsPages(pageSizeHint: 20))
{
    Console.WriteLine($"Got page, events={page.Values.Count}, token={page.ContinuationToken}");
}

Got page, events=20, token={"CursorVersion":1,"UrlHost":...}
Got page, events=20, token={"CursorVersion":1,"UrlHost":...}
Got page, events=20, token={"CursorVersion":1,"UrlHost":...}
Got page, events=4, token={"CursorVersion":1,"UrlHost":...}

Expected behavior
As a consumer of the blob change feed SDK, I expect the SDK to provide me with a mechanism for restoring the state of a prior iteration, even if that iteration reached the end of the change feed. In other words, I don't think it is valid for the SDK to return an empty continuation token when an iterator reaches the end of the change feed.
Screenshots
N/A
Additional context
I am attempting to use the SDK to create an application that continuously reads the change feed and aims to process all of the events from the change feed as soon as they are made available. When it reaches the end of the change feed, it waits a little while, and then attempts to iterate the change feed again using the most recently persisted continuation token.
Therefore when the SDK returns an empty token on the last page it means that my application actually has to persist the token from the second to last page instead. As a consequence, my application code now needs to handle de-duplicating change feed events since there's always a risk that I'll receive events from the final page multiple times. This problem would be avoided entirely if instead I could receive a continuation token from the SDK on the final page of change feed events.
Here's a simplified excerpt of my application code:
import { PageSettings } from "@azure/core-paging";
import { BlobChangeFeedClient } from "@azure/storage-blob-changefeed";

const changeFeedClient = new BlobChangeFeedClient(...);

while (true) {
    const prevContinuationToken = await getTokenFromDatabase();

    const pageSettings: PageSettings = {
        continuationToken: prevContinuationToken,
        maxPageSize: 100,
    };

    for await (const page of changeFeedClient.listChanges().byPage(pageSettings)) {
        // Process `page.events` ...
        if (page.continuationToken !== "") { // I would really like to be able to remove this check and not have to check for duplicate events
            await saveTokenToDatabase(page.continuationToken);
        }
    }

    sleep(60000);
}

Also, are you comfortable with using the alpha i.e. daily build versions?
We can get the fixes into master branch ASAP, but the release may come later.

@ljian3377 yes I'm definitely comfortable with using the daily builds. Thanks for picking this up so quickly!

Apologies for accidentally closing. 🤦♂ This issue is definitely still relevant.

https://github.com/Azure/azure-sdk-for-js/pull/20079


Proposal: HandledSelection in ListView

Proposal: HandledSelection in ListView
Summary
When an Item is clicked, it's selected status doesn't change unless the command/function for ItemClick changes the SelectedItem(s) to include that item.
Rationale
At the moment, there's no way to have SelectedItems in the ListView and have items you don't want selected. This would allow selected ListViewItems to be handled uniquely. For example, some items might not be selectable, but are clickable.
Scope
This could be done either in a boolean property HandledSelection, or by adding an event SelectionChanging with an e.Handled.

@Avid29 can you elaborate on the scenario? It sounds like you want something like group headers or header/footer (which are all ListView features today). Maybe a screenshot of the scenario would help.

I just want the ability to manage what is selected myself and have SelectedItems. For my situation, a collapsible group header would work (which doesn't exist). However, I also might have two different types of items in the same list, and want to be able to handle their selection myself rather than handled by the Framework in a way that doesn't suit my usage.
As for context, I'm looking at the Discord Channel List. I want ListViewItems for Categories, Text Channels and Voice Channels all in the same ListView. When clicked a category is clicked, SelectedItems doesn't change. When a text channel is clicked, the previous text channel is removed from SelectedItems and the new one is added, the selected voice channel stays the same. Vice versa for Voice Channels. These need to be in the same ListView, so there's currently no way to handle this.


Is it possible to pass preselected values?

Is it possible to pass preselected values to SelectBox?

Hi, you solved this problem?

I'm having the same issue. My plan was to use this library in production but as it seem there are no updates / bugfixes coming anymore since months.

I used other library 'react-native-element-dropdown' for multiselect and dropdown where I can provide preselected values.

I used other library 'react-native-element-dropdown' for multiselect and dropdown where I can provide preselected values.

Thank you so much.

I used other library 'react-native-element-dropdown' for multiselect and dropdown where I can provide preselected values.

can you share the code with us? how you did it?


Serialise the output of grapher://grapher steps to disk

Motivation
We would like to have alignment between our indicator and ETL APIs, however the flattening of dimensions causes a misalignment and means that there is nowhere in the ETL APIs that can give you the same data that's in a chart.
Proposal
We should serialise and publish the generated data frames for grapher://grapher steps, as well as shipping that data to MySQL. It might need a new channel.

/cc @danyx23 @Marigold @pabloarosado

Thanks @larsyencken, just a quick note: By construction, the reason data://grapher steps exist (and that we don't publish garden steps directly) is to adapt our curated data to the neds of our grapher tool. So, if data://grapher are actually different from grapher://grapher steps, then they are not really fulfilling that promise, and therefore are a bit misleading (or redundant).
The data team does not need to be aware of the technical difference between data://grapher and grapher://grapher steps. In fact, we usually just speak of "grapher steps". However, with the current implementation, data managers need to know that, for some reason, mdim steps depend on grapher://grapher steps (instead of the usual data://grapher).
In my view, the ideal solution would be to have just one kind of grapher step (data://grapher). And grapher://grapher steps would simply be an implementation helper that data managers don't even need to be aware of.

Renamed this now to reflect the approach that @Marigold is exploring, which seems promising.


Game freezes while "Adapting History"

I downloaded this mod today and tried to play as Germany. I could load the game and even choose a nation, but when it reached the point "Adapting History" it freezes, I can even hear the ingame music, but I still just see the loading screen. I use the beta for Victoria 2 3.04 and use the mod version 1.10.
Is it a bug or does it take long to load?

It takes long to load.
Please do this

Clear your cache (the mod NwO)
Totally reinstall the NWO mod. Remove the old mod/NWO folder, and reinstall the mod.
Then start NWO, and let it take it's time.

I tried what you have advised...it still "freezes" at Adapting History. Since you said that it takes long I waited...I waited for 30 minutes...nothing happened. Is it even longer?
I'm not sure what you mean with "Clear your cache". Do I have to delete the NwO folder in documents - paradoxInteractive - Victoria 2? Or is it somewhere else?

It is correct, the NwO folder is the cache folder.
If yo also removed mod/NWO before reinstalling I don't know what is wrong,

Ok, I try to completly reinstall Victoria 2 and after this I'll immediatly install NWO. Installing NWO is just putting the two folders in the downloaded archive into the mod folder right?

Ok I tried it, I totally reinstalled Victoria 2. There was nothing Victoria related on my PC anymore...
It has still the same error. I think it has more something to do with the map. I mean, the music is there...
the mouse icon is like it would be ingame...it is just the map which won't show up and instead there is the loading screen.
Maybe it might be the problem that I use Victoria 3.04?

Since you have downloaded the mod files 2 days ago, i assume you still have not updated the mod files with the map crash fix,
Try This:
Download the NWO/map/provinces.bmp file from Github and replace it over your current province.bmp file
clear cache and run again

Someone137 you assume LucanDaedrahunter uses master at github.
I assumed LucanDaedrahunter was using the formal download at simsulla.org (v1.10).
LucanDaedrahunter which is it? :)

I downloaded it at simsulla.org indeed. (I knew no other place where I could find it...). But I could try it out though...
If that doesn't work, would be there no other way? I really like what I have seen from this mod.

Downloading the 1.10 zip is the correct way. Victoria 3.04 works.

No more comments. Assuming this has been resolved.


Easier way to create transducers

See issue #1656 for background.
My experience with transducers so far shows that they are worthless if the accumulator transducer does not avoid creating intermediate objects by itself. This means that something like transduce(compose(...), mergeWith(...), {}) won't perform well on a large data sets. Problem is, the transducers protocol, while very powerful, asks for quite an ugly object, that is tiresome to write.
It would thus be nice to have something like Java's Collector.of, which allows initiating Java's analogous of accumulator-transducer, given its building up blocks. See:
https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collector.html#of-java.util.function.Supplier-java.util.function.BiConsumer-java.util.function.BinaryOperator-java.util.function.Function-java.util.stream.Collector.Characteristics...-
(Ignore combiner and Characteristics)

I'm trying to make sense of what that would mean in JS.  Do you have a sense of what one might supply to a Ramda function to use something like this?  There doesn't seem to be a simple translation of the Java types.  Supplier :: Unit -> a ? BiConsumer :: b -> a -> Unit ? For side effects?, but with the more sensible BinaryOperator :: a -> a -> a` that you want us to ignore.  I'm just not getting it.

It'd be as simple as thatNewFunctionName(init, step, result). So, for instance:
thatNewFunctionName(Array, (acc, x) => { acc.push(x); return acc }, uniq)
This isn't so different from the current object you pass in, but there's a better chance people will bother.

How much of this do you think we could embed in internal calls?  I really don't like the idea of exposing or asking users to supply mutable structures.  I don't at all mind using them internally.
Or perhaps even if we do offer the general API, could we create a simpler gloss for some types, especially lists?

At least in Java (sorry, don't really know Clojure) the whole idea behind collectors is that you sandbox the mutations the way I did in the PR today, so while the mutations are technically mutable, they have no effect on outside-usage of the (finalized) data structure. Now, it's a little hard to demonstrate that in plain JS without in-your-face array.push kind of mutations, because there's no "builder" concept that emphasizes the fact the object is intermediate by its nature.
Immutable.js has this asImmutable/asMutable concept, which gets very close, and I suppose other libraries provide similar utilities. But I doubt we'll ever use any of them in sample code.

To expand on this, you can think of Java's Collector <=> JS transducers:

supplier <=> @@transducer/init
accumulator <=> @@transducer/step  (kind of, except step returns new accumulator)
finisher <=>  @@transducer/result

So you could define, e.g.,  Collector.of <=> R.transformer  (kind of)
R.transformer = R.curry(function(init, result, step){
  return {
     '@@transducer/init': init,
     '@@transducer/step': step,
     '@@transducer/result': result
  };
});

How would we use it?  Recall a basic transducer:
var transducer = R.map(R.add(1));
var x = R.into([], transducer [1,2,3]);
// [2, 3, 4]

Also recall that into will accept a transformer:
var xf = R.transformer(Array, R.identity, R.flip(R.append));
var x = R.into(xf, transducer, [2,3,4])
// [3, 4, 5]

You could curry the transformer to work with arrays:
var transformArray = R.transformer(Array, R.identity);
var x = R.into(transformArray(R.flip(R.append)), transducer, [3,4,5]);
// [4, 5, 6]

var x = R.into(transformArray(R.flip(R.prepend)), transducer, [3,4,5]);
// [6, 5, 4]

Or define a transformer (using a "mutable reduction") for Immutable.js
var transformList = R.transformer(
    () => Immutable.List().asMutable(),
    (acc) => acc.asImmutable(),
    (acc, item) => acc.push(item));

var x = R.into(transformList, transducer, Immutable.List.of(5, 6, 7));
// List [ 6, 7, 8 ]
// NOTE: the result is an Immutable List but the reduction was mutable

You could also curry into to create a reusable intoList:
var intoList = R.into(transformList);

var x = intoList(transducer, Immutable.List.of(6, 7, 8));
// List [ 7, 8, 9 ]

In many cases, the result (finisher) is identity, so it may make sense to flip result and init and common transformers can use R.transformer(R.identity).
R.transformer = R.curry((result, init, step) => ...

Note that Java also provides an overridden Collector.of that sets the "finisher" (result) to identity, so it was common enough to include in their API as well.

Thank you both for the interesting information.  It looks like we have some room for additional optimizations here.


Clean up jshinting

We should add /* globals  */ to get rid of some of the variables that we expect to be defined.
ex.
demo/www/js/index2.js: line 15, col 16, 'txtArea' is not defined.

ok.


utils: get all models for a given app

Add a lazy function that retrieves all models for a given app,
identified by it's app_label.
This makes it possible to include all models for an app in
ADMIN_MENU_ORDER setting, so that it's at the right spot and no models
are "missing" (moved down) when upgrading the dependency.
Usage:
ADMIN_MENU_ORDER = (
(
    "Content", (
        "pages.Page",
        "blog.BlogPost",
        "generic.ThreadedComment",
        (_("Media Library"), "media-library"),)
),
# ... more here ...
(
    _("Social Accounts"), get_models_for_app('socialaccount')
),
# ... more here ...

A tuple of classes can also be returned, which may or may not prove to
be useful in the future.

Will do docs if feature accepted. Not sure where to put tests. mezzanine.conf.tests deals with injecting settings, not with settings in general and mezzanine.utils.tests only provides the base test case.

Why does this need to be in Mezzanine?

To have a standardized way of organizing your menu. It becomes tedious and a maintenance hassle to look up all models of an app if your INSTALLED_APPS is anything of reasonable size.
Sure, it's easy to add this code to a project in it's own module, but the same can be said of ADMIN_MENU_ORDER itself or the bit to import local settings. So basically boils down to "batteries included".

I'm sorry I didn't understand the use-case, I actually missed the example you posted.
Looking at it properly now, I think it's a good idea but the implementation isn't right. The developer shouldn't need to import a function to apply it to the setting. What if the value for the sequence of models could also just be a string that contains the name of an app, and that would be the interface for achieving what you're trying to do here, so:
ADMIN_MENU_ORDER = (
(
    "Content", (
        "pages.Page",
        "blog.BlogPost",
        "generic.ThreadedComment",
        (_("Media Library"), "media-library"),)
),
# ... more here ...
(
    _("Social Accounts"), 'socialaccount'
),
# ... more here ...

I think that would be a much simpler API for the developer, and it would remove the need for any kind of lazy loading, since the code for dealing with this could occur at runtime (not import time) in the same spot that deals with the ADMIN_MENU_ORDER setting.
What do you think?

Except for this:

P.S. I've considered changing ADMIN_MENU_ORDER parsing to allow for second element being an app_label, but this would break existing code based on blog.admin.BlogCategoryAdmin.has_module_permission.

I have no problem with it. And yes, it makes things a lot easier implementation wise.

I'm really sorry, I keep rushing and not reading everything entirely.
I guess we could tweak blog.admin.BlogCategoryAdmin to do different checks based on whether the value is a string or not, right?

Yes, we could. It's just that it's mentioned in the documentation as an example. So it's logical (and I'm one of them) to take that code and copy it for apps of your own.
Incompatibilities between versions are the life of software, but I saw a way to do it without disrupting this, so I went for it. I'm happy to change the implementation as suggested.
Ultimately, that's up to you to decide and factor in what else breaks in the next release.
Don't worry about skipping things. We all have other things in our lives and I know it's not intentional.

As for implementation, I think it's easier to have one "unwrapping" method that remembers state for ADMIN_MENU_ORDER.
That keeps code that uses it for what it's made for deal with actual data and not references it needs to resolve. So settings.ADMIN_MENU_ORDER would be what the administrator/developer configured and unwrap_admin_menu_order() would return the version with all references resolved, which caches result and only does the work once.


⚠ gorzdrav.org has degraded performance

In 6314440, gorzdrav.org (https://gorzdrav.org) experienced degraded performance:

HTTP code: 200
Response time: 6052 ms

Resolved: gorzdrav.org performance has improved in f24155a.


Make it work with SUSE xsl tests

https://github.com/openSUSE/suse-xsl/tree/develop/tests/dapscompare-tests

done


[rancher/helm] Bug on helm --upgrade --install --force

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):
Run tiller locally KUBECONFIG=/path/config tiller
(New terminal)
export HELM_HOST=$(tiller grpc port from ^)
helm init --client-only
helm version
Client: &version.Version{SemVer:"v2.10.0-rancher10"
Server: &version.Version{SemVer:"v2.10.0-rancher10"

helm repo update
helm install --set minecraftServer.eula=true,minecraftServer.type=VANILLA stable/minecraft

Deployment finishes
helm upgrade loitering-alligator stable/minecraft --set minecraftServer.eula=true,minecraftServer.type=VANILLA,minecraftServer.serviceType=ClusterIP
Error: UPGRADE FAILED: Service "loitering-alligator-minecraft" is invalid: spec.ports[0].nodePort: Forbidden: may not be used when `type` is 'ClusterIP'

Add force param
helm upgrade loitering-alligator stable/minecraft --set minecraftServer.eula=true,minecraftServer.type=VANILLA,minecraftServer.serviceType=ClusterIP --force
See tiller logs
tiller_logs.txt
Result:
Pod is unschedulable because tiller deleted the Persistent Volume Claim and then tried to use it after.
 Warning  FailedScheduling  14m (x2 over 14m)  default-scheduler  persistentvolumeclaim "loitering-alligator-minecraft-datadir" is being deleted
  Warning  FailedScheduling  3m (x36 over 14m)  default-scheduler  persistentvolumeclaim "loitering-alligator-minecraft-datadir" not found

Other details that may be helpful:
Tested on helm v2.10.0 -rancher
Environment information
local cluster with tiller running locally

This bug is not present in upstream helm v2.13.0

Consider upgrading helm to latest version in Rancher

Closing in favor of the ticket calling out to upgrade helm. https://github.com/rancher/rancher/issues/16971


Update CI to github.

Codecov Report

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

@@            Coverage Diff            @@
##             master     #357   +/-   ##
=========================================
  Coverage          ?   92.37%
  Complexity        ?      115
=========================================
  Files             ?       10
  Lines             ?      341
  Branches          ?        0
=========================================
  Hits              ?      315
  Misses            ?       26
  Partials          ?        0


Create codeql-analysis.yml

created a branch, created a file and made a commit, and opened a pull request

👍


RSS configuration

Does the nightfall theme has any default RSS configuration which we can use for our blog posts ?
Or is there a way to do this manually from our project ?

By default hugo generates RSS feed which will be available at /index.xml. The theme currently doesn't offer any RSS customization but you can customize it in your project https://gohugo.io/templates/rss/


PSUseDeclaredVarsMoreThanAssignments does not detect variables with multiple assignments

PSScriptAnalyzer correctly displays PSUseDeclaredVarsMoreThanAssignments given the following code:
$someVariable = 'some value'
However, we can prevent this by declaring a type for variable a type.  e.g.
$someVariable = 'some value'
$someVariable = 'some value'

Thanks for reporting the case. However, it is a known issue that PSUseDeclaredVarsMoreThanAssignments can produce false positives for more than a year and there are several similar issues in this repo already. Given the low ressources on this project from the Microsoft side at the moment, it might take quite some time until PSUseDeclaredVarsMoreThanAssignments get fixed. Nevertheless it is still good to have all use cases collateted to help testing it should someone step into doing this ambitious task.


Consider Alternative Routes

ABNF
IPv6address   =                             6( h16 ":" ) ls32
              /                       "::" 5( h16 ":" ) ls32
              / [               h16 ] "::" 4( h16 ":" ) ls32
              / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
              / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
              / [ *3( h16 ":" ) h16 ] "::"    h16 ":"   ls32
              / [ *4( h16 ":" ) h16 ] "::"              ls32
              / [ *5( h16 ":" ) h16 ] "::"              h16
              / [ *6( h16 ":" ) h16 ] "::"

h16           = 1*4HEXDIG
ls32          = ( h16 ":" h16 ) / IPv4address
IPv4address   = dec-octet "." dec-octet "." dec-octet "." dec-octet
dec-octet     = DIGIT                 ; 0-9
              / %x31-39 DIGIT         ; 10-99
              / "1" 2DIGIT            ; 100-199
              / "2" %x30-34 DIGIT     ; 200-249
              / "25" %x30-35          ; 250-255

Test Vector

2001:db8::7

Should match: [ *5( h16 ":" ) h16 ] "::" h16, but *5( h16 ":" ) is too greedy and consumes 2001:db8: resulting in a conflict on the second : in h16.

Partly addressed in 029861d7c32165bb748e7188179d1ef9bf0a5fab.
You are able to overwrite operators, which gives you access to op.Not.


How can I test pretrained model?

Hey, I downloaded pretrained model model_e500_v-8.950.pth.tar and test with command python test.py --model_path=model_e500_v-8.950.pth.tar but I got following error:
File "test.py", line 173, in
main()
File "test.py", line 34, in main
model = im2recipe()
File "/trijoint.py", line 120, in init
self.ingRNN_    = ingRNN()
File "/trijoint.py", line 65, in init
self.embs = nn.Embedding(vec.size(0), opts.ingrW2VDim, padding_idx=0) # not sure about the padding idx
File "/usr/local/lib/python3.7/site-packages/torch/nn/modules/sparse.py", line 110, in init
self.reset_parameters()
File "/usr/local/lib/python3.7/site-packages/torch/nn/modules/sparse.py", line 121, in reset_parameters
self.weight[self.padding_idx].fill_(0)
IndexError: index 0 is out of bounds for dimension 0 with size 0
can you provide me solution for this.
Thanks.

I encountered this problem because the location of the "vocab.bin" was not set correctly.

I have the same issue.


[dmap-import] FEAT: Log error when DMAP API file contains no records.

The change logs an Error/Exception if dmap-import API download contains no records.
Cubic should not be publishing API downloads without records. This change will propagate notifications of empty dmap datasets to splunk alerts.
Asana Task: https://app.asana.com/0/1203883924584572/1208782928208814

We explicitly asked Cubic to publish DMAP entries without records, so that we can tell that DMAP is working even if there are no records for a particular extract. Asana task: https://app.asana.com/0/0/1205962537080165/f

We explicitly asked Cubic to publish DMAP entries without records, so that we can tell that DMAP is working even if there are no records for a particular extract. Asana task: https://app.asana.com/0/0/1205962537080165/f

@grejdi-mbta Maybe we can discuss this later today. Ideally we can point to a specific Cubic service delivery policy, for the dmap API, and create additional alerts (if needed) to notify us of when we need to create a new ticket regarding dmap data.


IE 8 issue - xdsoftdatetime.currentTime is null

When using IE8, after selecting a date, I get a null pointer exception on the  _xdsoft_datetime.currentTime variable. It may be some sort of local variable issue (guess). This only occurs in IE8 and I'm using jQuery version 1.7.2.
Any suggestions on fixes?

Has anyone even taken a look at this issue? It's been open for over a year now...


Problems with dependencies on fresh installation

Describe the bug
Running npm install for the first time fails due to some packages who can't find dependencies
To Reproduce
Clone project
Run npm install
Expected behavior
All packages should install
Desktop (please complete the following information):

OS: MacOS
Node.js: v16.2.0

Additional context
The package react-flags-select complains about React@15 dependencies not met.
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/react-flags-select
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

 System Darwin 19.6.0
npm ERR! gyp ERR! command "/usr/local/bin/node" ".../o-fish-web/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! node -v v16.2.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1

Working on this issue


Trait conflict when implementing IntoActiveModel<A> outside of entity model definition

Description
Trying to implement IntoActiveModel<A> outside of my entity model definition gives the following error:
  --> src/actions.rs:45:1
   |
45 | impl IntoActiveModel<user_account::ActiveModel> for UpdateUser {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: conflicting implementation in crate `entity`:
           - impl IntoActiveModel<entity::user_account::ActiveModel> for <entity::prelude::UserAccount as sea_orm::EntityTrait>::Model;

I can't use DeriveIntoActiveModel either since I'm unaware how to specify (via attribute or etc) the specific ActiveModelTrait type that my type converts into since I define it outside of my crate.
Steps to Reproduce
// this is in entity::user_account::Model
#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Serialize, Deserialize)]
#[sea_orm(table_name = "user_account")]
pub struct Model {
    #[sea_orm(primary_key, auto_increment = false)]
    pub id: Uuid,
    pub created_at: DateTimeWithTimeZone,
    pub updated_at: DateTimeWithTimeZone,
    #[sea_orm(column_type = "Text")]
    pub name: String,
    pub email: String,
    #[sea_orm(column_type = "Text")]
    pub password: String,
    pub verified: bool,
}

// this exists in a separate, main crate where I perform other logic
#[derive(Debug)]
pub(crate) struct UpdateUser {
    pub(crate) name: Option<String>,
    pub(crate) email: Option<String>
}

impl IntoActiveModel<user_account::ActiveModel> for UpdateUser {
    fn into_active_model(self) -> user_account::ActiveModel {
        user_account::ActiveModel {
            name: sea_orm::IntoActiveValue::<_>::into_active_value(self.name).into(),
            email: sea_orm::IntoActiveValue::<_>::into_active_value(self.email).into(),
            ..::std::default::Default::default()
        }
    }
}

Expected Behavior
I expect it to be able to convert my type (defined outside of the entity crate) into an ActiveModel that I can use to update rows in my table.
Actual Behavior
Doesn't work as explained above.
Reproduces How Often
Always reproducible.
Versions
❯ cargo tree | grep sea-
│   ├── sea-orm v0.6.0
│   │   ├── sea-orm-macros v0.6.0 (proc-macro)
│   │   ├── sea-query v0.21.0
│   │   │   ├── sea-query-derive v0.2.0 (proc-macro)
│   │   ├── sea-strum v0.23.0
│   │   │   └── sea-strum_macros v0.23.0 (proc-macro)
├── sea-orm v0.6.0 (*)

Database is Postgres 13.5, OS is ArchLinux 5.16.9-zen1-1-zen
Additional Information
Might be related to #322, #323, #340.

facing the same issue

@fairingrey  if you define your implementation of trait in inside entity create the error will gone.
I am still new to rust, but think this is related to orphan rule I guess.

Hey @fairingrey, welcome!
The UpdateUser struct should have two non-null fields since both of them are required in the original Model.
So, we have...
#[derive(Debug, DeriveIntoActiveModel)]
pub(crate) struct UpdateUser {
    pub(crate) name: String,
    pub(crate) email: String,
}

Hey @koptan, you manage to solve the errors by moving the trait implementation inside entity crate?

Hey @fairingrey, welcome!
The UpdateUser struct should have two non-null fields since both of them are required in the original Model.
So, we have...
#[derive(Debug, DeriveIntoActiveModel)]
pub(crate) struct UpdateUser {
    pub(crate) name: String,
    pub(crate) email: String,
}

Thanks for the welcome :slightly_smiling_face:
I know that works, but maybe more related to #322 -- Is it not possible for UpdateUser to act as a sort of changeset? i.e. if name is None then the active value for it should be unchanged. I'm using this for a PUT endpoint, so some values should stay the same.

Just as another question but in https://github.com/SeaQL/sea-orm/blob/master/src/entity/active_model.rs#L573-L599
I've patched it for my use case by including the following:
        impl IntoActiveValue<$ty> for Option<$ty> {
            fn into_active_value(self) -> ActiveValue<$ty> {
                match self {
                    Some(value) => Set(value),
                    None => NotSet,
                }
            }
        }

But I'm wondering if or why it wouldn't make sense. Is NotSet intended for updating with NULL values?

But I'm wondering if or why it wouldn't make sense. Is NotSet intended for updating with NULL values? If so, then why does ActiveValue::Unchanged(V) require a value?

NotSet is intended to represent a undefined state. You could say it's a NULL. Unchanged takes sea_query::Value because it represent the state of a value. This info is useful for us to determine which attributes are updated and has to be included in SQL UPDATE statement.

I know that works, but maybe more related to #322 -- Is it not possible for UpdateUser to act as a sort of changeset? i.e. if name is None then the active value for it should be unchanged. I'm using this for a PUT endpoint, so some values should stay the same.

With the patch you made, I think it's good enough for your current use case. Btw... #492 might be helpful to you.

NotSet is intended to represent a undefined state. You could say it's a NULL. Unchanged takes sea_query::Value because it represent the state of a value. This info is useful for us to determine which attributes are updated and has to be included in SQL UPDATE statement. Also, to actively set a column to NULL you will need to set Unchanged with sea_query::Value::null(), e.g. NULL integer would be sea_query::Value::Integer(None).

With the patch you made, I think it's good enough for your current use case. Btw... #492 might be helpful to you.

I see. Regarding the patch, I'll definitely take a look at that (as I would like not to resort to my own patches if possible). Thanks for the quick responses!

I updated this issue to better reflect my original problem. You're free to close it if this is not the intended way of using the library, although it might be worth mentioning in the guides e.g. here

Hey @koptan, you manage to solve the errors by moving the trait implementation inside entity crate?

Yes

Hey @koptan, you manage to solve the errors by moving the trait implementation inside the entity crate?

Hi @baoyachi, Yes when I moved the trait implementation into entity create I was able to solve this issue.
I think this is happening because we already have an implicit implementation for IntoActiveModel with Marco and when I am trying to define my own implementation it's breaking the orphan rules I guess: https://github.com/Ixrec/rust-orphan-rules
Again, I am still new to rust so maybe my feedback is so wrong.

Oh,Seems to be at the wrong person. @koptan

@baoyachi  sorry my bad, I will modify the mention.


[FEAT] Remembering size and position of scratchpad windows

Currently the size and position is always restored to some default, even if size and position are not configured explicitly. I would like to have a behavior like on i3, where I can resize and move windows on the scratchpad, hide it and show it again, where the position of the window stays like before.
Please add an additional option to keep manual geometry changes (optimally independent per monitor).

Do you have a chance to test the git version ?

I just realize there is a complication on multi-screens.
How i3 is handling this case ?
I see a few options when the scratchpad is called from a different monitor:

resetting the position & size (from the configuration)
apply an additional "dummy" offset corresponding to the distance between the monitors, hoping it will be visible
same as the previous one with added heuristics (if the new screen is smaller, scale the window accordingly ?)

I believe the version 2.0.7 is addressing this limitation. Considering this issue closed. Create a new issue or an entry in the Discussions if it requires some fine-tuning.

I closed it a bit quickly maybe... are you satisfied with the behavior ? Also check #59 - it wasn't supposed to be supported but it could be close to the behavior you are looking for...

Closing for inactivity


[HUDI-3879]Suppress exceptions that are not fatal in HoodieMetadataTableValidator

https://issues.apache.org/jira/browse/HUDI-3879
Several improvements for HoodieMetadataTableValidator.
What is the purpose of the pull request
(For example: This pull request adds quick-start document.)
Brief change log
(for example:)

Modify AnnotationLocation checkstyle rule in checkstyle.xml

Verify this pull request
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@zhangyue19921010 : One of my error injection test run failed w/ below exception with metadata table validation.
Run Number : 0

├── Deltastreamer Job

│   ├── Status: Failed

│   ├── Exceptions

│   └── Killed

│       └── Killing the jvm at /tmp/fail2_mt_write.txt Reason: Fail metadata

│           table writing before commit<PHONE_NUMBER>0000

└── Validation Job for Latest files

    ├── Status: Failed

    ├── Exceptions

    │   ├── org.apache.hudi.exception.HoodieValidationException: There is no

    │   │   completed instant for metadata table.

    │   ├── org.apache.hudi.exception.HoodieException: Unable to do hoodie

    │   │   metadata table validation in $BASE_PATH/COWDeltastreamerRun/base_path//hoodie_Table

    │   ├── Caused by: org.apache.hudi.exception.HoodieException: Error fetching

    │   │   partition paths from metadata table

    │   ├── Caused by: org.apache.hudi.exception.HoodieMetadataException: Failed

    │   │   to retrieve list of partition from metadata

    │   └── Caused by: java.util.NoSuchElementException: No value present in

    │       Option

    └── Killed: False

Uploading logs to s3 $BASE_PATH/COWDeltastreamerRun/

Completed 1.2 KiB/435.1 KiB (17.4 KiB/s) with 4 file(s) remaining
upload: job_runs/18-04-2022T00-37-10/hoodie_table_report.log to $BASE_PATH/COWDeltastreamerRun/hoodie_table_report.log

Do you think, w/ above fix, this failure will go away. This failure happened when there are no commits in metadata table.

when there are no commits in metadata table.

Yeap, after this patch, when there are no commits in metadata table, HoodieMetadataTableValidator will skip current loop and log a warn message.


max() donot work

it returns [8.95,12.99, 8.99, 22.99], where I use  $.store.book[?(@.price)].price
I want to get the max price byusing $.store.book[?(@.price)].price.max() , but it returns nothing.
What is the problem ?

This is an old problem with the implementation. You can not apply functions to the "result set" only to arrays in the document.
{
    "array": [8.95,12.99, 8.99, 22.99]
}

$.array.max()
For now, this is by design.

@apaqi
This maybe late to respond but there is another workaround.
List<Double> prices = provider.get("$.store.book[:2].price", new TypeRef<>(){});         final Double sum = JsonPath.parse(prices).read("$.sum()", new TypeRef<>() {});


⚠ GitLab Server has degraded performance

In ca2b9e2, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 7127 ms

Resolved: GitLab Server performance has improved in ab708bd.


Synopsis section not present in the haddocks being generated

Not sure if this is the right repository or the hackage-server repository would be better suited for this.
Recent version of Hackage, is not showing synopsis section at all in the generated docs.
Example:
Synopsis is present here: https://hackage.haskell.org/package/persistent-2.2.4/docs/Database-Persist.html
But in the latest one it's absent: https://hackage.haskell.org/package/persistent-2.6.1/docs/Database-Persist.html
In face it has been absent for quite some months now.

Pretty sure it was switched off on Hackage for some reason (though not 100%)

@Fuuzetsu Any related thread / link for the reasoning behind it ?

Not that I can recall off the top of my head. I might be completely wrong, just saying it's worth asking someone from Hackage.

I investigated a bit, and it turns out that this appears to be an unintended side-effect of 474a0c182d6ef9a7e93e277a2755d04d943059a0

Thanks @hvr. I'm on it.

With https://github.com/haskell/haddock/commit/4346ad26ac1346aa5e59991315f6969c844bea60 there is now a proper fix in master.

@alexbiehl Thanks for the fix! Feel free to close the issue.

@psibi Please be aware that a fix is already present in the latest released haddock-2.17.4. So you can already use that until we release haddock-2.18.


vc1d reports frame types incorrectly for some frames

Follow up issue after #333. Per @lizhong1008 observations:

Tested SA00040.vc1 and SA10091.vc1 (you can get all of them from ffmpeg suite: http://ffmpeg.org/fate.html). Two issues found:

No I frame exposed for SA00040.vc1. All frames reported as B frames.
Some last frames of SA10091.vc1 are still reported as Unknown.

@akokoshn : can you, please, continue debug?

@dvrogozh , sure. I will check these streams

Both issues were caused by wrong setting frame type for buffered frames.
Should be fixed by https://github.com/Intel-Media-SDK/MediaSDK/pull/1249 . @dvrogozh, please take a look.
A have compared frame types reported by SW VC1d and MSDK VC1d. For streams  SA00040 and SA10091 results same: IPPP..


Enable me to use TableWalker as a regular table

The  TableWalker is great.
When compared to (Panel) Tabulator I see the following
Pros

profiling
Performant. Seems performant for many columns which is often the case for data science use cases. Tabulator has problems with > 50 columns. I could have 100-500 columns sometimes.

Cons

No formatting, alignment, styling etc.
No way to turn off the profiler part and just use as a regular table with filters.

To support more use cases it would be really great if TableWalker could dynamically turn of the profiling row and add features from a normal table/ grid. I need the formatting, alignment and styling the most.
It simplifies and speeds up workflows if you can stay within the same component api/ docs/ ecosystem/ community.
Thx.

you can use the hideProfiling prop to turn of the profiling row.
Unfortunately, there is no formatting, alignment, styling in tablewalker for now.


dart run --snapshot crashes

$ dart run --snapshot=server.snap --snapshot-kind=app-jit server.dart
segfaults with:
===== CRASH =====
si_signo=Segmentation fault: 11(11), si_code=2, si_addr=0x0
version=2.17.3 (stable) (Wed Jun 1 11:06:41 2022 +0200) on "macos_arm64"
pid=10314, thread=259, isolate_group=(nil)(0x0), isolate=(nil)(0x0)
isolate_instructions=0, vm_instructions=100d29620
  pc 0x000000019e5cc864 fp 0x000000016f15efa0 _platform_strlen+0x4
  pc 0x0000000100de4d24 fp 0x000000016f15efd0 dart::bin::File::OpenUri(dart::bin::Namespace*, char const*, dart::bin::File::FileOpenMode)+0x1c
  pc 0x0000000100d03458 fp 0x000000016f15f070 dart::bin::DFE::TryReadKernelFile(char const*, unsigned char**, long*, bool, std::__2::shared_ptr<unsigned char>*)+0xac
  pc 0x0000000100d032ec fp 0x000000016f15f0c0 dart::bin::DFE::ReadScript(char const*, unsigned char**, long*, bool, std::__2::shared_ptr<unsigned char>*)+0x54
  pc 0x0000000100d046b0 fp 0x000000016f15f190 dart::bin::RunMainIsolate(char const*, char const*, dart::bin::CommandLineOptions*)+0x518
  pc 0x0000000100d04264 fp 0x000000016f15f240 dart::bin::RunMainIsolate(char const*, char const*, dart::bin::CommandLineOptions*)+0xcc
  pc 0x0000000100d050d8 fp 0x000000016f15f3c0 dart::bin::main(int, char**)+0x5ec
  pc 0x0000000100d05ec8 fp 0x000000016f15f3d0 main+0xc
  pc 0x00000001033a508c fp 0x000000016f15f520 Unknown symbol
-- End of DumpStackTrace
[1]    10314 abort      dart run --snapshot=server.snap --snapshot-kind=app-jit server.dart

$ dart --snapshot=server.snap --snapshot-kind=app-jit server.dart works fine on the same machine.
It crashes on every input file, e.g:
void main() {
  print('hi');
}

Note that the current documentation recommends using dart run instead of dart.

Fails on Linux too.
cc @bkonyi

Can you try dart compile jit-snapshot server.dart?

That works. Does it do the exact same thing?

Yup, it does. There's probably just some weird interaction with the new CLI and the older VM flags. However, it's still worth investigating the crash as the invocation you were making should still work.

Hm, so it looks like the CLI isolate is configured to only run when there's no snapshot, so the run keyword causes confusion since it's not a valid file. I think that adding some logic to check for this case and print an error pointing users to dart compile is the right thing to do here. The legacy behavior will still work without the run keyword.


feat: add package @sit-onyx/figma-utils

Add the package @sit-onyx/figma-utils which supports a CLI command and JavaScript utility functions for exporting Figma variables into a.css or .scss file.
I added a export-variables.yml GitHub workflow that can be triggered manually (e.g. by our designer) that exports the public/onyx theme/mode from Figma for the component library and creates a PR for this (see #12).

Add the package @sit-onyx/figma-utils which supports a CLI command and JavaScript utility functions for exporting Figma variables into a.css or .scss file.
I added a export-variables.yml GitHub workflow that can be triggered manually (e.g. by our designer) that exports the public/onyx theme/mode from Figma for the component library and creates a PR for this (see #12).

pls update the PR description (export -> import)


Live CD on USB stick doesn't work on Mac

The 14.11 LiveCD, when written to a USB stick using the instructions at https://nixos.org/wiki/Installing_NixOS_from_a_USB_stick#Hybrid_image, doesn't boot. Holding Option at restart time doesn't show the USB disk as an option in the list.
Disk Utility says that the USB stick doesn't have a partition scheme, although the hybrid ISO is supposed to have one?
What does make it visible in the boot loader, is formatting a USB stick with GUID partition table and ExFAT, and copying the ISO contents onto it. I suppose that could be the permanent workaround?
Cc: @lethalman @bobvanderlinden @copumpkin

the 15.09 version does not have these problems can we close this issue?

This issue was brought up after #4678 was merged. I'd guess it is solved already.
The automated tests at least give an indication whether QEmu can boot from USB and CD on Uefi and legacy bios. All tests pass: http://hydra.nixos.org/eval/1236697?filter=nixos.tests.boot&compare=1236445&full=

I successfully booted NixOS 16.03 from a USB-stick created with dd on a MacBook.

@davidak Thanks for the feedback. Just to have enough information for potential future boot problems, which MacBook did you try it on?
Apart form that, I would think this can be closed. @wmertens, agreed?

Agreed! Thanks all! 🍻

@bobvanderlinden MacBook Pro Retina, 13", Ende 2012


Escaping of equals character, '='.

Hi,
Recently when trying to write points with tags where the value is a string with '=' characters in it. The Influxdb java library "write" method throws an error. An example of this is
13:33:49.985 [OpenAccessApiClient-UnknownDevBuild-akka.actor.default-dispatcher-4] ERROR persistance.Engine - java.lang.RuntimeException: unable to parse 'metric,BU=Business\ Driven\ IT,Column\ name=args,Data\ View=processes,Gateway=Ed's\ gateway,Header\ Column=/opt/google/chrome/chrome\ --type=renderer\ --enable-pinch\ --enable-deferred-image-decoding\ --lang=en-GB\ --force-fieldtrials=AffiliationBasedMatching/Enabled/AudioProcessing48kHzSupport/Default/*AutofillEnabled/Default/CaptivePortalInterstitial/Disabled/*ChildAccountDetection/Disabled/ChromeDashboa...,Main\ Office=Epsom\ 1234,Managed\ Entity=ME01,Region=Surrey,Row\ name=all#002,Variable\ name=all#002\ -\ args Severity="UNDEFINED",Severity\ id=0,Type="Metric",value=-1.01234<PHONE_NUMBER>000000000': missing tag value
Many thanks,
Ed

Can influxdb's native api support '=' character in tags?

Yes, the API has no problem with = in tags, provided the character is properly escaped with a backslash \.

Is this already fixed through PR #102?

Yes of course :-)


The formal name of the encoding

The proposed implementation is a variation of Base24 encoding.
You refer to it as "Base24" but there is no standardized approach for such an encoding yet in contrast to something like Base64 which is defined by W3C RFCs.
This means that we should give it a specific name. Some obvious proposals that come into mind are:

Kuon Base24
Goi Base24
your suggestion ?

What name you do you prefer?
I would also suggest to imprint that chosen name into spec.

I am not a big fan of using my real name (goy), because people usually pronounce it wrong.
Some people said we should make an RFC, as apparently encoding crypto keys for human to write down is a common problem (I was very surprised by the amount of messages I got). But that sounds too bold for me, I didn't do anything really great. It was just something I did for a project I am working on. But if formalizing it can help in any way, you have my blessing (also consider the spec public domain).
If you wish to give it a formal name, you can use "Kuon's Base24 encoding". Even if I don't really like using my nickname, as it sounds pretentious, I guess using my nickname will help with SEO and will ensure people will find it when searching.

Thank you for the quick answer.
Let it be "Kuon's Base24 encoding" which makes a lot of sense.
Cheers


[BUG] Events displayed on the log do not appear in the GraphQL endpoint

Bug
Version
"@ponder/core": "^0.4.24"
Bug Found
When running npm run dev it logs the total events emitted on the console, however, when trying to fetch the same events through the GraphQL endpoint, it fetches nothing. Also, the total number in the log is wrong, fetching only 3 instead of the total events in this link
Obs: The problem only happens in the kakarot network
1. Result of running npm run dev

2. Result of running a query to fetch the events related to the kakarot network logged in the console

Steps to reproduce

clone this repository
Run npm run dev
Check the log
Run the following graphql in the endpoint:

query MyQuery {
  swapDatabases(
    orderBy: "blockTimestamp"
    orderDirection: "desc"
    where: {network: "1802203764"}
  ) {
    items {
      swapId
      status
      allowed
      ask
      bid
      blockTimestamp
      expiry
      id
      transactionHash
      owner
      recipient
      value
      network
    }
  }
}

Compare the result with the previous log.

Update
For some reason, the number of events keeps increasing in the ponder log, but in fact none new were created in the blockchain

@kyscott18 started working on a reproduction here, and found another Kakarot RPC bug.
It looks like EIP-234 eth_getLogs requests return all logs on the chain, regardless of which block they were emitted in. Can reproduce with this request:
curl -X POST -H "Content-Type: application/json" --data '{
    "jsonrpc": "2.0",
    "method": "eth_getLogs",
    "params": [{
        "blockHash": "0x020dc933dc5772707a9b78f76010b2c538d3e55423646481ccefa56ae0a7e887"
    }],
    "id": 1
}' https://sepolia-rpc.kakarot.org

We work hard to triage, reproduce, and fix every bug report that we receive. It’s time-consuming work. Unfortunately, after two incidents of non-compliance, we can’t accept bug reports for apps using Kakarot until we see evidence that they are thoroughly testing their RPC (related issue).
Closing for now. There may indeed be a Ponder bug here, and we will gladly revisit once the Kakarot RPC test coverage has improved.

Hey @0xOlias thank you for making it clear and for your efforts! I'll talk to them

@kyscott18 started working on a reproduction here, and found another Kakarot RPC bug.
It looks like EIP-234 eth_getLogs requests return all logs on the chain, regardless of which block they were emitted in. Can reproduce with this request:
curl -X POST -H "Content-Type: application/json" --data '{
    "jsonrpc": "2.0",
    "method": "eth_getLogs",
    "params": [{
        "blockHash": "0x020dc933dc5772707a9b78f76010b2c538d3e55423646481ccefa56ae0a7e887"
    }],
    "id": 1
}' https://sepolia-rpc.kakarot.org

We work hard to triage, reproduce, and fix every bug report that we receive. It’s time-consuming work. Unfortunately, after two incidents of non-compliance, we can’t accept bug reports for apps using Kakarot until we see evidence that they are thoroughly testing their RPC (related issue).
Closing for now. There may indeed be a Ponder bug here, and we will gladly revisit it once the Kakarot RPC test coverage has improved.

Hey @0xOlias , Could you provide a link explaining how to check compliance for Ponder? I've looked up Ponder's repos and docs but nowhere to find them. I would like to have access to this "triage" process to help other chains to implement Ponder. Thank you in advance


serve_hostname debug logging after receiving SIGTERM

@pwittrock Do we use this in a test?

Yeah, please move it to test/images

Ya, should be in main repo.
https://github.com/kubernetes/kubernetes/tree/master/test/images
Also this needs a version bump in the makefile and should be pushed to gcr

Please bump the version and make sure that this is in line with the code in the latest gcr.io/google_containers/serve_hostname image (1.4 i think), in case we forgot and pushed a version out in between.

RE: moving this to the main repo.  @thockin suggested in the future that we phase out using this for tests, and use netexec in its place.  We will still want to keep this around for demos.  In this case, is moving it to the main repo still the correct thing to do?

bumped the version to 1.4. Is there a way to query gcr.io to see what tags exist for an image?

you have to log in to GCR to look at tags - 1.3 is latest
On Wed, Mar 2, 2016 at 11:37 AM, Phillip Wittrock<EMAIL_ADDRESS>wrote:

bumped the version to 1.4. Is there a way to query gcr.io to see what
tags exist for an image?
—
Reply to this email directly or view it on GitHub
https://github.com/kubernetes/contrib/pull/529#issuecomment-191391153.

Thanks

We will still want to keep this around for demos. In this case, is moving it to the main repo still the correct thing to do?

I think so, unless you're planning to switch out netexec right now. It should just be a lift-and-shift. If you'd like to defer that to another pr that's fine too. You will have to update the test to use the 1.4 image anyway.

Sounds good.  Why don't we get this PR looking like we want and submit it, then I will move the code between repos without making any changes to it.  Afterward I can build the new image: make containerf && make push and finally update the tests to use the new tag.

PTAL

SGTM

LGTM

Will merge on green

Let me make one change

forgot to run gofmt

Updated with gofmt.

PTAL

LGTM, merging

danke


Cannot TEST integration with Mobile APP and Backend

I have a strange problem:
I have two tests users, the seller<EMAIL_ADDRESS>and the buyer (test_user_73740183@testuser.com).
I succesfully generate a preference with the seller user at my backend. I send the preference ID to the mobile app that uses the MercadoPago's Android SDK.
There, I start the checkout activiy. Problem is, I have to specify one of the public keys, the Sandbox Mode One or the Production One.
Over the production one, on the seller test user credential page, appears this message "Estás logueado con un usuario de testeo". I tried using that, and I didn't worked, a message error emerged "¡Uy! Algo salio mal. Vamos a solucionarlo. Itenta mas tarde".
If I use the Sandbox Mode public key, I can succesfully complete the payment with one of the test credit card. But then, when I send the payment ID back to the server and try to get the payment with that ID, it returns nothing.
What I am doing wrong?

nothing is wrong, mercadopago on sandbox mode does generate any id that is for all platforms I use the ruby and android api and this is normal.


Switch COZ API to NeoScan

CoZ api is getting deprecated

https://github.com/CityOfZion/neo-swift/pull/109


Additional data for cutaneous melanoma TRACE models

Description
As a developer, I want to increase the number of models and data in the PDX Finder.
Models to add: None new at this point
Data to add: additional data for the following TRACE models https://www.pdxfinder.org/data/search?query=Melanoma&datasource=TRACE
Possibly other data.
Acceptance criteria

[x] metadata template sent
[ ] other templates sent: sample platform, mutation, expression, CNA, cytogenetics, patient treatment, drug dosing
[ ] templates received
[ ] handed over for validation and data loading

Original metadata template sent to confirm which models have additional data on 14 April 2021.
Once confirmed will send other templates.

Reminder sent

no longer relevant


resolved_ts:  IngestSST do not update the tracked_index

Feature Request
Is your feature request related to a problem? Please describe:

In group_row_changes, only update tracked_index of the CmdType::Put and CmdType::Delete, tracked_index not updated in IngestSST and 1PC scenarios.
TiFlash needs to use safe_ts to determine whether the peer's data synchronization progress is far behind the leader, so if the tracked_index is not updated in IngestSST scenario, the result is inaccurate. (ref: https://github.com/pingcap/tiflash/issues/4902)
Describe the feature you'd like:

Update tracked_index in IngestSST and 1PC scenarios.
Describe alternatives you've considered:

Teachability, Documentation, Adoption, Migration Strategy:

It may be okay to ignore IngestSST because only followers will apply this command (maybe leader that not yet apply to its term also do), and tracked_index & resolved_ts is only meaningful for the leader and the leader will initialize them after it has applied to its term.
The 1PC case may indeed be a problem. As if there are only 1PC write commands, the resolved_ts will ever increase but the tracked_index does not which means peers that do not apply any new command can still handle read requests with newer ts.
Although 1PC does not have any locks thus resolved_ts can be updated with or without 1PC being tracked, just updating the tracked_index for 1PC will be enough, because the ts used for update resolved_ts is bounded by cm.global_min_lock_ts and the following code ensures 1PC is being tracked before its lock in the concurrency manager is released (which may affect cm.global_min_lock_ts):
https://github.com/tikv/tikv/blob/8c93b91fea7396b9261551297d1bfa037c82e605/components/raftstore/src/store/fsm/apply.rs#L564-L575
Not quite sure if this case exists but if it does better add some test case for it, in case incoming change breaks the assumption here.

It may be okay to ignore IngestSST because only followers will apply this command (maybe leader that not yet apply to its term also do), and tracked_index & resolved_ts is only meaningful for the leader and the leader will initialize them after it has applied to its term.
The 1PC case may indeed be a problem. As if there are only 1PC write commands, the resolved_ts will ever increase but the tracked_index does not which means peers that do not apply any new command can still handle read requests with newer ts.
Although 1PC does not have any locks thus resolved_ts can be updated with or without 1PC being tracked, just updating the tracked_index for 1PC will be enough, because the ts used for update resolved_ts is bounded by cm.global_min_lock_ts and the following code ensures 1PC is being tracked before its lock in the concurrency manager is released (which may affect cm.global_min_lock_ts):
https://github.com/tikv/tikv/blob/8c93b91fea7396b9261551297d1bfa037c82e605/components/raftstore/src/store/fsm/apply.rs#L564-L575
Not quite sure if this case exists but if it does better add some test case for it, in case incoming change breaks the assumption here.

It's OK to ignore IngestSST in existing scenarios, but for the new TiFlash feature, TiFlash needs to use safe_ts to determine whether the peer's data synchronization progress is far behind the leader, so if the tracked_index is not updated in IngestSST scenario, the result is inaccurate.
Tracking IngestSST has little effect on TiKV, but is helpful for TiFlash, so I think adding tracking for IngestSST is OK.

I didn't have a detailed look at the new TiFlash feature and not sure if this change is necessary but just mentioning that tracked_index is only meaningful for the leader and only maintained by the leader, what other peers use to determine their safe_ts is their own apply_index

It may be okay to ignore IngestSST because only followers will apply this command (maybe leader that not yet apply to its term also do)

Oh, perhaps I do have confused with IngestSST, leader may also apply this command thus indeed need to track it.

I didn't have a detailed look at the new TiFlash feature thus not sure if this change is necessary but just mentioning that tracked_index is only meaningful for the leader and only maintained by the leader, what other peers use to determine their safe_ts is their own apply_index

Leader will send <tracked_index, safe_ts> to follower/learner. If the tracked_index not be updated in IngestSST scenario, learner will update safe_ts (because leader will update safe_ts from PD) even the data synchronization progress is far behind the leader.


Homework

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Adding the two new functions (anagram checker)
What did you learn from the changes you have made?
Functions, if statement and booleans
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
I was thinking about if I should add an if else statement for the sake of completeness, but it is not required.
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
No significant challenges
How were these changes tested?
Tested in the notebook
A reference to a related issue in your repository (if applicable)
No
Checklist

[x] I can confirm that my changes are working as intended

You did a great job here!
Please go ahead and close this pull request now. Thanks!

Closed the request.


Incorrect example in README.md

I tried import library as ffi, however it produced an error. Than I tried node-ffi which works correctly,

Not sure what you mean. Can you explain in some more detail?

Sure. Does not work:
var ffi = require('ffi')

Works for me:
var ffi = require('node-ffi')

I found it here: https://github.com/node-ffi/node-ffi/blob/master/README.md#example

You gotta install ffi by
npm install ffi --save

instead of
npm install node-ffi --save

The latter installs a deprecated version.

Project name and package name are different - it made me confused.
Thanks.


Migrate to new drupal client, adds preview support

Update drupal api methods to use new drupal client.

NOTE! Drupal nextjs  user and siteconsumer bug needs to be fixed or preview will not work no matter what.


null.jpg isn't a great name

Set a sensible filename, even when original resource filename could not be reached.

Added workaround and mitigation.  Reopen if persists.


Reactive data not editable in devtools when nested in an object

Version
6.1.3
Browser and OS info
Firefox 98.0.1 / MacOS 12.1
Steps to reproduce
Create an object with a nested reactive object
const service = {
  state: reactive({ ... })
}

What is expected?
In the "Setup" section of the devtool, test.foo should be editable
What is actually happening?
it is only editable when using destructuring in the component setup.
const { state } = service;
See screenshot below
state is editable

service.state is NOT editable

The same situation with:
const state = reactive({
   count: 0,
   doubleCount: computed(() => {
      return state.count * 2
   })
})

In devtools we see state.doubleCount = undefined (Computed)


String should use equals

https://github.com/elytra/MovingWorld/blob/1c547d75d9e681473cbc04a58dc6b803d5ef19fa/src/main/java/com/elytradev/movingworld/common/asm/mixin/core/block/property/MixinPropertyInteger.java#L16

high quality darkevilmac code

It ages like a fine wine.
On Sep 30, 2017, 4:22 PM, at 4:22 PM, liach<EMAIL_ADDRESS>wrote:

https://github.com/elytra/MovingWorld/blob/1c547d75d9e681473cbc04a58dc6b803d5ef19fa/src/main/java/com/elytradev/movingworld/common/asm/mixin/core/block/property/MixinPropertyInteger.java#L16
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/elytra/MovingWorld/issues/47


Pinch to zoom

When using a trackpad, it would be nice to have the ability to zoom in and out with a pinch gesture, like in many other programs.
No clue how easy or hard this would be to implement, though.

I believe what this comes down to is support built into GLFW and currently GLFW doesn't have any support for pinch gestures.
@slimsag would know more I'm sure, but as mach will be moving away from GLFW there's a chance that at least on macOS or certain platforms that pinch gestures could be supported in the future, but I think it will be a while before we end up getting to something like that.

Pinch to zoom is supported now, and correctly offsets camera location based on mouse pointer location


[CELEBORN-1489] Update Flink support with authentication support - backport to 0.5

Backport of #2596 to branch-0.5
Description from #2596:

What changes were proposed in this pull request?
Fix authentication support for Apache Flink.
Why are the changes needed?
Without these changes, Apache Flink applications fail when Celeborn cluster has authentication enabled.
Does this PR introduce any user-facing change?
Fixes authentication support for Apache Flink integration
How was this patch tested?
This is forward port + adaptation of changes we did internally (against 0.4) when testing Apache Flink applications against Celeborn cluster with authentication (and TLS) enabled.
Integration test has been updated to additionally test for Flink applications with authentication enabled in Celeborn cluster.

+CC @RexXiong

Merged to branch-0.5, thanks @SteNicholas !


Add c_embed_data build tool

Add the build tool to generate c embed data for testing. The code is
used to bypass fileIO and it can be used with the C API.
Change the build rule of iree_bytecode_module to include the c embed
codegen. The user needs to assign a non-empty value in the "c_output"
field.

Before I review the implementation (which I think may have to wait till tomorrow), I'd note that I really dislike that iree_bytecode_module as currently written outputs a secret extra target. It means you have to know the macro's implementation to use it (and is against the style guide https://docs.bazel.build/versions/master/skylark/bzl-style.html#macros). It also makes it a pain to implement in CMake because it behaves very poorly with generated file dependencies. I'd much prefer that the embed data didn't get bundled up with running IREE compilation, or if that was such a common pattern that we wanted a single function to do it, we could have that function create the bytecode module it wanted behind the scenes. I don't want to block you because you happen to be touching a part of our codebase I don't like though :-D

Understood. The extra target behavior already exists (cc_namespace to generate the cc_embed_data). Unfortunately, I piggyback the c_embed_data to make it produce one more target optionally. I tested the cmake flow and it had the correct embedding output generated.

Understood. The extra target behavior already exists (cc_namespace to generate the cc_embed_data). Unfortunately, I piggyback the c_embed_data to make it produce one more target optionally. I tested the cmake flow and it had the correct embedding output generated.

Yeah that's what I meant about not blocking you. You're not doing anything here we weren't already doing. Note that the CMake generated file stuff is quite tricky though. It has to do with correctly rerunning targets when some input changes and it can get upset if multiple targets depend on the same custom command. It's really a whole mess that I have to read about again every time I have to touch it and is really hard to ensure you got right because it's nondeterministic behavior.

Just one additional NIT. Beside that, maybe one should check and disallow if both _RULE_CC_NAMESPACE and _RULE_C_OUTPUT are set iniree_bytecode_module? Or is it intended to have the option to generate both?

I intentionally allow iree_bytecode_module to generate both, for the target may be referred in different target (one example will be https://github.com/google/iree/pull/5524). Later if we have the cleanup patch to remove all the cc_embed_data (and the namespace in the test/sample code), we can change the logic.

Just one additional NIT. Beside that, maybe one should check and disallow if both _RULE_CC_NAMESPACE and _RULE_C_OUTPUT are set iniree_bytecode_module? Or is it intended to have the option to generate both?

I intentionally allow iree_bytecode_module to generate both, for the target may be referred in different target (one example will be #5524). Later if we have the cleanup patch to remove all the cc_embed_data (and the namespace in the test/sample code), we can change the logic.

Sounds good! :)

So I was just looking at our BUILD files and noticed that we only run the c_embed_data tests in Bazel, not C++. I'm surprised we didn't discuss that on this PR. @hcindyl do you recall the reason?

I believe at that point the cc_test was only at build_tools/embed_data/BUILD but was never at build_tools/embed_data/CMakeLists.txt. The PR was following the same binary/test target structure as its parent of  https://github.com/iree-org/iree/blob/9f382ba5a08810fb12b26864bb4bb72e277852e0/build_tools/embed_data/
Looking at the code now there's no reason why the test code should not work in CMake. If you want I can add a CMake test target.


IOChaos supports smaller probability of failure injection

Feature Request
Is your feature request related to a problem? Please describe:

At present, we support to define the percentage of injection errors and provides a number from 0-100 when to use IOChaos, but sometimes we want the smaller probability, such as 0.01%
Describe the feature you'd like:

We can use a float64 type to define the percentage of failure injection.

@cwen0 Can I pick this up?

@RajatVaryani Of course, thanks for your participation.


Check UTF16 string size before converting to String to avoid OOME

Description
Node can drop out for OutOfMemory errors other than the VM OutOfMemory which comes from the implementation limits of StringUTF16.
java.lang.OutOfMemoryError: UTF16 String size is<PHONE_NUMBER>, should be less than<PHONE_NUMBER>

This PR attempts to pre check the size and throw an exception proactively before trying a conversion.
Related Issues
Resolves #1651
Check List

[x] New functionality includes testing.

[x] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thanks @imRishN
To help with the unit test, would it then make sense to maybe move the logic up till getting the expected length into a separate helper function, and then mock this helper function in the unit test to return a number that is > MAX_LENGTH?
And to confirm, the test running OOM while creating the ByteReference for size greater than max_length+1 shouldn't be a concern for creation of the actual ByteReference at runtime, right? (I believe this difference is due to a reduced heap space allocated for the tests).

@Bukhtawar @reta ya'll good with this as is now?

@imRishN could you please submit manual backport for 2.x? thank you


KIC troubleshooting: Turn code phrases into codeblocks

Review
@Bradamant3
Summary
Turning code phrases into code blocks and some minor teeny edits.
Reason
Long code phrases were breaking mobile site.
I wonder if we should add some guidelines around when to use a code phrase vs when to use a code block @HCloward @Bradamant3
Testing
https://deploy-preview-3015--kongdocs.netlify.app/kubernetes-ingress-controller/1.3.x/troubleshooting/

LGTM (although as a side note inquiring minds would like to know, just what makes a k8s installation "non-standard" ... but that's for another day, another PR :D )

I'd love to know that too -- I stared at that phrase while making this change thinking, should I try to track it down now? But no, too out of scope, keeping it simple.


Component Gallery added

Related Issue
Closes #764
Description
Added Component.gallery: A valuable resource for designers seeking inspiration and ready-to-use design elements in the UI section.
Checklist

[x] My code adheres to the established style guidelines of the project.
[x] I have included comments in areas that may be difficult to understand.
[x] My changes have not introduced any new warnings.
[x] I have conducted a self-review of my code.

Your issue suggestion is only about adding a new tool, but your PR is changing the indentations. Therefore, please revert it back in order to get it merged.

Hello, contributors! This is Jason speaking. Due to some workflow issues, we will be closing all the PRs today. Therefore, I kindly request all of you to create new PRs tomorrow, as the currently open ones will be closed by our team. I apologize for any inconvenience caused. Also, please make sure to check the titles when creating the PRs. You can refer to the README.md for more details. Thank you.


Companion website minor security/accessibility issue

It may seem like https://viz.mediapipe.dev/ is not configured to serve a sufficiently complete chain of certificates for it's certificate as per what I understand to be a best practice.

I am also having the same issue with chrome. It works fine on other browser. I need to clean chrome and start again.

I am also having the same issue with chrome. It works fine on other browser. I need to clean chrome and start again.

Hi @matanster, Could you please respond whether you facing the above error with the latest build. Thanks!

Looks fine now


first draft for supporting docker-compose v2

Pull Request
Disclaimer
I'm not a golang developer, so any code presented here is a collection of educated guesses as how to solve the problem.
With that out of the way, let's present the pull request.
Problem
This pull request adresses Issue231: firefly fails check for docker compose v2. The problem arises due to docker changing the syntax for docker-compose from docker-compose in version 1 to docker compose in version 2. There is always the workaround to require the standalone docker-compose in version 1.
Fix
The fix is split into two parts, adressing the checking of the version and integrating the information into the stack manager that executes the docker commands via RunDockerComposeCommand. The information about which version syntax to use for the commands is carried via context.
CheckDockerConfig
the function that checks for the prerequisites when executing docker-compose commands, CheckDockerConfig returns a tuple (DockerComposeVersion, error) with DockerComposeVersion as enum to differentiate between None, ComposeV1 and ComposeV2. This value is stored in a context that is later transferred into the stack manager.
Unfortunately, cobra with version 1.4.0 does not provide the capability to allow context to be attached to a command.
Only from version 1.5.0, this feature has been merged, for reference: support for SetContext.
The solution using cobra 1.5.0 concerns all commands which use both PreRunE and RunE while also requiring the docker compose version to be transferred as context between these two executions:
        PreRunE: func(cmd *cobra.Command, args []string) error {
		ctx := ...
		version, err := docker.CheckDockerConfig()
		ctx = context.WithValue(ctx, docker.ComposeVersion{}, version)
		cmd.SetContext(ctx)
		return err
	},
	RunE: func(cmd *cobra.Command, args []string) error {
                ...
		stackManager := stacks.NewStackManager(cmd.Context())
               ...
	},

The functions currently affected are defined in:

accounts_create.go
accounts_list.go
deploy_ethereum.go
deploy_fabric

No version update is required when simply combining both executions, similar to functions from:

info.go
logs.go
reset.go
start.go

        RunE: func(cmd *cobra.Command, args []string) error {
		ctx := ...
		version, err := docker.CheckDockerConfig()
		ctx = context.WithValue(ctx, docker.ComposeVersion{}, version)
                if err != nil {
                     return err
                }
		stackManager := stacks.NewStackManager(cmd.Context())
               ...
	},

RunDockerComposeCommand
The second part of the changes affects the way the stack manager runs docker-compose functions. By retrieving the docker-compose version, either docker-compose or docker compose can be executed
Possible Tweaks

Instead of storing a version in the context, the command itself can be stored; when docker-compose in version 2 is detected, instead storing V1, the string docker compose is attached to the context with ComposeCmd as key. Consequently, the RunDockerComposeCommand function simply executes exec.Command(ctx.Value(ComposeCmd{}), command...).

Open Question

Is the separation between PreRunE and RunE necessary, because currently only docker checks are executed in PreRun. Small commands do not even specify PreRunE at all.

Okay, actually you can disregard my previous concern. That was an issue with the Compose Specification version (and going to V3), not the Docker Compose binary version.

This looks great now! The one last thing is to make sure you have sign-off on your commits. There are some details on how to do that here: https://github.com/hyperledger/firefly-cli/pull/232/checks?check_run_id=10537046269 It may be easiest to squash merge with one new commit with sign off. Sorry for the trouble, but this is just a requirement for all Linux Foundation repos.

Hi @nguyer,
thanks for the advice. I squashed the commits and signed the resulting one.
Let me know if I made any errors.

Sorry, it's not a signed commit that we need, but rather sign off. You just need to add -s to your commit message and git will do it for you:
https://git-scm.com/docs/git-commit#Documentation/git-commit.txt--s
Here's a bit more info about it if you need it: https://wiki.linuxfoundation.org/dco

That felt like an unnecessary mistake from my side.
It should be fixed now.

Looks great now! Thank you for contributing this!


Ability to automatically start SQL Job

New UI to ask the user if they want to automatically start up a job
New logic to check for installation
Cleanup of unused configuration options

Tested and this works great. Thanks for the improvement!


Missing function: Force focus ???

Missing function - setting the focus to a particular field.
The code :
Text(field3TB) = x$
will display value of x$ in field3TB but cursor remains where it is.
Something like:
Focus(field3TB)
would be way helpful.

SetFocus field3TB


qemu: replace serial console port

7777 is used by gh action runner on IPv6
zededa@eve-runner:~/actions-runner$ sudo netstat -ltnp Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 <IP_ADDRESS>:53           <IP_ADDRESS>:*               LISTEN      1165/systemd-resolv
tcp        0      0 <IP_ADDRESS>:53           <IP_ADDRESS>:*               LISTEN      1165/systemd-resolv
tcp6       0      0 ::1:7777                :::*                    LISTEN      14603/node
tcp6       0      0 :::22                   :::*
LISTEN      1/init
also some implementations of telnet try IPv6 first if the host has both addresses assigned

Maybe it makes sense to actually check if following port is busy and fail, wdyt @christoph-zededa ?

Maybe it makes sense to actually check if following port is busy and fail, wdyt @christoph-zededa ?

It will fail if a component tries to listen on the same port with the same IP version.
You mean a check that goes through all listeners and checks if the pid of a listener on port x on IPv4 is different than port x on IPv6?

Maybe it makes sense to actually check if following port is busy and fail, wdyt @christoph-zededa ?

Right now Eden will fail on step of eden start (during start of qemu and waiting for 5 seconds after start in RunCommandNohup) if it cannot use port defined in config.

@christoph-zededa What about instead adding eden config set default --key eve.telnet-port --value 17777 into the setup-environment action for your runner? (and then improving collect-info-console.sh to read port from the config)
Or is the process node that listens on 7777 something that github will run on every self-hosted runner (and thus changing the default makes sense)?

@christoph-zededa What about instead adding eden config set default --key eve.telnet-port --value 17777 into the setup-environment action for your runner? (and then improving collect-info-console.sh to read port from the config) Or is the process node that listens on 7777 something that github will run on every self-hosted runner (and thus changing the default makes sense)?

As far as I understand these github runners, they have to run on every self-hosted runner.


Haml trans and blocktrans tags are ignored by make_messages utility

I've converted my project to HamlPy and Djaml, and everything works fine except the i18n.
%b
    - trans 'Some message text'

This trans tag is ignored by make_messages command, as well as blocktrans in haml syntax. After running manage.py make_messages I found all the messages from templates commented out as they were not found.
I know I can fall back to usual syntax like
%b {% trans 'Some message text' %}

but it undoes a lot of gains of haml. Is there a way to make the translation parser recognize haml syntax?

in the pull request #42, I've added a fix to this: haml templates are processed on the fly. Still, you need to import hamlpy explicitly from your project to make it decorate the templatize function.

Thanks for the commit!


Login - Invalid value passed to property mode in fetch API

Thank you for taking the time to file a Bug report.
Describe the bug
In the login component, a login handler function takes care of making network calls to the backend using the fetch API. However, this API call is not being triggered because of the invalid value passed to the mode property. The current implementation passes CORS, but from the fetch API docs, CORS is not a valid option.
The valid options are no-cors, *cors, same-origin.  Meaning the value passed to the property is case-sensitive.
The asynchronous results are also handled using Promise chains, which leads to a larger codebase unnecessarily.
To Reproduce
Steps to reproduce the behavior:

Go to the Login page (/login)
Click on login (You could either enter correct, incorrect, or blank credentials).
Before clicking on login open the network tab
Click on login, and you'll notice, that no network call is made.

Expected behavior
A network request needs to be made corresponding to the information in the fetch API.
Also migrating from .then promise chains to async/await would be a good practice that helps in keeping the codebase compact.
Screenshots
If applicable, add screenshots to help explain your problem.
NA
Desktop (please complete the following information):

OS: Windows 11
Browser Chrome
Version 100

Additional context
Add any other context about the problem here.

@padmajabhol let me know what you think of this. If you could assign this issue to me, I'd be glad to make the necessary changes & getting this fixed. Thanks.

Yes, that'd work as well, but I was thinking I could address issues that would require implementing more significant changes, be it with styles or validation and development of other components. Anything is fine and I'd be willing to go with the decisions made by mentors and the project maintainers. I was also wondering if there is any template available for writing the project proposal. If yes, where do I find it? Thanks.

Yes we do have one.
https://docs.google.com/document/d/1zrHGk1guWboGlOuQKd6aaaplQtGGXChwj_zwOdz9KE0/edit#

Thank you. Will use the given template to create my proposal.

@prajwalkulkarni thanks for pointing that out. @padmajabhol yeah that's a good idea. Also do not that the backend currently has issues that need fixing, the backend API isn't working as it should be.


Flake8

Some features to resolve #58, flake8 and travis integration. One flake8 error still pops up, that 'file' is an undefined name. This syntax is probably antiquated somewhat, and it's difficult to understand what it should be, without breaking something else. For now, it has the --exit-zero flag set, indicating that passing the tests are not mandatory, but this is something up for discussion.
This is not merged with the other pull request. They both branch of master and will need to be merged later.

Coveralls seem to be complaining about a decreased coverage percent. I'm not sure, but I think this is because its baseline is the other branch (which does have higher coverage). Either way, I anticipate that will be fixed with a merge.

Bonus, well done @AlanCoding .  The only comment I have regarding the use of noqa is that I'd probably prefer seeing that used on a per-line basis, rather than a per-file basis.  If you're okay with that, I'd proceed with merging afterwards.

@AlanCoding looks great, go ahead and merge whenever ready.  Thanks for your contributions :)


Powermock #605 Please support @TestSubject

Fix: #605
Support of @TestSubject was added. (EasyMock's equivalent to Mockito's @InjectMocks)
The class could be used to determine whether EasyMock supports some feature or not.

This is great news!!!! Thanks a lot!

Wow! Thank you for implementing this feature request so quickly! :-)


Track swap mapping permutations in Stochastic mapper

Summary
Being able to determine the final qubit permutation after swap mapping has been a much needed routine for a couple of years now.  It is trivial to implement and I have done so here for the Stochastic swap mapper.
Left to do before removing WIP:

[x] Add tests.
[x] Changelog

Details and comments

Back into WIP as there is edge cases

All the routing passes (including StochasticSwap) now seem to set the final permutation as a Layout object to property_set["final_layout"] when fake_run option is True.
Why don't we promote property_set["final_layout"] to be always set in run method, instead of introducing a new property final_permutation?

So there are a couple of advantages here: 1) This computes without the need for a fake run. 2) This includes the initial layout in the permutation so that this tells you the full permutation details whereas the method you bring up does not.  Importantly, this will allow you to put measurements and single qubit gates on a circuit AFTER compilation in the correct order.


Linux version for client

Hello,
Why outline has not linux version for clients?
linux is not popular than chromeOs that has client version?
What's your solution for linux users?

See #10.
You can use shadowsocks, shadowsocks-libev, shadowsocks-qt5 or other shadowsocks compatible client now.


CVXOPT fails on exp cone problem

Adding axis parameter to log_sum_exp seems (https://github.com/cvxgrp/cvxpy/pull/247) to cause CVXOPT to fail in a nondeterministic fashion (is there some randomness in the initialization?). All other solvers pass reliably without problem.
Here is an example a failure case, running the atoms
atoms = [
    ([
        (lambda x: log_sum_exp(x, axis=0), (1,2), [ [[5, 7], [0, -3]] ], Constant([7.12692801, 0.04858735]).T),
        (lambda x: log_sum_exp(x, axis=1), (2,1), [ [[5, 7], [0, -3]] ], Constant([5.00671535, 7.0000454])),
    ], Minimize),
]

and just CVXOPT solver
SOLVERS_TO_TRY = [CVXOPT]

Failure example:
cd $HOME/cvxpy && nosetests cvxpy.tests.test_constant_atoms
.E..........
======================================================================
ERROR: cvxpy.tests.test_constant_atoms.test_atom(<function <lambda> at 0x107a926e0>, Problem(Minimize(Expression(CONVEX, UNKNOWN, (1, 1))), [EqConstraint(Variable(2, 2), Constant(CONSTANT, UNKNOWN, (2, 2)))]), 7.12692801, 'CVXOPT')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/Users/mwytock/cvxpy/cvxpy/tests/test_constant_atoms.py", line 266, in run_atom
    result = problem.solve(solver=solver, verbose=True)
  File "/Users/mwytock/cvxpy/cvxpy/problems/problem.py", line 173, in solve
    return self._solve(*args, **kwargs)
  File "/Users/mwytock/cvxpy/cvxpy/problems/problem.py", line 284, in _solve
    self._update_problem_state(results_dict, sym_data, solver)
  File "/Users/mwytock/cvxpy/cvxpy/problems/problem.py", line 396, in _update_problem_state
    "Solver '%s' failed. Try another solver." % solver.name())
SolverError: Solver 'CVXOPT' failed. Try another solver.
-------------------- >> begin captured stdout << ---------------------
minimize log_sum_exp(var1)[0, 0]
[EqConstraint(Variable(2, 2), Constant(CONSTANT, UNKNOWN, (2, 2)))]
('solver', 'CVXOPT')
     pcost       dcost       gap    pres   dres
 0:  0.0000e+00  6.1371e-01  6e+00  1e+00  1e+00
 1:  3.3414e+00  6.4737e+00  3e+00  5e-01  6e-01
 2:  7.1059e+00  6.7962e+00  8e-01  8e-02  3e-01
 3:  7.1243e+00  7.0847e+00  1e-01  1e-02  6e-02
 4:  7.1291e+00  7.1247e+00  1e-02  2e-03  2e-02
 5:  7.1272e+00  7.1269e+00  4e-04  9e-05  2e-03
 6:  7.1269e+00  7.1269e+00  5e-06  1e-06  2e-04
 7:  7.1269e+00  7.1269e+00  5e-08  1e-08  3e-06
Terminated (singular KKT matrix).

--------------------- >> end captured stdout << ----------------------

----------------------------------------------------------------------
Ran 12 tests in 0.134s

FAILED (errors=1)

Failure example #2:
cd $HOME/cvxpy && nosetests cvxpy.tests.test_constant_atoms
....E.......
======================================================================
ERROR: cvxpy.tests.test_constant_atoms.test_atom(<function <lambda> at 0x103f396e0>, Problem(Minimize(Expression(CONVEX, UNKNOWN, (1, 1))), [EqConstraint(Variable(2, 2), Constant(CONSTANT, UNKNOWN, (2, 2)))]), 0.04858735, 'CVXOPT')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/Users/mwytock/cvxpy/cvxpy/tests/test_constant_atoms.py", line 266, in run_atom
    result = problem.solve(solver=solver, verbose=True)
  File "/Users/mwytock/cvxpy/cvxpy/problems/problem.py", line 173, in solve
    return self._solve(*args, **kwargs)
  File "/Users/mwytock/cvxpy/cvxpy/problems/problem.py", line 284, in _solve
    self._update_problem_state(results_dict, sym_data, solver)
  File "/Users/mwytock/cvxpy/cvxpy/problems/problem.py", line 396, in _update_problem_state
    "Solver '%s' failed. Try another solver." % solver.name())
SolverError: Solver 'CVXOPT' failed. Try another solver.
-------------------- >> begin captured stdout << ---------------------
minimize log_sum_exp(var17)[0, 1]
[EqConstraint(Variable(2, 2), Constant(CONSTANT, UNKNOWN, (2, 2)))]
('solver', 'CVXOPT')
     pcost       dcost       gap    pres   dres
 0:  0.0000e+00  6.1371e-01  6e+00  1e+00  1e+00
 1: -1.4084e-01  5.6947e-01  4e+00  7e-01  7e-01
 2: -5.5950e-02 -2.0643e-02  1e+00  3e-01  3e-01
 3:  1.1818e-01 -7.7679e-02  3e-01  3e-02  9e-02
 4:  5.7997e-02  3.5162e-02  3e-02  5e-03  1e-02
 5:  4.9417e-02  4.8291e-02  2e-03  9e-04  3e-03
 6:  4.8610e-02  4.8584e-02  4e-05  2e-05  4e-04
 7:  4.8588e-02  4.8587e-02  4e-07  2e-07  2e-05
 8:  4.8587e-02  4.8587e-02  4e-09  2e-09  3e-07
Terminated (singular KKT matrix).

--------------------- >> end captured stdout << ----------------------

----------------------------------------------------------------------
Ran 12 tests in 0.131s

FAILED (errors=1)

Sometimes it passes fine:
cd $HOME/cvxpy && nosetests cvxpy.tests.test_constant_atoms
............
----------------------------------------------------------------------
Ran 12 tests in 0.137s

OK

I don't see any randomness on my machine. This snippet always fails:
from cvxpy import *
x = Variable(2,2)
obj = Minimize(log_sum_exp(x, axis=0)[0,0])
constr = [ x == [[5, 7], [0, -3]] ]
prob = Problem(obj, constr)
prob.solve(solver=CVXOPT, verbose=True)

sltn = Constant([7.12692801, 0.04858735]).T

The randomness you're seeing might be related to setting the CVXOPT solver options. These are stored globally, so nosetests can have race conditions when it's solving multiple CVXOPT problems. I raised this issue on the CVXOPT repo (https://github.com/cvxopt/cvxopt/issues/37), and it might be fixed in the latest version. But I think the options are the same for all the problems in test_constant_atoms.py.

Your snippet fails randomly as well:
In [4]:      pcost       dcost       gap    pres   dres
0:  0.0000e+00  6.1371e-01  6e+00  1e+00  1e+00
1:  3.3414e+00  6.4737e+00  3e+00  5e-01  6e-01
2:  7.1059e+00  6.7962e+00  8e-01  8e-02  3e-01
3:  7.1243e+00  7.0847e+00  1e-01  1e-02  6e-02
4:  7.1291e+00  7.1247e+00  1e-02  2e-03  2e-02
5:  7.1272e+00  7.1269e+00  4e-04  9e-05  2e-03
6:  7.1269e+00  7.1269e+00  5e-06  1e-06  2e-04
7:  7.1269e+00  7.1269e+00  5e-08  1e-08  3e-06
8:  7.1269e+00  7.1269e+00  5e-10  1e-10  5e-08
Optimal solution found.
In [5]:      pcost       dcost       gap    pres   dres
0:  0.0000e+00  6.1371e-01  6e+00  1e+00  1e+00
1:  3.3414e+00  6.4737e+00  3e+00  5e-01  6e-01
2:  7.1059e+00  6.7962e+00  8e-01  8e-02  3e-01
3:  7.1243e+00  7.0847e+00  1e-01  1e-02  6e-02
4:  7.1291e+00  7.1247e+00  1e-02  2e-03  2e-02
5:  7.1272e+00  7.1269e+00  4e-04  9e-05  2e-03
6:  7.1269e+00  7.1269e+00  5e-06  1e-06  2e-04
7:  7.1269e+00  7.1269e+00  5e-08  1e-08  3e-06
Terminated (singular KKT matrix).
What output do you see? Is this with latest version of CVXOPT?
Matts-MacBook-Air:cvxpy mwytock$ pip list | grep cvxopt
cvxopt (1.1.8)
On Mon, Dec 28, 2015 at 12:07 PM, Steven Diamond<EMAIL_ADDRESS>wrote:

The randomness you're seeing might be related to setting the CVXOPT solver
options. These are stored globally, so nosetests can have race conditions
when it's solving multiple CVXOPT problems. I raised this issue on the
CVXOPT repo (cvxopt/cvxopt#37 https://github.com/cvxopt/cvxopt/issues/37),
and it might be fixed in the latest version. But I think the options are
the same for all the problems in test_constant_atoms.py.
—
Reply to this email directly or view it on GitHub
https://github.com/cvxgrp/cvxpy/issues/249#issuecomment-167643940.

It seems to be due to numerical issues in the KKT solver, if I switch kktsolver to one of "chol2", "ldl", "ldl2" it works reliably (please verify!)
I'm inferring from the existing of ROBUST_KKTSOLVER that this is a known issue... (?) thus it seems best course of action is either

Add to KNOWN_SOLVER_ERRORS
Some way to make default cvxopt more robust (e.g. use LDL by default)

Let me know how you want to proceed.

I was using CVXOPT 1.1.7. I upgraded to 1.1.8 and it still fails every time. In any case, just add it to KNOWN_SOLVER_ERRORS. The LDL solver is unbelievably slow (it treats the sparse linear system as dense), so it's not reasonable to have it as the default.

sounds good!
On Tue, Dec 29, 2015 at 11:38 AM, Steven Diamond<EMAIL_ADDRESS>wrote:

I was using CVXOPT 1.1.7. I upgraded to 1.1.8 and it still fails every
time. In any case, just add it to KNOWN_SOLVER_ERRORS. The LDL solver is
unbelievably slow (it treats the sparse linear system as dense), so it's
not reasonable to have it as the default.
—
Reply to this email directly or view it on GitHub
https://github.com/cvxgrp/cvxpy/issues/249#issuecomment-167861634.


Log unused targets to internal logger

When using xml configuration, (maybe also non xml),  log a warning or info for targets that aren't used in the rules.
This is useful for detecting miscongurations, like forgetting the asyncwrapper. See https://github.com/NLog/NLog/issues/1073, https://github.com/NLog/NLog/issues/1071 and https://github.com/NLog/NLog/issues/865
We should do this efficient, so use a dictionary or hashset.

Targets adding to the related LogginRule class instance. Every LogginRule instance is adding to the LoggingRules property of the LoggingConfiguration class.
We should check the LoggingRules property I guess.

We should do this efficient, so use a dictionary or hashset.

Where do we should use dictionary or hashset? In the LoggingRule class?
Do you mean [there] (https://github.com/NLog/NLog/blob/master/src/NLog/Config/LoggingRule.cs#L112).

We should check the LoggingRules property I guess.

Yes I think also

Where do we should use dictionary or hashset? In the LoggingRule class?

I think: loops over targets and then check the rules. The "check the rules" should be efficient, so we have built a dictionary or hashset first. (I think hashset<string> from the rules which contains the target names)

While checking (in the method scope) or create a new class?