Bug: App doesn't start, keeps loading

Disclaimer:
Please go through existing issues to avoid creating duplicates. If you found a similar issue please post a comment there. If you are uncertain your issue is related to others then create the issue. Obvious ignorance of this rule might get you blocked from posting new issues. Please tick the box below to show that you have followed the guideline.

[x] I have checked for a similar issue and sure it hasn't been reported before.

Describe the bug
When I try to start the app I only get the booting screen with a spinner, and then I'm stuck there.
Steps to Reproduce
Steps to reproduce the behaviour (feel free to change the placeholder as you need):

Start the app
Error occurs
Expected behaviour
The app starts.

Setup information:

macOS Version: 10.15.4
eqMac UI Version: Latest

Did you by any chance block eqMac from accessing the internet?

Same issue.
macOS: 10.13.6
Only started happening when updated the app to 0.2.0.
Made sure to check if eqMac has access to Internet in Mac's Privacy Settings, and it does have access.
Thanks!

Did you by any chance block eqMac from accessing the internet?

I haven't changed anything in my settings, but I tried adding it to the list of allows in my firewall settings, and now it launches!

I'm hoping that its not an expected behavior that the app won't launch without access to the internet ...

Yesterday It was working but today loading forever, only white :(

Even though the UI of eqMac is hosted from a remote server, for over the air updates, it is shipped with a local version that it runs on a small server in case there is no internet access. How do you guys block eqMac's access to the internet?

I have installed Little Snitch 4 and eqMac works for me even tho I blocked it's internet access

This issue is also happening to me as well. I have tried deleting/uninstalling, re-installing, and restarting my computer in several combinations, and I still get a loading icon every time I try to open the app. I suspect it may be because at one point I force quit the app, and/or its processes, but I am not sure why that would cause it to stop working, especially after fresh re-install. I have added eqMac to my firewall, which did not work.
(I also recently installed sound flower, but I believe those two were working in conjunction for some time before the issue started happening).

I want to say I have a similar bug. Sometimes I open eqMac and it loads indefinitely other times it opens and then I don't see an interface at all despite it being a running process. I'm fairly certain this is related. I haven't blocked its internet or changed any settings besides my display preferences for it.
I have also completely uninstalled the app using AppCleaner which removes plists and stuff and reinstalled it and it displays the same behaviour.
ps -au $USER | grep eqMac                                                                  1 ↵
  501 27308 ??         0:00.27 /Applications/eqMac.app/Contents/MacOS/eqMac -psn_0_13356220
  501 28679 ttys008    0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn eqMac

My issue was randomly resolved after leaving a fresh install on my system overnight. I came to my computer after leaving it for a while (It was shut down over night, and auto boot up in the morning) and it asked if I wanted to install the drivers. I said yes, and it installed and started working, and this bug has not occurred since then. If someone reading this has this issue, maybe attempt to shut down your computer for a little, then boot up, instead of restart? (Tbh, to my knowledge I thought that would have resulted in the same exact outcome, but maybe I’m wrong).

I have previously been using eqMac2, which I deleted completely from my machine. When I was trying to open the new eqMac app, neither driver installation nor permission-asking windows would appear. So, I executed the following steps:

Delete every eqMac file in your system
Open .dmg and drag into the Applications folder required.
Before launching the app go to Terminal and execute the following, it installed the drivers for me:

cd /

bin/bash

sudo /Applications/eqMac.app/Contents/Resources/install_driver.sh

Still won't launch, so I open the app manually via Terminal:

sudo /Applications/eqMac.app/Contents/MacOS/eqMac

App asks for the microphone use permission, however, it won't appear in System Preferences. It seems to recognize connected devices but won't work with audio.
I hope it helps. Used Catalina 10.15.4.

@SamsTheGreatest your solution did a trick for me, thank you! Although launching the app from the launchpad still results in the same infinite-loading window.

@SamsTheGreatest  this worked for me as well.

@SamsTheGreatest Confirmed working for me. At least the starting from terminal part. Haven't tried starting it from the Launchpad again yet.

Whenever my computer goes to sleep the process dies but interestingly enough I can still see eqMac in audio devices. I'm not sure if it's a related issue.

@SamsTheGreatest solution is helpful.
I think Mac 10.15 has problem, eqMac only works when runs with sudo.

I can see two very disturbing things here. An audio app needs internet (why???), and it only runs with sudo (why again???). These are both huge security red alerts in my reading at least. The app should not need either of those.

@zergeborg as I mentioned before the app does not need internet access to work. The app needs sudo priveleges only to install a driver, there's no other alternative to eqMac that doesn't need a similar driver.   People in this thread reported to you that the app doesn't even start without internet connection and it only loads when started with sudo from the command line and your response is when people start raising their concerns is calling them ignorant nazis?  Ignorant bigot or what??? Good to know your stance.

In a while after a couple of restarts, it requested access to the microphone and started working without sudo.

OK that worked - I installed eqMac and then added it to the firewall as allowed.  When I started the app it sat there for a while installing the audio driver, then started as normal.  So we appear to have a work-around, not sure why it needs a firewall rule though...

I also have this issue. None of the terminal related solutions worked for me. Opening the app shows a window with a spinner that never gets anywhere.

Downloaded v0.3.1, didn't work until I restarted my mac, it doesn't like when sound is playing if you reset playback but it's working now

Can this issue relating to the UI not loading be closed now?
In update v0.3.1 everything should work. Please update either through the app or redownload on the website or GitHub releases. Thank you
@Ashteroide this issue is related to the app you using to play sound deciding to pipe sound directly to your device and circumventing eqMac (for me happens a lot in Chrome and YouTube but usually a full restart of Chrome solves the issue)

@nodeful I am trying to reinstall the drivers but nothing it working, I originally tried after constant failure to use the install_driver.sh in the app itself but that just removed all output devices on my Mac, although internal still works without it showing

This issue should be resolved in v0.3.1.
Please update the app and let me know if this issue is still relevant. Thank you
@Ashteroide restart your mac and if the issue still persists then report to #291

Thank you, all good now.  Installed update, removed firewall rule & restarted app - all OK.  Thanks for quick response.

@nodeful I removed the bitgapp folder in the Application Support and Webkit and the application itself, downloaded the v0.3.1 dmg again, ran it and put the app to the main macOS Application folder rather than the home Application and everything it working now, my Bass Boost preset it working, I didn't have to reinstall any drivers, must've been from before when I ran the install_driver.sh

This issue is not resolved. I tried multiple "solutions" today, always using a fresh download from the website.

Hello Everyone, I had the issue with the loading window. Running Eqmac 0.3.0, Mac OS Catalina 10.15.5

First I killed the process in Activity Monitor.
I went to finder and searched for Eqmac. I deleted everything that was associated with Eqmac (Including Eqmac2 files still lingering)
Downloaded EqMac again and installed. I accepted that it was downloaded from the internet (Apple Securit Policy) and it is now working again. I have quit and restarted and the interface now launches

I hope this helps


Added the (C)ommunit/(U)ltimate attribute, defaults to Community

Also added a gitignore ;)

Looks great thanks :)


move from github:t184256/ to github:nix-community/

Is the history lost?

No.

There is no tag in this repo and I checked some commits in F-Droid but they are all 404, e.g. 658edb6.

There never were tags in this repo, and I think you're confusing it with nix-on-droid-app. Say:
https://github.com/nix-community/nix-on-droid-app/commit/658edb643701665879f114aa50c853f3d8af662f

No problem and thank you for doing that before I got to it. Would you update the remaining link as well?
-Repo: https://github.com/t184256/nix-on-droid-app
+Repo: https://github.com/nix-community/nix-on-droid-app

Yes, I'm doing that. :)


add handler to ignore tagmsg

I expect this will add a handler to ignore the tagmsg events that are causing #216.

This look good but have you tested it yourself as you're the only one experiencing this at this time?
Thanks.

This look good but have you tested it yourself as you're the only one experiencing this at this time?
Thanks.

I see it was merged already, but yes and it has worked as expected!


Adding CG PyRosetta analysis example (SC Size experiment)

Pull request to add analysis scripts for the SC size experiment.
Currently generates:

Energy trajectory plots
Cluster energy distributions
Energy vs RMSD violin plots
Energy vs RMSD scatter plots

A couple of To Do's here:

[ ] Set up parallelized versions of current analysis scripts

[ ] Adding flags for using scikit learn clustering in parallel

[ ] Setup workflow operations for running simulations analysis using Signac (if possible)

[ ] Write init file defining the condensed parameter space (just 1D set of parameters from the original scan, not replicas)
[ ] How do we store clustering results between flow operations?
[ ] Write flow operations for each of the analyses (or all of them)


Get low quality images after hires fix.

I've been using this plugin on SD WebUI which version is 1.5.1, python 3.10.8, torch 2.0.1+cu118, xformers 0.0.20 and gradio 3.32.0. Overall it produces some nice results when generating images.
But when it comes to hires.fix, it would corrupt the image. Here are some examples:

the two images above are pictures after hires.fix, and these pictures below are those without hires fix:

We can see those images without hires.fix clearly don't have large color blocks and distorted lines like the images that went through Hires.fix
I'm not sure if the problem is due to the plugin, or due to my syntax (I'm using statements like <lora:Japanese scene_20230609163753-000018[Japanese scene]:0<EMAIL_ADDRESS>when generating it), or if it's simply just due to the fact that between LoRA or is it simply due to a conflict between LoRA.

By default, your LoRA will apply during the hires pass with the same schedule as the low-res pass. That is, it'll start the hi-res pass at 0, then ramp to 0.35 by 60% of the way through the hires pass, and then remain there.
If you want to turn the LoRA off during the hires pass, add hr=0, like: <lora:Japanese scene_20230609163753-000018[Japanese scene]:0@0,0.35@0.6:hr=0>; this will use the LoRA during your low-res pass, then turn it off for the hi-res pass. Alternately, you can also set a constant strength for the LoRA in the hires pass, or you can set a custom schedule for it just like you can with the low-res pass. You may need to fiddle with the strength in the hires pass to get the desired results, depending on the LoRA you're using.

The hires pass weights weren't inheriting properly, and were getting stuck at 1 unless specified. That's been fixed. See #4


Feat 344 slap

closes #344
closes #346
closes #347

@KasparP Trying to get these finished - we revamped the rig/session schema overall so now I'm adding in the slap2 stuff. I still have some questions about the devices - and what are stable parameters (rig schema) and what are variable parameters (session schema). For now, take a look at this and see if anything jumps out to you. I'll find some time when we can sit down and look at it when I'm back in town.


Allow setting crossOrigin="use-credentials" for static files served from another domain / CDN (buildAssetsDir/cdnUrl)

