Odd shadow seemingly caused by underwater effects.

Describe the bug
These screenshots show it well: https://imgur.com/a/VWNMcl9
If I don't use the underwater components on the camera, then there is no problem.
When I enable the underwater components, the underwater effect works, but this odd shadow appears infront of the camera, then disappears... then reappears. It doesn't show up on the ground, or if I'm further up away from the water.
If, in game, I turn both UnderWaterCurtainGeom and UnderWaterMeniscus off, the issue ceases. If I turn EITHER of them on, then it resumes.
Built-in Rendering Pipeline. Unity 2019.4.4.

Here's a video, in case it helps: https://drive.google.com/file/d/1UmdLqVtTD0ui95Bp87h8fxvdKIIbOUwp/view?usp=sharing

Thanks. Would you be able to provide a screenshot using the ocean debug GUI with the shadow data showing? Here is an example:

https://i.imgur.com/u5D9qTO.jpg

Actually, here's what you're looking for. Definitely shows up on the Shadow: https://i.imgur.com/JYarIOO.jpg

Thanks. Hmmm.
Does it go away if you set shadow cascades to zero?
Can you try disabling shadows on both the mesh renderers on the underwater game objects? (I don't think this will make a difference but worth a try)
Have you tried disabling Enviro to see if there might be a strange integration issue?

Well, I suspected Enviro, so I uninstalled it entirely. I also got a fresh copy of Crest from master, re-installed it. Alas! The issue remained. Then I tried disabling the shadows on the mesh renderers for the underwater game objects. I had little hope this would work, but it DID! The issue seems to go away after this change: https://i.imgur.com/ZF1oVSt.png
The only other shaders I'm using at this point is MicroSplat. Maybe it's related somehow? Don't know.
Happy it's resolved!

Perfect. Thank you for the help with solving this.


Use native attributes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

19 of 33 (57.58%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-3.4%) to 93.282%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Core/Attributes/AttributeCollection.php
2
8
25.0%

src/Core/Entry.php
16
24
66.67%

Totals

Change from base Build<PHONE_NUMBER>:
-3.4%

Covered Lines:
361

Relevant Lines:
387

💛  - Coveralls


Build Issue -> Several ambiguous method calls (System.Linq.Enumerable.ToHashSet and QuantConnect.Util.LinqExtensions.ToHashSet)

Hey guys,
I cloned the project today and followed the instructions for building on Linux, and I'm running in several ambiguous call errors like below, all regarding System.Linq.Enumerable.ToHashSet and QuantConnect.Util.LinqExtensions.ToHashSet. Any ideas? Please note that I'm actually on macOS Catalina 10.15.17 running Mono 6.10.0 and msbuild 16.6.0 for Mono
Data/UniverseSelection/SecurityChanges.cs(88,48): error CS0121: The call is ambiguous between the following methods or properties: 'System.Linq.Enumerable.ToHashSet<TSource>(System.Collections.Generic.IEnumerable<TSource>)' and 'QuantConnect.Util.LinqExtensions.ToHashSet<T>(System.Collections.Generic.IEnumerable<T>)' [/Users/cnaccio/Documents/Local Development/Capital Mastery/Trading Automation/lean/Common/QuantConnect.csproj]

Hey!

running Mono 6.10.0 and msbuild 16.6.0 for Mono

I just gave this a quick test in master and it worked for me on Ubuntu, mono <IP_ADDRESS> & msbuild <IP_ADDRESS>601. Suggest using docker images if possible. About mono 6.X we now it has some bugs, that's why lean foundation docker image is at 5.12 which has been stable. Hope it helps!

Ok cool, I will give it a try. Thanks!
On Fri, Oct 30, 2020 at 9:14 AM Martin-Molinero<EMAIL_ADDRESS>wrote:

Hey!
running Mono 6.10.0 and msbuild 16.6.0 for Mono
I just gave this a quick test in master and it worked for me on Ubuntu,
mono <IP_ADDRESS> & msbuild <IP_ADDRESS>601. Suggest using docker images if
possible. About mono 6.X we now it has some bugs, that's why lean
foundation docker image is at 5.12 which has been stable. Hope it helps!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/QuantConnect/Lean/issues/4896#issuecomment-719576917,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB5LKNYAFLR6GQLBZL4QEVLSNLC4RANCNFSM4TECBUTA
.

--
Charles Naccio
Ph:<PHONE_NUMBER>
<EMAIL_ADDRESS>

Hey guys, just wanted to follow up on this. I was never able to get it working on OSX using the Linux instructions, so I went ahead and downloaded Visual Studio for Mac as recommended, and was able to compile Lean successfully that way. Not exactly sure why it works when compiling via Visual Studio and not when running the msbuild command locally, but at least I found a working solution. It's just kind of wonky in that I have to  keep Visual Studio open for compiling, while I do all my development in VSCode.
Any chance that there's simply a difference in the build commands that get issued via from Visual Studio vs a simple msbuild QuantConnect.Lean.sln?

Wanted to report back one additional improvement to my solution for building Lean on Max OSX while using VSCode. Once Visual Studio for Mac is installed, you can build Lean projects using the included vstool utility as shown below below, assuming you have lean cloned at /lean
/Applications/Visual\ Studio.app/Contents/MacOS/vstool build ./lean/Algorithm.CSharp/QuantConnect.Algorithm.CSharp.csproj

My workflow for testing a strategy locally, which exist at /lean/Algorithm.CSharp/MyAwesomeStrategy.cs and referenced in QuantConnect.Algorithm.CSharp.csproj, is to issue the following commands after making changes.
# Build CSharp Algorithms
/Applications/Visual\ Studio.app/Contents/MacOS/vstool build ./lean/Algorithm.CSharp/QuantConnect.Algorithm.CSharp.csproj

# Run Backtest Locally
mono /lean/Launcher/QuantConnect.Lean.Launcher.exe --data-folder '/lean/Data' --config '/lean/Launcher/config.json'

Hope this helps!


Add 2ship-specific BUILDING.md and supportedHashes.json.

null

Build Artifacts

2ship-linux.zip

Followed these steps and managed to get it to build. It may be beneficial to mention that downloading git separately is preferred rather than trying to pull the submodules in Visual Studio. Either I don't know how to do that in Visual Studio, or it is an absolute mess trying to do that lol.


failed to register layer: re-exec error: exit status 1: output: ProcessBaseLayer \?\C:\ProgramData\Docker\windowsfilter\8c5aa534c93116b1f7f48978ee11e2826a0a24970bc5b7798ce75d53d15a4348: The system cannot find the path specified.

Expected behavior
Actual behavior
Information about the Issue
Steps to reproduce the behavior

...
...

me too

I meet hte same issue now. Did you get the way to solve it ?


WIP: refactor time decoding & temporal generalization

[ ] change SearchLight and GenLight names
[X] update examples and tutorials
[X] add cross_val_multiscore
[x] deprecate TimeDecoding, GeneralizationAcrossTime, and viz
[x] update manual
[ ] update whatsnew
closes #4101 #4102 #4068

apart from the choice of the class names I think we're good for a first round of reviews

@dengemann this is all yours !

what's new is conflicting @kingjr ...

@dengemann, Since we're in coding sprint mode, I'll wait until we're good to go to rebase

There is a Travis error related to un-nested nose import. I suspect rebasing might fix it.

Codecov Report

Merging #4103 into master will increase coverage by 0.28%.
The diff coverage is 88.06%.

@@            Coverage Diff             @@
##           master    #4103      +/-   ##
==========================================
+ Coverage   86.18%   86.46%   +0.28%
==========================================
  Files         354      276      -78
  Lines       63748    60600    -3148
  Branches     9711     9597     -114
==========================================
- Hits        54940    52397    -2543
+ Misses       6130     5741     -389
+ Partials     2678     2462     -216

Continue to review full report at Codecov.

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


Rename create asset menu

Dungeon generator -> something like Edgar - Level Generator

Added in v2.0.0-alpha.6


Merkle Tree storage implementation

Feature type

[ ] UI
[X] Implementation
[ ] Specification
[ ] CI/CD
[ ] Other

Feature description
Implemented a Poseidon Sparse Merkle Tree that supports storing it on IPFS in both JSON and IPDL formats. This approach is fully aligned with the Merkle Tree from the Snarkyjs lib.
Pull request checklist
Please check if your PR fulfills the following requirements:

[X] Your code builds clean without any errors or warnings.
[X] Tests for changes have been added (for bug fixes / features). If no, why?

Did some more tests and realized that when trying to use a witness to calculate the root of the Merkle tree, it returns the wrong root. Is there any way to get the root using a witness?
Code Snippet
class MyMerkleWitness extends createExtendedMerkleWitness(8) { }

const Tree = new MerkleTreeJSON(8, storage);
//const Tree = new MerkleTree(8);

await Tree.setLeaf(0n, Field(56));

// check
let w = await Tree.getWitness(0n);

let witness = new MyMerkleWitness(w);

let currentRoot = await Tree.getRoot();
console.log(currentRoot.toString())
console.log(witness.calculateRoot(Field(56)).toString())

Did some more tests and realized that when trying to use a witness to calculate the root of the Merkle tree, it returns the wrong root. Is there any way to get the root using a witness?
Code Snippet
class MyMerkleWitness extends createExtendedMerkleWitness(8) { }

const Tree = new MerkleTreeJSON(8, storage);
//const Tree = new MerkleTree(8);

Tree.setLeaf(0n, Field(56));

// check
let w = await Tree.getWitness(0n);

let witness = new MyMerkleWitness(w);

let currentRoot = await Tree.getRoot();
console.log(currentRoot.toString())
console.log(witness.calculateRoot(Field(56)).toString())

issue resolved by adding the await to the setLeaf method
await Tree.setLeaf(0n, Field(56))

Overall everything looks good to me, there is something we need to change due to the recent change to storage engine.

Im prefer to use StorageEngineIPFS in #9 instead of js-ipfs since it's deprecated soon.
Use BSON instead of JSON
We should use a pure poseidon Merkle tree instead of put CID in the Merkle tree. Since the data identify is its has not CID, handling CID and Merkle tree link is something that we do in the background.

Did some more tests and realized that when trying to use a witness to calculate the root of the Merkle tree, it returns the wrong root. Is there any way to get the root using a witness?
Code Snippet
class MyMerkleWitness extends createExtendedMerkleWitness(8) { }

const Tree = new MerkleTreeJSON(8, storage);
//const Tree = new MerkleTree(8);

Tree.setLeaf(0n, Field(56));

// check
let w = await Tree.getWitness(0n);

let witness = new MyMerkleWitness(w);

let currentRoot = await Tree.getRoot();
console.log(currentRoot.toString())
console.log(witness.calculateRoot(Field(56)).toString())

issue resolved by adding the await to the setLeaf method await Tree.setLeaf(0n, Field(56))

Did you mean, we're unable to create a valid witness for a given root digest?.

Did some more tests and realized that when trying to use a witness to calculate the root of the Merkle tree, it returns the wrong root. Is there any way to get the root using a witness?
Code Snippet
class MyMerkleWitness extends createExtendedMerkleWitness(8) { }

const Tree = new MerkleTreeJSON(8, storage);
//const Tree = new MerkleTree(8);

Tree.setLeaf(0n, Field(56));

// check
let w = await Tree.getWitness(0n);

let witness = new MyMerkleWitness(w);

let currentRoot = await Tree.getRoot();
console.log(currentRoot.toString())
console.log(witness.calculateRoot(Field(56)).toString())

issue resolved by adding the await to the setLeaf method await Tree.setLeaf(0n, Field(56))

Did you mean, we're unable to create a valid witness for a given root digest?

At first, I did, but turns out I didn't wait for the promise so it returned the wrong root.
Everything works fine.

Btw we need to change the title of this PR as well, this PR is about Mekle tree construction/reconstruction and providing Merkle tree witness.

@magestrio Please update the code and resolve the conflict then ping me.


Facebook Login via JWT

I have been trying to implement social logins like Facebook, Google, Linkedin via JSON web token but am unable to do so. In most of the example on the web, people use the passport library for social logins but that require session storage (which I want to avoid). So, is there an inbuilt functionality for social logins in JWT.

I'm not quite follow where JWT plays in that scenario. The session storage is needed basically to match the state you send and receive to/from the social provider to prevent CSRF attacks (Oauth2 spec)
If what you want is to avoid to store the session in db you can take a look to: https://www.npmjs.com/package/client-sessions (store session information in an encrypted cookie)
If you still feel JWT is good for your use case, can you elaborate the interactions between your system, the social providers, the user and the JWT?

Closing, be free to open it if needed.


binary16 columns

some shopsystems like Shopware6 use binary16 columns to store UUIDs as IDs for all the entities and relations.
these can be read as typical uuid-strings in mysql twe following way:
LOWER(CONCAT(     SUBSTR(HEX(id), 1, 8), '-',     SUBSTR(HEX(id), 9, 4), '-',     SUBSTR(HEX(id), 13, 4), '-',     SUBSTR(HEX(id), 17, 4), '-',     SUBSTR(HEX(id), 21) )) as id
At the moment these columns just get left out when importing the shop-db as a virtual schema.
is there anyway to make these columns availble as varchar-columns in the given format?
or at least as varchar-columns containing the hex-display?

@djamadeus thank you for your request!
It is not possible to use the binary16 type at the moment. We will need to update the virtual schema to add support.
I forwarded the feature request to product management and I will get back to you once they made a decision.
As a workaround you could create a view in MySQL that converts the binary16 column to varchar and use this view in the virtual schema.

@djamadeus : I am sorry but we won't implement this because Exasol does not have a binary data type. I would recommend to create a view that maps the binary column to a varchar using the conversion you mentioned.


WIP - Developer Focused Lab

This is the developer focused section lab.
Feedback?  A few random thoughts/concerns:

The part that feels kind of weird is the having to create a dockerhub account (knative needs access to that image when it deploys it).

I know we talked about CodeReady Workspaces, but thoughts?  If we do, we'll have to setup their environment so they can pull down code, run python, and then perform docker builds.

Steps 1 and 2 (not needing docker) can sort of be eliminated if we use tekton to build for them.  But now I'm worried about having to talk about Tekton.

Another round of review please :)


