Booleans insertion error

So a new post !
Seems there is an issue with booleans, at least with json insertion :
{
    "FileVersion": 1,
    "Progressions": [
        {
            "Comment": "Barbarian 1",
            "UUID": "a2198ee9-ea4c-468e-b6b4-22b32d37806e",
            "Strings": [
                {
                    "Action": "Insert",
                    "Type": "PassivesAdded",
                    "Strings": [
                        "Siphoning_Strike"
                    ]
                }
            ]
        },
        {
            "Comment": "Barbarian 2",
            "UUID": "89986e8a-09b1-4163-b1d0-ddb2332bf3c5",
            "Booleans": [
                {
                  "Key": "AllowImprovement",
                  "Value": true
                }
              ]
        },
...

There are quite a lot after this but an error occurs in SE console and only the first passive is added ingame for barbarian (all subsequent insertions are no longer there but were individually functional before that).
[ERROR]: [string "SubclassCompatibilityFramework/JsonLayer/Prog..."]:35: attempt to call a nil value (field 'ParseAndSubmitBoolean')
stack traceback:
	SubclassCompatibilityFramework/JsonLayer/ProgressionHandler.lua:35: in upvalue 'ProgressionSubSectionHandler'
	SubclassCompatibilityFramework/JsonLayer/ProgressionHandler.lua:43: in global 'ProgressionJsonHandler'
	SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:6: in upvalue 'SubmitData'
	SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:36: in function <SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:32>
	[C++ Code]: in function 'xpcall'
	SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:47: in global 'LoadConfigFiles'
	SubclassCompatibilityFramework/Init/_InitDefaults.lua:2: in function <SubclassCompatibilityFramework/Init/_InitDefaults.lua:1>
	[C++ Code]: in function 'xpcall'
	builtin://Libs/Event.lua:129: in method 'Throw'
	builtin://Libs/Event.lua:184: in function <builtin://Libs/Event.lua:183>

Copied the boolean from the wiki, full logs and json attached if need be.
Extender Runtime 2023-10-26 21-03-13.log
CompatibilityFrameworkConfig.json

Ack, typo got past me. Boolean will be updated shortly, alongside some Array support

If after all if this all modders do not use the framework to edit vanilla classes...

2.4.12 should resolve the Boolean error you're running into 😄

Hum I think there is another one, (or there is a change in the syntax?)
[ERROR]: [string "SubclassCompatibilityFramework/Utils/CacheUti..."]:3: bad argument #1 to 'Get' (string expected, got nil)
stack traceback:
	[C++ Code]: in field 'Get'
	SubclassCompatibilityFramework/Utils/CacheUtils.lua:3: in field 'CacheOrRetrieve'
	SubclassCompatibilityFramework/CompatibilitySupport/BooleanSupport/BooleanSet.lua:3: in upvalue 'SetBoolean'
	SubclassCompatibilityFramework/CompatibilitySupport/BooleanSupport/BooleanSet.lua:14: in global 'HandleBoolean'
	SubclassCompatibilityFramework/API/BooleanApi.lua:11: in field 'Booleans'
	SubclassCompatibilityFramework/JsonLayer/_Utils.lua:185: in field 'ParseAndSubmitBoolean'
	SubclassCompatibilityFramework/JsonLayer/ProgressionHandler.lua:44: in upvalue 'ProgressionSubSectionHandler'
	SubclassCompatibilityFramework/JsonLayer/ProgressionHandler.lua:52: in global 'ProgressionJsonHandler'
	SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:6: in upvalue 'SubmitData'
	SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:36: in function <SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:32>
	[C++ Code]: in function 'xpcall'
	SubclassCompatibilityFramework/JsonLayer/_JsonLoader.lua:47: in global 'LoadConfigFiles'
	SubclassCompatibilityFramework/Init/_InitDefaults.lua:2: in function <SubclassCompatibilityFramework/Init/_InitDefaults.lua:1>
	[C++ Code]: in function 'xpcall'
	builtin://Libs/Event.lua:129: in method 'Throw'
	builtin://Libs/Event.lua:184: in function <builtin://Libs/Event.lua:183>

Aaaaand another typo, both in my test data and my function 🤦♂  It was trying to send data.UUIT instead of data.UUID. 2.4.13 uploading now with a fix

Well this is becoming weird (that's version number 13)...
No more error in SE console, but now not any single thing I added to config json is in game (progression or lists).
config file attached since I can't see glaring issue inside and I wanted to wait for it to work before doing the other classes et testing the lists guid arrays, and I think it will not be the evening since it's getting late :p
CompatibilityFrameworkConfig.json
(There are 2 "Remove Selectors" that I did not test but it should not be the issue)

Let me know if 2.4.14 resolves the issue. I loaded up your config json, and got a few errors - there were some errors I couldn't resolve that I'm assuming relate to non-vanilla lists, but I was able to make a few tweaks in the code to get past some of them.

Yes your are right, nearly all lists are related to other mods.
With last release lists, booleans, passives and selectors seem to be okay but one : boosts (spellslots in my file) are applied twice.
Perhaps that's my fault :
To double spellslots I inserted a boost that is identical to the vanilla one, IE lvl1 bard has "ActionResource(SpellSlot,2,1)" twice instead of only one "ActionResource(SpellSlot,4,1)"
Is it better to do this, if even possible ? :
"Action": "Remove",
                    "Type": "Boosts",
                    "Strings": [
                        "ActionResource(SpellSlot,2,1)"
                    ],
"Action": "Insert",
                    "Type": "Boosts",
                    "Strings": [
                        "ActionResource(SpellSlot,4,1)"
                    ]

As of 2.4.15, you can 😄

So quick 'o'
Seems you also fixed the doubled boost since now it only shows twice in game ang not thrice (vanilla + 2 x inserted boost).
But the Remove Strings also work and it's cleaner so thanks !
Last thing I can think of, except for occasional bugs, can I remove selectors as of now?
Goal is to modify the number of spells one class can select upon level up.
IE bard can choose 4 spells at lvl 1 so has SelectSpells(dcb45167-86bd-4297-9b9d-c295be51af5b,4,0,BardSpells)
I want to change it to something else, say 6, should I do
{
                    "Action": "Remove",
                    "Function": "SelectSpells",
                    "Params": {
                        "Guid": "dcb45167-86bd-4297-9b9d-c295be51af5b",
                        "Amount": "4",
                        "Prepared": "0"
                    }
                },
{
                    "Action": "Insert",
                    "Function": "SelectSpells",
                    "Params": {
                        "Guid": "dcb45167-86bd-4297-9b9d-c295be51af5b",
                        "Amount": "6",
                        "Prepared": "0"
                    }
                }

Is it important to specify BardSpells parameter to ensure the removal since the vanilla selector does include it?
If not supported that's not a real problem, I can just insert a second SelectSpells ^^

Seems there is an issue with the Remove Strings, or I do not use it as I have to :
{
            "Comment": "Druid 1",
            "UUID": "b499258c-2823-42f1-b8ca-0a5ee8455e11",
            "Strings": [
                {
                    "Action": "Remove",
                    "Type": "Boosts",
                    "Strings": [
                        "ActionResource(SpellSlot,2,1)"
                    ]
                },
                {
                    "Action": "Insert",
                    "Type": "Boosts",
                    "Strings": [
                        "ActionResource(SpellSlot,4,1)"
                    ]
                },
                {
                    "Action": "Insert",
                    "Type": "PassivesAdded",
                    "Strings": [
                        "GrimHarvest",
                        "SculptSpells"
                    ]
                }
            ]
        },
        {
            "Comment": "Druid 2",
            "UUID": "95322dde-349a-4101-964f-9aa46abd890b",
            "Strings": [
                {
                    "Action": "Remove",
                    "Type": "Boosts",
                    "Strings": [
                        "ActionResource(SpellSlot,1,1)"
                    ]
                },
                {
                    "Action": "Insert",
                    "Type": "Boosts",
                    "Strings": [
                        "ActionResource(SpellSlot,2,1)"
                    ]
                }
            ],
            "Booleans": [
                {
                    "Key": "AllowImprovement",
                    "Value": true
                }
            ]
        },

And then it goes on until lvl12.
The first lvl is perfect as it gives 4 spellslots but upon level up I have no more spellsplots at all.
Stranger : using SE console to look at the progression of lvl 2+ I can see the inserted boosts are there (and the removed one are not) :
{
	"AddSpells" : {},
	"AllowImprovement" : true,
	"Boosts" : ";ActionResource(SpellSlot,2,1)",
	"IsMulticlass" : false,
	"Level" : 2,
	"Name" : "Druid",
	"PassivesAdded" : "",
	"PassivesRemoved" : "",
	"ProgressionType" : 0,
	"ResourceUUID" : "95322dde-349a-4101-964f-9aa46abd890b",
	"SelectAbilities" : {},
	"SelectAbilityBonus" : {},
	"SelectEquipment" : {},
	"SelectPassives" : {},
	"SelectSkills" : {},
	"SelectSkillsExpertise" : {},
	"SelectSpells" : {},
	"SubClasses" :
	{
		"1" : "7458da78-34b7-4150-a42f-37197ab04510",
		"2" : "3eab0689-e51b-4634-a690-0375d3cb2716",
		"3" : "4b61af6c-4a44-436e-aa0a-0d11a2d6b8ee",
		"4" : "90615bcd-6584-4ba7-8196-6df053d263fe"
	},
	"TableUUID" : "6e7b7bad-e122-4679-8b3c-8f8987a9d466",
	"field_D0" : {}
}

Extender Runtime 2023-10-27 10-42-28.log
CompatibilityFrameworkConfig.json

For selectors, currently Removing Selectors can only be done using the API - the Config method's implementation is unfinished.
For the lists, that's very odd - wonder if it relates to the preceding semicolon, I'll see if I can clean that up a bit. I wonder, does it still occur when you have the insert placed above the remove entry?

Noted for selectors.
Regarding Boost/spellslots it does indeed work when insert is before remove.
I change all the druid progression, which work, et try again as a bard (remove before insert) and it does not.

Hrm, I wonder if it might be related to how I'm caching the game data. For now, inserting before removing will be the workaround, but I'll look more into making it work in either direction.

Good enough for me really.
It seemed to me more logical to clean the strings before adding to them but if swapping works that's nice ^^


Fix remapping by making included modules be namedElements

Tested locally and seems to work
Thanks to @jakobkmar for providing the fix for this on discord

Missed that that was user defined, ive repurposed it

Well this seem to breaking due to some change in https://github.com/QuiltMC/quilt-loom/blob/main/patches/0002-Support-multiple-metadata-formats-including-QMJ.patch, so guess ill investigate that

Welp this has spiraled due to awful loom design, we'll likely have to rewrite the entire buildscript system to fix this


Fix TreeCache

The TreeCache recipe wasn't working for several reasons:

Typo in children_watcher, should be child_watcher
await [ ... ] is not valid syntax, changed it to asyncio.gather()
Callbacks for the watchers must be async

@xose yeah, recipes now aren't tested.
I'm going to merge your PR but I will appreciate if you can add at least smoke test for this particular recipe.


Rearrange the Number

Before jumping into Pr first comment for assign.All Problem from Edabit. Link is mandatory to add
Problem statement:Given a number, return the difference between the maximum and minimum numbers that can be formed when the digits are rearranged.
Problem Link:https://edabit.com/challenge/jwzAdBnJnBxCe4AXP

Before submitting a PR please Check some details.Check Edabit for problem task

[ ] fileName formet should be in camelcase
example- returnTheNextNumber.py
[ ]  Add label for Problem
[ ]  In file there should be problem statement and link to probelm
example -

'''
    Probem Task : This program will add two numbers
    Problem Link : https://edabit.com/challenge/SFzHtm63XT6EYNHWY
'''
*/
def main():
    return a + b

This repository is vaild for HacktoberFest2020
Read before making PR - How to contribute on Github
Good Luck,

Please assign this to me

Has this issue been assigned yet, If not it would be much appreciated if this issue is assigned to me

I would love to work on this task, and I have made a sufficient solution already. please assign me to this task. Thank you!


all-packages.nix has an invalid kde declaration. Broke nix-env -qa.

Ubuntu 14.04
Nix 1.8
nixpkgs-unstable (14.12 seems to have the same issue).
nix-env -qa
error: attribute ‘rekonq’ missing, at "/nix/store/i99ncvcy3p4awz7b0m35gcknkizzrpag-nixpkgs-15.05pre55083.597373b/nixpkgs/pkgs/top-level/all-packages.nix":12861:15
The problem is that rekonq is not found in kde4.
I can get nix-env -qa to work by explicitly use kde414 (I almost be sure that this is not the good way of doing it but I'm new to nix):
rekonqWrapper = wrapFirefox {   browser = kde414.rekonq; browserName = "rekonq"; desktopName = "Rekonq"; };
Now I can list some packages but all kde packages are missing.
nix-env -qa 'kde.*'
error: selector 'kde.' matches no derivations*
The definition of kde4 in all-packages.nix does not work.

I'm unable to reproduce any of the problems on 14.12, master, or that particular 597373b version. I wonder what's different.

Hum, I'm sorry but this is not a bug.


If csrftoken cookie is set to HttpOnly, getCookie will not be able to fetch the token

Relates to issue #4 with more information.

If a Django project setting sets the CSRF_COOKIE_HTTPONLY = True then GetCookie function will not work. It becomes a problem for us if we want to keep our site secure, including cookies to prevent CSRF. Refer to Django documentation for an alternative: Getting CSRF token value when CSRF_COOKIE_HTTPONLY=True
For more information about HttpOnly: HTTP cookie - Secure and HttpOnly

Very interesting; thank you !
I'll cope with it asap

Fixed merging PR #28


Infix to Postfix conversion in C++ using stacks

💥 Proposal
I would like to add code for Infix to Postfix conversion in C++ using stacks
Have you read the Contributing Guidelines on Pull Requests?
YES

@SAY-droid427 Hi, I assigned you. Happy Coding!😊

@SAY-droid427 Can you tell us whether you are working under Gssoc as a participant?

@ankitaggarwal23 Yes, I am working as a participant in GSSOC'21.Please assign this issue to me


Added resolve command to the readme

Fixes #86

Coverage remained the same at 72.835% when pulling 39b4bceb364b49479a1295a8a28778b7345bf772 on feature/resolve-command-readme into d5d63807af1cb0026e88aba3c122c7663a2d2e34 on master.

Coverage remained the same at 72.835% when pulling 39b4bceb364b49479a1295a8a28778b7345bf772 on feature/resolve-command-readme into d5d63807af1cb0026e88aba3c122c7663a2d2e34 on master.

Coverage remained the same at 72.835% when pulling 39b4bceb364b49479a1295a8a28778b7345bf772 on feature/resolve-command-readme into d5d63807af1cb0026e88aba3c122c7663a2d2e34 on master.


[teuthology/provision]: Increase number of drives for vps to 4

Related to:  https://github.com/ceph/ceph/pull/16799
Signed-off-by: Vasu Kulkarni<EMAIL_ADDRESS>

https://github.com/ceph/ceph/pull/16842

Why was this necessary?

Because of https://github.com/ceph/ceph/pull/16842
Or does the job config pass number of disks?

Also mentioned in original comment: Related to: ceph/ceph#16799


Area zonal stats: using imputed_mean results to nulls even if fillna=True

Look at the d_mbps_meancolumn

hi @alronlam sorry for the late reply, but can you share the notebook/gist to replicate this issue as I haven't been able to replicate this. tia!

hi @alronlam I was able to finally recreate the problem and find the source.
Fix to this is on the way. Will update soon.


Fix the docs to present maven & gradle setup properly

Currently the maven docs are missing for some reason

https://github.com/spring-cloud/spring-cloud-contract/commit/786d504312fc26a18d2614106e7bf0a1e146be86


eslint for EOL of all files.

We need eslint plugin for json to fix this issue.

This should be closed now.


Remove preprocess code and flag

Relates to styled-components/styled-components#1619

@Samatar26 any chance you could spend some time getting this rebased/merged up against master?

@probablyup Sure, no problem 👍

@probablyup It should be ready for review now 👍


feat: add sticky card headers

Restyles most of the models and makes the model schema title makes sticky to make long nested schemas easier to navigate.
Things we can do still:

Fix some bugs (unrelated to this PR)
Improve the schema / subschema titles so they're more useful, e.g. more names rather than "object"

https://github.com/scalar/scalar/assets/6374090/b7d378c9-455e-4be1-98df-ff78318cdf8d

Love it, great PR!

awesome work @hwkr ! I played around with it and it's feeling better so much better with the sticky card headers!
Would be nice to make the show more attributes in the request body not full width as before, after playing around ✨.

Updated with narrow button 👍


[Issue] TimeInput unreadable when input is selected and primary color is black

An image speaks more than a thousand of words:

As you can see, the hour TimeInput is selected and pm is selected in the AmPmSwitcher.
Any workaround available until a proper fix is baked?

I'm looking for a workaround like this, in my case the issue is on the buttons, when in dark mode, my primary color is also a dark color, which is difficult to read, it would be great if there is a way to set these colors.

I found a work around. Wrap your modals in an another provider and adjust the primary color
import { Provider as PaperProvider } from 'react-native-paper';

const datetimePickerTheme = {
  ...theme,
  colors: {
    ...theme.colors,
    primary: '#8eb7ff',
  },
};

 <PaperProvider theme={datetimePickerTheme}>
        <DatePickerModal
          locale="en"
          mode="single"
          visible={showDateModal}
          onDismiss={onDismissDateModal}
          date={value}
          onConfirm={noOp}
          onChange={(e: Parameters<SingleChange>[0]) =>
            updateValue(e.date as Date)
          }
          saveLabelDisabled={true}
          saveLabel=" "
          label={label}
          closeIcon="arrow-left"
        />
        <TimePickerModal
          visible={showTimeModal}
          onDismiss={onDismissTimeModal}
          onConfirm={onConfirmTime}
          hours={value?.getHours()}
          minutes={value?.getMinutes()}
        />
      </PaperProvider>

PR is welcome!

I can't reproduce this.

  m3Theme.colors.primary = '#000000'
  m2Theme.colors.primary = '#000000'

This is fixed now in m2 where primary is black. If you have this in m3 please fix your theme:
You need to have onPrimaryContainer white!
  m3Theme.colors.primaryContainer = '#000000'
  m3Theme.colors.onPrimaryContainer = '#000000'


[opt](inverted index) Optimization of the initialization process in topn

Proposed changes
Issue Number: close #xxx

run buildall


ISPN-11470 Scheduled thread pools rejection handle should throw Lifec…

…ycle exception
https://issues.redhat.com/browse/ISPN-11470

Updated.

I personally don't think these needed changing, but updated per comments.

Merged, thanks Will!


Support this.prop = expr; assignments as declarations for ES6 JS classes

@billti noticed this didn't actually make it in to the original JSDoc branch as planned

:+1:

@RyanCavanaugh can we close this?


[CodeStyle] Normalize header comments + indentation

Header comments
I forgot to normalize the code's head comments on each file. Normally on my OSS projects I try not to use Xcode's generated comment header, but instead mention the MIT License the code is under.
Not sure it's worth quoting the whole MIT licence at the top of the header like I did for OHHTTPStubs and probably something more compact like I did for SwiftGen, or something like this:
//
// Dip
// This code is under MIT Licence. See the LICENCE file for more info.
//

Indentation
Given that now I'm not alone pushing on that project, we should explicitly use the same indentation on all the files of Dip. I recently switched to 2-spaces indentation for Swift instead of the default 4-spaces.
@ilyapuchka Xcode allows you to specify indentation per-file and per-project too, so we can select the project in the workspace and set the "Tab" and "Indent" widths in the inspector, without having to change your global Xcode preferences in case you prefer 4-space width for your other projects and only want to use 2-spaces for Dip.

Fixed by commits mentioned above.


impl(generator): use singular form of discovery resource names as appropriate

fixes #11138
I attempted a more generic solution leveraging grammar rules, but while going from singular to plural is somewhat doable (minus the exceptions), going from plural to singular is much less deterministic and more trial an error.

This change is

I wonder if we will regret fixing the plural vs. singular names of these RPCs in the future.  Eventually we want to update the discovery doc and the generated files as part of the weekly "update the SHA" task for the operator, and we may want to automate that away.
Having a custom list of transformations will require human judgement and intervention when new resources are added to compute.  Is that something we want to take on?
What would we do if a proto for any other random API had the wrong number in one RPC, would we try to fix that?
Not that this is binding, but do other languages do this for DIREGAPIC services?

I attempted a more generic solution leveraging grammar rules, but while going from singular to plural is somewhat doable (minus the exceptions), going from plural to singular is much less deterministic and more trial and error.

Is it possible to use the name of the GET response type to determine the singular name of the resource?  Or some other field that maybe requires less human intervention or manual updates?


fix(fs-delete/webhook): use fs instance instead of historical

Thanks for submitting a PR! Please check the boxes below:

[x] I have run pre-commit to check linting
[ ] I have added information to docs/ if required so people know about the feature!
[x] I have filled in the "Changes" section below?
[x] I have filled in the "How did you test this code" section below?
[x] I have used a Conventional Commit title for this Pull Request

Changes
Use feature state instance for delete feature webhook instance of historical instance (because historical record does not exist for feature states created before we introduced history and for some reason they also did not exists for the feature here: https://flagsmith.sentry.io/issues/4929553990/?project=5544478&query=is%3Aunresolved&referrer=issue-stream&statsPeriod=24h&stream_index=19)
How did you test this code?

Add new unit test

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

Project coverage is 95.91%. Comparing base (76def7c) to head (8c19bca).
Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3475   +/-   ##
=======================================
  Coverage   95.91%   95.91%
=======================================
  Files        1092     1092
  Lines       33991    34006   +15
=======================================
+ Hits        32601    32616   +15
  Misses       1390     1390

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


ProxyServer#Stop is broken

Test code:
var proxy = new ProxyServer();
proxy.AddEndPoint(new ExplicitProxyEndPoint(IPAddress.Parse("<IP_ADDRESS>"), 6100, false));
proxy.Start();
proxy.Stop();

Expected result: Proxy is started (this works fine), and then stopped gracefully.
Actual result:
Unhandled Exception: info: Microsoft.AspNetCore.Mvc.Internal.ObjectResultExecutor[1]
      Executing ObjectResult, writing value Microsoft.AspNetCore.Mvc.ControllerContext.
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.EndAccept(Byte[]& buffer, Int32& bytesTransferred, IAsyncResult asyncResult)
   at System.Net.Sockets.TcpListener.EndAcceptTcpClient(IAsyncResult asyncResult)
   at System.Net.Sockets.TcpListener.<>c.<AcceptTcpClientAsync>b__28_1(IAsyncResult asyncResult)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Titanium.Web.Proxy.ProxyServer.<Listen>d__141.MoveNext() in C:\projects\titanium-web-proxy\Titanium.Web.Proxy\ProxyServer.cs:line 701
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

This is possibly related to #107, anyone have any clues?

In providing further details, I'm calling it from a ASP.NET core MVC controller. I've got my own persistence layer to make the object stick around as a singleton (via the container), that works fine.
However, trying to stop in any circumstance from a controller seems to throw this error, even if you created the ProxyServer in the same request.
The method that handles this invocation is very simple:
        [HttpGet("{name}/{task}", Name = "ManageServices")]
        public IEnumerable<string> Manage (string name, string task)
        {
            Logger.LogDebug("Service manager n -> " + name + ", a -> " + task);

            if (validServices.Any(s => name == s) &&
                validActions.Any(s => task == s))
            {

                var proxy = new ProxyServer();
                proxy.AddEndPoint(new ExplicitProxyEndPoint(IPAddress.Parse("<IP_ADDRESS>"), 6100, false));
                proxy.Start();
                proxy.Stop();
                return new string[] { name + " was " + task + "ed successfully" };
            }
            else
               throw new EInvalidRequest();
        }

@honfika I can confirm that https://github.com/justcoding121/Titanium-Web-Proxy/commit/8182416aae8a8e75dfd950e02285c03984d3539f fixes this.
Issue can probably be closed, thoughts?


Tea-lang Olympics example fails

I tried to run the Olympics example from the Tea-lang repository, and it fails with the following error:
Traceback (most recent call last):
  File "/work/olympics_tea.py", line 50, in <module>
    tea.hypothesize(['Sex', 'Weight'], ['Sex:F < M'])
  File "/usr/local/lib/python3.9/dist-packages/tea/api.py", line 175, in hypothesize
    result = vardata_factory.create_vardata(dataset_obj, relationship, assumptions, study_design)
  File "/usr/local/lib/python3.9/dist-packages/tea/vardata_factory.py", line 56, in create_vardata
    return self.__create_relate_vardata(dataset, expr, assumptions, design)
  File "/usr/local/lib/python3.9/dist-packages/tea/vardata_factory.py", line 398, in __create_relate_vardata
    tests = synthesize_tests(dataset, assumptions, combined_data)
  File "/usr/local/lib/python3.9/dist-packages/tea/z3_solver/solver.py", line 1073, in synthesize_tests
    assumed_props = assume_properties(stat_var_map, assumptions, solver, dataset, combined_data)
  File "/usr/local/lib/python3.9/dist-packages/tea/z3_solver/solver.py", line 1011, in assume_properties
    stat_vars = [stat_var_map[v] for v in var]
  File "/usr/local/lib/python3.9/dist-packages/tea/z3_solver/solver.py", line 1011, in <listcomp>
    stat_vars = [stat_var_map[v] for v in var]
KeyError: 'Sport'

Platform:

OS: Debian Bullseye (Current x86 Python 3.7 Docker image), Linux 5.15.49
Tea version: 0.4.2 (latest on PyPI)
Python version: 3.7.16
Packages installed by pip install tealang: attrs-21.4.0 bootstrapped-0.0.2 certifi-2022.12.7 charset-normalizer-2.0.12 cycler-0.11.0 fonttools-4.38.0 idna-3.4 joblib-1.2.0 kiwisolver-1.4.4 matplotlib-3.5.3 mpmath-1.2.1 numpy-1.21.6 packaging-23.0 pandas-1.3.5 parameterized-0.8.1 patsy-0.5.3 pillow-9.4.0 pyparsing-3.0.9 python-dateutil-2.8.2 pytz-2022.7.1 requests-2.27.1 scikit-learn-1.0.2 scipy-1.7.3 six-1.16.0 statsmodels-0.12.2 sympy-1.9 tealang-0.4.2 threadpoolctl-3.1.0 typing-extensions-4.4.0 urllib3-1.26.8 z3-solver-<IP_ADDRESS>

To reproduce:
docker run -it --platform=linux/amd64 python:3.7 bash

pip install tealang
wget https://raw.githubusercontent.com/tea-lang-org/tea-lang/master/examples/Olympics/athlete_events_cleaned_weight.csv
wget https://raw.githubusercontent.com/tea-lang-org/tea-lang/master/examples/Olympics/olympics_tea.py
python olympics_tea.py

Output:
$ python olympics_tea.py
Logger was initialized with default configuration.
Use TeaLogger.initialize_logger to change it.

Running under STRICT mode.

This means that user assertions will be checked. Should they fail, Tea will override user assertions.

/usr/local/lib/python3.7/site-packages/scipy/stats/morestats.py:1760: UserWarning: p-value may not be accurate for N > 5000.
  warnings.warn("p-value may not be accurate for N > 5000.")

Results:
--------------
Test: mannwhitney_u
***Test assumptions:
Exactly one explanatory variable: Sport
Exactly one explained variable: Weight
Independent (not paired) observations: Sport
Variable is categorical: Sport
Variable has two categories: Sport
Continuous OR ORDINAL (not nominal) data: Weight

***Test results:
name = Mann Whitney U Test
test_statistic = 46021305.50000
p_value = 1.00000
adjusted_p_value = 1.00000
alpha = 0.05
dof = 18793
Effect size:
A12 = 0.53830
Null hypothesis = There is no difference in medians between Sport = Swimming and Sport = Wrestling on Weight.
Interpretation = t(18793) = 46021305.50000, p = 1.00000. Fail to reject the null hypothesis at alpha = 0.05. There is no difference in medians between Sport = Swimming and Sport = Wrestling on Weight.The effect size is A12 = 0.53830. The effect size is the magnitude of the difference, which gives a holistic view of the results [1].
[1] Sullivan, G. M., & Feinn, R. (2012). Using effect size—or why the P value is not enough. Journal of graduate medical education, 4(3), 279-282.

Test: kruskall_wallis
***Test assumptions:
Independent (not paired) observations: Sport
Exactly one explanatory variable: Sport
Exactly one explained variable: Weight
Continuous (not categorical) data: Weight
Variable is categorical: Sport
Variable has two or more categories: Sport

***Test results:
name = Kruskall Wallis
test_statistic = 72.86194
p_value = 0.00000
adjusted_p_value = 0.00000
alpha = 0.05
dof = 18793
Null hypothesis = There is no difference in medians between Sport = Swimming, Wrestling on Weight.
Interpretation = t(18793) = 72.86194, p = 0.00000. Reject the null hypothesis at alpha = 0.05. There is a difference in medians of Weight for at least one of Sport = Swimming, Wrestling.

Traceback (most recent call last):
  File "olympics_tea.py", line 50, in <module>
    tea.hypothesize(['Sex', 'Weight'], ['Sex:F < M'])
  File "/usr/local/lib/python3.7/site-packages/tea/api.py", line 175, in hypothesize
    result = vardata_factory.create_vardata(dataset_obj, relationship, assumptions, study_design)
  File "/usr/local/lib/python3.7/site-packages/tea/vardata_factory.py", line 56, in create_vardata
    return self.__create_relate_vardata(dataset, expr, assumptions, design)
  File "/usr/local/lib/python3.7/site-packages/tea/vardata_factory.py", line 398, in __create_relate_vardata
    tests = synthesize_tests(dataset, assumptions, combined_data)
  File "/usr/local/lib/python3.7/site-packages/tea/z3_solver/solver.py", line 1073, in synthesize_tests
    assumed_props = assume_properties(stat_var_map, assumptions, solver, dataset, combined_data)
  File "/usr/local/lib/python3.7/site-packages/tea/z3_solver/solver.py", line 1011, in assume_properties
    stat_vars = [stat_var_map[v] for v in var]
  File "/usr/local/lib/python3.7/site-packages/tea/z3_solver/solver.py", line 1011, in <listcomp>
    stat_vars = [stat_var_map[v] for v in var]
KeyError: 'Sport'

I'm not familiar with the internals of Tea or have previous experience using it, but I'm happy to help if you can point me in the right direction.

It Likely was caused by incompatibility between the current state of the example and the latest release, as it does not reproduce with the latest commit instead of the 0.4.2 release.


Simpler example as the playground default sample

JSON is pretty simple, but something even simpler may be best as the first example
a person sees, i.e under 50 lines

re-thought about this.
JSON is about as simple as it gets, and the whole thing is just ~120 lines.
Not only is it simple it is also very familiar to most developers...


[VTA] Fix RewriteForceSerial Function logic issue.

Issue:
RewriteForceSerial is a debug function to force instructions
to be serialize instead of parrallel running, by doing so we
can isolate some parallel problem or do performance compare
between parallel and serialize. But this function have some
problem, once get enabled by set debug flag, vta would stuck
when running on pynq board.
Reproduce:
set vta.build_config(debug_flag=32), then run vta resnet on FPGA, issue would reproduce.
Analysis:
once enable RewriteForceSerial, the dependency logic is different
with default one, but we still use same logic to generate FINISH
and other logic, this would cause dead lock.
Solution:
give a different dependency settings when enable RewriteForceSerial.

Hi @tmoreau89  , could you help to review this patch?
Thanks
Hua

Thank @huajsj good catch. Did the error also manifest itself on the TLPP simulator when running ResNet?

Thank @huajsj good catch. Did the error also manifest itself on the TLPP simulator when running ResNet?

@tmoreau89 , thanks for follow up, yes, we can reproduce this issue in TLPP simulator, the patch also get verified both in TLPP simulator and PYNQ board.


Displaying images

Would be cool to be able to display images in the CLI (think displaying graphs with a higher resolution than ASCII characters) - this kind of thing has been implemented in projects like neofetch using various image backends (see https://sw.kovidgoyal.net/kitty/kittens/icat/ for example)

Not that this is exactly what you are looking for, but, in https://github.com/knipferrc/fm I render the images as a string. Its not super high quality, but a little nicer than ASCII characters

You may find this list of bitmap protocols and supporting terminal emulators of use: https://www.reddit.com/r/linux/comments/t3m7zm/quick_roundup_of_bitmap_graphics_availability_in/

For quick'n'dirty partial support two things might be enough to support Kitty graphics protocol (and sixel, too):

detect image APCs here and don't truncate lines containing them (and also make sure it is rendered fully if it is a multiline APC (sixel) - that doesn't always work (probably) because of the terminal height detection but I didn't do any in-depth debugging there yet.
make sure they're rendered properly (not sure how to do that with Kitty graphics)

Sixel graphics is usually displayed correctly by bubbletea if not truncated (i.e. short images or properly newlined images) but kitty graphics is not displayed even when it is not (apparently) mangled by the rendering engine. Kitty graphics is much more powerful but the rendering is also a bit more complex so this may actually be a problem with how termenv is used but this is just a speculation on my side at this point.

Is there any updates/plans on this enhancement? @jficz @bashbunni @cwqt

Hey @BominRahmani no plans at the moment to bring image support to Bubble Tea. It's just not adopted by enough terminal emulators right now for us to offer official support for it. Compatibility is super important to us

Just to add some more context here, native terminal images (like sixel and so on) are functionally impossible to handle in TUIs because they can't be redrawn in the same way text can.

Native terminal images can and have been done inside TUIs smoothly, though not supportable on every terminal.  The TUI side is indeed much harder than the terminal side, but some good discussion and notes for doing images inside TUI were collected in the zellij issue for this.  Zellij also did a really cool thing their sixel encoder/decoder, such that they did not need to solve the palette generation problem.  (Unlike jexer where different image formats are converted internally to 32-bit ARGB and then re-encoded to whatever it detects the terminal can support.)
On the terminal side, there are quite a few now supporting sixel, either in mainline or with a patch: https://www.arewesixelyet.com/ ; and also more are supporting iTerm2 and kitty protocols.
Whether you choose to implement or not, hope you always have fun coding. 😀
💗

I stand corrected. In that, I wouldn't mind seeing experimental support for images — though it's not a priority for us internally at the moment. That said, PRs on Lip Gloss as a starting place are welcome — I'd use viuer as a general reference.

Hey I want to use kittys terminal graphics protocol in my project to display twitch emotes. I made a small proof of concept using unicode placeholders, sadly it does not work with the WithAltScreen settings enabled, but it works without.

Any hints/tips how I can hack image support into bubbletea for my use case? 😀

ratatui-image would be another good reference (supports redrawing and resizing).

Windows Terminal (preview) now supports sixel since 1.22.
So all WSL users are now on the table.
Between iterm and Windows terminal I would say that a good majority of the users now have graphics support.

I looked into this last night and this morning and there are a few issues that might complicate rolling this out just yet (these will hopefully be addressed soon).  Basically, a ton of terminals are now claiming support, but support is currently buggy or inconsistent.
The biggest problem is that where the cursor ends up after printing a sixel image, despite being fairly clearly defined in the spec, seems to deviate in the two terminals I've tried (and none of them are actually in line with the spec).  I have submitted issues to Windows Terminal and iTerm2 about this issue.
Additionally, tmux currently has a bunch of random support issues regardless of what terminal it runs in, but those appear to have been corrected already and the fixes will go out in the next public release.
Overall, sixel support is coming together rapidly but it's about 3% from being the sort of thing you can assume support for in a library like charm.


Test the impact of SCXML2.0

http://commons.apache.org/proper/commons-scxml/roadmap.html
We need to check what are the differences between the current library and what's coming next. Also if we can contribute back to them.

Don't think is relevant any more.


(fix) add workaround for broken zendesk gem

@rjw1 no, it doesn't. It's a great solution for managing exactly that process in dev. I think just adding it to the dev and test groups here will mean it doesn't even get a look-in in production.


Parallelize tests to allow us to reenable testing in pkg/...

All of the unit tests are passing locally, but one is failing on github. Investigating ...

Yes, the tests were (locally) taking over 20 minutes to complete and now they finish in under 1

OK, tests are passing now


Content shown as free at overtaken claim, users charged for downloads

The Issue
When content is overtaken at a vanity URL that was previously cached, the new claim information is shown but the content price is not updated. There's a possibility that the content price is now 10 LBC but the app will still show 0. When the content is streamed or downloaded, the user is charged 10LBC unknowingly.
The original issue was first reported in https://github.com/lbryio/lbry-app/issues/511 and then was supposed to be fixed in https://github.com/lbryio/lbry-app/issues/511 but still continues to occur.  Recently we had a user charged 130LBC for lbry://nine because there was a takeover that didn't show the correct price.
This is most likely related to a more complex "when to refresh cached data" discussed here https://github.com/lbryio/lbry-app/issues/451#issuecomment-335543119 but I think something needs to be done in the interim to prevent the scenario where users are charged for seemingly free content.
Steps to reproduce

Access claim X (free) on PC1
on PC2, takeover claim X and set a content price
Wait for takeover and re-access the claim on PC1
Notice claim information is updated but the price shows free

Claim data:
  "lbrytestpublish1234": {
    "claim": {
      "address": "bVFPc4Yna5N91QeNFxRq6Afa5JFGxthkho",
      "amount": 1.0,
      "claim_id": "beba2f02344e7ec83268d34d8adb4f5f14028778",
      "claim_sequence": 2,
      "decoded_claim": true,
      "depth": 85,
      "effective_amount": 1.0,
      "has_signature": false,
      "height": 269920,
      "hex": "080110011ab1010801126a080410011a2c7465737420636f6e74656e7420746f206f76657274616b65206c627279746573747075626c6973683132333422002a0032044e6f6e6538004224080110011a1955b6e9b27a4c8ec4046047e212d74ff0b6ebad6f60ccd96b7d25000000404a0052005a001a41080110011a304685f12d6940be42ba656a4cc01fe58fc3d58b16be14777a7cf9116fd2c7892bac886733ce5e8170b84413139aeb514e2209696d6167652f706e67",
      "name": "lbrytestpublish1234",
      "nout": 0,
      "supports": [],
      "txid": "cee78347b9ebf84652bfa6062e5e574aeab7688dcddc277267a7598294842675",
      "value": {
        "claimType": "streamType",
        "stream": {
          "metadata": {
            "author": "",
            "description": "",
            "fee": {
              "address": "bVQRdi3iKgaaWj2L5SjF1CeZd9kWmZmevg",
              "amount": 2.0,
              "currency": "LBC",
              "version": "_0_0_1"
            },
            "language": "en",
            "license": "None",
            "licenseUrl": "",
            "nsfw": false,
            "preview": "",
            "thumbnail": "",
            "title": "test content to overtake lbrytestpublish1234",
            "version": "_0_1_0"
          },
          "source": {
            "contentType": "image/png",
            "source": "4685f12d6940be42ba656a4cc01fe58fc3d58b16be14777a7cf9116fd2c7892bac886733ce5e8170b84413139aeb514e",
            "sourceType": "lbry_sd_hash",
            "version": "_0_0_1"
          },
          "version": "_0_0_1"
        },
        "version": "_0_0_1"
      }
    }
  }
}

Claim being shown as free upon re-entering it:

Charged for content upon downloading:
2017-11-09 17:24:25,270 INFO     lbrynet.core.Wallet:823: Resolving lbry://lbrytestpublish1234
2017-11-09 17:24:41,537 INFO     lbrynet.daemon.Downloader:95: Download lbry://lbrytestpublish1234 status changed to initializing
2017-11-09 17:24:41,539 INFO     lbrynet.daemon.ExchangeRateManager:221: Converting 50.000000 USD to LBC, rates: [Currency pair:('USD', 'BTC'), spot:0.000140216096561, ts:1510266241, Currency pair:('BTC', 'LBC'), spot:41110.5353081, ts:1510266241, Currency pair:('BTC', 'LBC'), spot:41745.5336614, ts:1510266241, Currency pair:('USD', 'BTC'), spot:0.00014031, ts:1510266242, Currency pair:('BTC', 'LBC'), spot:41788.5499373, ts:1510266242]
2017-11-09 17:24:41,560 INFO     lbrynet.daemon.ExchangeRateManager:221: Converting 0.007011 BTC to LBC, rates: [Currency pair:('USD', 'BTC'), spot:0.000140216096561, ts:1510266241, Currency pair:('BTC', 'LBC'), spot:41110.5353081, ts:1510266241, Currency pair:('BTC', 'LBC'), spot:41745.5336614, ts:1510266241, Currency pair:('USD', 'BTC'), spot:0.00014031, ts:1510266242, Currency pair:('BTC', 'LBC'), spot:41788.5499373, ts:1510266242]
2017-11-09 17:24:41,561 INFO     lbrynet.daemon.ExchangeRateManager:221: Converting 2.000000 LBC to LBC, rates: [Currency pair:('USD', 'BTC'), spot:0.000140216096561, ts:1510266241, Currency pair:('BTC', 'LBC'), spot:41110.5353081, ts:1510266241, Currency pair:('BTC', 'LBC'), spot:41745.5336614, ts:1510266241, Currency pair:('USD', 'BTC'), spot:0.00014031, ts:1510266242, Currency pair:('BTC', 'LBC'), spot:41788.5499373, ts:1510266242]
2017-11-09 17:24:41,562 INFO     lbrynet.daemon.Downloader:95: Download lbry://lbrytestpublish1234 status changed to downloading_metadata
2017-11-09 17:24:41,562 INFO     lbrynet.core.client.ConnectionManager:42: Connection Manager 4685f12d6940be42ba656a4cc01fe58fc3d58b16be14777a7cf9116fd2c7892bac886733ce5e8170b84413139aeb514e initialized
2017-11-09 17:24:41,761 INFO     lbrynet.core.client.BlobRequester:414: Offered rate 0.000000/mb accepted by <IP_ADDRESS>
2017-11-09 17:24:41,791 INFO     lbrynet.core.client.BlobRequester:563: Blob 4685f12d6940be42 has been successfully downloaded from <IP_ADDRESS>:3333
2017-11-09 17:24:42,571 INFO     lbrynet.lbry_file.EncryptedFileMetadataManager:246: Saved sd blob hash 4685f12d6940be42ba656a4cc01fe58fc3d58b16be14777a7cf9116fd2c7892bac886733ce5e8170b84413139aeb514e to stream hash da61e77ca9f916e516cbee9189883e2f753195185a7b8f7b1ba6370ae91d98bc94b46fa6e3356edc6e1310dd0fa86316
2017-11-09 17:24:42,573 INFO     lbrynet.daemon.Downloader:134: Pay key fee 2.000000 --> bVQRdi3iKgaaWj2L5SjF1CeZd9kWmZmevg

Expected behaviour
Tell us what should happen
Actual behaviour
Tell us what happens instead
System Configuration

LBRY Daemon version: 0.18rc1
LBRY App version: 0.18.0
LBRY Installation ID:
Operating system: Windows

Anything Else

Screenshots

Issue moved to lbryio/lbry #996 via ZenHub


Alacritty doesn't die until input when shell exits

Linux, Wayland, 0.2.9.
If I do exec sleep 3s, the shell exits after 3 seconds, but alacritty doesn't disappear until I hit a key or move the mouse. This is a problem when I'm running alacritty as a floating fzf prompt.

#1367


Add support for EXTRACT Year from Date. This is used in 3 TPC-H queries.

TPC-H queries 7, 8, 9 group by a column that is obtained using EXTRACT Year from Date. Add support for this functionality in PrestoCPP.
Steps to reproduce : Run unit tests testTpchQ7(8)(9) in
java/presto-native-tests/src/test/java/com/facebook/presto/nativeworker/TestHiveTpchQueries.java
(The test also fails as DATE type is not supported for the EXTRACT functionality)

Year function was added in https://github.com/facebookincubator/velox/commit/7ac665ad5ed6b973dcf5daef98045adc72a768d8

EXTRACT YEAR is required from DATE type also for this work.

https://github.com/facebookincubator/velox/pull/627 extends Masha's PR for Date.

https://github.com/facebookexternal/presto_cpp/pull/578 enables the queries using extract(year from date) in the TPC-H tests.


[401] Insufficient permissions to perform Update

Hello,
I have installed Theme Kit following the instructions found here: http://themekit.cat. I have confirmed that Theme Kit is running with the theme -h command.
I've downloaded the theme files and added them to the directory with the config.yml file in which I've created a configuration for a development environment environment.
development:
  password: xxxxxxxxxxxxxxxxxxxb04d
  theme_id: xxxxx357
  store: foo.myshopify.com
  timeout: 30s
  ignore_files:
    - config/settings/settings_data.json
    - config/settings.html

These are the permissions I've set in the private app:

When running theme watch and updating a file, I receive the following error regardless of which file I upload:
[401] Insufficient permissions to perform Update to layout/theme.liquid
I was told to report this issue by a customer support agent. I appreciate your help very much!
—Pat

Hi Pat, do you get the same error when you use the command theme upload? Also can you send me your config.yml to<EMAIL_ADDRESS>

Hey @patdryburgh any update?

Hey @tanema, I do get the same error. When I run theme download, I get Server responded with HTTP 401; please check your credentials.. I've sent my config.yml file to your email. Thanks so much for looking into this!

Hey @patdryburgh thanks for sending me your config. Your problem is that you were using your instead of your password in your config. If you change your password to the password value in your private app config, your theme will download no problem.


when i run this command i get an error i cant understand

python ./pytorch/train.py train --config_path=./configs/car.fhd.config --model_dir= ./
this command gives me this error
File "./pytorch/train.py", line 154, in train
raise ValueError("model dir exists and you don't specify resume.")
ValueError: model dir exists and you don't specify resume.
can somebody help? the documentation is not so clear

Don't specify the current directory./ as the model_dir. Specify something like ./models where you want your model to be saved.
The model_dir cannot be an existing directory. Make sure that the model_dir doesn't exist before running the command.

can you tell me what is the difference between script.py and train.py and why the author recommends script.py ,, i dont understand


Windows 'newrelic-infra' service is missing after upgrade to v1.16.1

Description
After upgrading to 1.16.1 on Windows, the service "newrelic-infra" is not present or running.
Expected Behavior
There should be a service called "newrelic-infra" set to start automatically and be running.
Troubleshooting or NR Diag results
Steps to Reproduce
Install NewRelic Agent v1.16.1 using the MSI installer.
Check for a service called newrelic-infra (display name of "New Relic Infrastructure Agent") under Task Manager or using the Windows Service Manager (services.msc).
Your Environment
Windows Server 2019
NewRelic Agent installed and managed by newrelic-infra Chef cookbook
Additional context
The newrelic-infra Chef cookbook automatically downloads the Windows MSI and upgrades when a new version is released.  If this service is intentionally no longer included in 1.16.1+ then the cookbook needs updated to not try starting the service.

thanks for reporting this @brywilliamsCF
Release 1.16.1 had a similar issue on linux as explained in release notes.
Have you solved the issue by upgrading to a more recent version?


Delete shell package

It is no longer needed since we have it in the CLI and it's not available as a standalone package.
Right now the latest version throws if you try to use it, telling you to use the CLI instead.

@SferaDev great idea. I'll do that 👍


Update to react-router-redux 4.0.0

react-router-redux has some significant breaking changes. I've updated the project to work with the newer version - this should help anyone starting a new project and getting stuck with the later version breaking. Also refactored one or two things along the way.
Great project and tutorial by the way! Really enjoyed going through it, so thanks a lot for putting the time in :smile:

Hey @andreogle thanks for your words! I've been updating all my projects to the latest version ant his one was still in my to-do list, so thanks for doing the work for me, I really appreciate it :)
I'll revise it and merge it asap
Cheers!!!


fix issue https://github.com/LIS/LISAv2/issues/201

Pick up 3  BVT cases against Azure - Pass
Pick up 1 cases run against Hyper-V - Pass

You need check more against different distro.


Progress Dots Not Changing Colors

I am using this internally and it works great.  The little dots next to the action go from gray to amber to green and then moves on.  I have also set this up for a client and is working equally great, however the dots are not changing colors.  Anyone seen this before?  Anything I can do to fix it?  Thanks in advance.

Are you making sure the packages are using this Scheme: Package Name-1.2.3.pkg? Where Package Name SplashBuddy's preferences would be looking for the whole "Package Name"?
If not using a package, are you using either ghost package (empty package) or a script to write that the "package" was installed?

As far as I can tell… I’ve followed the steps accordingly.  I took our functional setup that we have running internally (dots light up), and duped the folder and redid the config for the plist, icons and the HTML file.  Everything works great.  Just can’t get the lights to light up.
Let me know if you have any suggestions.  I’m going to go through the config again today.  I have rebuilt it twice.
Thanks.
Adam

On Jul 3, 2019, at 10:49 AM, Tyler Morgan<EMAIL_ADDRESS>wrote:
Are you making sure the packages are using this Scheme: Package Name-1.2.3.pkg? Where Package Name SplashBuddy's preferences would be looking for the whole "Package Name"?
If not using a package, are you using either ghost package (empty package) or a script to write that the "package" was installed?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/Shufflepuck/SplashBuddy/issues/120?email_source=notifications&email_token=AJWJQI23UOBIVS6QE6PAMVDP5TRDHA5CNFSM4H46FO2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZFGQEY#issuecomment-508192787, or mute the thread https://github.com/notifications/unsubscribe-auth/AJWJQIYK27DB4U7RTM3SAYDP5TRDHANCNFSM4H46FO2A.

Hey Adam, sorry for the delay been busy here at work. Were you able to find the root cause? Is the issue still occurring?


Improve support for sharing services and configuration across the whole build tree

Although it should be avoided in general, there are cases where you need to share a certain state across the whole build. In a single multi-project build, we currently recommend two features for this:

Caching computational intensive data globally or setting up a reusable runtime environment (e.g. for testing):
-> Use a Build Service
Global configuration: sometimes you need configuration information shared over the whole build which is not static. That is, it changes frequently, potentially on each build invocation, and can thus not be statically defined in a convention plugin. An example of this is setting the version of all your projects to the same version with timestamp.
-> Use an extension registered on the root project (rootProject.extensions)

If you setup a build as a hierarchy of included builds instead, these approaches do not work very well anymore, due to the classloader isolation. You can still use them, by going to the root of the composite and using that as a "central" place:
// helper to access the root, could be part of gradle API
fun Gradle.rootBuild(): Gradle = parent.let { it?.rootBuild() ?: this }

// conditionally register and get service (this works, because the type is not actually checked, only the name)
val myService: BuildService = gradle.rootBuild().sharedServices.registerIfAbsent("myService", MyService.class) {}

// conditionally register and get extension (don't use findByType as that already checks the type and breaks)
var myExtension = gradle.rootBuild().rootProject.extensions.findByName("myExtension");
if (myExtension == null) {
    myExtension = gradle.rootBuild.rootProject.extensions.create("myExtension", MyExtension::class);
}

/ / Now, to do something with the service or the extension, we cannot cast to the specific type
// as each project has the type in a different class loader. We need to use reflection.
// The generic type for a builds service is `BuildService` and for an extension it is `Object`.

<do something with the extension or service by using reflection>

There are different directions to solve this:

Make sure we don't use different classloaders. Maybe use one central classloader and filtering loaders on top instead of loading classes several time. (could also improve performance)
Do some kind of coercing so that  sharedServices and extensions can handle different instances of the same class object.
Solve the two use cases in a different way.

As this sample project shows the same problem exists when two subprojects apply a different set of external plugins that are not applied by the root project (i.e. even without included builds): https://github.com/marcphilipp/gradle-sandbox/tree/master/td-class-loading-issue

As this sample project shows the same problem exists when two subprojects apply a different set of external plugins that are not applied by the root project (i.e. even without included builds): https://github.com/marcphilipp/gradle-sandbox/tree/master/td-class-loading-issue

Thank you for the above sample code. It helped a lot to understand the build issues we were facing.
Has anybody had a chance to actually try out the above work-around for sharing build services for included builds?
For us the registration worked fine (all services were registered to the root Gradle.sharedServices) and task.usesService() calls also went well, but when it comes to actual execution, the build fails with
org.gradle.api.UnknownDomainObjectException: BuildServiceRegistration with name 'xyzService' not found.

		at org.gradle.api.internal.DefaultNamedDomainObjectCollection.createNotFoundException(DefaultNamedDomainObjectCollection.java:504)
		at org.gradle.api.internal.DefaultNamedDomainObjectCollection.getByName(DefaultNamedDomainObjectCollection.java:333)
		at org.gradle.api.services.internal.DefaultBuildServicesRegistry.forService(DefaultBuildServicesRegistry.java:80)
		at org.gradle.api.internal.AbstractTask.getSharedResources(AbstractTask.java:968)
		at org.gradle.execution.plan.LocalTaskNode.getResourcesToLock(LocalTaskNode.java:86)
		at org.gradle.execution.plan.DefaultExecutionPlan.tryLockSharedResourceFor(DefaultExecutionPlan.java:616)
		at org.gradle.execution.plan.DefaultExecutionPlan.tryAcquireLocksForNode(DefaultExecutionPlan.java:579)
		at org.gradle.execution.plan.DefaultExecutionPlan.selectNext(DefaultExecutionPlan.java:556)
		at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$executeNextNode$1(DefaultPlanExecutor.java:166)
		at org.gradle.internal.resources.DefaultResourceLockCoordinationService.withStateLock(DefaultResourceLockCoordinationService.java:45)
		at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:155)
		at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
		at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
		at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
		at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)

From the above stack trace and from DefaultBuildServiceRegistry.java :
    public SharedResource forService(Provider<? extends BuildService<?>> service) {
        ...
        BuildServiceProvider<?, ?> provider = (BuildServiceProvider<?, ?>) service;
        DefaultServiceRegistration<?, ?> registration = (DefaultServiceRegistration<?, ?>) registrations.getByName(provider.getName());

it looks like during resource acquisition a service is located by its name (and not by its service registration object) and this name lookup is done on the included build's service registry only.
Anything I have overlooked? If not, can anybody see any other way for sharing build services in composite build scenarios?
To me this looks like a major limitation for build services, as particularly in large and composite builds we need to have control over use of common resources like for example port numbers used during (integration) tests.
Any thoughts much appreciated.

@CK50 Did you use the service registry of the root build everywhere? Currently each build has its own registry. That's one of the reasons why we need workarounds right now.
You need to navigate to the root build by navigating up the parents of gradle. E.g. like this in Kotlin:
fun Gradle.rootBuild(): Gradle = parent.let { it?.rootBuild() ?: this }
And the use gradle.rootBuild().sharedServices....

Thank you for the quick response, @jjohannes !
Yes, we have applied all registrations to the gradle.parent.sharedServices and are able to see that all our services got registered there. As we are using Groovy, our code looks slightly different build-parallelism.gradle:
...
import com.oracle.dicom.gradle.Semaphore

// Fetch root build object
rootProject.ext.rootBuild = {  return ( gradle.parent != null )? gradle.parent:gradle }

// Create class object only once using top-level classloader
if ( !project.hasProperty('SemaphoreClass') || rootProject.rootBuild().ext.SemaphoreClass == null ) {
    rootProject.rootBuild().ext.SemaphoreClass = Semaphore.class
}
def semaphoreClass = rootProject.rootBuild().ext.SemaphoreClass

// Register a service and tell Gradle that these task need this build service
rootProject.ext.registerResourceUsage = {
    String resourceName,
    List<Task> tasks ->
        def semaphoreBuildService = rootProject.rootBuild().getSharedServices().registerIfAbsent( resourceName, semaphoreClass
                ,  { spec -> spec.getMaxParallelUsages().set(1) })
        def semRegis = rootProject.rootBuild().getSharedServices().getRegistrations()
        tasks*.usesService semaphoreBuildService
}

This allows us to simplify the declaration of tasks using port8080 to just:
registerResourceUsage( "port8080", [...,cTest] )

Looks like usesService(...) indeed does not work then yet in this setup. Could you make it work without that?
We have a branch where our build is turned into a composite. There we pass the service to a task though an internal property of the tasks. As in this example:
https://docs.gradle.org/current/userguide/build_services.html#registering_a_build_service
Register service:
https://github.com/gradle/gradle/blob/0863e59b909d6e5b70545d86a95922a646c88d5f/build-logic/build-logic/integration-testing/src/main/kotlin/gradlebuild.distribution-testing.gradle.kts#L30-L33
Pass the service to tasks:
https://github.com/gradle/gradle/blob/0863e59b909d6e5b70545d86a95922a646c88d5f/build-logic/build-logic/integration-testing/src/main/kotlin/gradlebuild.distribution-testing.gradle.kts#L53-L55
Could that work for you?

Thank you, @jjohannes - just a quick update: we could not get it to work and due to other prios we unfortunately cannot continue on this problem currently.
Once we get time to take up this composite build blocker, we were considering to patch Gradle distro until official fix/enhancement is avail:
change AbstractTask.gradle from
@Override
    public List<ResourceLock> getSharedResources() {
        if (requiredServices == null) {
            return Collections.emptyList();
        }
        ImmutableList.Builder<ResourceLock> locks = ImmutableList.builder();
        BuildServiceRegistryInternal serviceRegistry = getServices().get(BuildServiceRegistryInternal.class);
        for (Provider<? extends BuildService<?>> service : requiredServices) {
            SharedResource resource = serviceRegistry.forService(service);
            if (resource.getMaxUsages() > 0) {
                locks.add(resource.getResourceLock(1));
            }
        }
        return locks.build();
    }

to
@Override
    public List<ResourceLock> getSharedResources() {
        if (requiredServices == null) {
            return Collections.emptyList();
        }
        ImmutableList.Builder<ResourceLock> locks = ImmutableList.builder();
        BuildServiceRegistryInternal serviceRegistry = getServices().get(BuildServiceRegistryInternal.class);
        for (Provider<? extends BuildService<?>> service : requiredServices) {
            SharedResource resource;
            try {
                // Try finding shared resources on current gradle build object
                resource = serviceRegistry.forService(service);
            } catch (UnknownDomainObjectException e) {
                // Are we on some includedBuild ?
                if (project.getGradle().getParent()!=null) {
                    // Let us also consult the parent build's shared build services
                    resource = project.getGradle().getParent().getServices().get(BuildServiceRegistryInternal.class).forService(service)
                } else {
                    throw e;
                }
            }
            if (resource.getMaxUsages() > 0) {
                locks.add(resource.getResourceLock(1));
            }
        }
        return locks.build();
    }

We have not tried, yet and we do not know whether this will actually "solve" the issue. - just sharing in case anybody comes across this and finds this useful.

Is this part from the description still valid?

Global configuration: sometimes you need configuration information shared over the whole build which is not static. That is, it changes frequently, potentially on each build invocation, and can thus not be statically defined in a convention plugin. An example of this is setting the version of all your projects to the same version with timestamp.
-> Use an extension registered on the root project (rootProject.extensions)

Or should everything be shared via a Build Service? I recently saw this discussion that implied it:
https://twitter.com/_aurimas/status/1516071200924979202

... using a BuildService instead of a root project for the properties loading. Root project access will be turned down when Gradle project isolation is turned on.

Are there plans to make build services reusable across several builds in the build tree without the classloading problems this issue describes?
If there are different solutions for the use case described in this issue by now, an update on what the best practice is (or will be) would be appreciated.

About global configuration, if you want to be future proof (configuration caching & project isolation) use a build service to share the state across projects of a build. For convenience you could have extensions registered on projects to access the shared service easily from the DSL for example.
Shared build services are shared across a single build. There are currently no plans for "shared build tree services" but the use case looks valid to me.


Kagome crashes during polkadot syncing

Environment: Linux, gcc-10, release build
Run:
cd kagome/examples/polkadot
kagome --chain polkadot.json --base-path syncing --wasm-execution Compiled -lruntime=debug
After some time next happens:

duplicate of #1204


Add JS and JSX syntax definition

This PR pretty much sets everything up. This is the interesting stuff: https://github.com/6to5/6to5-sublime/compare/4333fb8...8be8583. There are a few issues/todos that need to get figured out before we "launch".

[x] Make screenshots showing ES6+JSX
[x] Pick a Package Control name (see restrictions https://packagecontrol.io/docs/submitting_a_package#Step_2)
[x] Fill out the README.md (I'll do this once we have a name)
[x] License to Andres Suarez or 6to5 org? Is that a thing?

cc: @sebmck @Dashed (who else should I tag?)
EDIT: I think the package should be called "6to5 JavaScript JSX Syntax"

Do you have a Package Control name in mind?
Looking over some names in https://packagecontrol.io/browse/labels/language syntax
it seems safe to just call it 6to5.

In a few days, I want to try and test drive this syntax theme :smile:

Yeah, this is looking to be really awesome and is sorely needed. Flow type support would also be awesome. For the record, I'm completely fine with the 6to5 suggestion by @Dashed.

Cool, I dig the "6to5" name. I'll try to get that out the door tonight.

Hey @sebmck, we set repo description to something? I submitted the Package Control description as "Syntax definitions for ES6 JavaScript with React JSX extensions" - so how about that?

Now we wait... https://github.com/wbond/package_control_channel/pull/3998

@zertosh Sure. Feel free to make all decisions on your own, this is your project/repo after all!

@sebmck I don't think I have the permissions to do it since I don't see the usual "Edit" button below the repo name :/

@zertosh What about now?

@sebmck nope

@zertosh Woops, accidently set the permissions on the wrong team. You should be able to now.

@sebmck works now! thanks! one last thing: how do you feel about a blog post? (For release on Tuesday for max effect since Monday is a holiday in the US) I can submit a PR for it in https://github.com/6to5/6to5.github.io

@zertosh Sure, I don't see a problem with it. @thejameskyle handles most of the website/blog stuff. @thejameskyle What do you think?

@zertosh @sebmck Off-topic suggestion: I think it'll be awesome if there's also an Atom editor syntax theme. I think TextMate grammar convention is also being used for Atom syntax themes.
AFAIK these are the ES6/JSX options in Atom:
https://github.com/atom/language-javascript
https://github.com/orktes/atom-react

@Dashed Atom supports the textmate snippets/syntax format so this should already work. Would be a good idea to package it up for it though.

@Dashed I don't know how it works with Atom (I'm not a user) - but I'll certainly look into it

@sebmck @Dashed: sorry for all the noise, but WE'RE LIVE! go install 6to5 :smiley:

Yep. Just installed it now :smile:

@zertosh I was suggesting the Atom syntax theme so that the blog announcement can have a "bigger" reach/impact. I'm not really an Atom user either.

If you want to write a quick blog post I'll review it and publish it whenever you want.
Blog posts go here if you want to make a PR, make sure you have the correct front matter as seen here.

@thejameskyle Took me a while but here it is https://github.com/6to5/6to5.github.io/pull/69. I'm open to any and all critiques.

I think having an atom package would be a good idea if someone is willing to take it on. Seems to be a pretty easy conversion, just run a couple commands: https://atom.io/docs/v0.60.0/converting-a-text-mate-bundle @Dashed Would you be interested?

I might be interested. But I wouldn't be doing it soon. TextMate language stuff still confuse me. :stuck_out_tongue:
I was only briefly interested in Atom when 6to5-sublime/babel-sublime didn't exist, since there weren't any decent JSX + ES6+ highlighting for sublime.

Let add some of my findings from attempting an Atom port:

Atom grammars use a Textmate "compatible" language schema - just like Sublime. I don't know how "compatible" is "compatible".
For a file format, Atom uses CSON (though JSON works too) while Sublime uses Plist.

Since we use YAML and since AAAPackageDev is the shit, it's trivial to output JSON:
In the JavaScript (Babel).YAML-tmLanguage file, just change # [PackageDev] target_format: plist, ext: tmLanguage to # [PackageDev] target_format: json, ext: json, and Build!

To get a package into Atom:

Run apm init -l whateverName to create the scaffolding (just like npm init),
Then, from that dir run apm link (just like npm link),
And, now you have whateverName linked to Atom and you can start using it.

I did all this, and that's where it stopped working with this error:

That error comes up over and over.
I thought it had something to do with the $self recursion, but I saw other grammars do it.

And this is where I stopped.

Additional note: I thought that maybe the problem was the use of look-behinds (since JS doesn't support them), but it turned out that Atom uses node-oniguruma to do the grammar regexp matching - so that's not it.

I reproduced steps to make the atom package, and saw the same errors. The error seems to be for every single line in the JS file.
It may be the fact that everything is tucked into repository?
These are issues with similar errors:

https://github.com/atom/first-mate/issues/11
https://github.com/matthojo/language-stylus/issues/1

Maybe we should file an issue at https://github.com/atom/first-mate

"...It turned out that it was a duplicate Regex and was causing an infinite loop..." - https://github.com/matthojo/language-stylus/issues/1#issuecomment-37232140. I wonder if the regexp engine is getting tripped up by lookarounds and treating assertions as part of the match.

By the way, did you get any highlighting? I got some highlighting despite the errors.

I got a bit of highlighting. If you inspect the individual nodes, the correctly colored ones got class names that match the syntax rule's scope selector - so that's encouraging.

I notice that functions and parameters aren't highlighted: foo(bar);
I'm using the following themes to compare sublime and atom:
https://github.com/voronianski/oceanic-next-theme
https://atom.io/themes/oceanic-next

This wouldn't be a trivial port. I don't know how to debug this :sweat:.

I was thinking to maybe start with zero rules, and slowly start adding them until the error came up - then take it from there.

I'd be glad to help you getting it works for atom if possible.

Are there any news on this? @zertosh Did you take another look at this?

I'm going to hold off a bit to see what http://nuclide.io/ turns up with. When I was watching the announcement, I think I noticed that they were using the stock javascript syntax - but I don't know.

Ok cool. Thanks for providing that link - didn't know about it before, surely looks interesting!

Woah. I didn't know about nuclide. I hope the performance issues are addressed :D

For what it's worth, the language-babel Atom package provides syntax highlighting based on babel-sublime. I'm not sure exactly to what extent they match, but when using it alongside the oceanic-next syntax theme things seem nearly identical to the respective Sublime setup.


Fix failing to hit cache on re-generating function on re-rendering

def __render__(self, user):
    async def onMouseMove(e):
        cx, cy = await e.clientX, await e.clientY
        self.cursors[user.sid].onMove(cx, cy)
        ...

    return createElement('div', {
        'onMouseMove': onMouseMove,
        ...

The above code can't keep cache to render..onMouseMove, since the repr value is always different.

#7


[BUG] KeyError on DataPreprocessing

Describe the bug
Currently trying to create a drug activity binary classification model. Dataset provided here:
Active
Inactive
Bug found when trying to fit the dataset to FTTransformerClassifier, MambularClassifier, MLPClassifier, and TabTransformerClassifier. Source of the bug is located in the preprocessing module.
To Reproduce
After installing the mambular module through pip, run the following code:
import numpy as np

active = pd.read_csv('isoform_II_active_95_filtered_550.csv')
inactive = pd.read_csv('isoform_II_inactive_95_filtered_550.csv')

active = active.iloc[:, 1:]
inactive = inactive.iloc[:, 1:]

active_train = active.iloc[:450, :]
active_val = active.iloc[450:500, :]
active_test = active.iloc[500:, :]
inactive_train = inactive.iloc[:450, :]
inactive_val = inactive.iloc[450:500, :]
inactive_test = inactive.iloc[500:, :]

train_data = pd.concat([active_train, inactive_train])
val_data = pd.concat([active_val, inactive_val])
test_data = pd.concat([active_test, inactive_test])

X_train = train_data.iloc[:, :-1].values  # All columns except the last as features
y_train = train_data.iloc[:, -1].values   # Last column as the target
X_val = val_data.iloc[:, :-1].values
y_val = val_data.iloc[:, -1].values
X_test = test_data.iloc[:, :-1].values
y_test = test_data.iloc[:, -1].values

from mambular.models import TabTransformerClassifier # Change to any mambular model if needed

model = TabTransformerClassifier() # Change to any mambular model if needed

model.fit(X_train, y_train)

Error stack provided below:
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
[<ipython-input-15-a8f5efccc824>](https://localhost:8080/#) in <cell line: 5>()
      3 model = TabTransformerClassifier()
      4
----> 5 model.fit(X_train, y_train)

19 frames
[/usr/local/lib/python3.10/dist-packages/mambular/models/sklearn_base_classifier.py](https://localhost:8080/#) in fit(self, X, y, val_size, X_val, y_val, max_epochs, random_state, batch_size, shuffle, patience, monitor, mode, lr, lr_patience, factor, weight_decay, checkpoint_path, dataloader_kwargs, rebuild, **trainer_kwargs)
    340             )
    341
--> 342             self.data_module.preprocess_data(
    343                 X, y, X_val, y_val, val_size=val_size, random_state=random_state
    344             )

[/usr/local/lib/python3.10/dist-packages/mambular/data_utils/datamodule.py](https://localhost:8080/#) in preprocess_data(self, X_train, y_train, X_val, y_val, val_size, random_state)
    131
    132         # Fit the preprocessor
--> 133         self.preprocessor.fit(combined_X, combined_y)
    134
    135         # Update feature info based on the actual processed data

[/usr/local/lib/python3.10/dist-packages/mambular/preprocessing/preprocessor.py](https://localhost:8080/#) in fit(self, X, y)
    297             transformers=transformers, remainder="passthrough"
    298         )
--> 299         self.column_transformer.fit(X, y)
    300
    301         self.fitted = True

[/usr/local/lib/python3.10/dist-packages/sklearn/compose/_column_transformer.py](https://localhost:8080/#) in fit(self, X, y, **params)
    920         # we use fit_transform to make sure to set sparse_output_ (for which we
    921         # need the transformed data) to have consistent output type in predict
--> 922         self.fit_transform(X, y=y, **params)
    923         return self
    924

[/usr/local/lib/python3.10/dist-packages/sklearn/utils/_set_output.py](https://localhost:8080/#) in wrapped(self, X, *args, **kwargs)
    314     @wraps(f)
    315     def wrapped(self, X, *args, **kwargs):
--> 316         data_to_wrap = f(self, X, *args, **kwargs)
    317         if isinstance(data_to_wrap, tuple):
    318             # only wrap the first output for cross decomposition

[/usr/local/lib/python3.10/dist-packages/sklearn/base.py](https://localhost:8080/#) in wrapper(estimator, *args, **kwargs)
   1471                 )
   1472             ):
-> 1473                 return fit_method(estimator, *args, **kwargs)
   1474
   1475         return wrapper

[/usr/local/lib/python3.10/dist-packages/sklearn/compose/_column_transformer.py](https://localhost:8080/#) in fit_transform(self, X, y, **params)
    974             routed_params = self._get_empty_routing()
    975
--> 976         result = self._call_func_on_transformers(
    977             X,
    978             y,

[/usr/local/lib/python3.10/dist-packages/sklearn/compose/_column_transformer.py](https://localhost:8080/#) in _call_func_on_transformers(self, X, y, func, column_as_labels, routed_params)
    883                 )
    884
--> 885             return Parallel(n_jobs=self.n_jobs)(jobs)
    886
    887         except ValueError as e:

[/usr/local/lib/python3.10/dist-packages/sklearn/utils/parallel.py](https://localhost:8080/#) in __call__(self, iterable)
     72             for delayed_func, args, kwargs in iterable
     73         )
---> 74         return super().__call__(iterable_with_config)
     75
     76

[/usr/local/lib/python3.10/dist-packages/joblib/parallel.py](https://localhost:8080/#) in __call__(self, iterable)
   1916             output = self._get_sequential_output(iterable)
   1917             next(output)
-> 1918             return output if self.return_generator else list(output)
   1919
   1920         # Let's create an ID that uniquely identifies the current call. If the

[/usr/local/lib/python3.10/dist-packages/joblib/parallel.py](https://localhost:8080/#) in _get_sequential_output(self, iterable)
   1845                 self.n_dispatched_batches += 1
   1846                 self.n_dispatched_tasks += 1
-> 1847                 res = func(*args, **kwargs)
   1848                 self.n_completed_tasks += 1
   1849                 self.print_progress()

[/usr/local/lib/python3.10/dist-packages/sklearn/utils/parallel.py](https://localhost:8080/#) in __call__(self, *args, **kwargs)
    134             config = {}
    135         with config_context(**config):
--> 136             return self.function(*args, **kwargs)
    137
    138

[/usr/local/lib/python3.10/dist-packages/sklearn/pipeline.py](https://localhost:8080/#) in _fit_transform_one(transformer, X, y, weight, message_clsname, message, params)
   1308     with _print_elapsed_time(message_clsname, message):
   1309         if hasattr(transformer, "fit_transform"):
-> 1310             res = transformer.fit_transform(X, y, **params.get("fit_transform", {}))
   1311         else:
   1312             res = transformer.fit(X, y, **params.get("fit", {})).transform(

[/usr/local/lib/python3.10/dist-packages/sklearn/base.py](https://localhost:8080/#) in wrapper(estimator, *args, **kwargs)
   1471                 )
   1472             ):
-> 1473                 return fit_method(estimator, *args, **kwargs)
   1474
   1475         return wrapper

[/usr/local/lib/python3.10/dist-packages/sklearn/pipeline.py](https://localhost:8080/#) in fit_transform(self, X, y, **params)
    539             last_step_params = routed_params[self.steps[-1][0]]
    540             if hasattr(last_step, "fit_transform"):
--> 541                 return last_step.fit_transform(
    542                     Xt, y, **last_step_params["fit_transform"]
    543                 )

[/usr/local/lib/python3.10/dist-packages/sklearn/utils/_set_output.py](https://localhost:8080/#) in wrapped(self, X, *args, **kwargs)
    314     @wraps(f)
    315     def wrapped(self, X, *args, **kwargs):
--> 316         data_to_wrap = f(self, X, *args, **kwargs)
    317         if isinstance(data_to_wrap, tuple):
    318             # only wrap the first output for cross decomposition

[/usr/local/lib/python3.10/dist-packages/sklearn/base.py](https://localhost:8080/#) in fit_transform(self, X, y, **fit_params)
   1099         else:
   1100             # fit method of arity 2 (supervised transformation)
-> 1101             return self.fit(X, y, **fit_params).transform(X)
   1102
   1103

[/usr/local/lib/python3.10/dist-packages/mambular/preprocessing/ple_encoding.py](https://localhost:8080/#) in fit(self, feature, target)
     97         dt.fit(feature, target)
     98
---> 99         self.conditions = tree_to_code(dt, ["feature"])
    100         return self
    101

[/usr/local/lib/python3.10/dist-packages/mambular/preprocessing/ple_encoding.py](https://localhost:8080/#) in tree_to_code(tree, feature_names)
     68             # print(k,')',pathto[parent], tree_.value[node])
     69
---> 70     recurse(0, 1, 0)
     71
     72     return my_list

[/usr/local/lib/python3.10/dist-packages/mambular/preprocessing/ple_encoding.py](https://localhost:8080/#) in recurse(node, depth, parent)
     65         else:
     66             k = k + 1
---> 67             my_list.append(pathto[parent])
     68             # print(k,')',pathto[parent], tree_.value[node])
     69

KeyError: 0

Expected behavior
Normal model training, as this dataset works with other SKLearn models.
Desktop (please complete the following information):

Google Colab A100 GPU
Python version: 3.10.12
Mambular Version: 0.2.4

Hi,
could you maybe give us a reproducible code example with simulated data where this error occurs? I could so far not reproduce it, but it definitely shows that if not another, functional bug, the error messages in the preprocessor have to be improved.
Once we can reproduce the error, we will try and fix it asap.

I'm running the code in Google Colab, would a downloaded ipynb file be sufficient?

Mambular_Experimentation.zip
Apologies, the dataset is publicly available but I have curated it to some extent. So I'll provide a ZIP file containing the data and the ipynb file. Please let me know if you need anything else

Thanks.
The problem lies in the decision tree during ple preprocessing, since X_train[:,32] is a np.array of only zeroes. So either dropping that feature from training or using
model = FTTransformerClassifier(numerical_preprocessing="standardization")

model.fit(X_train, y_train)

could be a fast workaround for you.
I will leave this issue open, such that we will include better error handling for situations like this.

Much appreciated for the fix, thank you!

When using "ple", you are fitting a decision tree on each feature to extract the bin boundaries $b_t$ to map $x$ to a higher dimension, $x \in \mathbb{R}^{T}$. Scaling your data before using ple does harm nor benefit the method.
However, I am guessing you have data encoded as numerical (i.e. floats) which is actually categorical and may not "only" have 0 values, but still only has two distinct values. Depending on your splits, this could also lead to the decision tree being fit on "only" 0 values.
First, I would suggest better understanding your data, i.e. how should your data be encoded. Second, given your problems, you might just consider not using PLE encodings altogether.

Give that this is mostly a data dependent question and not really a bug of the architecture I will close this issue. However, feel free to reopen or open another issue when encountering problems. Also check out our new version, V1.0.0 :)


Update CI

Resolves #85 and #86
Based on equivalent changes in janus-core (see linked issues).
Currently fails due to existing code base not conforming to these standards.
It might be worth integrating this into #84 @federicazanca, rather than me rewriting the existing docstrings etc. that may change now, and then rewriting more once the new code is merged?

this is an exception and will cause ci to fail... in normal circumstances we shall not merge in such a state


Getting the error: Failed to execute goal com.sap.cds:cds-maven-plugin:1.26.0:cds

Link to reference tutorial - https://developers.sap.com/tutorials/cp-cap-java-service-reuse.html
Step 6 - Point 3


How exactly I'm supposed to run this?

Can you provide a sample of interview_questionnaire_responses.xlsx

You don't need this file to run fidgeting detection using the code. Since the data release was not approved due to privacy and ethical agreements, we are not able to release the data for training and testing. You can follow the code and the paper to reproduce training on your own dataset.

I don't have my own dataset. Can the pre-trained model be run? without acquiring any dataset?

Yes, I think the pre-trained model can be run without your own dataset. Just follow the instruction to download a demo video (which is from a public dataset) and replace it with your own video.

I need to demonstrate the working of auto fidget detection. Would the pre-trained model be able to do that? Exactly like you have mentioned in the paper.


Merged main

As per zoom
Added top cities mock data and display
Included the drop down search

 As a user, I can choose a city and be redirected to the dashboard for that city.


in cluster env, the st_within cannot work properly

OrientDB Version: <2.2.27>
Java Version: <1.8>
OS: <windows 7>
Expected behavior
in cluster env, the st_within cannot work properly
Actual behavior
com.orientechnologies.orient.core.exception.OQueryParsingException: Error on par
sing query at position #139: Error on parsing query
Query:  ST_WITHIN(geometry, 'POLYGON ((103.843980 1.387330, 103.843980 1.387630,
103.811531 1.387630, 103.811531 1.387330, 103.843980 1.387330))') = true
Steps to reproduce

Hi @hp1975
Could you please provide a sample dataset (or an SQL script to create it) and a complete query to reproduce the problem?
Thanks
Luigi

@luigidellaquila , below funciton actually throws exceptions: I think you can understand the context by this function.
Fail to commit, error: Quorum (2) cannot be reached on server 'node1522052613078' database 'isc-jmeter' because it is major than available nodes (1)
private void createGraphNode(OrientIotObject iotObject)
        throws TopologyException {
    iotObject.verify();
    Map<String, Object> properties = readGraphNodePropertiesFromIotObject(
            iotObject);
    OrientGraph dbConnection = this.getDbConnection();
    assert dbConnection != null;
    try {
        OrientVertex node = dbConnection.addVertex("class:" + iotObject.getFormat());
        assert node != null;
        node.setProperties(properties);
        this.commit();
    } catch (Exception e) {
        this.rollback();
        String errorMsg = String.format(EXCEPTION_TMP, e.getMessage());
        LOGGER.error(errorMsg);
        throw e;
    }
}

Hi @hp1975
The exception you reported in the second post is completely different, it seems to be a problem with your distributed cluster (ie. not enough nodes available to reach the quorum...)
Luigi

@luigidellaquila
problem is solved by

install the spatial plugin
reinstall distributed orientdb


TTree Search bug fix

https://github.com/diana-hep/spark-root/blob/master/src/main/scala/org/dianahep/sparkroot/ast/ast.scala#L1689
do not need to actually read an object to know its class, just use the key.
Important cause TH2, for instance, are not being properly read so far
VK

fixed with a91abe3


Generated Rust code from idl with set external type requires PartialEq

Problem
There is a new feature not to generate new entities from IDL file - #538 .
However new types with external entities used in a service will have derive(PartialEq) attribute whereas the external entities don't implement the trait.
Steps

cargo sails new-program idl-external-type
create sample shared crated: cd idl-external-type/ & cargo new --lib common
common/lib.rs:

#![no_std]

use sails_rs::{TypeInfo, Decode, Encode};

#[derive(Clone, Debug, Decode, Encode, TypeInfo)]
#[codec(crate = sails_rs::scale_codec)]
#[scale_info(crate = sails_rs::scale_info)]
pub struct Inner(pub u32);

#[derive(Clone, Debug, Decode, Encode, TypeInfo)]
#[codec(crate = sails_rs::scale_codec)]
#[scale_info(crate = sails_rs::scale_info)]
pub struct Data(pub Inner);

add the following to idl-external-type/app/src/lib.rs:

use common::Data;

#[derive(Clone, Debug, Decode, TypeInfo)]
#[codec(crate = sails_rs::scale_codec)]
#[scale_info(crate = sails_rs::scale_info)]
pub struct Message(pub Data);

// ...

    pub fn set_message(&mut self, message: Message) {
    }

add .with_external_type("Data", "common::Data") to client/build.rs
build the workspace

It produces the following code (in idl_external_type_client.rs):
#[derive(PartialEq, Debug, Encode, Decode, TypeInfo)]
#[codec(crate = sails_rs::scale_codec)]
#[scale_info(crate = sails_rs::scale_info)]
pub struct Message(pub Data);

Check to attached log for the compiler error output.
Possible Solution
No response
Notes
It is not an issue to derive PartialEq in that very case. However it not quite correct overall.
Relevant Log Output
Click to expand/collapse

error[E0369]: binary operation `==` cannot be applied to type `Data`
  --> /Users/user/devel/gear-tech/sails/idl-external-type/target/debug/build/idl-external-type-client-200f8f28330f558c/out/idl_external_type_client.rs:97:20
   |
94 | #[derive(PartialEq, Debug, Encode, Decode, TypeInfo)]
   |          --------- in this derive macro expansion
...
97 | pub struct Message(pub Data);
   |                    ^^^^^^^^
   |
note: the foreign item type `Data` doesn't implement `sails_rs::PartialEq`
  --> /Users/user/devel/gear-tech/sails/idl-external-type/common/src/lib.rs:13:1
   |
13 | pub struct Data(pub Inner);
   | ^^^^^^^^^^^^^^^ not implement `sails_rs::PartialEq`
   = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

We need to take a decision whether it is better to generate Rust code according to rules of thumb, i.e. generate implementations for common traits like PartialEq, Clone, Debug or minimize a number of requirements on code used for client generation assuming the traits like PartialEq, Clone will not be used frequently, and if they are needed, one can implement them manually in the crate which includes code generate for client.
Another assumption in taking decision might be it shouldn't be a big issue for user to derive impls for the traits in question provided the types used for contracts are internal to this contract

Hi. I think a mix of generated types and external types is a case that doesn't require a change in the sails-rs logic.
Feature https://github.com/gear-tech/sails/pull/538  just replaces the generated type with use $path as $name on the client, and does not change the IDL in any way.
If the developer wants to mix generated and external types, it is his responsibility to ensure their compatibility by traits - Debug, Clone, PartialEq etc.
In this case, I suggest to make FF to disable generation of PartialEq, Debug traits - so that only necessary scale_codec traits remain.


DHCP6 Client should be optional

With the recent update to the build environment, the dhcp6_client.cpp file missed its enable macro check.
The macro check and matching "endif" should be added to the file.   Also, if not present, the openthread-config.h header must also be included, wrapped with the if/else/endif scheme noted in the below comment and example in this ticket.
#ifdef OPENTHREAD_CONFIG_FILE
#include OPENTHREAD_CONFIG_FILE
#else
#include <openthread-config.h>
#endif

//...

#if OPENTHREAD_ENABLE_DHCP6_CLIENT
//...
#endif

I think you will need to include openthread-config.h  (via the if/else/endif scheme used in other files)
otherwise this pre-processor define will default to ZERO and this will be disabled.

@DuaneEllis-TI @jwhui
Hello, for this fix, do we just want to blankly add the if/else/endif scheme to all files that use some OPENTHRED_ENABLE macro?  I did notice that some headers also include this scheme, such as thread_netif.hpp, which is why the dhcp6_client.cpp will work since it includes this header...  And if we include this scheme in all files that use OPENTHREAD_ENABLE macros, I suspect we will want some macros to prevent multiple inclusions of this openthred-config.h header...

Multiple inclusion of 'openthread-config.h - technically not a problem, and does not have anything other then pound-defines. if it was defining TYPES - then yea, you would get errors.

All internal thread source files need to include 'openthread-config.h' - PERIOD, and it needs to be the first file that is included.

This is a NIT - I don't like the if/else/endif - that occurs in EVERY source file, i would like to see this moved to some header file instead, so that there is a SINGLE place the if/else/endif occurs rather then every source file.

-Duane.

I agree with @DuaneEllis-TI's points above.

General question about the build environment...  I have the code done, but it fails when building/testing step:
1.9  Compiler: clang BUILD_TARGET="posix-distcheck" VERBOSE=1
Failure is due to "cannot find file".
Specific errors are:
../../../src/core/api/instance_api.cpp:36:39: fatal error: openthread-enable-defines.h: No such file or directory
#include <openthread-enable-defines.h>
My change is introducing a new file to include instead of the if/else/endif in every file.  New file will contain the if/else/endif
All other tests and builds can find the file without issue...  It is include as:
#include <openthread-enable-defines.h>
Any idea what make file I might need to update to get the correct the "-I" included in the build?  (or other way to fix?)
Still digging, but any pointer will be appreciated.
Thanks.

Forgot to mention, I placed the new file in:
openthread/include/

With automake - the compile commands are "quite" and not noisy.
If you type:  "V=1 make", or   "make V=1" - instead of saying:  "CC  somefile.c"
the makefile outputs the complete command line.
You could - for test purposes, tweak the travis scripts or the makefile that it invokes to add "V=1" and get a more detail from the compile.
Have you tried:  #include "filename" instead?  I wonder if it is the <> vrs "" rules in clang vrs gcc?

Should the new include file be placed in src/core?  Does it need to be a public include file?

@mstamer, can you provide any updates on this issue?

Sorry for the delay.  I have the code done and figured out the issues.  Issue was in the distcheck, it actually copies and zips all files,  then unzips in different location to build that.  So, main issue was that I needed to include this new header file in one of the make files...  That solved the problem...  Since it has be quite a while, I plan to do a re-pull of the repo, and then re-apply my changes to that...  I'll try to get a pull request in by early next week.

Resolved by #1877.


Fix conditionals in RelationIdentifiersExist

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 24.522%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/ds/check.go
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>8:
0.0%

Covered Lines:
859

Relevant Lines:
3503

💛  - Coveralls