Describe the feature
Currently, there is no way to set different crossorigin value than "" (anonymous) for static files.
This becomes a problem when JS static files are served from CDN and we need to pass cookies in order to work properly in certain conditions - for example when Cloudflare Under Attack Mode is being on.
As a workaround, we created Nitro plugin which uses render:html hook. In that hook we have to parse html head and manually replace crossOrigin value.
I believe there should be an option (nuxt.config?) alongside buildAssetsDir and cdnUrl that could faciliate implementation, especially in large-scale projects.
Additional information

[ ] Would you be willing to help implement this feature?
[ ] Could this feature be implemented as a module?

Final checks

[x] Read the contribution guide.
[x] Check existing discussions and issues.

This relates to server-rendered head tags (link type="modulepreload" and script type module) generated by Nitro.
There is also a case of dynamic preload, which is handled by vite. We had to create vite plugin to replace crossOrigin value, as stated here: https://github.com/vitejs/vite/issues/6648#issuecomment-1982827778.


Highlighting does not work as expected if paging is enabled (by default) when more than pageSize rows are selected

Hi
We have been using the selection grid in our project since Vaadin 14. However, after updating to Vaadin 23, we found that it is no longer possible to accurately select more than DataCommunicator#pageSize rows.
@Route("/selection-grid-bug")
public class GridSelectionBugPage extends VerticalLayout {

    public GridSelectionBugPage() {
        List<Integer> items = IntStream.rangeClosed(1, 50).boxed()
                .collect(Collectors.toList());

        SelectionGrid<Integer> grid = new SelectionGrid<>();
        grid.setSelectionMode(Grid.SelectionMode.MULTI);
        grid.addColumn(s -> s);
        grid.setItems(items);

        // We reduce the page size to simplify the example
        grid.getDataCommunicator().setPageSize(10); // 50 by default

        grid.setSizeFull();
        add(grid);
        setSizeFull();
    }
}

After a small research, we found out that the DataCommunicator#fetchFromProvider method has been updated and now it is necessary to turn off paging in order to get the old behavior.
This is not a problem for us, we just use the grid.getDataCommunicator().setPagingEnabled(false). But since other developers will also face this, we decided to share our experience here. Might need to update the readme or something like that.

@kshashov Thank you very much. Your hint maybe saved my day. I've already replaced all grids and a first test (even by product management) looked promising. Maybe I have to redo all my changes, because we have some views with a lot of data. I hope this can be fixed easily. It's a blocker for us.

@circlesmiler As far as I understand, the frontend component will continue to use internal pagination, it has a separate one. Only the data provider should be affected, for example, instead of two fetch invocations for 50 items, there will be only one fetch invocation for 100 items. If you are using the ListDataProvider provider, then there is nothing to worry about.


[Feature suggestion] Chained comparison operators (5 < 6 < 7)

I wrote some code for chaining comparison operators, and would love to contribute it to SwifterSwift. Here's what it looks like:
infix operator <: AdditionPrecedence
public extension Comparable {
    public static func <(accumulator: (Bool, Self), right: Self) -> (Bool, Self) {
        return (accumulator.0 && accumulator.1 < right, right)
    }

    public static func <(accumulator: (Bool, Self), right: Self) -> Bool {
        return accumulator.0 && accumulator.1 < right
    }

    public static func <(left: Self, right: Self) -> (Bool, Self) {
        return (left < right, right)
    }
/// ... repeat for other comparison operators
}

This allows comparisons of an arbitrary number of Comparable objects, so (a < b && a > c) can be replaced with (b > a > c). Any thoughts? I'll write a pull request if you like the idea.

@sidmani I love it!
Please go ahead and open a pull request, and I will make sure to merge it as soon as possible

@omaralbeik Having a couple issues with ambiguous operators that didn't show up in the playground I tested it in, but I'll let you know if it works.

Any progress on this? I'd love to see it!

@BenLeggiero The code I posted only works in playgrounds for some reason, and fails in real projects because of overloading ambiguity. I have no idea why it succeeds in one setting but not the other- do you have any insight?

@sidmani I decided to try my hand at this, starting from scratch. Making the names long and descriptive helped alot! I got it working just fine in a framework
https://gist.github.com/BenLeggiero/5bbd4f0b9cf0fc55dc62be6296b266d1

@BenLeggiero Did you try adding your code to SwifterSwift? It still doesn't work for me- the same compile error "Ambiguous operator declarations found for operator" shows up in the test target.

I think the problem occurs when you import Foundation because that’s where the other operators are defined. That’s why SwifterSwift’s test target doesn’t compile.

@sidmani Yes, in my test project (a console app) I'm using Foundation and it works fine for me. Perhaps it's because I'm using Swift 4?

@BenLeggiero I'm using swift 4 too. Can you try adding the code to SwifterSwift itself?


M3-880, M3-1703: add StackScript detail page with StackScript component

Updates breadcrumbs to make linkText optional
Adds ScriptCode component to display script
Add StackScript component to display StackScript details
Add StackScript Detail page

@WilkinsKa1 @alioso can you check the styling here?

Coverage increased (+0.05%) to 31.972% when pulling 6806f52ae3a02d416ad254392e30398fa105267e on rulikrulit:feature/M3-880-stackscript-details-component into 487259f0d931667d450b37d5ba0023b9e1a0c3f6 on linode:develop.


Fix response bug

Thanks for reporting this issue. I pushed a temporary fix for this in #26. Update to version 1.0.2 and you should be fine.


wip(module:badge): refactor badge

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[ ] No

Other information

Coverage remained the same at 98.568% when pulling 78034f5c533cc4a25eaad3787a7c4f4f11e7de11 on vthinkxie:0.7.0 into 3681f72fc57c2ef1b66d0cb950e14ea9b12a709f on NG-ZORRO:0.7.0.


Is it possible to precompile Berry code in Flash?

I understand how to have precompiled modules with native functions. However in Tasmota, out modules are partly made of native functions, and partly made of Berry code.
I have implemented a function to save precompiled bytecode in fs, and realized that compile() is able to load bytecode. However the bytecode is still in RAM.
Is there a way to have precompiled Berry code fully in Flash?

I looked deeper in the code and I'm refining my request. I would like actually to push into flash a Class and its code, taken that I don't call any global beyond the built-on Map() and List(), and no closure.
This seems feasible but it requires additional code to export the function structure (code and constants), and feed it into the coc compiler.
One other option would be to re-write the coc compiler in Berry, but that's certainly more work, and maybe not in your plans.

Now, the code must still be loaded into RAM for execution (even if we have a bytecode file). Maybe constants and codes can be solidify to Flash, but the pointers must be valid, and some codes of the Berry interpreter may need to be modified.
Maybe we can use some kind of tool to process bytecode files. As for the Berry interpreter, it is necessary to ensure that this solidified code is not GC.

I've been digging more in the Berry code. This is a masterpiece! Wow.
I'm working on a prototype of solidifying a proto that could be used by a native function at runtime. It's half-way from having a fully solidified function, but at least it saves to flash: bytecode, constants and hopefully the bproto struct.
The limitations would be:

no upvals
no globals (except builtins)
no sub-proto

I'm struggling right now to solidify arbitrary strings and will need to add stuff to the coc parser.

Great, do you have a link to the code repository?

Not yet, I had to make a pause to complete the integration of Berry in Tasmota. This is now done. I will try further in the following weeks.

I had a first success. I compiled the following function:
def f(a,b) print("hello") return 1 end

I dumped it into a static bclosure structure as follows:
static const bvalue f_ktab[2] = {
  { { .s=(bstring*) &be_const_str_hello }, BE_STRING},
  { { .i=0x1 }, BE_INT},
};

static const uint32_t f_code[4] = {
  0x6008000F,  //  0000  GETGBL	R2	G15
  0x580C0000,  //  0001  LDCONST	R3	K0
  0x7C080200,  //  0002  CALL	R2	1
  0x80060200,  //  0003  RET	1	R257
};

static const bproto f_proto = {
  NULL,     // bgcobject *next
  8,       // type
  GC_CONST,        // marked
  4,       // nstack
  0,       // nupvals
  2,       // argc
  4,       // codesize
  2,       // nconst
  0,       // nproto
  NULL,     // bgcobject *gray
  NULL,     // bupvaldesc *upvals
  (bvalue*) &f_ktab,     // ktab
  NULL,     // bproto **ptab
  (binstruction*) &f_code,     // code
  (bstring*) &be_const_str_f,       // name
  (bstring*) &be_const_str_input,       // source
#if BE_DEBUG_RUNTIME_INFO /* debug information */
  NULL,     // lineinfo
  0,        // nlineinfo
#endif
#if BE_DEBUG_VAR_INFO
  NULL,     // varinfo
  0,        // nvarinfo
#endif
};

const bclosure f_closure = {
  NULL,     // bgcobject *next
  36,       // type
  GC_CONST,        // marked
  0,       // nupvals
  NULL,     // bgcobject *gray
  (bproto*) &f_proto,     // proto
  { NULL }     // upvals
};

Then I added:
BERRY_API void be_pushclosure(bvm *vm, void *cl)
{
    bvalue *reg = be_incrtop(vm);
    bclosure * closure = (bclosure*) cl;
    var_setclosure(reg, closure);
}

And finally declared the function as global:
    be_pushclosure(vm, (void*) &f_closure);
    be_setglobal(vm, "f");
    be_pop(vm, 1);

It worked which is reassuring. Lots of polishing to do now. Keeping the structures as GC_CONST and outside of the GC chain seems to prevent the gc from going crazy.

Here is a first working verion: https://github.com/s-hadinger/berry/tree/solidify_1
It's still early work, and part of conversion is quick and dirty.
import solidify
solidify.dump(<function>)

It prints C code that is then copy/paste in be_testlib.c
Constraints to solidifying function:

no upvals
no sub-protos
no globals (except built-ins)
no string literals longer than 254 characters (this could be added later)

Changes I needed to apply:
Patch BE_STRING: allow short strings to have an const value outside of the string pool. I.e. a short string (below 255 chars) with a null hash, is considered as a bcstring in flash. I patched be_eqstr and be_strhash to allow it. I hope I didn't forget anything else
Extend class definition to accept a second section for berry closures, patch class_init
    static const bnfuncinfo members[] = {
        { "dummy", NULL },

        { NULL, (bntvfunc) BE_CLOSURE }, /* mark section for berry closures */
        { "f", (bntvfunc) &f_closure },
        { "event", (bntvfunc) &event_closure },

        { NULL, NULL }
    };