ISPN-6245 Integration test and fix for deploying custom compat marshaller

Besides using a FQN to reference classes for compat marshaller and indexed entities (in server) we also accept an extended class name, composed of moduleName:slotName:fullyQualifiedClassName. See the updated docs for more info.
https://issues.jboss.org/browse/ISPN-6245
https://issues.jboss.org/browse/ISPN-6334

Just the commit titled 'ISPN-6245 wip' is relevant. The others are just cosmetic issues. The last commit is not a complete fix.

@anistor Nice to finally see "deployment of entity classes on server" working 👍

This is a variant that does not use the per cache manager or per cache (to be discussed) explicit module dependency configuration yet. Instead it uses just the 'extended class name' approach.

@anistor A variant which is more sound than piggybacking the entity classes in another deployments :)

There seems to be a related failure
org.infinispan.server.test.client.hotrod.HotRodCustomMarshallerIteratorIT

@anistor the commits are still with WIP

I may have forgot to push.

@anistor We need to update docs on this. The info in the server guide recommends hacking the internal modules to deploy the compat marshaller
http://infinispan.org/docs/stable/server_guide/server_guide.html#protocol_interoperability

yikes! I'm on it. The config of indexable classes in server needs a mention in docs too.

Test and docs fixed!

The restart is part of how the managed service container works and wildfly, consequently.
So why would you update a class if you do not want it reloaded?

So why would you update a class if you do not want it reloaded?

I woudn't want to figure out suprised that my data is gone after I dropped a jar. If I get a WARN saying "restart required", I would do it at my earliest convenience, maybe one server at a time, in a Sunday morning :)

There are no surprises here. It's documented :)

The issue is not everyone is well intentioned and also errors can happen. Fortunately there's a way to disable this auto-deployment  https://docs.jboss.org/author/display/WFLY10/Deployment+Scanner+configuration

LGTM, no more comments, nicely done @anistor !  👍

I've sent an email to devlist inviting everybody to comment on the approach, as I'm, planing to reuse it, but my email was held hostage by the server.
So until it is received by everybody, maybe @galderz @tristantarrant @Sanne would like to have a look too?

Integrated into master, thanks @anistor !


Simple edit README.md and README_zh_CN.md

In README.md I put the icon above the subject
And in README_zh_CN.md I put the subject and the icon in the middle

Would like to know more opinions. If we decide to go with this, then let's just keep this as the standard.

Hey @patricklodder
Thank you
that is ok

:+1: from me too.


ESM / diary modus

For the first study, users will be asked to look at their data and reflect on it. In addition, we want to offer them the opportunity to report their reflection (if desired) into the app.

[ ] outline UI/UX concept
[ ] implement text field entry
[ ] store entries in database
[ ] export entries

Initial diary concept now in branch feature/diary
Adds a new entry to main page

Lists all entries in diary with some content
Additionally, an export button allows to export your diary

Detail view of an entry

Create new entry / edit entry view

Open for discussion 🙂

UI concepts of map page:

Header
in FAB list
new FAB

Shall we allow writing the content in markdown so that users can format their content?
Pros: allows users to format their content
Cons: could lead to unwanted formatting if users are unaware of markdown syntax as there may be a need to escape special characters

@felixerdy Although I am personally a huge fan of markdown, I honestly think that it would confuse most users if we include text formatting via markdown.

Update after meeting:

UI diary feature: Putting the diary feature into a prominent, easily reachable place in the map view would definitely make sense. This way, the user does not need to click through several sub menus.
Export: To make things more easy for the users, exporting the whole diary as a file (e.g. txt or csv) should also trigger an email intent where the recipient and subject are pre-filled with the diary file as an attachment (to be sent to us). Fallback solution if user doesn't have an email account on their phone / does not want to send it via mail: Export to file system.


Using PenDown() and PenUp() ...

Hi Amr, I have a further issue. I think in your turtle-app it is not possible to use the methods PenDown() and PenUp() for the turtle. Is that right? I only noticed the methods Hide() and Show(), but I would like to see the movement of the turtle, if I change the position. Could you, please, implement these two methods for the turtle. It would be nice. Regards ... Gregor

Hello @boa2145,
Thank you for suggestions, i will implement it in next release soon
Thank you
Amr Hesham

Hello Amr, Thanks for your message. I am going to wait unti you will have implemented the penDown() and penUp() methods. It is fine to use your Android app to program with the turtle. I like turtle programming with Python, Small Basic and Scratch very much. Now I am able to do this with your app, top. Regards ... Gregor

Happy to know that you loved it, i implemented penUp and penDown now and uploaded it to google play so it will take one or two days and will be live to use and enjoy it :D
Thank you
Amr Hesham


Processing node for preview datasets

We need new processing node to define one more processing flow (preview datasets). For that, we need to implement a class inheriting from BaseProcessingNode, and add that class name to the ORDERED_NODE_CLASSES array. new processing node will iterate over all resources and add processors that are generating first 10000 rows and views to the ones that have type derived/json
Acceptance criteria

[x] after able to run load_previews and load_views from #23

Tasks

[x] define new class for preview processing node class DerivedPreviewProcessingNode that will inherit DerivedFormatProcessingNode
[x] in the DerivedPreviewProcessingNode override get_artifacts and Iterate over existing artefacts (resources)
[x] check for the ones that are derived/json (or csv?)
[x] and pass the processors that we will need to get the desired resources and views.
[x] add DerivedPreviewProcessingNode to the ORDERED_NODE_CLASSES in correct position (last in the list)

Analysis
Example how refactored basic_nodes.py may look like
class DerivedFormatProcessingNode(BaseProcessingNode):

  def get_artifacts(self):
    for artifact in self.available_artifacts:
      if artifact.datahub_type == 'derived/csv':
        datahub_type = 'derived/preview'
        resource_name = artifact.resource_name + '_preview.'
        output = ProcessingArtifact(
        datahub_type, resource_name,
        [artifact], [],
        [(new processors + old goes here)],
                True
            )
            yield output

class DerivedPreviewProcessingNode(...):
  def __init__(self):
    ... # (all same)

FIXED


Add Feature-Flipping Capabilities[OSF-8685]

Purpose
We often need to disable/enable features for various reasons, e.g. a feature is merged but is not ready to be released on prod due to a dependency on a third party or multiple large features are merged. Instead of holding the release, we incrementally roll out separate features as they complete QA. This also enables new use cases for rolling out features to subsets of users, e.g. promotional material, A/B testing, "beta" features, addons, etc.
Changes
Add the pieces necessary for django-waffle to be used as a feature flag/switch solution.
Usage
Configuring Flags/Samples/Switches

A flag/sample/switch can be created through the Django Admin App or the command line
Example of adding sample in django admin app:

Migrations
Will have to run migrations to add waffle models to db.
Enabling/Disabling API Endpoints
To add a feature flipper to an API endpoint, use the require_flag, require_sample, or require_switch decorator defined in api/base/waffle_decorators.py .  Add the decorator to the get_queryset method or get_object method.  The name of the flag, sample, or switch should be passed in as a parameter to the decorator.  If the flag/sample/switch is inactive for the logged in user, a Not Found will be raised.
from api.base.waffle_decorators import require_flag

    @require_flag('test_flag')
    def get_default_queryset(self):
        return default_node_list_permission_queryset(user=self.request.user, model_cls=Node)

Hiding/Showing UI elements in Dashboard

API endpoint added localhost:8000/wafflejs, that when called, exposes a global waffle object that gives access to flags, switches, and samples.
wafflejs_url added to global context variables
<script src="${wafflejs_url}"></script> added to base.mako, so global waffle object is exposed.
to use:

if (window.waffle.flag_is_active('test_flag')) {
     Here's the feature that I'm going to expose if the test_flag is active.
}

Enabling/disabling features for only certain users
You would use a FLAG for this.
In the admin app, there is a place to add specific users to a flag:

Hidden Waffle API Endpoint to use Waffle in Ember Apps
Closed companion PR here: https://github.com/CenterForOpenScience/ember-osf/pull/277

Based off of @brianjgeiger's comments and @sloria 's comments below, there is now a nonstandard _waffle list endpoint that you can filter against to get flags, switches, and samples.
 /v2/_waffle/?flags=featureA,featureB&samples=sampleA?

The ember app should have default values FLAG_DEFAULT, SAMPLE_DEFAULT, and SWITCH_DEFAULT for when the flag value in question is not found.
A route should try to load the sample/switch/flag in question. If it loads, use the active value as a conditional for whether or not to show certain pieces in the UI. If it's not found, use the default value listed in the config.
Example of filtering waffle endpoint:
http://localhost:8000/v2/_waffle/?switches=test_switch&flags=test_flag,nonexistant_flag
{
    "data": [
        {
            "links": {},
            "attributes": {
                "active": false,
                "note": "Test_flag inactive for everyone",
                "name": "test_flag"
            },
            "type": "waffle",
            "id": "flag_1"
        },
        {
            "links": {},
            "attributes": {
                "active": true,
                "note": "Yes this is active for everyone",
                "name": "test_switch"
            },
            "type": "waffle",
            "id": "switch_1"
        }
    ],
    "meta": {
        "total": 2,
        "per_page": 10,
        "version": "2.5"
    },
    "links": {
        "self": "http://localhost:8000/v2/_waffle/?flags=test_flag%2Cnonexistant_flag&switches=test_switch",
        "first": null,
        "last": null,
        "prev": null,
        "next": null
    }
}

Flags have numerous fields on them, and if any of the fields are true for the logged in user, then the flag is active. Instead of exposing all these individual fields through the API, just exposing whether of not the flag is active for the logged in user.  This makes use of the waffle flag_is_active method that takes in the request as an argument.
Needed changes to Ember-OSF
Changes started here:
https://github.com/CenterForOpenScience/ember-osf/pull/277
Will need to add a waffle model, waffle serializer, and waffle adapter that overrides the buildUrl method that can point to the hidden _waffle endpoint.
Waffle Example Ember Route:
import Ember from 'ember';

export default Ember.Route.extend({
    model() {
        return this.store.query('waffle', {samples: 'test_sample', flags:'test_flag,second_flag', switches: 'test_switch'});
    }
});

Waffle Ember Model
import DS from 'ember-data';
import OsfModel from './osf-model';

export default OsfModel.extend({
    name: DS.attr('fixstring'),
    note: DS.attr('fixstring'),
    active: DS.attr('boolean'),
});

Waffle Adapter Example
import OsfAdapter from './osf-adapter';

export default OsfAdapter.extend({
    buildURL() {
        return this._super(...arguments).replace('waffles', '_waffle');
    }
});

Ticket
https://openscience.atlassian.net/browse/OSF-8685

Recommend using Django-waffle v 0.11, instead of the latest version. Was getting issues when trying to enable features for certain users.

Are these known issues? If not, it would be good to report these on waffle's issue tracker.

Strategy is to create three API endpoints, one for samples, switches, and flags. All types have an active field which shows whether that sample/switch/flag is active for the logged in user. (Switches are active for everyone). The ember app should have default values FLAG_DEFAULT, SAMPLE_DEFAULT, and SWITCH_DEFAULT for when the flag value in question is not found.
A route should try to load the sample/switch/flag in question. If it loads, use the active value as a conditional for whether or not to show certain pieces in the UI. If it's not found, use the default value listed in the config.

pinging @brianjgeiger for feedback: Thoughts on this approach?
I'm not sure we want to have three different endpoints. Also, I foresee a use case where we'll need to fetch more than one flag/switch/sample in a request. Ideally, the frontend would make one request for all the flags, etc. it needs to render the current page.
Maybe something like /v2/_waffle/?flags=featureA,featureB&samples=sampleA?
This would mean diverging from JSON API, but given that this will be a dark endpoint, maybe that doesn't matter so much? In this case, it's more important for flag-checking to be performant.

Just a few drive-by comments for now. Will review this further in depth tomorrow.

Regarding a non-standard private endpoint, I'm not entirely opposed. There are a lot of ways of going about getting the data that would be more or less likely to break spec, including:

Query parameter/header/etc that puts the data into the meta of whatever response you are currently accessing (we will be doing this soon with the API version, though by default rather than with a flag);
A non-jsonapi renderer that just generally makes things more compact and that is required or encouraged or default for certain views - could be handy for other things as long as we don't guarantee it like we do the main API, like a CSV renderer or something;
Returning things as a list in a jsonapi compliant way, but marking that endpoint as being allowed to return 1000, 100000, or infinite items in a single page. We have that functionality used in a couple of cases for things that are guaranteed to not get too long, guaranteed to be performant, or something special for Michael;
Just make the endpoint work weird, which will either be super-quick or a surprisingly complicated affair.

@sloria, regarding my recommendation of using Django-waffle v 0.11, instead of the latest version.  Once I upgrade to Django-waffle v 0.12, add a flag to the NodesList endpoint, and navigate to api/v2/nodes/, I get an error with the following traceback:
api_1               | Traceback (most recent call last):
api_1               |   File "/usr/local/lib/python2.7/wsgiref/handlers.py", line 85, in run
api_1               |     self.result = application(self.environ, self.start_response)
api_1               |   File "/usr/local/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 63, in __call__
api_1               |     return self.application(environ, start_response)
api_1               |   File "/usr/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 157, in __call__
api_1               |     response = self.get_response(request)
api_1               |   File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 124, in get_response
api_1               |     response = self._middleware_chain(request)
api_1               |   File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 43, in inner
api_1               |     response = response_for_exception(request, exc)
api_1               |   File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 93, in response_for_exception
api_1               |     response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
api_1               |   File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
api_1               |     response = get_response(request)
api_1               |   File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response
api_1               |     response = self._get_response(request)
api_1               |   File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, in _get_response
api_1               |     response = self.process_exception_by_middleware(e, request)
api_1               |   File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 185, in _get_response
api_1               |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
api_1               |   File "/usr/local/lib/python2.7/site-packages/django/utils/decorators.py", line 185, in inner
api_1               |     return func(*args, **kwargs)
api_1               |   File "/usr/local/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
api_1               |     return view_func(*args, **kwargs)
api_1               |   File "/usr/local/lib/python2.7/site-packages/django/views/generic/base.py", line 68, in view
api_1               |     return self.dispatch(request, *args, **kwargs)
api_1               |   File "/usr/local/lib/python2.7/site-packages/rest_framework/views.py", line 489, in dispatch
api_1               |     response = self.handle_exception(exc)
api_1               |   File "/usr/local/lib/python2.7/site-packages/rest_framework/views.py", line 449, in handle_exception
api_1               |     self.raise_uncaught_exception(exc)
api_1               |   File "/usr/local/lib/python2.7/site-packages/rest_framework/views.py", line 486, in dispatch
api_1               |     response = handler(request, *args, **kwargs)
api_1               |   File "/usr/local/lib/python2.7/site-packages/rest_framework/generics.py", line 201, in get
api_1               |     return self.list(request, *args, **kwargs)
api_1               |   File "/usr/local/lib/python2.7/site-packages/rest_framework/mixins.py", line 45, in list
api_1               |     return self.get_paginated_response(serializer.data)
api_1               |   File "/usr/local/lib/python2.7/site-packages/rest_framework/serializers.py", line 739, in data
api_1               |     ret = super(ListSerializer, self).data
api_1               |   File "/usr/local/lib/python2.7/site-packages/rest_framework/serializers.py", line 263, in data
api_1               |     self._data = self.to_representation(self.instance)
api_1               |   File "/code/api/base/serializers.py", line 988, in to_representation
api_1               |     self.child.to_representation(item, envelope=envelope) for item in data
api_1               |   File "/code/api/base/serializers.py", line 1186, in to_representation
api_1               |     representation = field.to_representation(attribute)
api_1               |   File "/usr/local/lib/python2.7/site-packages/rest_framework/fields.py", line 1754, in to_representation
api_1               |     return method(value)
api_1               |   File "/code/api/waffle_flags/serializers.py", line 20, in get_active
api_1               |     return flag_is_active(request, obj)
api_1               |   File "/usr/local/lib/python2.7/site-packages/waffle/__init__.py", line 17, in flag_is_active
api_1               |     return flag.is_active(request)
api_1               |   File "/usr/local/lib/python2.7/site-packages/waffle/models.py", line 247, in is_active
api_1               |     active_for_user = self._is_active_for_user(request)
api_1               |   File "/usr/local/lib/python2.7/site-packages/waffle/models.py", line 209, in _is_active_for_user
api_1               |     return self.is_active_for_user(request.user)
api_1               |   File "/usr/local/lib/python2.7/site-packages/waffle/models.py", line 187, in is_active_for_user
api_1               |     authed = getattr(user, 'is_authenticated', lambda: False)()
api_1               | TypeError: 'bool' object is not callable
api_1               | [04/Dec/2017 17:11:40] "GET /v2/waffle_flags/ HTTP/1.1" 500 59

@sloria, @brianjgeiger, per your comments, I've begun an implementation of a single waffle list endpoint /v2/_waffle/?flags=featureA,featureB&samples=sampleA that can be filtered against.  As this django-waffle PR is still in the exploratory phase, I'll leave it here for now until the review of this PR is finished.

okay @sloria , ready for another pass of code review!  PR is no longer exploratory, but something that can be merged.

Just some drive-by comments for now. Will take a look at this more closely next week.

👍 thanks for your comments!


Minor: Bump Reqwest to 0.12.

Over in #274  I am trying to reduce the complexity of a MEGA PR
Here I am splitting off changes to the reqwest crate to see if it unwinds a
suble unwanted coupling between crates.
Currently is looks like the "notify" and "zip" crates are entangled in a way that makes me grumpy.

Thanks!


LinkColumn

Hi
This is very useful package and I was able to get basic stuff working pretty easily. However I am having hard time using LinkColumn functionality. Can you provide few more examples on how to use LinkColumn and ImageLink etc.
Thanks
Ritesh

@ragrawal apologize for late response.
I just added example for LinkColumn, please checkout.
I designed LinkColumn for the features such as Edit, Detail for CMS, so you must pass viewname and args into Link class to reverse url.
For other requirements, you can inherit Link class and hardcode links.


Import lead to broken db