The result looks like this (a bit ugly but efficient):
Original code:
def f(a,b) print(-1234567890123456) print(2.0/0.0333333333333333) return "Hello" end
import solidify solidify.dump(f)

/********************************************************************
** Solidified function: f
********************************************************************/

be_define_local_const_str(f_str_name, "f", 0, 0, 1, 0);
be_define_local_const_str(f_str_source, "stdin", 0, 0, 5, 0);
be_define_local_const_str(f_str_3, "Hello", 0, 0, 5, 0);

static const bvalue f_ktab[4] = {
  { { .i=-1234567890123456 }, BE_INT},
  { { .p=(void*)0x4000000000000000 }, BE_REAL},
  { { .p=(void*)0x3FA111111111110E }, BE_REAL},
  { { .s=be_local_const_str(f_str_3) }, BE_STRING},
};

static const uint32_t f_code[7] = {
  0x6008000F,  //  0000  GETGBL	R2	G15
  0x580C0000,  //  0001  LDCONST	R3	K0
  0x7C080200,  //  0002  CALL	R2	1
  0x6008000F,  //  0003  GETGBL	R2	G15
  0xC0E0302,  //  0004  DIV	R3	R257	R258
  0x7C080200,  //  0005  CALL	R2	1
  0x80060600,  //  0006  RET	1	R259
};

static const bproto f_proto = {
  NULL,     // bgcobject *next
  8,       // type
  GC_CONST,        // marked
  4,       // nstack
  0,       // nupvals
  2,       // argc
  0,       // varg
  NULL,     // bgcobject *gray
  NULL,     // bupvaldesc *upvals
  (bvalue*) &f_ktab,     // ktab
  NULL,     // bproto **ptab
  (binstruction*) &f_code,     // code
  be_local_const_str(f_str_name),       // name
  7,       // codesize
  4,       // nconst
  0,       // nproto
  be_local_const_str(f_str_source),     // source
#if BE_DEBUG_RUNTIME_INFO /* debug information */
  NULL,     // lineinfo
  0,        // nlineinfo
#endif
#if BE_DEBUG_VAR_INFO
  NULL,     // varinfo
  0,        // nvarinfo
#endif
};

const bclosure f_closure = {
  NULL,     // bgcobject *next
  36,       // type
  GC_CONST,        // marked
  0,       // nupvals
  NULL,     // bgcobject *gray
  (bproto*) &f_proto,     // proto
  { NULL }     // upvals
};

/*******************************************************************/

The bproto can be a constant. If you want to support upvalues, sub-proto, etc., you may need to instantiate the closure at runtime. I think this RAM usage is not large (proto is constant).
If a function does not have an upvalue, then we can instantiate it as a closure in the coc phase, just like you do now:
const bclosure f_closure = {
  NULL,     // bgcobject *next
  36,       // type
  GC_CONST,        // marked
  0,       // nupvals
  NULL,     // bgcobject *gray
  (bproto*) &f_proto,     // proto
  { NULL }     // upvals
};

If it is a sub-proto, but there are no upvalues, we can use LDCONST to replace CLOSURE instruction (you have to push the constant closure into the k-tab of the proto). But there is no good way for the global object.

Thanks for your insights. Right now I don't need the subproto so I can postpone it. I need to fix some detail in the flash strings hashcodes.
Overall I have moved all the berry code in Tasmota to solidified and it works great. I went from 10K to 4k of RAM.

Well, these are just some of my ideas, we can implement them later.

Sure, and thanks for your advice. The current form is a bit ugly, Maybe some macros can help make it better looking.

I finally added support for subprotos and for upvals. I also created some macros to make the result less ugly. It's in production in Tasmota currently.
Here is the branch: https://github.com/s-hadinger/berry/tree/solidify_1
It will need some more testing and cleaning.
Example:
class test
  var dummy
  def f(m)
    return /-> print(m)
  end
end
t = test()

import solidify
solidify.dump(t.f)

Produces:
/********************************************************************
** Solidified function: f
********************************************************************/

/********** Solidified proto: f_0 */
static const bupvaldesc f_0_upvals[1] = {
  be_local_const_upval(1, 1),
};

be_define_local_const_str(f_0_str_name, "<lambda>", 607256038, 0, 8, 0);
be_define_local_const_str(f_0_str_source, "stdin", -1529146723, 0, 5, 0);

static const uint32_t f_0_code[4] = {
  0x6000000F,  //  0000  GETGBL R0 G15
  0x68040000,  //  0001  GETUPV R1 U0
  0x7C000200,  //  0002  CALL R0 1
  0x80040000,  //  0003  RET 1 R0
};

be_define_local_proto(f_0, 2, 0, 0, 0, 1);

/********** Solidified proto: f */
static const bproto *f_subproto[1] = {
  &f_0_proto,
};

be_define_local_const_str(f_str_name, "f", -485742695, 0, 1, 0);
be_define_local_const_str(f_str_source, "stdin", -1529146723, 0, 5, 0);

static const uint32_t f_code[3] = {
  0x84080000,  //  0000  CLOSURE R2 P0
  0xA0000000,  //  0001  CLOSE 0
  0x80040400,  //  0002  RET 1 R2
};

be_define_local_proto(f, 3, 2, 0, 1, 0);
be_define_local_closure(f);

/*******************************************************************/

Closing since it's now provided my solidify module.


Allow for other history management

More advanced history managers need to know what the object is that contains the historical value. To allow this for example that traffic lights have a history of 90s, while GTUs report up to 5s. HistoricalElement should get a Object getOwner() method, to which the history manager can apply logic. Constructors of HistoricalElement sub-classes will need to receive and store this information.

Done.


🐃 "From" and "To" fields on purchase transaction history show wrong addresses

The columns labeled "From" and "To" on the purchase transaction history show the "buyer" and "seller" in the actual data rows. However the offer transactions are initiated by different parties and so these addresses often have the wrong "from" and "to" label.
I'm also not sure we event need a "To" column at all - it's sufficient to know who initiated each transaction.

I'll change this one over to showing just the from, and using the correct values. @micahalcorn could take it from there, if there's more.

@DanielVF yeah, there is also a "to" concept in the blockchain transaction confirmations, which isn't always intuitive or particularly necessary.


Error when loading XFA PDF

Attach (recommended) or Link to PDF file here:
PDF from #13213
Steps to reproduce the problem:

Open the PDF in Firefox

What is the expected behavior?
The PDF is loaded and a form is shown.
What went wrong?
The PDF fails to load.

The same problem is occurring with the PDF from #4106,  https://mail.gnome.org/archives/evince-list/2013-November/pdfNC0hkVW67a.pdf.


ARM64 Linux build support

Good work!
Let's modify this thing a bit.

Instead of passing arm64/amd64 to build/push scripts, let's determine an actual architecture and prefix images with that platform.
Currently, in CircleCI, AMD and ARM images have different image tags:

arm64-2022-11-07T15-28-17Z
amd64-2022-11-07T15-28-00Z
Probably, because those branches determine timestamps independently. Can we determine timestamp before launching build and provide timestamp with an argument?

Let's modify this thing a bit.

Instead of passing arm64/amd64 to build/push scripts, let's determine an actual architecture and prefix images with that platform.

Do you mean instead of passing it as command-line argument?

(optional) Currently, in CircleCI, AMD and ARM images have different image tags:

arm64-2022-11-07T15-28-17Z
amd64-2022-11-07T15-28-00Z
Probably, because those branches determine timestamps independently. Can we determine timestamp before launching build and provide timestamp with an argument?

That would require work on CI, I'm not familiar enough with CircleCI. We'd need the workflow to specify an env var where the date would be stored, and the push script would use that env var.

Do you mean instead of passing it as command-line argument?

Exactly.

That would require work on CI, I'm not familiar enough with CircleCI. We'd need the workflow to specify an env var where the date would be stored, and the push script would use that env var.

This thing can be skipped. Maybe we'll migrate this to our CI in GitHub actions.


build_docker_csharpcoreclr fail to build

Happened in https://grpc-testing.appspot.com/job/gRPC_interop_pull_requests/13186/console
Looks like a dependency is broken:
error: Unable to resolve 'System.Collections.Specialized (>= 4.0.1)' for '.NETCoreApp,Version=v1.0'.

Looks like a transient issue, on recent interop PR build, the docker image is building without problems.

Please reopen if seen again.


Refresh Feed

Would it be possible to add a way for the feed to pull new posts automatically? That way you don't have to refresh to get new posts, which is frustrating if you're getting occasional crashes like I am.

related to #51

True.

Closing as duplicate.


Update Nimble / Spright Blazor to .NET 8

Pull Request
🤨 Rationale
Resolves #1667

Split off resolving more code analysis suppressions to #2453
#2355 : Resolved by updates to Nimble/Spright JS initialization scripts for .NET 8
#2188 : Not reproducible by Nimble team, can debug further once changes published if client can still reproduce

👩💻 Implementation

Projects in Blazor solution now target net8.0 (formerly net6.0)
Update other .NET dependencies, and code analyzer package versions
Update docs
Re-build Demo.Server example based on new Blazor Web App template
Update acceptance test projects to use similar setup as Blazor Web App templates
NimbleBlazor.Tests.Acceptance.Client: Existing tests use the InteractiveServer render mode. The project also now supports tests using InteractiveWebAssembly and static SSR render modes. Add one example test for each.

TODO: Spright acceptance test project currently don't use the new setup yet. If the changes look reasonable and we want to do the same for the Spright tests, I can do so in an update.

🧪 Testing

Manual testing
Autotests (unit/acceptance) pass. New tests for Nimble for InteractiveWebAssembly / static SSR render modes.

✅ Checklist

[x] I have updated the project documentation to reflect my changes or determined no changes are needed.

@atmgrifter00 can you buddy this PR?

@jattasNI @rajsite open discussion threads should be resolved, so feel free to re-review.


EventLogTarget - Implement IDisposable for EventLogWrapper

This has a (technical) impact (in a good way), so I define this as enhancement

Thanks again!


Fix es translation for reset_password_instructions

Looks like you (or someone else) made this change on localeapp, so no need for this PR. ¡Gracias!


add append! for online interpolation

This adds an append! implementation for a few simple interpolations so that they can be used in an online context.
It should be possible to implement this for a few more interpolations that are not global, such as Akima.
But I'll just put this out there to make sure I'm going in the right direction before doing tricky things to make online Akima work and then have to do it again based on feedback.
Some things I'm not totally sure about:

maybe we should implement push!
maybe the type bounds are too tight now
it seems very eager to call the AbstractVector method and complain there is no resize! method.
lagrange has an immutable length field
which methods are amenable to appending data