Hi
after importing the json file I get a index 'Node.Mid' not found exception. This error is reasonable but not the fact that an import can corrupt the whole db structure (includes system classes). Is there any rollback mechanism or safe method to do an import?
Importing database database C:\Users\starpetch\Desktop\bc24_prod.json...
Started import of database 'remote:<IP_ADDRESS>/bodyclub24' from C:\Users\starpetch\Desktop\bc24_prod.json...
Non merge mode (-merge=false): removing all default non security classes
- Class BroughtIntoRight was removed.
- Class BroughtIntoLeft was removed.
- Class Root was removed.
- Class ORIDs was removed.
- Class Cycle was removed.
- Class OFunction was removed.
- Class _studio was removed.
- Class ORestricted was removed.
- Class OTriggered was removed.
- Class OSchedule was removed.
- Class Settings was removed.
- Class E was removed.
- Class Node was removed.
- Class V was removed.
Removed 14 classes.
Importing database info...OK
Importing clusters...
- Creating cluster 'internal'...OK, assigned id=0
- Creating cluster 'default'...OK, assigned id=3
- Creating cluster 'orole'...OK, assigned id=4
- Creating cluster 'ouser'...OK, assigned id=5
- Creating cluster 'ofunction'...OK, assigned id=6
- Creating cluster 'oschedule'...OK, assigned id=7
- Creating cluster 'orids'...OK, assigned id=8
- Creating cluster 'v'...OK, assigned id=9
- Creating cluster 'e'...OK, assigned id=10
- Creating cluster '_studio'...OK, assigned id=11
- Creating cluster 'node'...OK, assigned id=12
- Creating cluster 'root'...OK, assigned id=13
- Creating cluster 'broughtintoright'...OK, assigned id=14
- Creating cluster 'broughtintoleft'...OK, assigned id=15
- Creating cluster 'settings'...OK, assigned id=16
- Creating cluster 'cycle'...OK, assigned id=17
- Creating cluster 'de_business'...OK, assigned id=18
- Creating cluster 'de_root'...OK, assigned id=19
- Creating cluster 'de_cycle'...OK, assigned id=20
- Creating cluster 'de_settings'...OK, assigned id=21
- Creating cluster 'de_broughtintoleft'...OK, assigned id=22
- Creating cluster 'de_broughtintoright'...OK, assigned id=23
Rebuilding indexes of truncated clusters ...Error on database import happened just before line 0, column 955
com.orientechnologies.orient.core.exception.OCommandExecutionException: Index 'Node.Mid' not found
        at com.orientechnologies.orient.core.sql.OCommandExecutorSQLRebuildIndex.execute(OCommandExecutorSQLRebuildIndex.java:89)
        at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:64)
        at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:1189)
        at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:1178)
        at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:63)
        at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.command(ONetworkProtocolBinary.java:1178)
        at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:385)
        at com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:220)
        at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:69)

Error: com.orientechnologies.orient.core.db.tool.ODatabaseExportException: Error on importing database 'bodyclub24' from file: C:\Users\starpetch\Desktop\bc24_prod.json

Error: com.orientechnologies.orient.core.exception.OCommandExecutionException: Index 'Node.Mid' not found

We have a known issue on remote import: https://github.com/orientechnologies/orientdb/issues/3528 that can cause also this problem, will solve this also in 2.2

thanks for the response.

closing as duplicate


Show bar chart of colors in sample images

Display the distribution of colors in the sample image(s) in a bar chart.
Potential packages to do this are colordistance (R package, so likely would require translation, used by the butterfly group).  May also be able to use phenopype (python package, not currently used by butterfly group, but potential).

Looks like this would require translating colordistance to Python--doable, but not urgent.


Debian support

Trying to use module on Ubuntu 15.04 systems and getting the following message:

Error: Evaluation Error: Error while evaluating a Function Call, Module cpan is not supported on Debian at /etc/puppetlabs/code/environments/production/modules/cpan/manifests/init.pp:59:7 on node kermit.

Tried this with the following small code fragment:
$cpanmods=['Net::SSLeay',]
include cpan
cpan { $cpanmods:
  ensure => present,
  require => Class['::cpan'],
}

Is there a problem or have I missed out something? Module was manually installed on this test server with the usual 'sudo puppet module install meltwater-cpan'.

I haven't used this module myself, but I have two follow-up questions for you:

Which version of puppet-cpan are you using? It seems like the line number of your error doesn't match the latest version. It seems to match this version, but then the string Debian should have matched your OS family.
The module name doesn't seem to match your test code, is this the exact error message you got from this code snippet?

Was this fixed by #29 ? Ping @markuskont @alexgoodchild @bluebob

Yes. Same problem.


Access Events State

What happened:
When implementing https://github.com/serverlessworkflow/sdk-go/blob/main/model/states.go#L64 , I cannot find any method that returns the OnEvents type, there's one for OnErrors, however, nothing for OnEvents
I wonder if this is the right behaviour and there's other way to have access to it, or just a bug.
The same applies for all other type of events, like ParallelState, InjectState, etc.
What you expected to happen:
To have access to the onEvents props from State
How to reproduce it:
Using the sample code:
        wf, err := ParseWorkflow(state)
	if err != nil {
		log.Fatal(err.Error())
	}

	for _, state := range wf.States {
		eventState := state.OnEvents() // Method not available on the interface
	}

Anything else we need to know?:
No
Environment:

Specification version used: 2

Go version: 1.18

Hey @andresmijares, thanks for opening this issue!
Not all states have the OnEvents method (the SDK supports spec version 0.8). In this case, you need to convert to EventState: https://github.com/serverlessworkflow/sdk-go/blob/main/model/states.go#L138.
Can you try?
	for _, state := range wf.States {
		eventState := state.(EventState).OnEvents()
	}

I'm writing this from the top of my head, but you should be fine if you do the conversion. You may need to verify if the type is the EventState before converting.

Thank u @ricardozanini
Interesting! it does the trick-sorta
I'm playing with this def https://github.com/serverlessworkflow/specification/tree/main/examples#workflow-definition
so I changed packages to use the v1 instead of v2. The workflow definition specVersion is 0.8 as url shows.
when I try to parse, it doesn't like the end: true, if I remove it, i have access to it.
I'm cool working with the 0.8 spec, I just want to make sure it's all gucci :)
The whole code to reproduce is:
import (
	"fmt"
	"log"

	"github.com/serverlessworkflow/sdk-go/model"
	"github.com/serverlessworkflow/sdk-go/parser"
)

var state = []byte(`
{
	"id": "eventbasedgreeting",
	"version": "1.0",
	"specVersion": "0.8",
	"name": "Event Based Greeting Workflow",
	"description": "Event Based Greeting",
	"start": "Greet",
	"events": [
	 {
	  "name": "GreetingEvent",
	  "type": "greetingEventType",
	  "source": "greetingEventSource"
	 }
	],
	"functions": [
	  {
		 "name": "greetingFunction",
		 "operation": "file://myapis/greetingapis.json#greeting"
	  }
	],
	"states":[
	  {
		 "name":"Greet",
		 "type":"event",
		 "onEvents": [{
			 "eventRefs": ["GreetingEvent"],
			 "eventDataFilter": {
				"data": "${ .greet }",
				"toStateData": "${ .greet }"
			 },
			 "actions":[
				{
				   "functionRef": {
					  "refName": "greetingFunction",
					  "arguments": {
						"name": "${ .greet.name }"
					  }
				   }
				}
			 ]
		 }],
		 "stateDataFilter": {
			"output": "${ .payload.greeting }"
		 },
                "end": true // doesnt work, removing this fixs it, but now I don't a way to finish the workflow
	  }
	]
	}`)

func ParseWorkflow(config []byte) (*model.Workflow, error) {
    workflow, err := parser.FromJSONSource(config)
    if err != nil {
        return nil, err
    }
    return workflow, nil
}

func main() {
	wf, err := ParseWorkflow(state)
	if err != nil {
		log.Fatal(err.Error())
	}

	for _, state := range wf.States {
		eventState := state.(*model.Eventstate)
		l := eventState.OnEvents[0]
		fmt.Println(l.ActionMode) // accesible
	}

}

@ricardozanini worked! thank you so much!


🌱 Helm POC e2e fixes

Fixes the e2e tests in helm-poc branch.
In draft as there are a few TODOs to answer and TestClusterExtensionPackagesWithWebhooksAreNotAllowed is flaking.

@dtfranz Great work!! all e2e are passing 🎉 !


No support for RefCallback

https://github.com/Grsmto/simplebar/blob/160dc756fad6340b667d283b48d3683486392703/packages/simplebar-react/index.js#L86-L89
ForwardedRef<T> can also be a callback (instance: T | null) => void. However it is not supported now.
if (typeof ref === 'function') {
  ref(instance);
  // and also `ref(null);` somewhere else
} else if (ref) {
  ref.current = instance;
}

Sounds good. Just not sure what you mean by your comment. ref(null); wouldn't pass the if (ref) condition anyway no?

I mean, when ref is a callback, it should be called with T on mount and with null on unmount.
Now you have no assignment ref.current = null on unmount phase. In some specific case (mostly with RefCallback) it may be an issue.


Old wg0.conf will work?

Hello,
I have installed with './wireguard-ui'.sh' but I have my working wg0.conf file with peers configs in '/etc/WireGuard/' folder.
Do I have to remove old file to make new clents configs works?
Regards.

Unfortunately, we don't support importing the config from an existing config file. You have to make the new client list.


Issues with fmtPercent + zeroPad due to JS FP trailing precision

The numeric ZeroPad does not work in some cases, due to javascript number weirdness.
Example:
fmtPercent(10.1, { precision: 4, zeroPad: 2 } )

Expected result: 10.10%
Actual result: 10.1000%
Most values seem to work (ie, 10.2) but others do not (ie, 10.3).
The reason for this is the fact that fmtPercent multiplies by 100, and 0.101 * 100 -> 10.100000000000001
Therefore, the FormatNumber.countDecimalPlaces() function counts all of those 0s as required precision, and the zeroPad is ignored.

This issue actually isn't confined to only trailing precision - it can be triggered by any time rounding results in trailing zeros:
fmtNumber(10.0000234, { precision: 4, zeroPad: 2 } )

Expected result: 10.00
Actual result: 10.0000


Update optparse-applicative version (GHC 7.10)

With the older version cabal cannot resolve elm-package's dependencies (using GHC 7.10 / base-<IP_ADDRESS>).
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: elm-package-0.5 (user goal)
next goal: optparse-applicative (dependency of elm-package-0.5)
rejecting: optparse-applicative-<IP_ADDRESS>, <IP_ADDRESS>, 0.11.0 (conflict:
elm-package => optparse-applicative>=0.8.1 && <0.11)
rejecting: optparse-applicative-0.10.0, <IP_ADDRESS>, 0.9.1, 0.9.0 (conflict:
base==<IP_ADDRESS>/installed-901..., optparse-applicative => base>=4 && <4.8)
trying: optparse-applicative-0.8.1
next goal: transformers (dependency of optparse-applicative-0.8.1)
rejecting: transformers-<IP_ADDRESS>/installed-c1a..., <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>
(conflict: optparse-applicative => transformers>=0.2 && <0.4)
trying: transformers-<IP_ADDRESS>
trying: http-client-<IP_ADDRESS> (dependency of elm-package-0.5)
trying: exceptions-<IP_ADDRESS> (dependency of http-client-<IP_ADDRESS>)
trying: transformers-compat-<IP_ADDRESS> (dependency of exceptions-<IP_ADDRESS>)
trying: transformers-compat-<IP_ADDRESS>:-two
rejecting: transformers-compat-<IP_ADDRESS>:-three (conflict:
transformers==<IP_ADDRESS>, transformers-compat-<IP_ADDRESS>:three =>
transformers>=0.4.1 && <0.5)
rejecting: transformers-compat-<IP_ADDRESS>:+three (manual flag can only be changed
explicitly)
Dependency tree exhaustively searched.

This looks good to me. My only request is that the error messages show an example of what a properly formatted PACKAGE or VERSION look like. This way (error -> Google -> fix) may become (error -> fix)

When I run elm-package install invalid, I get:
Cannot parse PACKAGE name.

Usage: elm-package install [PACKAGE] [VERSION] [-y|--yes]
  Install packages to use locally

Available options:
  PACKAGE                  A specific package name (e.g. evancz/automaton)
  VERSION                  Specific version of a package (e.g. 1.2.0)
  -y,--yes                 Reply 'yes' to all automated prompts.
  -h,--help                Show this help text

Examples:
  elm-package install                        # everything needed by elm-package.json
  elm-package install evancz/elm-html        # any version
  elm-package install evancz/elm-html 1.2.0  # specific version

Should I duplicate the example from the usage information?

Ah, I did not realize the whole thing printed out. That looks fine to me, thanks!


RMS frequency spectrum type

Computed as G_rms = sqrt(2)*abs(FFT(data))/length(data).
Implementation needs to be verified before the PR can be merged.

This works according with the original user request, but I have not found any reliable independent source for confirmation. Let's merge it it now and fix it later if someone discovers a problem.


deprecation warning

  /usr/local/lib/python3.11/site-packages/sansio_lsp_client/io_handler.py:1: DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
    import cgi

We use cgi for:
content_type, metadata = cgi.parse_header(headers["content-type"])

Any simple alternatives?

PEP 584 states:
"Replacements for the various parts of cgi which are not directly related to executing code are:
...
parse_header with email.message.Message (see example below)"

Parsing Content-Type would also be pretty straight-forward with a regex. Its format is not very complicated.


FSCalendarFlowHorizontal swipe on header Month/Year doesn't move calendar.

I feel like swiping left or right on the header of the calendar (Month, Year when in FSCalendarFlowHorizontal mode) should have the same effect as swiping on the lower part of the calendar?
Thank you for this fantastic control!  So great!!!

Fixed, thanks


add dependency array to examples

The usePrevious example is missing a dependency on value.

BTW, This was prompted by this Twitter thread.
https://twitter.com/GabeRicard/status/1198316044957421568

This hook shouldn’t need a dependency array, and I don’t think we want people adding dependency arrays when they don’t need to.

The useEffect hook takes 2 arguments, a callback, and a dependency array. Therefore, it seems reasonable to include a dependency array for these two instances of useEffect.

Hello @donavon, thanks for taking the time to contribute!
I don't see this example anymore in the docs, so I will close this PR as no longer required, but feel invited to create new PRs to other open issues.


TypeScript: programmatically updating multiple object fields in produce causes issues with index signature

🙋♂ Question
I am unable to generate a correct type signature for a setter function that programmatically updates multiple fields in an Object Draft.
I am looking for advice on how to combine TypeScript and Immer to create a correct signature (hopefully without using casting as).
Link to repro
I created a TypeScript playground where you can see the error reproduced.
Environment
"typescript": "~4.8.2"
"immer": "^9.0.16",

Immer version: "^9.0.16"
[ ] Occurs with setUseProxies(true)
[ ] Occurs with setUseProxies(false) (ES5 only)

draft[key] = value!

draft[key] = value!
Thanks.

The bang! satisfies the compiler, I guess my question is more why is this necessary and if there is a way to have the correct type inference/narrowing without reaching to compiler flags directly.