Thinking about it a bit, push! is probably easier to implement for nontrivial interpolations and more generally useful, but could be less efficient than append!.
It seems that in the standard library push! is implemented in terms of append!, so maybe we should copy that approach? Problem is our functions take two things to add so we can't rely on the underlying implementation, unless we do something weird with tuples. Of course we can also implement append in terms of push but that would be less efficient

I think this looks good. I wouldn't worry about it. I didn't know push! was implemented in terms of append!.


Reenable Linux support

Asked by several people already (twitter, forums, gitter)

Being the most upvoted issue on GitHub, I started to give it a quick try.
Looks like it should be quick to fix, everything seems to compile fine against .NET Core 2.1:

@xen2 Not directly related, but should we move all runtime libraries to target .Net standard 2.0 instead of 4.5 currently?

added #139


Add instagram icons to reader pages and footer

I will provide links and icon eps files here

SVG icon for footer here

SVG Instagram SOCIAL SHARE icon for reader pages here
https://instagram.com/participedia


Adopt platform changes - Bug 1215092

Bug 1215092 - WebSocketFrameService should be used for WebSocket discovering
https://bugzilla.mozilla.org/show_bug.cgi?id=1215092
Honza

Just a note for me (IRC discussion with :baku):
[17:14]	baku	1. WebSocketService has been renamed. you should use the new name:  Cc["@mozilla.org/websocket/service;1"].getService(Ci.nsIWebSocketService);
[17:14]	baku	2. WebSocketFrameListener now is called WebSocketProxy
[17:15]	baku	3. you must implement: webSocketCreated/webSocketOpened/webSocketClosed/frameReceived/frameSent
[17:15]	baku	frameSent/frameReceived are the same of before.
[17:15]	baku	nothing more.
[17:16]	baku	Created is called when the user does: new WebSocket('foobar', 'protocols')
[17:16]	baku	Closed is called when the object is fully disconnected.
[17:16]	baku	Opened is called when the user receives onopen() and it has information about the effectiveURI, the effective protocols and the extensions
Honza

Try build:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=350fe368077e
<EMAIL_ADDRESS>

Try build:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=4d0d2070c463
<EMAIL_ADDRESS>Honza


nbsp is replaced with space

The inliner library replaces   is replaced with a space character. In my opinion, inliner should leave   as it is. Here is a short test.
html := `

`
inline, _ := inliner.Inline(html)
fmt.Println(inline)

This prints:

Any quick fix for this?

it happens with me © too

Stuck into the same problem, after some hours searching came up with a solution.
The problem is: the inliner library parses html using the standard library into tree, replacing all special html symbols with unicode ones (e.g. " " is replaced by "\u00a0").
So when you do

fmt.Println(inline)

the non-breaking space will be printed as an ordinary space.
I found an example solution there:
https://gist.github.com/brandonrachal/10605780
Minimal playground test likely gives us the expected result:
https://play.golang.org/p/rgYqA7x7jL3
Hope it'll help!


Sequence Builder (or rather infastructure for one)

Background: Right now developing sequences is rather low-level and error prone. This is somewhat on purpose since we wanted much flexibility in the sequence files and with that respect they are doing a nice job.
Additional Issue: In practice one often wants to have a certain sequence structure, but changes just values. For instance one wants to create a 2D sequence (xy plane) but wants to keep the FOV and the gradient strength flexible. This may lead to an explosion of methods if we would store all of theses. Another issue is then how to name all these sequences.
Having said this we have certain design space that is open for us.

One way ist to have a very high level way of defining a sequence and let this be translated to low level. I fear that this approach will require magnetic fields since the currents need to be derived from high-level descriptions like FOV+gradient
Another/additional way could be the definition of "templates", which are compatible with the current system. Theses templates could then keep certain fields open and allow for the generation of "subsequences". Probably, these Templates are not even necessary but could be derived from the concrete sequences itself. I.e. if we store several sequences with just different DF values, we could somehow group them together by identifying that the "structure" of the sequence is the same.


Major Version Update

I had to make some updates to this project before using it for mtonomy.com. Maybe you are interested in moving some of them upstream.

Update videojs to version 7.4 from 7.0
Fixed the highlighting of menu buttons, it required setting the selectable attribute on MenuItems
Added optional label (for display text) and sortVal (for button ordering) parameters
Removing console.log statements, since they usually shouldn't be in production code
Added some es6 functionality, mostly unintentionally, my editor is setup to just add things like let/const or === in place of ==
Remove the 'Auto' option that gets added to qualityLevels. The way I'm interfacing with DashJS I need to be able to distinguish between 1) a user purposefully selecting all the levels, 2) a user selecting the Auto option. With the current version of the package I can't tell the difference.

I didn't update the Readme, but if you are interested in this update I can

Any progress on this?


Add documentation

We should document how to use stencil again, but this time focus on the fact that we're just providing a repository management tool, instead of an entire framework all at once. This will make it easier for users to adopt the tool, but also reduce the scope of documentation significantly.
I've torn down the old hugo backed setup because it wasn't offering us much. I suggest we roll with the GitHub Wikis for now.

FYI @deregtd, for some context

I'm going to consider this done thanks to DDR's work


ng version should display the version of this module

I have just tried an ng -v and the result is the following one :
version: 1.13.13
Could not find watchman, falling back to NodeWatcher for file system events.
Visit http://www.ember-cli.com/user-guide/#watchman for more info.
node: 5.0.0
npm: 2.14.10
os: linux x64

But the latest Git tag of the angular-cli projet is 0.20.0. We should have this version as result of the previous command.

Hi. This is a version of ember-cli and it is not displayed anymore, you can test it with cloning master and then npm linking. See readme for more info about linking.


Fail to compile the latest mxnet with GPU

Environment info
Operating System:   CentOS7
Compiler:   gcc 4.8; cuda7.0
Package used (Python/R/Scala/Julia):
anaconda python 2.7
MXNet version:
latest
Or if installed from source:
yes
Error Message:
src/operator/tensor/././indexing_op-inl.cuh: error: more than one instance of overloaded function "max" matched the argument list:
function "max(int,int)"
.....
argument types are: (size_t,size_t)
Is it the problem of CUDA Version?  My CUDA version is 7.

you need cuda 7.5 and above

Thanks. It is fine to compile mxnet after updating cuda to 8.0.


Feature request - Plugin system

Hello, I just wanted to ask if you plan on making a plugin system + marketplace. It would make it much easier to develop new features without tampering with the core.

Thanks for the suggestion. A similar approach was in my TODO list but not just a priority.
I thought of migrating Jarvis to a celery cluster and setup entrypoints which can pretty much accept any module as plug and play.
I will eventually get the code to such a state but it won't be any time soon.

Maybe take a look at my voice assistant code at https://github.com/Akul-AI. I made another issue asking if you would like to collaborate with me on this.

Hi, I made a new branch (see v2) that also supports JS plugins. It's also really easy to use.


Feat: Add scraper for Omdena Dashboard

Describe the feature
I would like to scrape the user profile page on omdena website.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'24 contributor
[X] I want to work on this issue

Go ahead @arpy8
Note