It looks like for some reason the type Draft<TState> which is implicitly determined for draft cannot be assigned to. If you explicitly and more specifically type your draft such as: draft: WritableDraft<TState> the error goes away.
L14:
const newState = produce(this.state, (draft: WritableDraft<TState>) => {

Please note that this is not a solution to use without consideration to what the real type of TState is and what Draft<TState> would be resolved to, as it can be several other types as can be seen here.
At the end of the day this seems to be a TypeScript issue, because even modifying Draft as e.g.:
type Draft<T> = T extends any ? WritableDraft<T> : WritableDraft<T>

creates error, however
type Draft<T> = WritableDraft<T>

makes it go away, which doesn't really make any sense...

This is the way TypeScript is. Partial<TState> is not a known type, it is rather the union of all possible types that can be imagined by setting any number of properties in TState to hold undefined. So despite the fact that in your code a human observer can deduce that partial[key] will always be defined, TypeScript is "thinking" in terms of types, and all it can know about key is that it is any possible key of Partial<TState>, and because any Partial<TState> includes all possible partials, keyeof Partial<TState> isexactly the same as keyeof TState.
So when your code goes like this:
/*...*/ partial: Partial<TState> /* ... */
for (let key in partial) {
/* ... */

TypeScript is not having any particular Partial<TState> in mind that is the exact type of partial. It is still just the union of TState and TState with any one property being undefined and TState with any two property being undefined etc.
So when you later do:
const value = partial[key];

value becomes Partial<TState>[Extract<keyof TState, string>] and not something like Partial<TState>[Extract<keyof {that particular given and known configuration out of the hundreds of possible Partial<TState> varieties that is the exact type of the partial variable during runtime as declared few lines above), string>].
This is because TypeScript is not analysing the code to the level to be able to guarantee that key can only be a valid key of the exact given partial here. It is "thinking" in terms of types. And in terms of types all it can say about key is that it will be a valid (string) key of TState. But indeed any key of a TState is not guaranteed to exist on Partial<TState>. In fact Partial<TState> can be also fulfilled by an object on which none exist. And in fact when you access Partial<TState> using a key of TState, your value may be undefined.
And there is the issue you are facing: you cannot assign undefined to draft[key].
This is a very valid case for using !, because in this context you know something about key that the compiler does not, namely that here key is produced in a way that it'll have exactly those keys, which are present in partial. The compiler does not know this, because on the Types level it is not guaranteed. It is only a coincidental guarantee based on the way your code behaves during Run-Time.
If you don't like ! you can do other things, like adding type guards to ensure it is not undefined or simply throwing anexception that is never going to be thrown:
        const value = partial[key] ?? (()=>{throw new Error('Logic error, impossible situation, partial must not have undefined under each key of partial.')})();

At least this way you know that you have a runtime guarantee as well. So if someone makes some changes to the code, and partial[key] ends up being undefined at least the issue will be apparent where it happens, instead causing something else somewhere else to fail, like it would when forcing TSC to accept partial[key] as not undefined using !.

Thank you @BenceSzalai for the thorough explanation :)
It seems that this cannot be resolved from the Immer side, so I'll close the issue 👍


Badges takes to wrong repos

Please correct badges repo. It is checking wrong repo for updating badge. The start badge is perfect but other badges are wrong. (Though visually correct 😅😜)

@RajGhugare19 correct this


[Bug Report] Sin and cos function results significantly deviates from the real value for certain inputs

Describe the bug
Recently GGML added unittests for sin and cos operators so I added them to my backend. I find that the TTNN sin/cos operator outputs significantly wrong values for certain inputs (looks like negative numbers, but I'm not certain that's the only issue).
Here's the code I came up with. It calls sin with the value -3.1415. Which we expect to output to be something close to 0.
#include <cstddef>
#include <ttnn/operations/copy.hpp>
#include <ttnn/operations/eltwise/binary/binary.hpp>
#include <ttnn/deprecated/tt_numpy/functions.hpp>
#include <ttnn/operations/data_movement/tilize_with_val_padding/tilize_with_val_padding.hpp>

int main()
{
    auto& device = ttnn::open_device(0);
    auto t = tt::numpy::ones({1, 1, 32, 32}).to(&device);
    t = ttnn::tilize_with_zero_padding(t);
    t = ttnn::sin(ttnn::multiply(t, -3.1415));
    t.print();
}

However for me it prints 0.27539.
                 Device | INFO     | Opening user mode device driver
2024-09-17 07:55:31.250 | INFO     | SiliconDriver   - Detected 1 PCI device : [0]
                  Metal | INFO     | Initializing device 0. Program cache is NOT enabled
                  Metal | INFO     | AI CLK for device 0 is:   1000 MHz
ttnn.Tensor([[[[ 0.27539,  0.27539,  ...,  0.27539,  0.27539],
               [ 0.27539,  0.27539,  ...,  0.27539,  0.27539],
               ...,
               [ 0.27539,  0.27539,  ...,  0.27539,  0.27539],
               [ 0.27539,  0.27539,  ...,  0.27539,  0.27539]]]], shape=Shape([1, 1, 32, 32]), dtype=DataType::BFLOAT16, layout=Layout::TILE)
                  Metal | INFO     | Closing device 0
                  Metal | INFO     | Disabling and clearing program cache on device 0
                 Device | INFO     | Closing user mode device drivers

To Reproduce
Steps to reproduce the behavior:

Run the provided code (or a python equivalent)
See output is not expected

Expected behavior
Outputs the correct sine and cosine values
Screenshots
If applicable, add screenshots to help explain your problem.
Please complete the following environment information:

OS: Arch Linux
Card: Grayskull e75

Additional context
Add any other context about the problem here.

Hi @marty1885, I see that the architecture is GS here.   Does this issue also happen on WH?

Hi, sorry i can't try on an WH right now. The dev box is scheduled to arrive end of month while my n300 is not connected to excessive fan noise.

hey @marty1885 nice catch!
Out of curiosity could you confirm that it works fine in a range [-pi/4, +pi/4] for example?
You might get very quick workaround till it get fixed.

I made a plot showing the difference between TT's sin function and what C++ computes given the same x between -PI and PI. The red line is TTNN. It works quite well in the positive range but starts to show sings of problem from -PI/4 and really starts going bad from -PI/2.

@marty1885 @eyonland Replicated the above code in Python and tested it in WHB0 N150. You can find the input and output of the TT sin function in the image below.
Also, I have printed the output (the inputs passed in TT are given as input to the Python function as well) of the standard sin function in Python.
In WHB0 output  is similar to python

Also I have tested the same code in GS where the output is same as you shared in the issue description

The difference between GS and WHB0 implementation is that,
WHB0 - Included range reduction technique with the help of typecast op
Whereas in
GH - No handling of range reduction, it just conversion from [-pi, pi] to [0, 2pi] hence the difference in the output.
Also, the Tylor/Maclaurin series is used to get Sin/Cos values, to get more precision/accurate values we might need to include more factors or use another approximation approach
Please find the difference in the implementation in the image

Great work @umadevimcw, thanks for isolating the issue.   Glad to see this does not impact WH.
My thought is to prioritize WH bugs and the Balckhole (BH) bringup effort over the fix for this.
@marty1885, how critical is it to get this working on GS for you?   Is this blocking your work?

@marty1885 @eyonland Please find the plots that I have ploted on GS and WHB0 with following code
`import numpy as np
import matplotlib.pyplot as plt
import ttnn
import torch
import math
device = ttnn.open_device(0)
x = np.linspace(-math.pi, math.pi, 100)
np_out = np.sin(x)
t_in = torch.from_numpy(x)
tensor = ttnn.from_torch(t_in, dtype=ttnn.bfloat16, layout=ttnn.TILE_LAYOUT, device=device)
t_out = ttnn.sin(tensor)
torch_output_tensor = ttnn.to_torch(t_out).type(torch.float32)
tt_out = torch_output_tensor.numpy().flatten()
print(tt_out)
plt.plot(x, tt_out,'-b', label="TT out")
plt.plot(x, np_out, '-r', label="Standard out")
plt.legend(loc='upper center')
plt.savefig("test_line_whb0.png")
plt.close()
`
** GS **

** WHB0 **

@eyonland and @marty1885 Please find the dot plots as well
GS

WHB0

@eyonland I can just mask support for sin/cos on GS and wait for my WH to arrive. Won't be a problem in the short term. But I believe it blocks on device ROPE on GS. I'll need it fixed eventually (or drop GS support, which I'm tempted to do).
Still 2~3 weeks until my WH arrives. Let's leave it as is for now. I might send patches if I ended up with more time to play around.

@umadevimcw , if we can support the typecast on GS then let's get this fix done.  If it is not available, we may need to close it given that we have higher items and given that @marty1885 will hopefully get a WH within 3 weeks.


Import MRC files into qFit protein

Removing this as a bug. I had issues because MRC/Map files can come packaged as stacks of 2D images, rather than 3D images. This results in an error when loading the file as the spacegroup=0. https://www.ccpem.ac.uk/mrc_format/mrc2000.php


🐛 fix(openapi): fix for optional field for pydantic

fix for optional bool field when using BaseModel from Pydantic
Hi @RobertoPrevato, thank you for creating this great web framework.
I opened this PR to fix the problem I met when I was using Pydantic's BaseModel with openapi auto-generated docs.
The situation is like I have a model:
from typing import Dict, List, Optional
from pydantic import AnyHttpUrl, BaseModel

class Params(BaseModel):
    page_url: AnyHttpUrl
    force_refresh: Optional[bool] = False

And if I ran the command
http http://localhost:8000/openapi.json | jq .components.schemas.Params

I'll get
{
  "type": "object",
  "required": [
    "page_url",
    "force_refresh"
  ],
  "properties": {
    "page_url": {
      "type": "string",
      "format": "uri",
      "maxLength": 65536,
      "minLength": 1,
      "nullable": false
    },
    "force_refresh": {
      "type": "boolean",
      "nullable": false
    }
  }
}

which is not correct because force_refresh should be optional.
After the modification I made, with the same command the result looks correct:
{
  "type": "object",
  "required": [
    "page_url"
  ],
  "properties": {
    "page_url": {
      "type": "string",
      "format": "uri",
      "maxLength": 65536,
      "minLength": 1,
      "nullable": false
    },
    "force_refresh": {
      "type": "boolean",
      "nullable": true
    }
  }
}

Hi @jack-fireworkhq,
Thank You for your kind words and your contribution - I appreciate this very much. Sorry for replying late, I didn´t have time earlier this week.

Hi @jack-fireworkhq, Thank You for your kind words and your contribution - I appreciate this very much. Sorry for replying late, I didn´t have time earlier this week.
Everything looks good, the CI job is failing only because of black formatting check. Can you please use black . to format the code and push an update? Otherwise I can fix it myself later.

Hi @RobertoPrevato,
Thanks for your reply, I have formatted the code with black and pushed it.

Hi @jack-fireworkhq, Thank You for your kind words and your contribution - I appreciate this very much. Sorry for replying late, I didn´t have time earlier this week.
Everything looks good, the CI job is failing only because of black formatting check. Can you please use black . to format the code and push an update? Otherwise I can fix it myself later.

Hi @RobertoPrevato, Thanks for your reply, I have formatted the code with black and pushed it.

Hi @jack-fireworkhq,
Thank You! I saw your commit yesterday but I didn´t have time to merge it. I'm doing it 🎉

Codecov Report
Base: 98.19% // Head: 98.24% // Increases project coverage by +0.04% :tada:

Coverage data is based on head (cacbacb) compared to base (2499b38).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #285      +/-   ##
==========================================
+ Coverage   98.19%   98.24%   +0.04%
==========================================
  Files          55       60       +5
  Lines        5481     5637     +156
==========================================
+ Hits         5382     5538     +156
  Misses         99       99

Impacted Files
Coverage Δ

blacksheep/server/openapi/v3.py
89.06% <100.00%> (+0.05%)
:arrow_up:

blacksheep/client/__init__.py
100.00% <0.00%> (ø)

blacksheep/utils/__init__.py
100.00% <0.00%> (ø)

blacksheep/normalization.py
100.00% <0.00%> (ø)

blacksheep/multipart.py
100.00% <0.00%> (ø)

blacksheep/__init__.py
100.00% <0.00%> (ø)

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

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

Hi @jack-fireworkhq I just merged your PR. Since the main branch contains already changes for version 2 of the web framework - with incompatible changes, I will cherry-pick your commits to a new v1 branch. So we can publish your fix to pypi for version 1.

Hi @jack-fireworkhq
I don't understand why GitHub merge hides contributors now (it wasn't like that in the past - it shows me as committer!).
I will apply a change in the main history so that you figure among contributors, as soon as I get the time.


Fix Algolia integration

What: Fix Algolia integration
Why: Fixes https://app.asana.com/0/1168997577035609/1199605118196733
How:
In some cases, Algolia was responding without results and with "degraded queries". In this case the job failed.
I'm adding logic to do retries (supported by ActiveJob) and handling degraded queries with a retry.
The other issue was sending country codes as uppercase, this caused the Algolia REST API to fail. We are sending this now in lowercase

@duranmla ActiveJob (the rails part that handles background jobs) has a built-in retry feature that works by raising errors inside the job#perform method. check https://github.com/debtcollective/membership/pull/378/files#diff-733cc8c29703007691b1808ac426aa1487e39602e2663051165f469bd2c856deR7 and https://github.com/debtcollective/membership/pull/378/files#diff-733cc8c29703007691b1808ac426aa1487e39602e2663051165f469bd2c856deR22. In these two lines, we configure the retry behaviour and throw an error to be handled by ActiveJob.

@duranmla ActiveJob (the rails part that handles background jobs) has a built-in retry feature that works by raising errors inside the job#perform method. check https://github.com/debtcollective/membership/pull/378/files#diff-733cc8c29703007691b1808ac426aa1487e39602e2663051165f469bd2c856deR7 and https://github.com/debtcollective/membership/pull/378/files#diff-733cc8c29703007691b1808ac426aa1487e39602e2663051165f469bd2c856deR22. In these two lines, we configure the retry behaviour and throw an error to be handled by ActiveJob.


Remove Eloquent\Builder::chunkById() already having the correct id field in Laravel

This method was necessary to rename the key name to _id.  chunkById was refactored in https://github.com/laravel/framework/pull/28065 to allow custom key name.
Reverts https://github.com/jenssegers/laravel-mongodb/pull/1317

Moved to https://github.com/jenssegers/laravel-mongodb/pull/2569


I have an ideia.

Have you thought about the possibility of not only saving PDFs in cache, but also being able to save them in a database, such as sqllite data, in this package ...?

we already use SQLite for saving files information and duration of the cache
I think saving files to DB don't add value
but if you have a reason let me know
and thanks for your time


Hunted Shot macro ignores users "Preview D20 Rolls" settings (bug)

By default the Preview D20 Rolls is on but if you turn it off, the macro still prompts you with the preview.  Because I can't find this option.

Rightclick on the username and click "User Configuration". Then you see the option

Found issue by default, I always skip dialog and not show it for PCs. Will add checking this setting.

Fixed next release 0.2.24


Snapshot related backports

Summary of the changes / Why this improves CrateDB
Precursor for https://github.com/crate/crate/pull/13289
See commits.
Checklist

[x] Added an entry in CHANGES.txt for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

WARNING: broken link: https://www.unicode.org/reports/tr29/


Image colored blue when ran from terminal but normal on realsense-viewer

Required Info

Camera Model
D435i

Firmware Version
<IP_ADDRESS>

Operating System & Version
Ubuntu 18.04

Kernel Version (Linux Only)
4.9.140-tegra

Platform
NVIDIA Jetson Xavier.

SDK Version
{ legacy / 2.. }

Language
C++

Segment

Issue Description
I am having an odd issue where when I show the realsense image through OpenCV it shows up very blue:

But when I view the image in the realsense viewer it is normal:

Here is the relevant code for showing the image:

        rs2::frameset data = pipe.wait_for_frames();// Wait for next set of frames
        rs2::frameset aligned_set = align_to.process(data); //align the frames

        rs2::frame depth_filtered = aligned_set.get_depth_frame(); //get aligned depth frame
        rs2::frame color_raw = aligned_set.get_color_frame(); //get aligned color frame

        Mat frame_raw(Size(w, h), CV_8UC3, (void*)color_raw.get_data(), Mat::AUTO_STEP);
        imshow("not tracking", frame_raw);

Any ideas on how to get the blue image normal? I think it might be a setting in the camera but I am unsure.

Hi @sdkaplan   The rendering of color in your image (especially blue instead of pinks and reds) makes me think that it might be an OpenCV color space issue, as described in the link below.
https://realpython.com/python-opencv-color-spaces/

If you are using C++, the RealSense SDK has an OpenCV Getting Started example program for displaying the RGB feed from a RealSense camera correctly in an OpenCV windiw.
https://github.com/IntelRealSense/librealsense/blob/master/doc/stepbystep/getting_started_with_openCV.md

Hi @sdkaplan  Do you require further assistance with this case, please? Thanks!

Case closed due to no further comments received.

@sdkaplan hey, just switch the cam_config from rgb8 to gbr8, and then your issue will be solved. :)


Check DB for entries into size and special chars

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

Are you using the CloudShell?
If not using the CloudShell:

OS: [e.g. iOS]
PowerShell version
Modules installed

Additional context
Add any other context about the problem here.

Lets check the column type is nvarchar and description column length is MAX


TextInput color issue in full screen editing

Is this a bug report?
Yes
Have you read the Contributing Guidelines?
Yes
Environment
Environment:
OS:  macOS High Sierra 10.13
Node:  8.7.0
Yarn:  1.2.1
npm:  5.5.1
Watchman:  4.9.0
Xcode:  Xcode 9.0.1 Build version 9A1004
Android Studio:  2.3 AI-162.4069837
Packages: (wanted => installed)
react: 16.0.0-beta.5 => 16.0.0-beta.5
react-native: 0.49.3 => 0.49.3
Target Platform: Android 7.1.1
Steps to Reproduce

Create a TextInput with text color white
Rotate phone to use full keyboard

Expected Behavior
The text color should change to black (or similar) in order to be visible on full keyboard layout.
Actual Behavior
If you have set a dark color for the background and your TextInput has a bright color, when you rotate to use the full keyboard layout, the android text input has a white background, but the text color stills bright.
Portrait mode:

Landscape Mode:

P.S. The images are from a StackOverflow post which had no answers.
Reproducible Demo
import React from 'react';
import {
  StyleSheet,
  TextInput,
  View,
} from 'react-native';

const black = 'rgb(53, 52, 53)';
const white = 'rgb(244, 243, 243)';

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: black,
  },
  TextInputStyle: {
    color: white,
  },
});

export default () => (
  <View style={styles.container}>
    <TextInput
      placeholder="Placeholder"
      placeholderTextColor="white"
      style={styles.TextInputStyle}
    />
  </View>
);

As I said before, you cannot see the text that you are writing if the text color is bright.


Fix Cloud Spanner budget-transfer samples

The write_data_with_dml_transaction function moved $200,000 from Album1 to Album2. However, Album1 is initialized with a budget of $100,000. As a result, you couldn't work through the getting started doc from start to finish. This function also checked whether Album1's budget exceeded a minimum, which isn't consistent with the equivalent snippets for other languages.
In addition, the read_write_transaction function moved $200,000, but in the opposite direction, which was somewhat confusing.
Finally, neither function confirmed that the source album's budget was at least as large as the transfer amount.
I made both functions transfer $100,000 from Album1 to Album2. I also fixed the logic errors and updated the tests as needed.

@jsimonweb FYI


Consider C# Idiomatic API

Currently it's a bit weird and unintuitive that in the C# style, the variables are just magically captured for certain types. This is a significant cheese migration when one comes to it fresh, having been told "it's just C#".
My assumption when I came to it was that I'd implement/inherit a class (e.g. the current Stack class), and this would require me to implement/override a method (rather than using the constructor), that perhaps returned IEnumerable<CustomResource>. That would still allow the setting of Output values etc, but would allow easier unit testing, and even better, rather than capturing variables using magic, would allow us to use C# yield return new SecurityGroup(...)' style.
It would seem possible to introduce this style as an option to start with.
Example:
// This is an example, using https://github.com/pulumi/examples/blob/master/aws-cs-webserver/WebServerStack.cs as inspiration.

using Pulumi;
using Pulumi.Aws;
using Pulumi.Aws.Ec2;
using Pulumi.Aws.Ec2.Inputs;
using Pulumi.Aws.Inputs;

class WebServerStack : Stack
{
    public IEnumerable<CustomResource> GetResources()
    {
        yield return Output.Create(GetAmi.InvokeAsync(new GetAmiArgs
        {
            MostRecent = true,
            Owners = {"137112412989"},
            Filters = {new GetAmiFilterArgs {Name = "name", Values = {"amzn-ami-hvm-*"}}}
        }));

        var group = new SecurityGroup("web-secgrp", new SecurityGroupArgs
        {
            Description = "Enable HTTP access",
            Ingress =
            {
                new SecurityGroupIngressArgs
                {
                    Protocol = "tcp",
                    FromPort = 80,
                    ToPort = 80,
                    CidrBlocks = {"<IP_ADDRESS>/0"}
                }
            }
        });
        yield return group;

        var userData = @"
#!/bin/bash
echo ""Hello, World!"" > index.html
nohup python -m SimpleHTTPServer 80 &
";

        var server = new Instance("web-server-www", new InstanceArgs
        {
            InstanceType = Size,
            VpcSecurityGroupIds = {group.Id},
            UserData = userData,
            Ami = ami.Apply(a => a.Id)
        });
        yield return server;

        this.PublicIp = server.PublicIp;
        this.PublicDns = server.PublicDns;
    }

    [Output] public Output<string> PublicIp { get; set; }

    [Output] public Output<string> PublicDns { get; set; }

    private const string Size = "t2.micro";
}

Just throwing out some ideas, but a syntax sort of like this could help force the developer to register the resources:
class MyStack : Stack
{
    public void GetResources(Manifest manifest) // name TBD
    {
        manifest.Add("security-group", new SecurityGroupArgs { ... }); // returns instance of SecurityGroup

        var bucket = manifest.Add("bucket", new BucketArgs { ... }); // returns instance of Bucket
        manifest.Add("something-else", new SomethingArgs { Bucket = bucket.Name });
    }
}

And the c# resource providers would all contain internal constructors for resources. So users would have no way of declaring an orphaned resource, but instead would be forced to go through the manifest.
And to get that manifest.Add to work, it would need some work but I think it could work with generics where we have say Bucket : CustomResource<BucketArgs> so manifest.Add could figure out the T / TArgs to make it easy to consume.
Or another way, the resource provider could add extension methods like Bucket AddBucket(this Manifest m, BucketArgs args)

I came across this issue while searching for something else, but wanted to echo the OP.

This is never going to happen so I'm closing it.