Please create a separate module for this, as in the folder and project structure (if it is already created, just add your features as functions in the same module).
Do not use the `selenium web driver as it is incompatible with all devices and cloud platforms.
Before making any changes, please check whether the module you want to add exists. If yes, then you can add your functionality as a method only make a separate module and class for it.

All the best 👨💻

I'm eager to contribute! Could you please assign me an issue to work on?
Thank you!


Extend OutlineWriteLock to be used in more places

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

Comparison is base (8028b97) 86.65% compared to head (04c0613) 86.66%.

:exclamation: Current head 04c0613 differs from pull request most recent head 33df408. Consider uploading reports for the commit 33df408 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #407      +/-   ##
==========================================
+ Coverage   86.65%   86.66%   +0.01%
==========================================
  Files          82       82
  Lines        5889     5896       +7
==========================================
+ Hits         5103     5110       +7
  Misses        786      786

Flag
Coverage Δ

unittests
86.66% <100.00%> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


specify the client version that works for current together server

What does this PR do?
Fix the error when using the newer (v0.0.55-57) llama stack client library with Together's stack service.
In short, provide a summary of what this PR does and why. Usually, the relevant context should be present in a linked issue.

[ ] Addresses issue (#issue)

Test Plan
Please describe:

tests you ran to verify your changes with result summaries.
provide instructions so it can be reproduced.

Sources
Please link relevant resources if necessary.
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Ran pre-commit to handle lint / formatting issues.
[ ] Read the contributor guideline,
Pull Request section?
[ ] Updated relevant documentation.
[ ] Wrote necessary unit or integration tests.

What is the error with newer (v0.0.55-57) for together?

Oh, I think this is b/c our current together endpoint is using 0.0.50 server package, serving endpoints without /alpha prefix. Our client package v0.0.55+ queries endpoints with /alpha prefix.


How do I access the file contents from the "part" object?

if (part.filename) {
  // filename is defined when this is a file
  console.log('got file named ' + part.name);
  pdf = part;
   // ignore file's content here
   part.resume();
}

pdf is defined outside this scope and is accessible. console.log(pdf) produces:
PassThrough {
  _readableState:
   ReadableState {
     objectMode: false,
     highWaterMark: 16384,
     buffer: BufferList { head: null, tail: null, length: 0 },
     length: 0,
     pipes: null,
     pipesCount: 0,
     flowing: true,
     ended: true,
     endEmitted: true,
     reading: false,
     sync: false,
     needReadable: false,
     emittedReadable: false,
     readableListening: false,
     resumeScheduled: false,
     defaultEncoding: 'utf8',
     ranOut: false,
     awaitDrain: 0,
     readingMore: false,
     decoder: null,
     encoding: null },
  readable: false,
  domain: null,
  _events: { end: [ [Function] ], drain: [Function], error: [Function] },
  _eventsCount: 3,
  _maxListeners: undefined,
  _writableState:
   WritableState {
     objectMode: false,
     highWaterMark: 16384,
     needDrain: false,
     ending: true,
     ended: true,
     finished: true,
     decodeStrings: true,
     defaultEncoding: 'utf8',
     length: 0,
     writing: false,
     corked: 0,
     sync: false,
     bufferProcessing: false,
     onwrite: [Function],
     writecb: null,
     writelen: 0,
     bufferedRequest: null,
     lastBufferedRequest: null,
     pendingcb: 0,
     prefinished: true,
     errorEmitted: false,
     bufferedRequestCount: 0,
     corkedRequestsFree: CorkedRequest { next: null, entry: null, finish: [Function] } },
  writable: false,
  allowHalfOpen: true,
  _transformState:
   TransformState {
     afterTransform: [Function],
     needTransform: false,
     transforming: false,
     writecb: null,
     writechunk: null,
     writeencoding: 'buffer' },
  headers:
   { 'content-disposition': 'form-data; name="pdf"; filename="blob"',
     'content-type': 'application/pdf' },
  name: 'pdf',
  filename: 'blob',
  byteOffset: 136,
  byteCount: 340981 }

Here is where I'm trying to use it to write the file:
// Close emitted after form parsed
form.on('close', function() {
  console.log('Upload completed...sending emails');
  console.log(pdf);
  fs.writeFile("file444.pdf", pdf, 'binary', function(err) {
    console.log(err);
  });
	// sendEmails(req, res, productId, pdf);
});

This creates a file with the contents: [object Object]
Ultimately I want to email the file, but just trying to save it to disk to ease the debugging process. Where are the "contents" of the file??

The part object is a standard Node.js readable stream--the same object you'd get back from fs.createReadStream (https://nodejs.org/dist/latest-v6.x/docs/api/fs.html#fs_fs_createreadstream_path_options). You need to use part.pipe(), add data event listeners, or whatever your fancy is for interactive with ReadableStream (https://nodejs.org/dist/latest-v6.x/docs/api/stream.html#stream_class_stream_readable) objects from Node.js core.

When I try to do this, no events are emitted. The stream doesn't even call the "end" function.
var newfile = '';
    pdf.on('data', function(chunk){
      console.log(chunk);
      newfile+=chunk;
    });
    pdf.on('end', function(){
      console.log("end stream");
      console.log(newfile);
      fs.writeFile("file444.pdf", newfile, 'binary', function(err) {
        console.log(err);
      });
    });

I've also tried piping with identical results. zero byte file.
pdf.pipe(ws);

@namlet can you share your full, complete code so I can run it or at least see if I can see where the issue is? Also the version of this module and the version of Node.js you are using as well as the instructions for how to call your code with a multipart request. Thanks!

I see from one of your snippets above you are trying to read the part from within the close event; you cannot do that, you have to read the part object (I assume that is what your pdf variable is), inside the part event. Getting all that information above will help me better understand what you're trying to do and help. Right now I'm just trying to guess based on very limited information provided so far.

Here is the calling information. The doc object is a jspdf object that when doc.save() is called the correct pdf is displayed.
var fd = new FormData();
var file = doc.output('blob');
fd.append('pdf', file);
$.ajax({
    url: '/email',
    type: 'POST',
    data: fd,
    success: function (data) {
        alert(data)
    },
    contentType: false,
    processData: false
});

Regarding what you said about the part.on event as opposed to the part.on('end'): Will the form.on('close') event be fired after the complete contents of the stream have been read?

Hi @namlet I need you to share the compete source code so I can run it. Snippets just mean I'm going to keep guessing and it's really not going to help well.

Will the form.on('close') event be fired after the complete contents of the stream have been read?

Yes, but you have to actually read the steam, thus why you have to read it inside of the part event; you can't wait until the close event.

Got it, and that helped a lot. The complete source code is massive and would be difficult to extract the relevant bits. Ok, I'm getting there. Reading the stream in the part event worked well when I used the var ws = fs.createWriteStream() and part.pipe(fs). The pdf was perfect. However, I cannot save the file to the fs, (I need to email it) and so in trying to use the syntax:
part.on('data', function(chunk){
  console.log(chunk);
  pdf+=chunk;
});
part.on('end', function(){
  console.log("end stream");
  // console.log(pdf);
  fs.writeFile("file444.pdf", pdf, 'binary', function(err) {
    console.log(err);
  });
});

This almost works. The file looks great except for the images are missing. I'm assuming this is because I'm just pushing it all to a string. What construct could I push this stream into that would preserve the binary aspects of it?
Thank you so much for the help!! I've spent more than a day reading all over the web and you got things mostly sorted in less than an hour!

Awesome, good to hear :) Yea, it's hard to figure this stuff out with snippets a lot of the time :) So I think the only issue with the above is that you'll wan to keep the chunks as Buffers. I usually just save them in an array, and then if you want one big Buffer at the end, just use Buffer.concat. Example from above adjusted:
var chunks = [];
part.on('data', function(chunk){
  console.log(chunk);
  chunks.push(chunk);
});
part.on('end', function(){
  console.log("end stream");
  var pdf = Buffer.concat(chunks);
  // console.log(pdf.toString('hex'));
  fs.writeFile("file444.pdf", pdf, function(err) {
    console.log(err);
  });
});

Woohoo!!!! Thank you!! Finally got the file emailed properly!!  We also pass a field value (that I omitted to preserve clarity) and we have been unable to read the value of the passed field, but of course the name is available. Is this a stream we have to read too?
if (!part.filename) {
      // filename is not defined when this is a field and not a file
      console.log('got field named ', part.name);
      productId = part.value;
      part.resume();
}

But we always got undefined. Is there a special way to read this form field value as well?

So even for the field, the part is a ReadableStream. You'll need to do the data listener stuff as well. But that is probably overkill--this module can do that for you instead :) What you'll want to do is remove the part.resume() from your existing part listener (if you have one), and add a form.on('field' listener next to your part listener and in there you'll get the value already read into a string :)

Thanks, I think I understand. Do I remove the part.resume() from just the block checking for fields, or from both blocks (fields and files)? And what does that do? I assumed the resume() function just iterated to the next part. And does the form.on('field' listener run in parallel to the part listener? I guess I'm just trying to understand the lifecycle. Thanks again for all your help!

Hi @namlet basically, each part object needs to be read in some way. If it's a field, and you have the field listener, it's being read for you. Otherwise, you can call the .resume() method to just dump the contents. This methods is part of a standard Node.js stream: https://nodejs.org/dist/latest-v7.x/docs/api/stream.html#stream_readable_resume
Listeners run whenever the event just happens, which can be in parallel, yes.

Trying to grok this. Here's what I have so far, and it's almost working, but the field parameter in form.on('field' is just a string that represents the field name, not the value. What am I missing?
var form = new multiparty.Form(),
    pdf = '',
    productId = '';

form.on('error', function(err) {
  Log.error('Error parsing form: ' + err.stack);
});

// Parts are emitted when parsing the form
form.on('part', function(part) {
  if (part.filename) {
    var chunks = [];
    part.on('data', function(chunk){
      chunks.push(chunk);
    });
    part.on('end', function(){
      console.log("end stream");
      pdf = Buffer.concat(chunks);
    });
    part.resume();
  }

  part.on('error', function(err) {
    if (err) Log.resError(err, req, res);
  });
});

form.on('field', function(field){
  console.log("field: ", field);
});

form.on('close', function() {
  console.log('Upload completed...sending emails');
  // sendEmails(req, res, productId, pdf);
});

Thanks!

Actually, that threw an error. I'm definitely missing a resume or something.
Error parsing form: Error: Request aborted

Tried this too. Didn't throw an error, but still has field as field name not value.
var form = new multiparty.Form(),
    pdf = '',
    productId = '';

form.on('error', function(err) {
  Log.error('Error parsing form: ' + err.stack);
});

// Parts are emitted when parsing the form
form.on('part', function(part) {

  if (!part.filename) {
    part.resume();
  }

  if (part.filename) {
    var chunks = [];
    part.on('data', function(chunk){
      chunks.push(chunk);
    });
    part.on('end', function(){
      console.log("end stream");
      pdf = Buffer.concat(chunks);
    });
    part.resume();
  }

  part.on('error', function(err) {
    if (err) Log.resError(err, req, res);
  });
});

form.on('field', function(field){
  console.log("field: ", field);
});

form.on('close', function() {
  console.log('Upload completed...sending emails');
  // sendEmails(req, res, productId, pdf);
});

form.parse(req);

Console:
got file named pdf
end stream
field:  productId
Upload completed...sending emails

The field event is given two arguments: https://github.com/expressjs/node-multiparty#field-name-value
Example:
form.on('field', function(field,value){
  console.log("field %s: %s", field, value);
});

In your last example, you should not have any part.resume(); statements.

Any at all?

Not in your code. Basically, each part object needs to be read in some way. If it's a field, and you have the field listener, it's being read for you. Otherwise, you can call the .resume() method to just dump the contents. This methods is part of a standard Node.js stream: https://nodejs.org/dist/latest-v7.x/docs/api/stream.html#stream_readable_resume
You have two resumes above:

The first one is resuming for fields, but since you have a field listener, that is unnecessary.
The second one is resuming the part, but since you added a data listener, you're already reading it, so it's unnecessary.

AHHH! I see! Sorry, I was having a hard time wrapping my mind around that. So just in case anyone else would benefit from this, here's the final, working code:
var form = new multiparty.Form(),
    pdf = '',
    productId = '';

form.on('error', function(err) {
  Log.error('Error parsing form: ' + err.stack);
});

form.on('part', function(part) {

  if (part.filename) {
    var chunks = [];
    part.on('data', function(chunk){
      chunks.push(chunk);
    });
    part.on('end', function(){
      console.log("end stream");
      pdf = Buffer.concat(chunks);
    });
  }

  part.on('error', function(err) {
    if (err) Log.resError(err, req, res);
  });
});

form.on('field', function(field, value){
  if (field == 'productId') { productId = value; }
  console.log(field + ": ", value);
});

form.on('close', function() {
  console.log('Upload completed...sending emails');
  // sendEmails(req, res, productId, pdf);
});

form.parse(req);

Thanks again for all your help!


Add support for all Property Paths

as specified in https://www.w3.org/TR/sparql11-query/#propertypaths.
This still leaves SequencePath as the default without the need of calling a function for backwards compatibility.

@fiveop Thanks for the PR! I've adapted the code a bit and changed the function names to avoid possible conflict in the future. Please see #32 #33. All changes are included in v0.2.5.

Thanks.
You renamed all classes in the files from Pattern to whatever the filename was (e.g. Pattern ⇒ AlternativePath), but did not do so for the already existing Path.js file (https://github.com/rdf-ext/rdf-sparql-builder/blob/master/lib/Path.js#L4) from which I based my additions. It makes more sense to use proper names, so I think this was an oversight.

@fiveop thanks for the hint! Fixed it in #34


A possible patch to resolve flickers

Some guy made a change like this,
https://github.com/rwg0/dockpanelsuite/commit/931bd0223e7222029135d507e5a21149acfb86eb
It might be useful to merge it back to master.

Cherry picked.


Hack the klib manifest version to work around KT-62515

This is a big regression in Kotlin 1.9.20.

https://youtrack.jetbrains.com/issue/KT-62515/Interop-klib-of-concurrent-version-is-not-accepted-when-building-dependent-project-The-library-versions-dont-match

(I manually confirmed that this fixes the problem for downstream builds)


Jwilaby/#991 multiple conversation update calls

Pull Request Test Coverage Report for Build 1121

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
22 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.3%) to 52.926%

Files with Coverage Reduction
New Missed Lines
%

packages/app/shared/built/utils.js
3
50.0%

packages/app/main/src/utils/loadSettings.ts
19
16.28%

Totals

Change from base Build 1119:
-0.3%

Covered Lines:
4188

Relevant Lines:
7127

💛  - Coveralls


Add Multiple Attribute Ordering to Meltano UI

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/784
Originally created by @iroussos on 2019-07-12 12:02:57

This issue will follow the successful completion of undefined##undefined
Problem to solve
In Meltano Analyze, we are currently allowing ordering by only one attribute.
The spec for the request to be sent back to the API uses a hash that can only accept one attribute:
JSON payload sent by Meltano Analyze to /get/<topic_name>/<design_name>
{
  ...
  "order": {"column":"COLUMN NAME", "direction":"asc" | "desc"},
  ...
}

For example:
{
  ...
  "order": {"column":"project_name", "direction":"asc"},
  ...
}

We should allow for multiple attribute ordering. This is crucial for generating analytical reports that require multiple attributes in order to order the results. As an example, a report that includes year, month, day or one where you want to order results by project name and milestone.
We should also update and standardize the format the order by attributes are requested by also including the table name. At the moment, in the previous example, if two tables have an attribute called project_name, then one is used at random (the one found first in the table order defined by the join order).
Finally, we should update column to attribute_name as we order by both columns and aggregates.
Target audience
Anyone using Meltano Analyze that wants to generate an analytical report that requires multiple column ordering.
Proposal
Update the order parameter that is sent by Meltano Analyze to an array of hashes.
Order is important as the results will be order according to the order inside the order array.
The new spec that I propose that we should use:
JSON payload sent by Meltano Analyze to /get/<topic_name>/<design_name>
{
  ...

  "order": [
    {"source_name":"SOURCE_NAME", "attribute_name":"COLUMN OR AGGREGATE NAME", "direction":"asc" | "desc"},
    {"source_name":"SOURCE_NAME", "attribute_name":"COLUMN OR AGGREGATE NAME", "direction":"asc" | "desc"},
    {"source_name":"SOURCE_NAME", "attribute_name":"COLUMN OR AGGREGATE NAME", "direction":"asc" | "desc"},
  ]
  ...
}

In the example above:

source_name is the name of a Table alias in the design. That means the design name for the base table (name parameter of the payload) or the join name for any of the joined tables (joins->name parameters of the payload). This is a table defined and available in the design.
attribute_name is the name of a column or an aggregate of one of the tables defined and available in the design. It should be also selected for its table in the columns || joins->columns parameters of the payload if it is a column or the aggregates || joins->aggregates parameters of the payload if it is an aggregate.
direction is one of 'asc' or 'desc'.

As an example, by using the google_analytics_devices design defined for google_analytics.topic, a nice use case is to see the results ordered by YEAR / MONTH / DAY descending (so that the latest results are shown on top) and then by {device_category, operating_system, browser} ascending for uniformity:
{
  ...
  "order": [
    {"source_name":"google_analytics_devices", "attribute_name":"report_year", "direction":"desc"},
    {"source_name":"google_analytics_devices", "attribute_name":"report_month", "direction":"desc"},
    {"source_name":"google_analytics_devices", "attribute_name":"report_day", "direction":"desc"},
    {"source_name":"google_analytics_devices", "attribute_name":"device_category", "direction":"asc"},
    {"source_name":"google_analytics_devices", "attribute_name":"operating_system", "direction":"asc"},
    {"source_name":"google_analytics_devices", "attribute_name":"browser", "direction":"asc"},
  ]
  ...
}

This issue will require updates on both the front-end (Meltano UI / Analyze) and the back-end (api controllers and Query engine). The steps that we should follow are as follows:

[x]  @iroussos will add support for multiple attribute ordering to MeltanoQuery and update the API controllers if needed.
[x]  @iroussos will add tests for the various payloads that can be received, cover edge cases, wrong requests, etc.
[ ]  @derek-knox will define the UI/UIX and the user flow and add multiple attribute ordering on Meltano Analyze.
[ ]  @derek-knox will update Meltano Analyze to send the selected orders according to what has been specified above.
[ ]  @derek-knox will finalize any UI updates required to make the whole experience seamless, functional and easy to use.

View 12 previous comments from the original issue on GitLab


Proxying as an operator?

I'm doing some work on iflow-lodash which doesn't support _.chain()/_().
In TypeScript, they support chaining through a very complex series of wrappers around every output type. Perhaps Flow could make this better via a flexible syntax that allows us to actually instruct the typechecker as to how it should interpret calls to this object.
It would be great if we could define a $Proxy:
$Proxy<Target, ArgTypeTransform, ReturnTypeTransform>

As in:
type LodashChainWrapper<T, U> = $Proxy<
  Lodash,
  (...args: any) => (T, ...args),
  (out: U) => LodashChainWrapper<U>
>;

declare module 'lodash' {
  declare class Lodash {
    chain<T>(value: T): LodashChainWrapper<T>;

    // ...
    filter<T>(array: ?Array<T>, predicate?: Predicate<T>): Array<T>;
  }
}

The idea is that Flow could understand that any function called on the result of chain() already has its first parameter filled in, and that it returns the proxy itself. The syntax above probably needs a lot of fleshing out.

Yes, we are very interested in providing type combinators like this. Lodash is an excellent API to target. We're also looking at Immutable.js and Redux :)
@bhosmer and I have been thinking about this. Look out for updates in the coming months.

Beyond conditional type and mapped type, we do not intend to add more utility type that does transformation.


Rework module_dict

Move the module_dict from the DSPy module to the Player abstract class
The "roles" list in the player config can now be either a list of role strings or a list of Role objects that can optionally specify optimization details
Abstract move making so now classes extending Player need only to implement a new method init_role_module_dict() that returns a dictionary that maps role strings to DSPy modules
Change llm loading to support DSPy's new LM class

applied the changes to other games and made some fixes. Will go ahead and merge this.


When github application is suspended don't treat it as transient error

STONEBLD-2218
Checklist:

PR has reference to the issue(s) it resolves
Write / update unit tests
Write / update integration (envtest) tests
Ensure there is an issue for e2e tests if needed
Ensure make test passes
Ensure test coverage hasn't decreased
Test code changes manually
Update readme and documentation
Write PR description that highlights overall changes and add usage examples if applicable

/retest-required


:bug: fix date check crash

The date check, implemented on #201 was causing a crash when a conversion to data was being performed. That happens because when a field of type date is referenced there's no string args to check, which causes an exception trying to access undefined.
In this PR i also fix the ValueExprFunction typescript types. There were missing types related to a new implementation of reverse, replace, repeat, rlike and regexp.
The error was:

Now it works:

@KPMGE please double-check if the modification works with the use case in https://github.com/dbis-uibk/relax/issues/199

The date check, implemented on #201 was causing a crash when a conversion to data was being performed. That happens because when a field of type date is referenced there's no string args to check, which causes an exception trying to access undefined.
In this PR i also fix the ValueExprFunction typescript types. There were missing types related to a new implementation of reverse, replace, repeat, rlike and regexp.
The error was:

Now it works:

@KPMGE instead of 'date(Bdate)' please test as well with another string field like 'Name', which does not have the required format. I guess that it might generate an exec exception.

Just to keep track, a few changes have been proposed in https://github.com/KPMGE/relax/pull/21

The date check, implemented on #201 was causing a crash when a conversion to data was being performed. That happens because when a field of type date is referenced there's no string args to check, which causes an exception trying to access undefined.

@KPMGE instead of date(Bdate) please test as well with another string field like Dependent_name, which does not have the required format. I guess that it might generate an exec exception.

In this PR i also fix the ValueExprFunction typescript types. There were missing types related to a new implementation of reverse, replace, repeat, rlike and regexp.

This and other fixes were proposed in #215

Thanks for the suggestions @rlaiola

Tested and everything looks fine. Good to go!

Tested and everything looks fine. Good to go!

Thanks for the help @rlaiola

To test it visit https://rlaiola.github.io/relax/calc/local/uibk/local/6


Remove -1 from player id

Fixing -1 from playerped

That native requires -1
the solution to this is to replace it with PlayerPedId() instead


Please Help.

I just started a wallet, replenished it a little and started waiting for tokens on this account, after a day passed and I didn’t see them on my account, I started looking and it turned out everything had already been transferred somewhere and even a trifle of 0.05 cents many times until now translate. What to do?
I have one account and there were no others in the Sol system, here is the number 7zcUntKZcdrdhZS9tpcXNwnVGGyt1mttvSa398otu1Mw

Sorry, this Github isn't for wallet support.


Sponsor donation buttons are broken

The sponsor ebook donation buttons on https://standardebooks.org/donate all go to "Page not found" on Fractured Atlas.

Thanks, this should be fixed now!


Purge @img tag for all games

closes #1579

@GalaxyGamingBoy before landing plz look at the plagiarism checker and test-game action failures

@JosiasAurel sorry - I tried looking at your requested changes here but the large # of files made it - for one reason or another - somewhat difficult to understand the changes you want on this diff - can u plz ELI5 for me (I am almost definitely missing something)

@GalaxyGamingBoy before landing plz look at the plagiarism checker and test-game action failures

Already done w/ Josias, the plagiarism one only works on a single file and the other test failed - because of an error on one game,

@JosiasAurel sorry - I tried looking at your requested changes here but the large # of files made it - for one reason or another - somewhat difficult to understand the changes you want on this diff - can u plz ELI5 for me (I am almost definitely missing something)

the majority of the files applied the changes. I wanted to make sure that removing the src property on the img tag won't break anything and it hasn't as far as i can tell

please resolve conflicts and we can merge!


Added 'how to run them' in README.md

Fixes #243
By submitting this pull request I confirm I've read and complied with the below declarations.

[x] I have read the Contribution guidelines and I am confident that my PR reflects them.
[] I have followed the coding guidelines for this project.
[] My code follows the skeleton code structure.
[x] This pull request has a descriptive title. For example, Added {Algorithm/DS name} [{Language}], not Update README.md or Added new code.
[x] This pull request will be closed if I fail to update it even once in a continuous timespan of 7 days.

Hi @S2606, thanks for your PR. We're really glad that you showed interest in contributing to this repo.
Make sure that you are assigned to the issue before working on it.

@singhpratyush I shall ensure it

@singhpratyush the changes have been made

@aviaryan: Is using tables for this purpose feasible? Would it still be effective if number of languages increase?

@singhpratyush Yes that should work. As far as I think, we only need 2 columns - "Language Name" and steps, so it should be fine.

I will make the necessary changes @aviaryan

@S2606 Sorry I meant that you should make language name and steps to run as columns. So there will be only 2 columns. This will help us avoid overflow when more languages are added.

No problem. I will fix it @aviaryan

Code blocks are still single. I meant something like this.

Language
Steps

C
gcc [filename.c] ./a.out

| Language | Steps |
|:--------------|:----------------|
| C |
gcc [filename.c]
./a.out
|

@aviaryan its removed

@aashutoshrathi @aviaryan @singhpratyush Made all the necessary modification

@aashutoshrathi: Is this problem only with PowerShell? Have you tried with command prompt?

Thank you @singhpratyush @aviaryan @aashutoshrathi for co-operating with me(and also helping) in merging my first ever PR!!

@singhpratyush : My bad, this one is PowerShell specific 😄 . It's working in Command Prompt.
But Command Prompt doesn't support ./a.exe, so it turns out we can't fix one for windows

@S2606: Welcome to the open source world. There are a lot of projects all around Github where you can contribute and learn a lot of things.
If you interested in getting a badge from this org, please open an issue in iiitv/ShareIt and we'll get you on board :smile:.

@aashutoshrathi: My plan was to not keep it there at all (hail Linux :wink:).


Remove duplicate Android resizable setting

Remove duplicate Android resizable setting introduced in https://github.com/godotengine/godot/pull/59861

Thanks!

Cherry-picked for 3.5.


Support default values for args

Feature Request: Default Values for Tool Arguments in GPTScript
Summary
Add the ability to define default values for tool arguments in GPTScript. This feature will enhance the flexibility and usability of tools by allowing users to specify default values for arguments, reducing the need for repetitive input and simplifying tool usage.
Motivation
Currently, GPTScript requires all tool arguments to be explicitly provided each time a tool is invoked. This can lead to repetitive code and increased potential for errors, especially when certain arguments frequently have the same value. By allowing default values for arguments, we can streamline tool usage and improve the overall developer experience.
Proposal
Introduce a syntax for defining default values for tool arguments in the GPTScript configuration. If an argument is not provided during tool invocation, the default value will be used.
Example
Consider a tool that starts a web server. We can define a default value for the port number as follows:
name: startserver
tools: sys.exec
description: start a web server on a specified port
args:
  port:
    description: the port number to start the server on
    default: 8080

#!python -m http.server ${port}

In this example, if the port argument is not provided, it defaults to 8080.

I like this approach. It would be good to support CEL to do some logic in addition on supporting hardcoded values.

Thanks for the feature request. Sorry for the delayed response. This makes sense to me. Will dicuss it with @ibuildthecloud


using 'linear' output seems to result in divergence/ NaN's very quickly instead of finding good weights

Hello,
Using Matlab's house_dataset from its neural networks toolbox as a test example for a linear rather than logistical problem, seems to crash the back propagation and training algorithms. Printing intermediate results out shows the weights diverge to astronomical numbers very quickly.
The house_dataset example has training data that's 13 x 506, and 'label' data that's 1 x 506 because the 'label' is a real number not a logical.
Example code below shows rapid divergence of nn.W and nn.a's
clear
load house_dataset ;%  use test house dataset, 13 variables in houseInputs,
% for house values, houseTargets, with 506 different samples. so
% houseInputs is 13 x 506, houseTargets is 1x506.
inputs = houseInputs(:,1:400)'; %select training data and transpose to deeplearntoolbox format
targets = houseTargets(1:400)'; %from Matlab format
rand('state',0);
nn = nnsetup([size(inputs,2) 100 1]);
nn.output='linear'; %this is a linear problem
opts.numepochs =  1;   %  Number of full sweeps through data
opts.batchsize = 1;  %  Take a mean gradient step over this many samples
[nn, L] = nntrain(nn, inputs, targets, opts);
trainpredict= houseInputs(:,401:420)';
targetpredict = houseTargets(1,401:420)';
nullpredict = zeros(1,20)';
nn.testing = 1;
nn = nnff(nn, trainpredict, nullpredict);
nn.testing = 0;

Hello,may I ask you some questions?firstly,I know you have used the DBN+NN for regression prediction,Can you share me some big data (the feature and the number of dataset are both big enough for using DBN+NN)？I have downloaded the blogDatatrain dataset for UCI,but when I test DBN+NN for regression prediction on it,the outcome is so bad, and the outputs are all the same!
Secondly,when I use the Matlab's house_dataset ,and split it into three parts,train_x,val_x,test_x.using the nn for regression prediction,it throws an error in nnsetup,that caused by the inner nn toolbox in Matlab.I change the nnsetup to nnsetups,but another problem occurs,none-existence field batchsize in
batchsize = opts.batchsize(in nntrain.m),why?
Thank you in advance!

Maybe, it's 'learning rate', but not 'learning weight'.
That worked! Thank you.


azkustoingest: Export ingestion resources

Is your feature request related to a problem? Please describe.
I would like to access the storage container URI so that I could upload my a file, then call FromFile() with the blob URI
Describe the solution you'd like
Add exported Ingestion function that returns ingestion resources, such as storage container and queues
Describe alternatives you've considered
Management query .get ingestion resources
Additional context
I want to export the blob URI so that another micro-service could take care of the actual upload, and only then enqueue the message.

What use case do you have that calling .get ingestion resources doesn't fit your needs?

What use case do you have that calling .get ingestion resources doesn't fit your needs?

None, I could call it myself.
Just though it might be nicer to obtain it from the package since it's already there, cached, and ready to use.

We don't normally expose internal client members.
Making them public would render them harder to alter (breaking changes and all).
We are working on a new version of the ingest SDK which will make it far simpler for users to separate the Upload phase from the ingest phase. Once it's out, it should be easy to leverage it to serve your needs.
Closing this for now.
Feel free to reopen if you have further questions.


[standup] q1 - e2e march week 5 & april week 1

This issue will consist of team plans w.r.t q1 e2e test cases after the introduction of TCID aka TestCaseID. A new comment can be started off by each team member & updated marking the progress of their tasks.
Important Notes:

TCID can be found from master plan
Team leads will merge the one or more job yaml fragments into .gitlab-ci.yml

CStorPoolAuto

None

E2E w.r.t recommendations

PR - recipe runner(stub) - https://github.com/mayadata-io/d-operators/pull/20 [Merged]

[x] Test cases from Metric/Volume analytics.
[x] Adding Readme for test test cases Metric/Volume analytics.
[X] Test cases to test Dmaas feature.

Team Member Harsh Shekhar

Setting up gitlab pipeline on CentOS based Rancher cluster.

[ ] Fix issue -- path "/var/openebs/local/pvc-*" does not exist.

Issue : https://github.com/mayadata-io/oep-e2e-rancher/issues/1

[ ] Add director-vendor repo in the pipeline

[ ] Debug maya-io-server check
[ ] Update the stages for Konvoy pipeline as per new stages.

Working on writing test cases in e2e.mayadata.io doc.

Refactor And Fix Openebs installation jobs:

[ ] Refactoring of openebs installation in self-connect-cluster
[ ] Refactoring of openebs installation in connected-cluster
[ ] Refactoring of openebs Data plane Installation on specific set of nodes
[ ] Refactoring openebs control plane Installation on specific set of nodes.
[ ] Refactoring of reinstallation of openebs in cluster
[ ] Refactoring of openebs resource limit installtion

Test Cases:

[ ] Recommendation API test case
[ ] Test case for Data-plane upgrade.


Get rid of specialized pullback generation for semantic member accessors

Currently there is a special path for semantic member accessors pullback generation (getters and setters). Maybe I am missing something, but this should not be required at all and generic pullback generation code should handle these functions just fine.
It did make a bit sense in the past when there was no support for inout arguments, so setters would certainly should be special-cased. I do not see any obvious reason why getters are special.
Anyway, if we'd remove the special case generation we're having few assertions failures. I believe this should be considered as as a bug, investigated and fixed. Ultimately, the generic code should handle pullback generation for semantic member accessors as-is.

Tagging @rxwei @dan-zheng for some retrospective and generic wisdom :)

Tagging @BradLarson @asavonic

Thanks for the mention.
Yes, you are right that there's no reason to special case pullback generation for normal getters and setters.

I recall we added "semantic member accessor" pullback generation for special-case handling of property-wrapper-backed properties: https://forums.swift.org/t/differentiating-wrapped-properties/35638.

Idea
Instead, we can make Differentiable conformance derivation treat wrapped stored properties like normal stored properties, using them to compute tangent properties in TangentVector. This makes behavior consistent for normal stored properties and wrapped stored properties: one might say this is a fix rather than a new feature.

#31173 pull request description has details:

Differentiation transform
The differentiation transform is also updated to support differentiation of
wrapped value accessors.
This is done via a new pullback generation code path for "semantic member
accessors". "Semantic member accessors" are accessors attached to member
properties that have a corresponding tangent stored property in the parent
TangentVector type.
These accessors have special-case pullback generation based on their semantic
behavior. Currently, only getters and setters are supported.
This special-case pullback generation is currently used for stored property
accessors and property wrapper wrapped value accessors. In the future, it can
also be used to support @differentiable(useInTangentVector) computed
properties: SR-12636.
User-defined accesors cannot use this code path because they may use custom
logic that does not semantically perform a member access.

Maybe you or @rxwei would have thoughts on whether "wrapped stored property" differentiation is still relevant.

One other reason for "semantic member accessor" special-casing: it would allow us to support _modify accessor differentiation in a special-case way without full support for coroutine differentiation.
https://github.com/apple/swift/blob/9e73dad31110312356469364ba314603d8cff4b7/lib/SILOptimizer/Differentiation/PullbackCloner.cpp#L2623-L2636
Maybe you or others have context on whether this is still relevant :)

Thanks @dan-zheng for the insights. This was really helpful. Actually, the question happened in the context of class differentiation (and modify accessors is one subtask here, it is important at least to support Array subscripts) as it would require to to special case even more and I found that ordinary pullback generation code worked just nice for the normal getters / setters here.
I will need to think a little bit about wrapped value accessors. Maybe we'd just "special case" less.

@dan-zheng So, currently we're doing special cases for stored properties (https://github.com/apple/swift/blob/main/lib/SILOptimizer/Differentiation/Common.cpp#L83) and wrapped ones (https://github.com/apple/swift/blob/main/lib/SILOptimizer/Differentiation/Common.cpp#L86)
It looks like we can keep the special case only for wrapped ones (as we'd need to access the underlying unwrapped field as written in your proposal), but remove the other, generic case. All tests do pass in such case.
I do not think that special casing will help with _modify accessors as "interesting" cases are user-provided (https://github.com/apple/swift/blob/main/stdlib/public/core/Array.swift#L751)

Nice! Sounds good to me, though I'm not an active code owner.

Yeah. I'm just doing some code archaeology to ensure we are not missing something important which there are no testcases for or other code references :) So, some past knowledge is very helpful and saves lots of time. Thanks!


Update Composer dependencies (2021-01-25-00-14)

Visual regression test failed!

Visual regression test failed!


XP tracker: Fix issue where progress bar shows 100.00% before level up

Saw this in discord:

Before:

After:

My first pull request so let me know if I did anything wrong!

Should this be really solved like this? this looks like rounding issue, so maybe avoid rounding

Probably could just configure the DecimalFormat to round down

I took your feedback into account, see new commit

@deathbeam is that change ok? tbh I've never used a static block like that before so thanks for bringing it to my attention

Yeah, looks fine


DEVENGAGE-1583 - Process automation triggers update to go sdk

@charliecon just in case you're confused whats happening here, I was updating the process automation triggers resource to use the Go SDK but we've realised it's going to be very difficult to update due to one of attributes being listed as a JsonNode which is basically just a placeholder value in the swagger docs. the actually type of the attribute is inherited depending on the values of other fields but this can't really be translated to Go.


The scripts slows down the browser to a hault when a table has lots of rows

Describe the bug
I have a table with lots of columns/rows. When a user submits an HTML form using "POST" request, my app query the database and renders the data into an HTML table.
Everything renders perfectly fine until I include the script that exports the table. When the export table is included it slows down rendering the page. The browse will keep giving me the following warning.
A web page is slowing down your browser. What would you like to do? [Stop it]  [Wait]

This issue sounds like #155 except #155 is just a bad ticket because this is a great plugin and I have been using it for a long time!
To Reproduce
Steps to reproduce the behavior:
Create an HTML table with lots of columns/rows. the page will come to a halt before it even finishes loading.
Expected behavior
I expect the page to load just fine with/without the table-export plugin.
The export script should not access the table in the DOM until after the page is loaded. Also, processing the table should only happen if/when the user clicks the "export" table. Not everyone using the web page will be exporting the data, so there is no need to add more load on the browser unless the user is trying to export the data.
Perhaps, you can create the export buttons after the page is loaded. But I would suggest delaying processing the table or initializing the rest of the script until the user clicks the export button. There may be a need to show a spinner during the export and prevent the export button from being clicked during the export just to avoid having to call the process more than once.
Screenshots

Desktop (please complete the following information):
Windows 7 64bit
Firefox version 71.0 (64-bit)

@clarketm  I think the main culprit with this script is the getExportData() function. I change my code so it manually exports the data as you can see in the below code, but the call to getExportData() takes forever to finish executing which caused the browser to slow down.
$(function (e) {
    'use strict';

    var tables = $('.exportable');

    if (!tables.length) {
        return;
    }

    $('<button class="btn btn-primary manual-export-to-xls" title="Export To Excel">Export To Excel</button>').insertBefore(tables);

    $(document).on('click', '.manual-export-to-xls', function (el) {
        var tbl = $(this).parent().parent().find('.export-table').first();
        var table = new TableExport(tbl, {
            formats: ['xls'],
            exportButtons: false,
            bootstrap: true,
            trimWhitespace: true
        });

        var data = table.getExportData(); // This call takes forever to finish which kills the browser.

        var exportData = data['export-buttons-table']['xls'];

        table.export2file(exportData.data, exportData.mimeType, exportData.filename, exportData.fileExtension);
    });
});

Pull request #195 fixes this problem once and for all. I tested the outcome on one report I have, the time to export the data went down from 12 seconds to 1! Yes, 10-11 seconds less without browser issue while not impacting the page load.


fwupd: 1.2.1 -> 1.2.3

Motivation for this change
The fwupd NixOS test passes :).
Also this disables the test plugin by default
for a slightly improved default experience.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

MetadataURI key in fwupd/remotes.d/fwupd-tests.conf points to wrong path (out output instead of installedTests) but fixing it will probably cause a cycle.

I think they from the wrapped binaries,
so maybe your grep invocation wasn't checking 'hidden' files?
On Fri, 04 Jan 2019 16:06:42 -0800, Jan Tojnar<EMAIL_ADDRESS>wrote:

jtojnar commented on this pull request.

};

outputs = [ "out" "lib" "dev" "devdoc" "man" "installedTests" ];

outputs = [ "out" "dev" "devdoc" "man" "installedTests" ];

Weird, I am getting the circular dependency but cannot grep the lib references in the out
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/pull/53425#pullrequestreview-189569772Non-text part: text/html

Is seems like the issue is that the newly added plug-ins are in lib output instead of out.
$ git checkout channels/nixos-unstable-small
$ du --human-readable $(nix-build -A fwupd.all) --summarize
2,0M	/nix/store/d92li0fnkyxdyr98xccwxiw2pm2l4h8p-fwupd-1.2.1
3,7M	/nix/store/cyjma8cf68lg1rcdli55w61rlhw8lnky-fwupd-1.2.1-lib
272K	/nix/store/dh33r3xnykrhjh0nvilfaxwf6qsidslq-fwupd-1.2.1-dev
976K	/nix/store/502c6qikkfq08sy71g86bac3wqbc1kwf-fwupd-1.2.1-devdoc
24K	/nix/store/rvvrly90n0c0gqw2dqmc2w9jisdl0va4-fwupd-1.2.1-man
52K	/nix/store/0fvw17z4w3rv0kqxcpbmi43rm1vcxs81-fwupd-1.2.1-installedTests
$ nix path-info -S /nix/store/d92li0fnkyxdyr98xccwxiw2pm2l4h8p-fwupd-1.2.1 /nix/store/cyjma8cf68lg1rcdli55w61rlhw8lnky-fwupd-1.2.1-lib
/nix/store/cyjma8cf68lg1rcdli55w61rlhw8lnky-fwupd-1.2.1-lib	  232096728
/nix/store/d92li0fnkyxdyr98xccwxiw2pm2l4h8p-fwupd-1.2.1    	  570954824
$ git checkout dtzWill/update/fwupd-1.2.3
$ du --human-readable $(nix-build -A fwupd.all) --summarize
11M	/nix/store/79dn0g3wnnghk4bx6b75vxdhmmfkamg0-fwupd-1.2.3
272K	/nix/store/9aphq7lr2k6rnim1i843n0hgli2if01y-fwupd-1.2.3-dev
992K	/nix/store/s23vnalm4gp0bgh1h6hbnjpcankiv7r8-fwupd-1.2.3-devdoc
24K	/nix/store/ahppw5jh7nbib2yhx76cxbaycf0rg1bm-fwupd-1.2.3-man
52K	/nix/store/4z7zwmnnl8mvk7w8x52qcim9ncg8lncr-fwupd-1.2.3-installedTests
$ nix path-info -S /nix/store/79dn0g3wnnghk4bx6b75vxdhmmfkamg0-fwupd-1.2.3
/nix/store/79dn0g3wnnghk4bx6b75vxdhmmfkamg0-fwupd-1.2.3	  575884792

Hmm, well that's easy enough to fix (pushed commit doing so).
What's the goal with the separate "lib" output here, anyway?
I'm not sure what uses fwupd (gnome-software?),
would this maybe make libfwupd users have difficulties
using the plugins?

(mini-rant, don't mind me...)
BTW gah at another piece of software with a dynamic plugin system
that is, in practice, entirely resolved at compile-time...
and the rest of the use cases are all install/deploy-time.
So no reason to have search directories of shared libraries
that are totally-going-to-work-TM,
concern yourself with how plugins are 'discovered';
similarly no need for blacklist configuration files...
just include the ones you need?
(best way to blacklist code is to never have it on your computer in the
first place :P)
O:)
On Fri, 04 Jan 2019 18:38:34 -0800, Jan Tojnar<EMAIL_ADDRESS>wrote:

Is seems like the issue is that the newly added plug-ins are in lib output instead of out.
$ git checkout channels/nixos-unstable-small
$ du --human-readable $(nix-build -A fwupd.all) --summarize
2,0M	/nix/store/d92li0fnkyxdyr98xccwxiw2pm2l4h8p-fwupd-1.2.1
3,7M	/nix/store/cyjma8cf68lg1rcdli55w61rlhw8lnky-fwupd-1.2.1-lib
272K	/nix/store/dh33r3xnykrhjh0nvilfaxwf6qsidslq-fwupd-1.2.1-dev
976K	/nix/store/502c6qikkfq08sy71g86bac3wqbc1kwf-fwupd-1.2.1-devdoc
24K	/nix/store/rvvrly90n0c0gqw2dqmc2w9jisdl0va4-fwupd-1.2.1-man
52K	/nix/store/0fvw17z4w3rv0kqxcpbmi43rm1vcxs81-fwupd-1.2.1-installedTests
$ nix path-info -S /nix/store/d92li0fnkyxdyr98xccwxiw2pm2l4h8p-fwupd-1.2.1 /nix/store/cyjma8cf68lg1rcdli55w61rlhw8lnky-fwupd-1.2.1-lib
/nix/store/cyjma8cf68lg1rcdli55w61rlhw8lnky-fwupd-1.2.1-lib	  232096728
/nix/store/d92li0fnkyxdyr98xccwxiw2pm2l4h8p-fwupd-1.2.1    	  570954824
$ git checkout dtzWill/update/fwupd-1.2.3
$ du --human-readable $(nix-build -A fwupd.all) --summarize
11M	/nix/store/79dn0g3wnnghk4bx6b75vxdhmmfkamg0-fwupd-1.2.3
272K	/nix/store/9aphq7lr2k6rnim1i843n0hgli2if01y-fwupd-1.2.3-dev
992K	/nix/store/s23vnalm4gp0bgh1h6hbnjpcankiv7r8-fwupd-1.2.3-devdoc
24K	/nix/store/ahppw5jh7nbib2yhx76cxbaycf0rg1bm-fwupd-1.2.3-man
52K	/nix/store/4z7zwmnnl8mvk7w8x52qcim9ncg8lncr-fwupd-1.2.3-installedTests
$ nix path-info -S /nix/store/79dn0g3wnnghk4bx6b75vxdhmmfkamg0-fwupd-1.2.3
/nix/store/79dn0g3wnnghk4bx6b75vxdhmmfkamg0-fwupd-1.2.3	  575884792

--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/pull/53425#issuecomment-451621133Non-text part: text/html