Repoint master to master - update debugger.md

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: anwather sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@anwather I moved your change to this PR (https://github.com/OmniSharp/omnisharp-vscode/pull/3609) and rebased it on master. Thanks


Enemies legs are not visible on Port and Old Junkyard

I think Andy fixed this by modifying the z-index for the ground.


Updates

add a read_to_end()
Headers is now an alias of the type from wasi crate
Request can now set the HTTP Headers

Revising and following up with multiple PRs.


report of https://github.com/54/check-runs/123/old

pass fail https://github.com/54/check-runs/123/old


Can't get any data

Probably not a bug, just something I don't get. Though you do have a missing comma in your example. I pasted your example into the JS console, added the missing comma in the JSON. At bottom you can see all I get with any query, not just this one.
nSQL([ 	{user: "scott", age: 21}, 	{user: "jeb", age: 20} ]) .query("select") .where(["age", ">=", 21]) .exec().then(function(rows) {     console.log(row) });
t {a: Array(1), h: Array(0), v: undefined}

https://codepen.io/clicksimply/pen/pmGXqa
The code seems to be working... there is however a typo in the code you provided.  You're passing the variable "rows" into the callback function for exec, then console logging the variable "row".

Closing this issue since there's been no response from the creator for several days.


Manual Installation

Carthage and CocoaPods are awesome tools and make our life really easier, but there are some devs who still don't know how to use them.
It would be cool to add the Manual installation guide in your README.md. You can take a look at my iOS Readme Template to see how you can do it.

Hey @lfarah, please check the discussion on #4 :)


EI-1103 - Add new Input API

Scope: add minimal API entries to use input
EI-1103 - Small Cleanup

Remove Control from comments
Remove legacy comment
Remove Point type cleanup
Add local/remote comment
Make feed similar to input in terms of comments
Remove unused import (see https://github.com/Iotic-Labs/api/issues/13)

EI-1103 - Specify Input

delete
describe
send input message
receive input messages
upsert payload part

EI-1103 - Input: update existing services

upsert: includes input meta in the UpsertTwinRequestPayload
search: update SearchResponsePayload to include the input details
describe twin: update DescribeTwinResponsePayload to include the input details

Will be closed to be recreated as a draft PR to prevent merge until feature is complete


Edit last submitted message rather then sending a new one?

I wan't to create couple of channels to track progress of processes. Therefore I would want the bot to instead of sending a new chat message, to edit the last send to the channel. is that possible?
Thanks

Hello @Schizo
AFAIK it is not possible to edit a post from a Webhook unfortunately

Thanks for the quick answer. What about changing a channels name? Is that possible?

@Schizo yep you can select the channel using the channel keyword argument of the send method
There's an example in the doc


MISSING_TOKEN issue

Hi,
Today I have tried to implement pushy on my server but unfortunately due to lack of knowledge and experience failed to implement it successfully and getting MISSING_TOKEN issue. Can any one help me how to resolve this issue ?
2015-06-04 05:36:44,464 [nioEventLoopGroup-12-1] DEBUG [ApnsConnection:448] - ExamplePushManager-connection-0 connected; waiting for TLS handshake.
2015-06-04 05:36:44,651 [nioEventLoopGroup-12-1] DEBUG [ApnsConnection:458] - ExamplePushManager-connection-0 successfully completed TLS handshake.
2015-06-04 05:36:44,651 [nioEventLoopGroup-12-1] TRACE [PushManager:693] - Connection succeeded: ApnsConnection [name=ExamplePushManager-connection-0]
2015-06-04 05:36:44,652 [nioEventLoopGroup-12-1] DEBUG [SslHandler:81] - [id: 0x9828d87b, /<IP_ADDRESS>:37772 => gateway.sandbox.push.apple.com/<IP_ADDRESS>:2195] HANDSHAKEN: TLS_RSA_WITH_AES_256_CBC_SHA
2015-06-04 05:36:44,652 [nioEventLoopGroup-12-1] DEBUG [ApnsConnection:643] - ExamplePushManager-connection-0 sending known-bad notification to shut down.
2015-06-04 05:36:44,653 [nioEventLoopGroup-12-1] TRACE [ApnsConnection:665] - ExamplePushManager-connection-0 successfully wrote known-bad notification 1
2015-06-04 05:36:44,728 [nioEventLoopGroup-12-1] DEBUG [ApnsConnection:250] - APNs gateway rejected notification with sequence number 1 from ExamplePushManager-connection-0 (MISSING_TOKEN).
2015-06-04 05:36:44,735 [nioEventLoopGroup-12-1] TRACE [PushManager:759] - Connection closed: ApnsConnection [name=ExamplePushManager-connection-0]
2015-06-04 05:36:46,341 [nioEventLoopGroup-11-1] DEBUG [PoolThreadCache:81] - Freed 16 thread-local buffer(s) from thread: nioEventLoopGroup-11-1
2015-06-04 05:36:46,939 [nioEventLoopGroup-12-1] DEBUG [PoolThreadCache:81] - Freed 16 thread-local buffer(s) from thread: nioEventLoopGroup-12-1

This is expected behavior. To quote from the logs you posted here:
ExamplePushManager-connection-0 sending known-bad notification to shut down.
ExamplePushManager-connection-0 successfully wrote known-bad notification 1
APNs gateway rejected notification with sequence number 1 from ExamplePushManager-connection-0 (MISSING_TOKEN).

Basically, we send a deliberately-malformed token so the APNs gateway will close the connection for us. We do this because the APNs gateway never acknowledges successful notifications, so this is the only way for us to know if things are "done" before disconnecting.
In your case, it looks like you're connecting successfully and then also shutting down successfully. If you're trying to send notifications but they don't appear to be going through, it may be that you're shutting down your PushManager before anything is sent. Please see the FAQ for additional discussion.

Thanks for your reply jchambers.
I have updated code according to your advice and now I am getting lot of logs but with no good luch :(
I actually removed shutdown statement just after the sending notificaiton and resulting following logs:
2015-06-06 04:46:19,947 [nioEventLoopGroup-35-1] DEBUG [ApnsConnection:458] - ExamplePushManager-connection-0 successfully completed TLS handshake.
2015-06-06 04:46:19,947 [nioEventLoopGroup-35-1] TRACE [PushManager:693] - Connection succeeded: ApnsConnection [name=ExamplePushManager-connection-0]
2015-06-06 04:46:19,948 [nioEventLoopGroup-35-1] DEBUG [SslHandler:81] - [id: 0xdeade9d0, /<IP_ADDRESS>:50720 => gateway.push.apple.com/<IP_ADDRESS>:2195] HANDSHAKEN: TLS_RSA_WITH_AES_256_CBC_SHA
2015-06-06 04:46:19,948 [nioEventLoopGroup-35-1] TRACE [ApnsConnection:528] - ExamplePushManager-connection-0 sending SendableApnsPushNotification [sequenceNumber=1, token=e6878d3993abfaec48220b9d4d3ea0b576c22351c7fbbb5faeb5449bf7f24452, payload={"fromId":"46533a86b82e2981","aps":{"content-available":1,"alert":"User is typing","sound":"default","badge":14},"toId":"1c8131249a27c490","isGroup":0,"msgId":"0","msgType":11,"custom":""}, deliveryInvalidation=null]
2015-06-06 04:46:19,948 [nioEventLoopGroup-35-1] TRACE [ApnsConnection:537] - ExamplePushManager-connection-0 successfully wrote notification 1
2015-06-06 04:46:19,984 [nioEventLoopGroup-36-1] DEBUG [ApnsConnection:448] - ExamplePushManager-connection-0 connected; waiting for TLS handshake.
2015-06-06 04:46:20,001 [nioEventLoopGroup-35-1] DEBUG [ApnsConnection:250] - APNs gateway rejected notification with sequence number 1 from ExamplePushManager-connection-0 (INVALID_TOKEN).
2015-06-06 04:46:20,001 [nioEventLoopGroup-35-1] TRACE [PushManager:803] - ApnsConnection [name=ExamplePushManager-connection-0] rejected SimpleApnsPushNotification [token=[-26, -121, -115, 57, -109, -85, -6, -20, 72, 34, 11, -99, 77, 62, -96, -75, 118, -62, 35, 81, -57, -5, -69, 95, -82, -75, 68, -101, -9, -14, 68, 82], payload={"fromId":"46533a86b82e2981","aps":{"content-available":1,"alert":"User is typing","sound":"default","badge":14},"toId":"1c8131249a27c490","isGroup":0,"msgId":"0","msgType":11,"custom":""}, invalidationTime=null, priority=IMMEDIATE]: INVALID_TOKEN
2015-06-06 04:46:20,004 [nioEventLoopGroup-35-1] TRACE [PushManager:759] - Connection closed: ApnsConnection [name=ExamplePushManager-connection-0]
2015-06-06 04:46:20,005 [pool-79-thread-1] DEBUG [ApnsConnection:441] - ExamplePushManager-connection-1 beginning connection process.
2015-06-06 04:46:20,062 [nioEventLoopGroup-35-1] DEBUG [ApnsConnection:448] - ExamplePushManager-connection-1 connected; waiting for TLS handshake.
Can you please tell me how to resolve this issue.

Sorry jchambers, I have resolved issue. That's why very silly mistake

jchambers, I have encountered new issue.
Basically, we are developing a messaging application,we have a feature of group message. After sending 10 to 15 message simultaneously by pushy server(tomcat) break down.
Currently, I do not added shutdown statement in my web service. Is it causing problem ??? If yes, please tell what is the appropriate place of adding shutdown statement.

Since this is, as you say, a new issue and since it doesn't really sound like a Pushy bug (it sounds like more of a general usage question), would you mind moving the discussion to our mailing list? We'd be happy to help you there!
Thanks!


import { WebView } from 'react-native'; deprecated

With the last version of react native, the WebView module change. Now it have to be imported this way:
import { WebView } from 'react-native-webview';
I'm trying to use it with the last of react-native using Expo (the code-sample). It doesn't seem to work for me because this issue. I've tried to change the code and import correctly the WebView component but it doesn't work either. The application exit with no error.

I had a problem usign npm and yarn mixed. It seems that PDFReader wheren't linked correctly. Also, when I installed via expo for some reason it installed me and old version of the packege.
I resolve the problem by deleting my node modules folder and reinstalling every package one by one using only yarn and expo install commands (without using npm install).


Feedback for “Setting Headers”

Hi team,
The documentation is quite clear about operationHeaders being able to set an authorization header either from a header or from an environment variable, using two distinct interpolation patterns.
Is there a way to set this header to either values, with a single pattern?
I would dream of something along the lines:
        operationHeaders:
          Authorization: Bearer {context.headers['x-gitlab-token'] ?? env.GITLAB_DEFAULT_READ_TOKEN}

You should use typescript config file rather than Yaml file and then you can write these types of logics and even more complex things.

thanks, precisely the path I chose since the original question


Updates to the installation documentation

I followed the original documention to set up the webapp and found it
slightlty confusing and that slightly too much prior knowledge was
required.
Hopefully this will make getting the webapp up and running slightly
easier for some people.

I signed it!

This was helpful for me. Thanks, @GlynnPhillips

Much clearer - much less prior knowledge required :+1:

@GlynnPhillips LGTM - thanks ever so much for taking time to contribute! :fireworks:


api extension discussion

Issue:
Sone Customer wants more information from api like following without featureFlag.

API for listing qualified Variant Id, name etc  for a given user/site/channel
API for providing list of qualified feature flag for a giver user/site/channel.
API for Multiple feature flag qualification like batch.(Currently, we support use cases for a single feature flag evaluation.)
.
.

The above list are some of them. we can shortlist them.
Thoughts:
It would have been great if open-feature have this kind of capability..
like: String[] OR MutableStructure getQualifiedFlags(EvaluationContext); return list of feature flag names for a given usr etc.
provider checks required input for evaluation in EvaluationContext , perform qualification and list all qualified flags for a given BU( filter unnecessary data).
what's next??
1.is there a plans to extend open-feature api's to support above request? Currently, we have api that only works with feature flag and default value at minimum?
2. is open-feature extensible to customer needs?
Notes:
if open-feature doesn't  plans to provide these interfaces. Then, we may have to plan for other solution to fulfill their needs.

Hey @pbhandari9541 this could be a discussion to open in the ofep repo https://github.com/open-feature/ofep since it is linked to more than the java sdk.


Merge the studio-next and studio apps

The studio-next folder was created for migrating to next.js. As the migration is complete now, it is time to remove the studio folder to decrease the redundancy.
Steps:

Remove the studio folder.
Check if there are any regressive problems or differences in the studio-next app as compared to the currently deployed site.
@fmvilas I suppose we will have to edit the domain tracking at netlify as well.

/gfi

/help

Please do this task only after https://github.com/asyncapi/studio/pull/1094 is merged.
Besides, special attention must be paid to paths, naming, and versioning:
https://github.com/asyncapi/studio/blob/master/apps/studio/package.json#L2
https://github.com/asyncapi/studio/blob/master/apps/studio-next/package.json#L2

Please do this task only after https://github.com/asyncapi/studio/pull/1094 is merged.

Sure. Just wanted to initiate it before we move along.

The migrated version also might get immediately broken due to https://github.com/asyncapi/studio/pull/1094#issuecomment-2344700719.

https://github.com/asyncapi/studio/pull/1094 was merged, so pay attention to this change: https://github.com/asyncapi/studio/pull/1094#issuecomment-2344700719.

FYI
Hard-locked the @asyncapi/converter on version 1.5.0 during handling incident https://github.com/asyncapi/studio/issues/1138.

https://github.com/asyncapi/studio/pull/1120 was merged just now.

Hey @Shurtu-gal,can you assign this to me.

Hey @prashantrai-30 already a PR has resolved this. I forgot to close this.


Babylonian method for square root

#include
using namespace std;
class root {
/*Returns the square root of n. Note that the function */
public:
float squareRoot(float n)
{
/We are using n itself as initial approximation
This can definitely be improved /
float x = n;
float y = 1;
float e = 0.000001; / e decides the accuracy level/
while (x - y > e) {
x = (x + y) / 2;
y = n / x;
}
return x;
}
};
/* Driver program to test above function*/
int main()
{
root g;
int n ;
cin>>n;
cout << "Square root of " << n << " is " << g.squareRoot(n);
getchar();
}

@Anmolreshi would you please create a seprate pull request from your fork with this single file babylonian_method_sqrt.cpp.


I still need to test this with skipper before we can merge!
Ref: https://github.com/zalando/skipper/issues/763

The related skipper PR: https://github.com/zalando/skipper/pull/764.
This one should be merged before the skipper PR.
One thing to note about this approach of using Go modules is that it will require that we align the versions used for building the plugins with the versions in skipper. If you build against different versions of packages you will get errors like this:
plugin.Open(".../build/tracing_basic"): plugin was built with a different version of package github.com/gogo/protobuf/proto

👍


ci: changed artifact names

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


New version: PiecewiseDeterministicMarkovProcesses v0.0.4

Registering package: PiecewiseDeterministicMarkovProcesses
Repository: https://github.com/rveltz/PiecewiseDeterministicMarkovProcesses.jl
Created by: @rveltz
Version: v0.0.4
Commit: 814e6c7c9efcd307c32a17c45893c0423c7ad931
Reviewed by: @rveltz
Reference: https://github.com/rveltz/PiecewiseDeterministicMarkovProcesses.jl/commit/814e6c7c9efcd307c32a17c45893c0423c7ad931#commitcomment-67090242
Description: Piecewise Deterministic Markov Processes in Julia

I want to skip version 0.0.3.

Hi,
Do we have an idea when it will be accepted?

I merged it 2 days ago and I can add it on my machine without any problems.

I am saying this because I dont see the tag on the webpage, I should see v0.0.4 no?

See https://github.com/rveltz/PiecewiseDeterministicMarkovProcesses.jl/issues/7#issuecomment-1046360147, maybe you don't have tagbot set up correctly.

I did now but I am not sure how to make it run or update the website


conditioned mc reported a possibly wrong count

instance.zip
Please find the attached instance. Panini reported a possibly wrong conditioned count different from the count<PHONE_NUMBER>100961075280 reported by d4 under the partial assignment 277 335 343 393 279 295.

The conditioned count is different from the one under partial assignment. It is not a bug.


License

Could you please add a license to your code, such as the MIT license?
Otherwise it's difficult to reuse your code, which I would like to do.

Done, happy hacking

I reused your FilesystemScanner in pmcaFilesystemServer.
Thanks for sharing!