text:
Allow project managers to create draft projects

Description

Create a draft project if user doesn't have permission to create a real one
Draft project records in DB contain same info as a CreateProjectInput record
Draft projects show up in admin dashboard
Draft projects have a project page that looks similar to real projects, but with only name and description
Admins can promote draft projects to "real" status
When draft projects are promoted to real status, the DB row is deleted from the DraftProjects table in the same transaction that creates the row in the Projects table

Fixes #506
Screenshots
Admin dashboard:

Draft project page:

After clicking "Promote" button:

Thinking about it, I don't like the design of giving projects draft status. It adds a lot of complication (everything that touches the projects table now has to think about draft status) for what feels like a small improvement.
Instead, perhaps a DraftProjects table should exist, containing only a bare minimum of fields: just exactly what's in CreateProjectInput and nothing else. Then on the admin dashboard, we look at both projects and draft projects (with draft marked with a special icon or italics font style or something), but everywhere else we only ever query the projects table. And then promoting a project from draft status involves pulling its data out of DraftProjects, and (in a transaction) creating the project and then deleting the corresponding draft project.
Drawbacks: a new table, which most code won't know about. Advantages: a new table, which most code won't know about. So any projects in the Projects table are real projects and the draft status has no implications for most existing code because it won't ever see draft projects.

Is there an issue that this PR addresses?  I wasn't aware of the need for draft projects...

Have a few Typescript errors to fix up but this is working as-is, and ready for review.
(One other thing I'll fix before merging: currently in the admin dashboard, a draft project shows "undefined" for the number of users. I'll make sure it shows 0 instead).

So...naming things is hard.  I personally find the term "draft project" misleading.  I think a name like "stub project" or placeholder project" describes this feature more accurately.  It's probably too far along to make a name change, and maybe you are fine with "draft", or maybe it's not really worth thinking about any more.

This is some nice work. There's some work to do around promoting and some decisions to be made.
There are currently 2 ways to promote a project and neither of them are perfect. I think there should only be one
1. Click the "promote" button and you're done
   This doesn't allow the admin to customize the project code, which I think is necessary

2. Click the email link, make any desired changes on the "Create project" page and "Create"
   This won't delete the draft project, because it doesn't know the draft project's ID

I think I like option #2. The "Promote" button could link to the "Create project" page, just like the link in the email. Benefits:
* We could remove all editing capabilities from the draft project page (e.g. `ChangeDraftProjectName`) and wouldn't need to add more UI for editing the project code

* The email workflow would just keep working. We could make the email link to the Draft project page instead,, but the Create page makes for a faster workflow, so I think I'd go with the Create page.

* We'd have to make the email link and the Create page both know the draft project ID

Because there are still some biggish changes to make I didn't review everything super thoroughly.

I'm actually wondering if the draft project page is worth the effort. Then all roads lead to the create project page. If you click the project in the list you will end up at the create project page. Same with the email. My main concern is that a draft project page represents a decent maintenance burden if we want to keep it in sync with the project page, it's effectively duplicate code and as we add more stuff to the project page the draft page will drift apart. I know it was probably a fair bit of work to create it, but if we want to let the admin edit the draft maybe it would be easier to just ditch the page all together.

I found it very strange to have a project entry in the admin dashboard that the admin CAN'T click on, and he/she has to find an email that he/she received, possibly days ago, in order to create the project. I'll remove the draft project page if we think it's necessary, but I don't think it's a great idea. Better, IMHO, would be to make a "project basic info" component that contains the shared code from the project or draft-project pages, or tweak the project page so that it can handle real projects or draft projects. Either way, we'd remove the duplication.

I found it very strange to have a project entry in the admin dashboard that the admin CAN'T click on, and he/she has to find an email that he/she received, possibly days ago, in order to create the project. I'll remove the draft project page if we think it's necessary, but I don't think it's a great idea. Better, IMHO, would be to make a "project basic info" component that contains the shared code from the project or draft-project pages, or tweak the project page so that it can handle real projects or draft projects. Either way, we'd remove the duplication.

Oh I think they should still be able to click on it, but it just takes them to a pre filled out create project page.

I agree. I don't think we get enough out of the draft project page. And it adds a lot of code.

Okay, I'll delete the draft projects page and have the links go to the create-project page, pre-populated.

Yes, this does end up much cleaner with the create project page being the single source of truth creation. Thanks for the suggestion. I also took the opportunity to clean up the Typescript types. @hahn-kev @myieye - This is ready for re-review and, hopefully, merging.

As @laineyhm used to say: LGTM = Let's Get This Merged 🤩.

As @laineyhm used to say: LGTM = Let's Get This Merged 🤩.

😄

authors: hahn-kev laineyhm megahirt myieye rmunn

repo: sillsdev/languageforge-lexbox


text:
Variations now shows weight, height, width and depth fields in the CMS

I'm sure many products have these fields but equally lots don't. What does a membership weigh?
Can these fields be controllable/editable? My hack is to add  css rules to hide them.

You should be able to remove/alter them with an Extension, by implementing updateCMSFields.

source: gharchive/issue

authors: bbowden bummzack

repo: silvershop/silvershop-core

license_type: permissive

license_source: bigquery


text:
Add extension point onAfterElementalAreaCreation

Add an extension point for after the Elemental Area has been created. The extension point can be used to do things such as add blocks to the Elemental Area by default when a page is created. It differs from the exisiting extension point onAfterRequireDefaultElementalRecords in that this new one is run every time the elemental area is created (e.g. when a new page is created) rather than when requireDefaultRecords is run during a dev/build.

It's an enhancement so should be branched off and target 4 branch.
If you need add elements when a page is being created, can you use onAfterWrite on the page itself?
I recall we add several default blocks on page creation in one project and never needed a new extension point in Elemental, so just curious if there are other ways of achieving the same.

If you need to add elements when a page is being created, can you use onAfterWrite on the page itself?

That's the approach I'd expect for this use case, as well. I can't think of a time when this hook would be useful that onAfterWrite() with a $this->isInDB() or $this->owner->isInDB() condition won't do.
@armsofnoodle is there a situation where the above won't work that this extension hook covers?

The initial thought was to go with onBeforeWrite() but given that would rely on the the order of all the extensions' onBeforeWrite() being called in the same order each time it was a bit too fragile (as the elemental area needs to be created before we try assign blocks to it). Using onAfterWrite() with a $this->owner->isInDB() condition doesn't work either because $this->owner->isInDB() will return true if the page already exists and false if it doesn't. If the page doesn't exist then we can't add blocks to it, and if it does exist we don't necessarily want to add blocks to it because this being after write() that will add blocks every time we save the page.
I'm happy to investigate other routes if you think this still isn't necessarily required, if not though I'll update the branching and targeting 😃

Using onAfterWrite() with a $this->owner->isInDB() condition doesn't work either because $this->owner->isInDB() will return true if the page already exists and false if it doesn't. If the page doesn't exist then we can't add blocks to it

After looking at the order of operations, it looks like onAfterWrite() wouldn't be called until there is a DB record anyway, so that should always return true - my mistake, I misremembered that.
You could however use $this->owner->isChanged('ID') (only true the first time the object is written, unless you're doing some real weird stuff), or add your own flag in there - e.g. a $db field that is false by default, and you can set true the first time onAfterWrite() is called and you add your blocks in. Or if those blocks should always exist, check if the blocks are in the page's ElementalArea and if not, add them.
Basically I think if there's a clean way you can achieve this through onAfterWrite(), that's probably preferable.

Thanks for the suggestions, we were able to implement it using onAfterWrite(). Happy to close this PR 😄

@GuySartorelli @armsofnoodle I would like to reopen this one and push for the extension point to be added.
onAfterWrite() does keep track of the changed state of the ID, however, it doesn't pair well with publishing actions. Take this example.
<?php

namespace App\Models;

use SilverStripe\Dev\Debug;
use SilverStripe\ORM\DataObject;
use SilverStripe\Versioned\Versioned;

/**
 * @property string $Title
 * @mixin Versioned
 */
class MyModel extends DataObject
{
    private static string $table_name = 'MyModel';

    private static array $db = [
        'Title' => 'Varchar(255)',
    ];

    private static array $extensions = [
        Versioned::class,
    ];

    protected function onAfterWrite()
    {
        parent::onAfterWrite();

        Debug::dump('onAfterWrite: ' . ($this->isChanged('ID') ? 'changed' : 'not changed'));
    }
}

And I can test what happens quite simply here:
<?php

namespace App\Tests\Models;

use App\Models\MyModel;
use SilverStripe\Dev\SapphireTest;

class MyModelTest extends SapphireTest
{
    public function testOnAfterWrite(): void
    {
        $model = MyModel::create();
        $model->Title = 'Starting Title';
        $model->write();
        $model->publishRecursive();
    }
}

The output is:
onAfterWrite: changed
=============================
onAfterWrite: changed

Basically... onAfterWrite() is also triggered when the model is published, and at that time it still believes that the ID has been changed. The result is that we end up with one set of Blocks being created when the Page is initially written, and then a second set of Blocks whenever the page is eventually published.
I know there would be ways around this (like adding additional logic to onBeforePublish to track when onAfterWrite() is called within that context), but I think that having to keep track of the context of the onAfterWrite() is a pain, and I think that this simple extension point would be a much nicer solution.
We're just asking to please have some level of access to the ElementalArea at the point when it is created.

@michalkleiner What are your thoughts on that? I think it's a fair point but I also wonder if it wouldn't be better resolved by adding a more consistent way to identify in onAfterWrite() whether this is a write or a publish or a write-and-publish - or something like that?

Hi @kinglozzer (CC: @armsofnoodle @GuySartorelli), thanks for jumping in! That looks to work!
I must admit that I don't fully understand what's going on though. Are we saying that the ID is sometimes stored as a string rather than an int, and so the default setting of DataObject::CHANGE_STRICT is seeing it as "changed"? That's definitely a [gotcha] that I was not aware of with our IDs.

Are we saying that the ID is sometimes stored as a string rather than an int, and so the default setting of DataObject::CHANGE_STRICT is seeing it as "changed"?

Yep, exactly, though I must admit I thought we had solved it in core. Out of curiosity, are you using MySQLDatabase or MySQLPDODatabase? It might be worth trying switching between them to see if it’s driver-specific (from memory, PDO caused more issues than it solved, might be completely unrelated to this though!)

We're using MySQLDatabase.

source: gharchive/pull-request

authors: GuySartorelli armsofnoodle chrispenny kinglozzer michalkleiner

repo: silverstripe/silverstripe-elemental

license_source: github-api


text:
Run PHP CodeSniffer in parallel mode by default

Run PHP CodeSniffer in parallel mode
Description

Resolves #20

Usage

Default value for parallel mode is 10, which should work with most dev and CI environments. This value can be overridden using the --parallel=X parameter
The value parallel mode should be less or equal to the amount of processes available on a given machine. For ddev, the amount of processes available is 12, on CI (Docker medium) the amount is 36

@Cambis @n8-dev can we merge this?

Hmm...
Overall I do dislike the output reduction from parallel going to a per parallel status..
eg:
> bespoke-phpcs
............................................................  60 / 512 (12%)
............................................................ 120 / 512 (23%)
............................................................ 180 / 512 (35%)
............................................................ 240 / 512 (47%)
............................................................ 300 / 512 (59%)
............................................................ 360 / 512 (70%)
............................................................ 420 / 512 (82%)
............................................................ 480 / 512 (94%)
................................                             512 / 512 (100%)

Time: 13.26 secs; Memory: 54MB

> bespoke-phpcs '--parallel=8'
........ 8 / 8 (100%)

Time: 2.64 secs; Memory: 6MB

It's a good mental feedback to see the E/F change to . as you work...
But the speed and memory usage and all sorts is much better..
I do wish  we could have both :P
But yeah. this makes sense
🚀

repo: silverstripeltd/bespoke-standards


text:
form-inline -> Form-control and selectpicker conflict?

I have inline form with 1 select picker and one text box
https://jsfiddle.net/k8aqr99g/
Basically I would like the dropdown to resize like the default bootstrap inputs doo when the sceensize changes.
if you look at the jsfiddle above and resize the output window so that the form goes to inline and back. you can see how the normal bootstrap one resizes correctly and how the select is either always big or always small...
do I need to modify anything in my code to make this work as bootstrap does normally?

Hi Mick !
I have the same issue and wondered if you managed a way out ?

No sorry. I just left it looking a bit rough.

Please follow #1969. In the meantime, setting data-width="auto" or data-width="fit" on the select should fix your problem (you're using width="fit" in your example, which is incorrect).

@caseyjhol Can confirm data-width="fit" worked for me! thank you very much!!!
https://www.randomisemytrain.com/
@erikahaiste I also updated to version 4.3.1 of bootstrap and bootstrap-select 1.13.6

authors: caseyjhol erikahaiste mickster04

repo: silviomoreto/bootstrap-select

license: mit


text:
Allow wildcards on the command line together with a dataset path

The information that I need is not on the default plot but on the dataset itself. A little enhancement that would be handy for me:
$ silx view /tmp/test_hdf5_gray8s_*.h5::/entry_0000/instrument/Simulator/data
ERROR:silx.app.view.main:Filename '/tmp/test_hdf5_gray8s_*.h5' must be a file path

I try several variants with quotes but without luck.

The * is indeed not supported in this case, but it is supposed to work if you provide the full filename.

it is supposed to work if you provide the full filename

Correct, it works. What I suggest here is a little extension to allow opening a given dataset for a set of (pattern matching) files. Just for convenience. It's probably doable with a little bit of bash scripting too...

It would also be nice to be able to combine data file pattern and data path pattern like
silx view file_pattern*.hdf::entry*/data

Furthermore in the case where we have a valid nexus dataset we could request a specific slice.
For example if we have a set of entries containing a 3D /data dataset that can be interpreted as an image (interpretation == image in h5py dataset attribute) then we could ask to display the last frame of the stack.
We could provide this as another parameter like
silx view file_pattern*.hdf5::entry*/data::slice=-1

Or maybe update the current way to have something like:
silx view file_pattern*.hdf5::/entry*/data&slice=-1

Or maybe go to the silx DataUrl way like:
silx view file_pattern*.hdf5?path=/entry*/data&slice=-1

@payno I would recommend you to contact @cpascual He was working sometime ago on URIs related to that.

Hi. I don't know about the internal implementations of the URIs (or URI-like) in silx, so I can only talk in abstract terms based on my experience with taurus, and more specifically, with the h5file plugin for taurus.
In taurus we try to be strict in using URIs that conform to the RFC3986 (although we allow some exceptions in some specific cases). This may be interesting for standarisation, but it imposes restrictions that may not be worth to you... so just decide what better suits your case.

It would also be nice to be able to combine data file pattern and data path pattern like

In the context of RFC3986 the  I'd say file_pattern*.hdf::entry*/data would be ok

we could request a specific slice.

Hi. I don't know about the internal implementations of the URIs (or URI-like) in silx, so I can only talk in abstract terms based on my experience with taurus, and more specifically, with the h5file plugin for taurus.
In taurus we try to be strict in using URIs that conform to the RFC3986 (although we allow some exceptions in some specific cases). This may be interesting for standarisation, but it imposes restrictions that may not be worth to you... so just decide what better suits your case.

It would also be nice to be able to combine data file pattern and data path pattern like

In the context of RFC3986 the  I'd say file_pattern*.hdf::entry*/data would be ok

we could request a specific slice.

For slices, we in taurus implemented them using the "fragment" part of the URI. This makes sense in the case of taurus because the path of the taurus URI always refers to whole hdf5 datasets and hence the slicing is done at client level (which is what the URI fragments are for ). Also, we decided to break the strict RFC here to allow using a python-slice-like syntax for the slicing.
However in the case of silx view, it may make sense to have the slice as part of the path (as in silx view file_pattern*.hdf5::entry*/data::slice=-1)
In any case, I recommend to read the TEP15 document in which we discuss relative merits of various ways of encoding the slices in the taurus URIS, since some may be of interest for silx.
silx view file_pattern*.hdf5::entry*/data
silx view file_pattern*.hdf5::entry*/data#[]
You can see th

thanks a lot for all this information. This is great to be able to benefit from your experience on the topic.

authors: cpascual payno sdebionne t20100 vasole

repo: silx-kit/silx

license: MIT


text:
[plot] Create an icon for zoom mode

It would be nice to be able to switch back to the default mode while we use another mode.
For example the mask provide a tool to do that (the cursor icon), It would be nice to provide it from the plot itself, so we can switch from profile tool to zoom tool.

Maybe we can also have a tool button to switch between zoom and pan (as proposed in #868) interaction modes.


text:
Fisher & Paykel RF605QDAA (Quad Door) Fridge

The fridge is not displaying properly. This is what I see in the GE App:

This is what I see in HA:

The top is double door fridge, bottom left is freezer and bottom right can be changed between:  Freeze,  Soft Freeze, Chill and Fridge
If you tell me what you need and how to get it, I will provide more information...

I have the same fridge & the same information (identical) being reported.
I am also happy to provide logs to help with the development of this integration.
It would also be great if there was current temperatures of the compartments.
My freezer has stopped working and is about +10 Deg C despite the -18 Deg C set point. I have put my Netatmo monitors in the compartments to  monitor the temperatures. The Fisher Paykel tech is booked in for the 10-October.

I think that the integration can provide only what's in the native App. Tbh, I don't think it provides current temperatures...

I expect that might be the case. However with my Daikin air conditioners, the app does not have the compressor speed, but the Home Assistant integration does have compressor speed, which I have found useful. I expect the current temperatures would not been in the SmartHQ app as customers might be concerned with the temperature not being exactly on the set point, however as an engineer, I understand that the temperature will fluctuate even under great control.

I expect that might be the case. However with my Daikin air conditioners, the app does not have the compressor speed, but the Home Assistant integration does have compressor speed, which I have found useful. I expect the current temperatures would not been in the SmartHQ app as customers might be concerned with the temperature not being exactly on the set point, however as an engineer, I understand that the temperature will fluctuate even under great control.

Yes, one would reasonably expect that here must be current temperature reading somewhere in the fridge. After all, how else would it maintain the set temperature? But if it is exposed to API/Cloud or whatever SmartHQ is using is so far a mystery.
If you find something, please let me know. I too had the freezer fail and knowing that earlier could safe some food and time with servicing.

Hi guys, Fpa ref products do not expose compartment temperatures to the app as we don't want people getting upset when their target temp != compartment temp.  You'd be surprised how many people get upset when their product temp doesn't exactly match the target temp at all times.
Internally the product knows the compartment temperatures.

Hi guys, Fpa ref products do not expose compartment temperatures to the app as we don't want people getting upset when their target temp != compartment temp. You'd be surprised how many people get upset when their product temp doesn't exactly match the target temp at all times.
Internally the product knows the compartment temperatures.

Exactly what I was expecting.  If I was at F&P, I would be developing SMART functionality in a way that technicians could possible remotely troubleshoot. So, there must be a backdoor somewhere, or a way to read these... Perhaps they even go to the cloud and are just not exposed to the App... Time to set up a sniffer and capture all the traffic... Nice hack challenge... 🤣😂😁

Hi guys, Fpa ref products do not expose compartment temperatures to the app as we don't want people getting upset when their target temp != compartment temp. You'd be surprised how many people get upset when their product temp doesn't exactly match the target temp at all times.
Internally the product knows the compartment temperatures.

Exactly what I was expecting. If I was at F&P, I would be developing SMART functionality in a way that technicians could possibly troubleshoot remotely. So, there must be a backdoor somewhere, or a way to read these... Perhaps they even go to the cloud and are just not exposed to the App... Time to set up a sniffer and capture all the traffic... Nice hack challenge... 🤣😂😁

There isn't a service mode that exposes these values to wifi, yet.  There will be in the future though ;)

Per my original message, I have had a problem with my Quad door Fisher & Paykel fridge recently.
In order to see what the temperatures are doing in the fridge, I have had to put my Netamo sensors in each compartment.
The fridge is doing as expected with a set point of 3 Deg C and the actual varying between 3 & 4 Deg C. The variable temperature compartment with a set point of -18 Deg C does vary a lot. It does get down to about -15 Deg C but does get close to zero. The big problem is the freezer with the set point being -18 Deg C but the current temperature being about +11 Deg C (yes positive). Has been like this for nearly 2 weeks. The Fisher Paykel technician should be here Thursday to look at it. I was hoping to have some actual temperatures in the app or Home Assistant, but I do understand customers would be concerned about normal fridge/freezer temperature behaviour.
I plan to have the sensors back in the compartments for 24hrs before the Technician is due to arrive.
I also had the problem that the freezer was well and truly defrosted before I knew there was a problem. An alarm on the fridge or app would have been helpful. I have had lots to do with alarming in my work. I understand that not getting an alarm right can cause a lot more problems. My thoughts on an alarm would be something like the compartment temperature has not been within 4 degrees C of set point for 6 hours. So for my freezer, with a set point of -18 Deg C, after it was warmer than -14 Deg C for 6 hours would have alarmed. Even if the notification was not active on the fridge or in the app, if it was available in Home Assistant would have helped.
The app has lot of potential. I do understand that more information for those who do not understand could be very problematic.
I look forward to see how this develops to help service technicians and end users.

That's exactly what happened to my fridge on 8 March (that one was not having the smart module in). I was lucky that technician came next day and quickly determined that the problem was in sealed internal part and the only possible fix was to replace the fridge under warranty. That was quick... But then it took 52 days of waiting and over 7 hours on the phone with various parts of F&P, shipping company and local delivery/service person to have the replacement in my home...
So good luck to you...
Disclaimer: I have had various F&P products since 1992 and this was the first one that had a problem, ever. I hope the experience above was one off - just unlucky combination of bad luck (apparently the replacement fridge was shipped to wrong address initially), Easter, Anzac Day and me being in Tasmania.


text:
🛑 Lyson NZ is down

In 5922fb6, Lyson NZ (https://$LZ_SITE1/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Lyson NZ is back up in 4a6dd4e after 16 minutes.


text:
Mint installation instructions

Hey Simon, I think it's worth adding installation instructions for Mint. This package manager checks for executable products so there is no additional configuration needed.

@FelixHerrmann Great idea! I don't have any experience with Mint but I assume you've tested that the instructions in the PR works and will merge them right away 😊 Thanks for your contribution! 🙏

Oh that was quick, thank you! You should give Mint a try, it is a great tool.

authors: FelixHerrmann simonbs

repo: simonbs/dependency-graph


text:
Restore (and fix) function to multiply lengths

SILE may not have a use for these internally, but I keep running into times it would be nice to be able to treat a length as a number that can be multiplied and dived by some increment. Rather than having to manually convert to a number every time, it seems to make sense just to teach Lua how to handle × and ÷ operations on lengths. Given that it already handles + and -, this seem like the most expected behavior from an end user perspective.

Coverage decreased (-0.09%) to 95.693% when pulling 9f239fa80e4f2af7fce097d8e0b72bc3f0031361 on alerque:multiply-lengths into 489e536bd30dfecb0a233a4ba55beacfa83c2210 on simoncozens:master.

Thanks, looks good. To give a bit of historical context, the functions were originally removed because there was a time I wanted to make very sure what was a number and what was a length; because adding a number to a length propagates the lengthiness, Length objects were turning up in strange places, like output co-ordinates. So I made the multiplication cause an error, so that length handling had to be done explicitly. I think we've got beyond that stage now and sorted out what needs to be a length and what needs to be a number, so it's fine to add this back in.

That's pretty much what I figured from git  blame which told pretty much the same story.
Incidentally I don't think we're quite out of the woods yet. There is still some inconsistency in when function arguments take string arguments and parse them, when they take pre-parsed lengths and when they need ready-made glues etc.

authors: alerque coveralls simoncozens

repo: simoncozens/sile


text:
Doesn't work if cuda is not installed in usr/local

If cuda is not installed in 'usr/local', it does not run correctly.
This is due to lines 42 and 46 in ops.py
Note also that lines 37-40 are not used in ops.py, and therefore neither is line 17 in config.ini.
My simple fix to this was to replace lines 37 to 46 in ops.py with the following:
    out, err = subprocess.Popen(['which', 'nvcc'], stdout=subprocess.PIPE).communicate()
    cuda_dir = out.decode().split('/cuda')[0]

    nvcc_cmd = "nvcc -std=c++11 -c -o {} {} {} -D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC -I " + cuda_dir + " --expt-relaxed-constexpr"
    nvcc_cmd = nvcc_cmd.format(" ".join([fn_cu_o, fn_cu_cc]),
                               tf_inc, tf_lib)
    subprocess.check_output(nvcc_cmd, shell=True)
    gcc_cmd = "{} -std=c++11 -shared -o {} {} -fPIC -L " + cuda_dir + "/cuda/lib64 -lcudart {} -O2 -D GOOGLE_CUDA=1"

I also removed line 17 from config.ini
Finally, I know this is a custom config file, but I would also suggest perhaps changing line 15 in config.ini to
g++ = g++
I have tested on 3 different machines, all with different versions of linux, tensorflow, and cuda. With these small changes, your code runs immediately following a clone from this repo on all of them (after copying over the config.ini file of course.)
Just a few small suggestions to make things as out-the-box as possible! :)

Many thanks! I changed the code as suggested. Sorry for taking so long to respond - I am very busy with new projects.

it has been solved, thank. :)

@bragilee Excuse me, could you tell me how to solve this issue? I have exactly the same problem but have no idea how to fix it...
Thank you very much!

Hi @DeckerDai ,
sorry about late.
It has been a long time since I did not work on this problem. Previously I tried to run this repo then I moved to other projects.
For my case, I only make the cuda version+cudnn version compatible with this repo. I am not quite sure about what other factors will have effects on compilation, for example, gcc. I suggest you can start to follow exactly the same versions used in this repo.
Thank you.

authors: DeckerDai bragilee djl11 simonmeister

repo: simonmeister/UnFlow


text:
Replace Recommonmark by MyST

Recommonmark is deprecated and no longer recommended by Sphinx. It should be replaced by MyST.

[ ] requirements.txt
[ ] docs/docs/source/conf.py (extensions). See DSMS docs
[ ] Admonitions
[ ] eval_rst directive

Getting started guide from MyST

/cib

I spotted a bug in https://simphony.readthedocs.io/en/dev/contribute.html, probably due to this change.

/cib

authors: kysrpex pablo-de-andres

repo: simphony/docs


text:
Ember generate error message when installing

$ ember install ember-cli-simple-auth
version: 0.2.3
Installed packages for tooling via npm.
installing
Installing browser packages via Bower...
  cached git://github.com/simplabs/ember-simple-auth-component.git#0.8.0-beta.2
Installed browser packages via Bower.
installing
The `ember generate` command requires an entity name to be specified. For more details, use `ember help`.

Any idea what this error might be? As far as I can tell, the installation did not proceed successfully. for instance, I see no ember-simple-auth initializer.

see e.g. #28

authors: marcoow rtm

repo: simplabs/ember-cli-simple-auth


text:
Improved current-user and it's loading

api/users/me version of currentUser returns a promise even if session is invalid, so we can always call get('currentUser').load().catch( () => this.get('session').invalidate() )
In currentUser loading we need to invalidate session if currentUser fails. The scenarios is that we had valid session so ESA did restore therefore beforeModel is called (and no sessionAuthenticated), but in this case it's possible that backend no longer considers the session valid, and it manifests as an error for currentUser, we need to invalidate session in this case too.

This seems good. Can you update the dummy app as well?

@marcoow updated dummy app

authors: marcoow mfazekas

repo: simplabs/ember-simple-auth


text:
Cleanup Initializer

When calling simple-auth/configuration's #load function, the
config parameter is ignored.
Once it is removed from the parameters list, the call site (within the
initializer) no longer requires the './utils/get-global-config' module
to be imported.

config argument is used in https://github.com/simplabs/ember-simple-auth/blob/master/packages/ember-simple-auth/lib/simple-auth/utils/load-config.js

authors: marcoow seanpdoyle


text:
{"Value cannot be null.\r\nParameter name: key"} exception throws from CsdlReader.TryParse

Hi,
I am getting an error on OData client code generation.
Metadata file attached. Please help me to solve this.
Thanks
metadata.txt

Hi,
Can I get help in client code generation for the attached OData service?
Thanks
Ashok


text:
Extend to include Places 1.2

The latest master only included support for SimpleGeo Places 1.0. This commit includes support for Places 1.2. This was done by extending the SimpleGeo prototype to SimpleGeo.Places and SimpleGeo.Places12, respectively. The README has been updated to include information on how to use both versions of Places.
You must still use Places 1.0 if you intend to use getNearbyPlacesByLatLng, getNearbyPlacesByAddress, and getNearbyPlacesByIp. You should use Places 1.2 for getNearbyPlacesFromBBox and getNearbyPlacesText. The only overlap that exists is in the getNearbyPlaces function to stay as DRY as possible.
Please do send me a message/email with comments or suggestions. This is my first major commit to any project, so thoughts would be much appreciated.

By the way, I noticed you don't have Issues enabled here, but I wanted to float this possibility: using Mikeal Rogers' request in place of the http module. It's much simpler. I understand that you might want to keep the dependencies to a minimum, though.

repo: simplegeo/simplegeo


text:
Move featured pattern to landing page

A featured pattern can currently be seen on the pattern library page. That section should move to the landing page.
layout reference

closed in #109

authors: cafca okdistribute

repo: simplysecure/dots-website


text:
KMT flee to Taiwan with Chinese pops migrating

by officialsunday
Secondly, when the Republic of China gets the event to flee to Taiwan, I think there should be a pop increase on Taiwan to simulate the flight of the anti-communists, who fled mainland China to Taiwan with Mr Chiang. Of course, rather than Hokkien culture, they should be of Chinese culture.

Most of the pops they brought to Taiwan are famous generals,powerful bureaucrat and warlord(maybe not so powerful after arriving Taiwan)and influential scholars.So I think the pop is not only increase in quantity but also in quality

No need to increase the population growth as it is possible to force pops to relocate from mainland.

My idea was to move some soldier/officer pops from Nanjing area to Taiping. Creating a POP bump for ROC, correlating to the migration during that period. It would also enable ROC to maintain a sizable army.

repo: simsulla/nwomod


text:
Fertile Crescent Plan

Ok here is the pull request for the Fertile Crescent plan, I finally managed to get my github repository working properly again. From what I checked the previous 6 commits before the Fertile Crescent Plan could just be ignored as I made them to match my repository with the main one.

I assume you use the github windows client? And that you have branch that you are working in, right.

Before creating your "pull request" you must do a "update from master"

Then create the "pull request"

I cant add this because you are not in sync with the master ("update from master").


text:
Hide preloader after restore

So this is basically a question. How I can handle in a good way a preloader for streaming levels. Idea is to hide the preloader after all levels that are loaded with volumes (AddRequestForStreamingLevel) are restored . I am doing this by incrementing int variable on PreLoadStreamingLevel and decrementing on PostLevelRestore. Wondering is this safe approach.

Perhaps you should explain exactly what you mean by a preloader, because it sounds like you mean just some visual indicator that loading is happening?

I hit load button, screen turns whole black, after loading is done, black screen is hidden and all sublevels (overlapped by character) are loaded with their state.  Maybe I am approaching this in a wierd way :D

OK so I do this in PostLoadGame right now, but I guess your point is when you have streaming levels they could still be loading because there's a delay? I see what you're getting at, although I'm not sure this way is reliable, since depending on timing you could get in before AddRequestForStreamingLevel is even called? Although a short delay would probably eliminate that. In which case your system of counting the streaming requests made in the first frame or so and waiting until they all finish loading is probably the correct one.
I have another system for handling the delay in streaming to prevent my character falling through the level (a ground probe) and I'd originally planned to do something simple like a fade-in time after that that's guaranteed to be long enough to handle streaming time. But your way is probably better.

Exactly, when the streaming level is still trying to restore the object there is still a window to interact with the not-restored-object. I believe if you are fast you can still see how items populate in a crate.
Thank you and regards.

authors: shoooxz sinbad

repo: sinbad/SPUD


text:
Add awesome-postgres

Link to repo: https://github.com/dhamaniasad/awesome-postgres

Please read the contributing guidelines and the awesome manifest.

Not much content in that list. I'm sure you could dig up more good blog posts and tutorials.
Closing for now, but happy to reconsider in a few weeks if it's been resolved. Just ping me here.

authors: dhamaniasad sindresorhus

repo: sindresorhus/awesome


text:
Hide test files in file view in Pull Requests

Hi, first of all I totally love this extension, it makes my daily job so much easier.
I have one suggestion:
What would you think about adding a toggle in files view to hide test files?
Something like hide all files in __tests__, tests, spec directories?
I can take a look on implementing it, but would you be open to such a PR ?

I think this is what your looking for
Hide Files on GitHub - Hides dotfiles from the file browser

Hmm its slightly different, it hides them in code browser too, I was thinking only in PRs. (sorry forgot to mention that)
My use-case is that sometimes you want to take one last look, what kind of changes will make it to production, and if you PR contain lot of tests, fixtures, etc changes, it can be quite noisy, and you can easily miss stuff.

Out of scope: https://github.com/sindresorhus/refined-github/pull/1085

authors: bfred-it danielhusar yakov116

repo: sindresorhus/refined-github


text:
8-digit hex colors

Webkit is already providing 8-digit hex colors in the development panel for colors with an alpha channel even though the CSS level 4 color module is still in the draft stage. Please consider including support for this channel.

Happy to accept a pull request, but not something I personally need. Would need to be supported in the rgb-hex module first.

authors: Mottie sindresorhus

repo: sindresorhus/rgb-hex-cli


text:
Restore highlight of macth locations when switching back to extracts panel in preview

In vanillaSearch, on preview page, the highlight of match locations is lost after switching to entities panel, and not restored when switching back to extracts panel.
This is due to the previewDocument.toggleHighlight(...) done in BsPreviewEntityFacetComponent.ngOnChanges().
A previewDocument.toggleHighlight(...) is needed in BsPreviewExtractsPanelComponent.ngOnChanges() to restore back this highlight state.

Thanks for the contrib.
I'm not sure I understand the need though: On my side, the matchlocations stay highlighted when I change tabs. If I turn off the matchlocations in the Entity tab, then as a user I would prefer the entities to remain turned off even if I change tabs.
Did I miss something?

No, you are right ! ^^
I double checked on my side and found my preview.component.ts was not up to date. A few lines of onPreviewReady were missing (lines added in v11.5.0).
And my analysis was wrong : the problem was not to keep matchlocations highligthed bewteen panels, but not to highlight them on startup.
So, thanks for your answer and apologies for the noise !

authors: akewea ericleib

repo: sinequa/sba-angular


text:
[r] Pass config through shape() and nnz()

Issue and/or context: #1137
Changes: Factor out a common helper for converting the config character vector to a std::map suitable for SOMAReader.
Notes for Reviewer: I've tested this in our R CellCensus package, which needs this for shape() to read from the correct S3 endpoint. It's tricky to unit-test though, suggestions welcome

One thing that would be nice though is a test with a config set this way.  Looking at tiledb::config( tiledb::tiledb_get_context() ) and its long list maybe turning the logging format on and off.  The real litmus test is of course that it lets you e.g. pass the AWS parameter through as it should.

What is a bit of a wart though is that despite us doing all the work for an optional config, it is now forced at the top:
> library(tiledbsoma)
> uri <- "/tmp/tiledb/penguins"
> str(nnz)
function (uri, config)
> nnz(uri, NULL)
Error: Not compatible with STRSXP: [type=NULL].
> nnz(uri, character())
Error: Not compatible with STRSXP: [type=NULL].
> nnz(uri, c(NONE=""))
[1] 344
>

I think we can do better by keeping this optional just as some_reader() does.
> library(tiledbsoma)
> uri <- "/tmp/tiledb/penguins"
> str(nnz)
function (uri, config = NULL)
> nnz(uri)
[1] 344
>

Much better. It is a simple one-line change to the signature (plus a run of Rcpp::compileAttributes()) as you factored out the treatment of the NULL into the setter of the map.

Ditto for shape. I have that working here and can add the simple commit.
edd@ahmad:~/git/tiledb-soma/apis/r(mlin/r-config-for-shape-and-nnz)$ Rscript -e 'tiledbsoma::shape("/tmp/tiledb/penguins")'
integer64
[1] 344
edd@ahmad:~/git/tiledb-soma/apis/r(mlin/r-config-for-shape-and-nnz)$

As I wrote, I have the (small) extension to make config optional working.  Do you want to commit this?  It tests cleanly here.  Of course, if you would rather (re-)do it yourself that is perfectly fine too.
I didn't yet get to a unit test.  My idea was to maybe turn logging on/off and assert stdout.

@eddelbuettel Sure, I welcome your input on both items of course

Hold on, I just realized I should be a good boy and also mark the config as optional and update the Rd files.  One sec.

From a quick Slack discussion with the core team, one way to 'break' access is to set a borked key and being not exactly truthful about encryption (by pretending there was some on a quick local array).
> tiledbsoma::nnz("/tmp/tiledb/penguins", c(sm.encryption_key="Nope", sm.encryption_type="AES_256_GCM"))
Error: Error opening array: '/tmp/tiledb/penguins'
  [TileDB::Array] Error: [TileDB::Encryption] Error: Cannot create key; invalid key length for encryption type.
>

I added tests for nnz() and shape() based on the idea above.

authors: eddelbuettel mlin

repo: single-cell-data/TileDB-SOMA


text:
Empty query result for TPC-H Q10

Describe the bug
https://github.com/singularity-data/risingwave/runs/6143952340?check_suite_focus=true
The result set is empty.
To Reproduce
On CI
Expected behavior
Correct TPC-H Q10 query result
Additional context
Happens after https://github.com/singularity-data/risingwave/pull/2043 gets merged, not sure if this PR is causing the issue.

#2043 only modifies the newly implemented lru cache, and it's not used yet. So this PR may not be the cause of the issue.

Well, let's investigate it further later...

Guess that's because we missed a flush in TPC-H slts. Should be fixed by https://github.com/singularity-data/risingwave/pull/2083

repo: singularity-data/risingwave


text:
SqlSmith: Bind error: column names window_start and window_end are not allowed in window table function's input.',

``
Panic on SQL:
SELECT INT '15' AS col_0, INT '67' - INT '29' AS col_1, (REAL '35.14174016837295' - (INT '61' / (SMALLINT '59' << t_5.col_3))) - SMALLINT '25' AS col_2 FROM m9 AS t_0, m9 AS t_1, nation AS t_2 JOIN part AS t_3 ON t_2.n_name = t_3.p_mfgr, m6 AS t_4, m6 AS t_5, tumble(m9, m9.col_0, INTERVAL '102196') AS tumble_6, part AS t_7, m8 AS t_8, orders AS t_9, m6 AS t_10, m6 AS t_13 WHERE t_1.col_0 <= t_10.col_0 GROUP BY t_9.o_orderstatus, t_7.p_retailprice, t_7.p_brand, t_13.col_3, t_7.p_partkey, t_5.col_0, t_4.col_0, t_7.p_name, t_7.p_comment, t_1.col_0, t_10.col_3, t_4.col_2, t_7.p_mfgr, t_5.col_3, t_9.o_custkey, t_13.col_2, t_9.o_comment, t_7.p_size, t_5.col_1, t_10.col_0, t_9.o_orderpriority HAVING true
Reason:
panicked at 'Failed to bind:
SELECT INT '15' AS col_0, INT '67' - INT '29' AS col_1, (REAL '35.14174016837295' - (INT '61' / (SMALLINT '59' << t_5.col_3))) - SMALLINT '25' AS col_2 FROM m9 AS t_0, m9 AS t_1, nation AS t_2 JOIN part AS t_3 ON t_2.n_name = t_3.p_mfgr, m6 AS t_4, m6 AS t_5, tumble(m9, m9.col_0, INTERVAL '102196') AS tumble_6, part AS t_7, m8 AS t_8, orders AS t_9, m6 AS t_10, m6 AS t_13 WHERE t_1.col_0 <= t_10.col_0 GROUP BY t_9.o_orderstatus, t_7.p_retailprice, t_7.p_brand, t_13.col_3, t_7.p_partkey, t_5.col_0, t_4.col_0, t_7.p_name, t_7.p_comment, t_1.col_0, t_10.col_3, t_4.col_2, t_7.p_mfgr, t_5.col_3, t_9.o_custkey, t_13.col_2, t_9.o_comment, t_7.p_size, t_5.col_1, t_10.col_0, t_9.o_orderpriority HAVING true
Reason:
Bind error: column names window_start and window_end are not allowed in window table function's input.', src/tests/sqlsmith/tests/test_runner.rs:109:41
test run_sqlsmith_on_frontend_6 ... FAILED

This happens when I try to enable subquery in FROM statement.
The implementation changes that cause this issue is when change the add relation to context to add to bound_coloumns and bound_relations only after all the FROM statement is defined, because they are parallel (or execute in the same level).
Refer the bug 1 in issue  https://github.com/singularity-data/risingwave/issues/3935
Refer to the draft PR. https://github.com/singularity-data/risingwave/pull/4216

Panic on SQL:
SELECT t_6.p_type AS col_0, DATE '2022-07-21' AS col_1 FROM m4 AS t_0, m6 AS t_1, m7 AS t_2, m3 AS t_3, hop(m1, m1.col_0, INTERVAL '1', INTERVAL '370593') AS hop_4, m7 AS t_5, part AS t_6, partsupp AS t_7, nation AS t_8, customer AS t_9, (SELECT t_15.l_orderkey AS col_0 FROM part AS t_10, m4 AS t_11, m6 AS t_12, m7 AS t_13, part AS t_14, lineitem AS t_15, m3 AS t_16, supplier AS t_17, nation AS t_18, m7 AS t_19, m2 AS t_20, m6 AS t_21, m2 AS t_22, m3 AS t_23, m6 AS t_24, supplier AS t_25 GROUP BY t_14.p_partkey, t_19.col_1, t_17.s_acctbal, t_15.l_tax, t_13.col_2, t_15.l_quantity, t_12.col_0, t_10.p_type, t_17.s_name, t_14.p_name, t_17.s_comment, t_24.col_1, t_15.l_orderkey, t_25.s_address, t_16.col_0, t_11.col_1, t_14.p_retailprice, t_20.col_0, t_25.s_nationkey, t_15.l_partkey, t_10.p_container, t_15.l_shipmode, t_25.s_comment, t_17.s_phone, t_14.p_type, t_18.n_name, t_10.p_name, t_15.l_suppkey, t_15.l_commitdate, t_15.l_shipinstruct, t_15.l_returnflag, t_15.l_receiptdate, t_14.p_container, t_15.l_shipdate, t_15.l_comment, t_25.s_suppkey, t_10.p_size, t_12.col_1, t_15.l_linenumber) AS sq_26, m1 AS t_27, m4 AS t_28, customer AS t_29 WHERE false GROUP BY t_28.col_1, t_8.n_comment, t_1.col_0, t_6.p_partkey, t_8.n_nationkey, t_6.p_type HAVING false
Reason:
panicked at 'Failed to bind:
SELECT t_6.p_type AS col_0, DATE '2022-07-21' AS col_1 FROM m4 AS t_0, m6 AS t_1, m7 AS t_2, m3 AS t_3, hop(m1, m1.col_0, INTERVAL '1', INTERVAL '370593') AS hop_4, m7 AS t_5, part AS t_6, partsupp AS t_7, nation AS t_8, customer AS t_9, (SELECT t_15.l_orderkey AS col_0 FROM part AS t_10, m4 AS t_11, m6 AS t_12, m7 AS t_13, part AS t_14, lineitem AS t_15, m3 AS t_16, supplier AS t_17, nation AS t_18, m7 AS t_19, m2 AS t_20, m6 AS t_21, m2 AS t_22, m3 AS t_23, m6 AS t_24, supplier AS t_25 GROUP BY t_14.p_partkey, t_19.col_1, t_17.s_acctbal, t_15.l_tax, t_13.col_2, t_15.l_quantity, t_12.col_0, t_10.p_type, t_17.s_name, t_14.p_name, t_17.s_comment, t_24.col_1, t_15.l_orderkey, t_25.s_address, t_16.col_0, t_11.col_1, t_14.p_retailprice, t_20.col_0, t_25.s_nationkey, t_15.l_partkey, t_10.p_container, t_15.l_shipmode, t_25.s_comment, t_17.s_phone, t_14.p_type, t_18.n_name, t_10.p_name, t_15.l_suppkey, t_15.l_commitdate, t_15.l_shipinstruct, t_15.l_returnflag, t_15.l_receiptdate, t_14.p_container, t_15.l_shipdate, t_15.l_comment, t_25.s_suppkey, t_10.p_size, t_12.col_1, t_15.l_linenumber) AS sq_26, m1 AS t_27, m4 AS t_28, customer AS t_29 WHERE false GROUP BY t_28.col_1, t_8.n_comment, t_1.col_0, t_6.p_partkey, t_8.n_nationkey, t_6.p_type HAVING false
Reason:
Bind error: column names window_start and window_end are not allowed in window table function's input.', src/tests/sqlsmith/tests/test_runner.rs:109:41
test run_sqlsmith_on_frontend_2 ... FAILED

Panic on SQL:
CREATE MATERIALIZED VIEW m4 AS SELECT FLOAT '53.47903548938295' AS col_0, TIMESTAMP '2022-07-26 12:20:42' AS col_1 FROM hop(m3, m3.col_0, INTERVAL '1', INTERVAL '320709') AS hop_0 WHERE false
Reason:
panicked at 'Failed to handle SQL:
CREATE MATERIALIZED VIEW m4 AS SELECT FLOAT '53.47903548938295' AS col_0, TIMESTAMP '2022-07-26 12:20:42' AS col_1 FROM hop(m3, m3.col_0, INTERVAL '1', INTERVAL '320709') AS hop_0 WHERE false
Reason:
Bind error: column names window_start and window_end are not allowed in window table function's input.', src/tests/sqlsmith/tests/test_runner.rs:40:29
test run_sqlsmith_on_frontend_17 ... FAILED
This does not include any of the unstable generator - gen_agg and gen_subquery (possible with also)

FYI: #3189
I guess m3 already contains columns window_start and window_end, so hop(m3, ...) is disallowed to produce two columns sharing the same name window_start.
In the tests, either give m3 columns aliases to avoid naming conflict, or avoid twtf-over-twtf completely.

I think it is my sqlsmith problem, I have solved it already under the PR dy. Sorry for that


text:
feature(batch): Implement HopWindow in backend

What's changed and what's your intention?
close https://github.com/singularity-data/risingwave/issues/2183
Support hopwindow executor in batch query.
Checklist

[x] I have added necessary unit tests and integration tests

Refer to a related PR or issue link (optional)

hi, can this be merged?

authors: Little-Wallace fuyufjh


text:
feat(frontend): remove the limitation of unnesting AntiApply.

What's changed and what's your intention?
as title.
Refer to a related PR or issue link (optional)

LGTM. A few questions:

Why Q22 is not enabled?
Can you enable the E2E test?

Thx!

Q22 is enabled because we haven't supported substring.
I will add some e2e test.


text:
feat(executor): concurrent fetch of JoinStateEntrys in streaming hash join

What's changed and what's your intention?
Fetch all JoinStateEntrys async concurrently, grouping updates in stream chunk by join key.
TODO:

[ ] Add more comments
[ ] Add benches to show that this is in fact better performing

Closes: https://github.com/singularity-data/risingwave/issues/2428

I am queuing up several changes for a next PR:

Accumulate small chunks into big chunks before join executor
Fix no update join row count bug (and flush as deleteupdate). CC: @yuhao-su I need this to get the next PR to work with a refactor. I will just flush the entire matched rows cache as long as one of them have their row count changed.
Fix no populate cache bug
assert_equivalent_to to see the left and right. rather than assert!

For now, I will fix some changes. I will show that next PR is competitive with master.

Is it possible to get this PR merged first, so that we can see whether a simplest concurrent fetch could solve the low throughput issue?

Shall we close this?

How about re-implementing this after memory management is introduced? The idea still works, though.
@jon-chuang may have an offline discussion first

I have an idea for better approach. We can test it and test alongside storage layer to see if there is any regression.

authors: fuyufjh jon-chuang lmatz skyzh


text:
Request: display number of violations in PB Limiter Torch GUI

Title says it. Would like to see number of violations to get a better feel for long term performance of scripts.

Possible, i will have a look into this

repo: sirhamsteralot/HaE-PBLimiter


text:
the issue of training data format

What is the label format of your training data set ? Can you provide a sample ?

see ./data/test direcrory.

label is the filename，source code can see from load_data.py and which show you how to load image and its label.

Thank you!


text:
write log error

why revert  this fix 。when write log by multi thread , application will crash

You can see the PR for this change here which has an explanation for the revert:
https://github.com/sirupsen/logrus/pull/1131

authors: davidsbond peopleas

repo: sirupsen/logrus


text:
Branch oliveira

Fiz o listen e publish das filas
Isso baseando no GerarHorario da classe Gerador la no GerarHorario
ele retorna um IEnumerable, e eu publiquei inteiro o json

Ficou show! Parabéns. Obrigado pela contribuição!

authors: GabrielOlisil guesant

repo: sisgha/gerar-horario


text:
#16 Add API and doc for querying / resetting db jobs

This adresses issue #16 and provides a way for querying database jobs in
specific states and resetting them back to state waiting using the
reset! method. The new method is covered by a new unit test.
The README gets a new section explaining how to obtain and manipulate
database jobs.

Thanks for your feedback, the changes are made. If you're happy, let's merge the PR.

repo: sitrox/workhorse


text:
Kibana v6.4.2 is now available

@sivasamyk Thanks in advance!

Here you go! - https://github.com/sivasamyk/logtrail/releases/download/v0.1.30/logtrail-6.4.2-0.1.30.zip
Thanks!

authors: nikolay sivasamyk

repo: sivasamyk/logtrail


text:
最新版搭配GcmForMojo 小米推送无效

用旧版本可以，新版本推送一点反应都没有。
怀疑新版本冲突

我说怎么最近怎么微信也收不到消息了？

我这两天也没推送以为是Hwpush有问题，表示重装了一遍GCMFORMOJO又就可以推送了

更新了mojoqq 重装了GFM表示可以正常推送了

其实你不用重装的 这两天好了 估计是mipush本身的问题
在 2018-07-03 19:19:16，"yeziaaa" notifications@github.com 写道：
更新了mojoqq 重装了GFM表示可以正常推送了
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

authors: yesmiley yeziaaa


text:
Add missing data types to fix startup issues

Simulated servers that use data types like DevUShort fail to start up.  Fix this by adding the missing types.
Example of the problem:
$ SvrSimPdu A
Traceback (most recent call last):
  File "/usr/local/bin/SvrSimPdu", line 16, in <module>
    main()
  File "/usr/local/bin/SvrSimPdu", line 11, in main
    model = configure_device_model(sim_data_files)
  File "/usr/local/lib/python2.7/dist-packages/tango_simlib/tango_sim_generator.py", line 491, in configure_device_model
    PopulateModelQuantities(parser, dev_name, model)
  File "/usr/local/lib/python2.7/dist-packages/tango_simlib/model.py", line 185, in __init__
    self.setup_sim_quantities()
  File "/usr/local/lib/python2.7/dist-packages/tango_simlib/model.py", line 300, in setup_sim_quantities
    val_type, val = INITIAL_CONSTANT_VALUE_TYPES[attr_data_type]
KeyError: tango._tango.CmdArgType.DevUShort

@lochanitis and @adityadangeska This should fix the issue in the lmc-base-classes docker.

Yes we will try to build image again once Katleho confirms.

authors: ajoubertza lochanitis

repo: ska-sa/tango-simlib


text:
Computer keeps on attacking the opposite king

Computer keeps on attacking the opposite king, even with bad moves.
In the sequence 1. Nc3 b5 2. Nxb5 c6 it plays Nd6? If the game continues, the program still seems to over excessively target the black king. For example in the sequence 1. Nc3 b5 2. Nxb5 c6 3. Nd6 ed6 4. d4 Be7 5. e4 Nf6 6. Bc4 O-O, it plays Bxf7+?

Fixed with Update 2022-07-03.
The problem was that the computer thought it would mate the opponent since the Mate_Found variable was tru because the Human_Move_Found was always set to false. Added code Human_Move_Found = true; in Analyze_Move_1_HumanMove when a legal move is found. In that way the computer will understand that there is no mate possibility if there is a legal move found.

repo: skakos/Huo-Chess-Java-Edition


text:
What is the best way to access the data via context menu?

I have a simple graph with data plotted.  When a user right clicks on data, I display a context menu with a few options, one of them being a simple "Get Info" option where I'd like to display a dialog containing more detailed data.
I'm having a hard time getting to the data within the graph.  So far I have tried using the uplot cursor.idxs to get the location of the click from this example:
https://jsfiddle.net/w07t8q4g/
const [xIdx, yIdx] = timelineContainer.value.cursor.idxs

but I'm getting errors:
TypeError: Cannot read properties of undefined (reading 'idxs')

I am not sure how to accomplish this.  Can anyone help?   Thanks so much!
<template>

  <ContextMenu
      v-model="showMenu"
      :x="menuX"
      :y="menuY"
      :actions="contextMenuActions"
      @action-clicked="handleMenuAction"
    />
<v-navigation-drawer
      v-model="timeline"
      location="bottom"
      width="100%"
      style="transition: none;"
      disable-resize-watcher

    >
          <v-toolbar
            density="compact"
          >

         <v-toolbar-title>Timeline</v-toolbar-title>

        <v-spacer></v-spacer>

        <v-btn icon @click="closeTimeline">
          <v-icon>mdi-close</v-icon>
        </v-btn>
      </v-toolbar>

      <v-main class="pa-0">
        <v-container fluid >
              <v-card >

                <UplotVue v-show="displayAIS" ref="timelineContainer" :options="options" :data="plotData" :key="graphKey" />

                        <v-icon >mdi-information-outline</v-icon>

Data not displayed.  Select Data in Layers Manager to display Data.

              </v-card>
        </v-container>
      </v-main>
        </v-navigation-drawer>

  </template>

authors: jduncanRadBlue leeoniya skalinichev

repo: skalinichev/uplot-wrappers


text:
Arabic or Pesrian  characters

HI
When I use Arabic or persian letters in encryption، I can not decode ios side
I'm sure the problem is from Arabic or Persian words
Is there a solution to this problem?
thanks so mutch

Before encrypting, have you encoded the string to UTF-8 format?

@amirch123 did you try it?

Closing due to inactivity

repo: skavinvarnan/Cross-Platform-AES


text:
chore/drawer-event-typings

Before submitting the PR:

[ ] Does your PR reference an issue? If not, please chat to the team on Discord or GitHub before submission.
[ ] Did you update and run tests before submission using npm run test?
[ ] Does your branch follow our naming convention? If not, please amend the branch name using branch -m new-branch-name
[ ] Did you update documentation related to your new feature or changes?

What does your PR address?

Adds minor typings, and changes the duration to a nullish operator- this is because 0 is a valid but falsey input which is currently not being considered valid, so we need to test for nullishness instead.

Adds generic typing to the meta property. This means that we can do:

	function applyPropSettings(settings: DrawerSettings<{ foo: string}>): void {
		if (settings.meta) settings.meta.foo= 'bar';

foo will be automatically typed correctly.

Ready to merge, we just need a changeset per:
https://github.com/skeletonlabs/skeleton/pull/1565#issuecomment-1564715741

@ryceg pnpm check is failing on this one due to modifications to the drawer.

Here's the output when I run this:

If you can get this patched I'll aim to merge right away. Thanks!

@ryceg reminder that the new release is going out Tuesday. If we can get this sorted by then that would be great!

@ryceg seeing some merge conflicts on this - honestly I'd say you just resubmit when you get a chance. No sense leaving this hanging around. No rush, get settled into the new place and new job!

repo: skeletonlabs/skeleton


text:
Bug fix: Issue #2188 - Faux Italic and Faux Bold

Description:
Fixes: https://github.com/skeletonlabs/skeleton/issues/2188
Summary of Changes:
This pull request addresses the issue related to the inappropriate rendering of faux italic and faux bold styles (#2188). The necessary adjustments have been made to ensure that the typography is displayed as intended without any unintended stylings.
Details:

Corrected the font styling issues preventing the proper display of italic and bold text.
Adjusted the relevant CSS rules and typography components to ensure accuracy in text representation.

Checklist
Please read and apply all contribution requirements.

[ ] This PR targets the dev branch (NEVER master)
[ ] Documentation reflects all relevant changes
[ ] Branch is prefixed with: docs/, feat/, chore/, bugfix/
[ ] Ensure Svelte and Typescript linting is current - run pnpm check
[ ] Ensure Prettier linting is current - run pnpm format
[ ] All test cases are passing - run pnpm test
[ ] Includes a changeset (if relevant; see above)

Awesome, thanks @Typogram. I tend to do PR reviews on Friday, so expect a update then. With a quick glance though all looks well and I expect this will be merged right away.

@endigo9740 I am impressed by how organized and planned you are maintaining the project. Learned a lot from you!

@Typogram so checking this, I'm not quite seeing the expected result. I personally don't own an iPhone, so I'm opting for a simulator, which tends to be fairly close to the real device.
On the left is the preview URL that includes your changes, on the right is the live production site. While improved, it doesn't quite match the Windows version you posted. Does this match expectations?

Desktop Safari has similar results, here's the production site:

Versus the preview URL:

If this looks correct to you, then I'm happy to merge. I just wanted to confirm!

The image doesn't look correct. Please don't merge. I will find a time to look into this further. Sorry about that.

@Typogram all good, that's why I wanted to check. I think going forward I'll be doing PR audits on Saturday/Sunday, so you have some time.

@Typogram just checking in on this. I'll set this back into the draft state for now, feel free to bump it up to "ready for review" when you reach that point.

No response in a few weeks so I'm going to consider this abandoned. I would still appreciate a fix on this, so feel free to resubmit at any time. Thanks!


text:
[API-3583] Track tx costs

This PR has the tx verifier store tx costs in uusdc in the submitted txs table so that solvers are able to track their actual net profit (profit from orders minus tx costs). To do this, I moved the evm tx price oracle to a more generic oracle package, and removed evm specific wording from it (since really all it did was a coin gecko lookup and then decimals conversion to uusdc). The tx verifier uses this to now calculate the tx price in uusdc.
This also changes the fund rebalancer so that it submits its txs to the submitted txs table so that they can be priced. To do this, a rebalance id is added to the submitted txs table. There is also an issue I encountered where we create approval txs before we actually create the row in the rebalance transactions table, however the approval txs should be linked to that rebalance tx in the submitted txs table. To get around this we create a blank rebalance tx before the approval tx (or return an already created blank rebalance tx, if we didn't submit previously due to gas costs), and then update the blank rebalance tx with the tx hash and amount once the rebalance tx is submitted on chain.

Changes lgtm, but the creation of the empty rebalance tx in the submitted txs table so it's available for the approval tx to link to is kind of confusing. Can we instead update the approval tx instead after the rebalance tx is created? that would be simpler to follow imo

agree that would be easier to follow, and I did think about that scenario but iirc I didnt go with that because of the scenario where we may submit an approval tx and then the solver crashes. in this case we would have no way to know that that approval tx in the submitted txs table is meant to go with the rebalance once the solver starts back up and the solver submits the actual rebalance tx. if you have some ideas on a good way around that tho i would be good to implement that

Changes lgtm, but the creation of the empty rebalance tx in the submitted txs table so it's available for the approval tx to link to is kind of confusing. Can we instead update the approval tx instead after the rebalance tx is created? that would be simpler to follow imo

agree that would be easier to follow, and I did think about that scenario but iirc I didnt go with that because of the scenario where we may submit an approval tx and then the solver crashes. in this case we would have no way to know that that approval tx in the submitted txs table is meant to go with the rebalance once the solver starts back up and the solver submits the actual rebalance tx. if you have some ideas on a good way around that tho i would be good to implement that

uhh i spent some time on this and any solutions I came up with would also just add complexity, what you have now is the simplest approach. thanks! 🙏

repo: skip-mev/skip-go-fast-solver


text:
We don't have any tests

We should add a few test fixtures and run tests on Travis/circleCI.

I am working on creating functional tests right now, will work on the unit tests once, the code refactor and code moving thing that @kadel and @ngtuna are working on, is done.
So one question: What framework are we using to do the functional testing? Plain shell scripts or framework like avocado or anything else?

Added functional tests: https://github.com/skippbox/kompose/pull/89

We also need to add unit tests.

@ngtuna yes will work on them once your refactor is in! So we can keep this open.

I'm adding unit test for komposeConvert in #104

Thanks @janetkuo for adding some unit tests and we will keep adding more. This issue can be closed now.

authors: janetkuo ngtuna runseb surajssd

repo: skippbox/kompose


text:
GPU batch decoding + Online request queueing machanism

possibly along with a request queueing mechanism like ServiceStreamer for online

Task 1
Write an interface and implement GPU batch decoding for Kaldi ASR models in the kaldi-serve core C++ library.
The current partial version (gpu-decoder branch) is buggy (stale issue here), which you may use as a starting point or write one from scratch, it's upto you. The main idea here is to be able to pass a custom async callback to the batch decoding pipeline that accepts the final result once the GPU compute task is complete.
Relevant links:

Batched Decoding binary
Batched Threaded CUDA Pipeline - Source

Task 2
Implement an online request queueing mechanism similar to that of ServiceStreamer that utilizes the GPU Batch Decoding interface (Task 1) to reduce latency in the kaldi-serve gRPC server application during higher loads.

repo: skit-ai/kaldi-serve


text:
Fixes 612: system_tests_topology_disposition test_01_delete_spurious_…

…connector race

Codecov Report

Merging #633 (d2221c3) into main (8eed635) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #633   +/-   ##
=======================================
  Coverage   25.93%   25.93%
=======================================
  Files         128      128
  Lines       31201    31201
  Branches     4978     4978
=======================================
  Hits         8092     8092
  Misses      22049    22049
  Partials     1060     1060

Flag
Coverage Δ

unittests
25.93% <ø> (ø)

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

Continue to review full report at Codecov.

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

authors: codecov-commenter kgiusti

repo: skupperproject/skupper-router


text:
Consider using ncurses.

Although that's against the spirit of the original project I think it's still somewhat reasonable.

The current display loop currently is a mess.
Conceptually it is simple:

Move to 0,0
For each visible row in the text - draw it
Handle colours via hardwired escape-sequences
Show the cursor.

Using ncursesw our loop would be equivalent in functionality:

For each row that is visible

Move to (row,0) and draw the string, setting colours appropriately.

Pros:

We'd be more portable (to terminals, rather htan systems).
We'd also be able to use keyname to perform the key-expansion in C.
We could handle Unicode input.

Cons:

Added dependency.
More significant code-churn and divergence - though at this point reconciling changes is almost impossible.

I'm not going to hack on this immediately, but I think it's probably something that will happen sooner or later..

Meh, all modern terminals use the same vt escape codes. But you would benefit from not having to redraw the entire screen on every change. My plan was to scan for "dirty" regions of the active buffer(s), and redraw only those areas. Although maybe that's pre-mature optimization, and maybe it's never going to be too slow to redraw everything. Then again, I'm already thinking with split-panes and a tab bar (etc.) in mind. So I'm probably getting ahead of myself.

As per last updates on #49 this is .. abandoned.

authors: sdegutis skx

repo: skx/kilua


text:
When isModal is true screen turns white instead of dimmed

Please complete the following information:

Library Version 0.1.5
Affected Device(s) All

Describe the Bug:
When I set my BottomSheet to isModal = true the screen content( Except the bottom sheet) turns white instead of just dimmed.
This issue doesn't happen with isModal=false
Add a clear description about the problem.
Expected Behavior:
A clear description of what you expected to happen.
When a modal is created the rest of the screen should change the color to be slightly dimmed to focus the attention on the bottom sheet instead

Have you ever adjusted the scrim color of your material theme? Hence the flexible bottomsheet uses the scrim color of the material them below:
MaterialTheme.colorScheme.scrim.copy(alpha = 0.32f)

repo: skydoves/FlexibleBottomSheet


text:
Add BoxScope to state composables to be able to use BoxScope modifiers

Guidelines
Currently, we cannot align content inside loading, success and failure composables. This will make it possible.
Types of changes
What types of changes does your code introduce?

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

You should add apiDump task here

repo: skydoves/Landscapist


text:
Don't show Enum (or other) types

New malware obfuscators use lots of trash enums. For example following Cerberus sample have this structure when I open in jadx.

Without enum:

In order to filter enums ( and removing packages with only enums) option can be added to preferences.

If this is a feature we can add to jadx ( maybe other types also ). I can PR

@eybisi I see what you are trying to achieve but I don't think this is a good approach. It is better to try to detect not used enums and only after that delete them. Unfortunately, jadx doesn't collect usage info before decompilation, but I have plans to implement that sometime.
Anyway, thank you for your idea and a sample!

@skylot
.class final enum Lcom/sss/b;
.super Ljava/lang/Enum;

# static fields
.field public static final enum sss:Lcom/sss/b; # This field is hidden by jadx

authors: addhaloka eybisi skylot

repo: skylot/jadx


text:
poly_storage not compatible with empty type optimization

Following my comments in a different poly_storage question, I've isolated a working/compiling example of poly storage and dropped it back into my working codebase. But because I have a couple of empty components, empty type optimization suppresses the underlying pool storage (I think?) and the get or raw functions fail to compile when used within poly_storage.
This can easily be reproduced in the poly_storage test file by adding an empty component and then emplacing it onto an entity in one of the test cases.
#defining ENTT_NO_ETO fixes the compilation error, but I'm wondering if it'd be possible to exclude empty types for consideration in polymorphic storage altogether (as it arguably would make no sense anyway?), or other compile time fixes.

Currently, you can  if constexpr on the storage type directly within the poly object.
Probably, we can make it more flexible by adding the type to the poly_storage trait, so that this becomes possible:
template<typename Entity, typename Type>
struct poly_storage_traits<Entity, Type, std::enable_if_t<!std::is_empty_v<Type>>> {
    using storage_type = poly<Storage<Entity>>;
};

I don't feel the need honestly, but it's viable and it takes something like 5 minutes to do, so... 🙂

the get or raw functions

By the way, raw is about to disappear.

Good to know that if constexpr can easily bypass problematic template instantiations altogether, I was worried it'd require heavy-handed SFINAE hoops. I'll do that for now, thank you! :)

Probably, we can make it more flexible by adding the type to the poly_storage trait

Of course, I was wrong. 😄 This isn't possible since the poly storage cannot depend on the component type. It's... I mean, more or less the reason for which it exists. 🤷♂
However, you can bounce your poly interface to a class that has a specialization for empty types. Or use if constexpr directly.

authors: cmartel skypjack

repo: skypjack/entt


text:
TCP转UDP保持长连接通信，请教KCP的参数设置问题

我在使用KCP做一个通信转换TCP-UDP-TCP的项目。我们的服务是基于TCP长连接的，但通常两端是异地的广域网，无法得到长时间稳定的TCP连接（例如难以超过24小时不断线），所以打算设计用UDP来完成中间通讯，两段分别对TCP进行转换为UDP。
流量是持续的、稳定的，峰值大约会有5Mbps，谷值大约500Kbps。ping延时范围大约是30ms ~ 100ms之间，取决于所在地域。
通讯中，数据的实时性是第一考虑要素。
Demo代码库是：https://github.com/btccom/BtcTunnel 。使用libevent作为事件通讯库。
想请教的问题是：

对于这样的场景，ikcp_wndsize() / ikcp_nodelay() 如何设置会比较高效？

不知 ikcp_update() 的调用方式是否正确？目前是：

自动循环10ms的定时器触发 Server.cc#L170-L176

当调用 ikcp_send() / ikcp_input() 后，主动触发 ikcp_update() 并重置定时器

代码：Server.cc#L252-L266

还有一个现象是，当测试跨国（中美，丢包率5%~15%，ping延时150ms~250ms）通信的时候，数K的数据可以工作，然后数百K则无法正常工作，现象是 ikcp_recv() 先返回 –1， 然后数个 –2，然后就一直返回 –3 不知道是什么原因导致的？

先回答 ikcp_recv 返回值问题：
-1 代表完全没有数据，可以理解成 EAGAIN
-2 代表数据不全（需要后续数据才能作为一个完整包），也可以理解成 EAGAIN
-3 代表你传入的缓存长度不够
你发送的时候少发送点，分多次，或者接受缓存开大点即可解决。

具体参数设置可以参考项目 kcptun，他们做的似乎和你们类似，
另kcp快速模式的话：
		ikcp_nodelay(kcp1, 1, 10, 2, 1);
		kcp1->rx_minrto = 10;
		kcp1->fastresend = 1;

将需要发送的数据先放入一个buf里，然后从buf把数据通过ikcp_send()进行发送，在调用ikcp_send()前检查ikcp_waitsnd()是否超过阀值。这样去尝试解决 ikcp_recv()返回0-1/-2/-3的问题。

把 ikcp_recv的buffersize调大。
ikcp_send的时候一次性少send点东西，for循环几次send，
kcp->stream = 1 发送端和接收端，流模式。

测试的时候，遇到一种网络现象是，突然流量被掐断，就像所有IP层的包均被丢弃一样，但只要停止一秒，流量又能立即恢复。好像是某个层面做了流量控制，如果遇到这种现象，而kcp依然不停发送大量包，则导致无法通信无法恢复。

如何通过ikcp_xxxx()检测此现象
如何暂停包发送，是否暂停 ikcp_update() 即可？

@bitkevin 是否两台机器之间有多个 KCP 链接，我这边测试下来 KCP 链接多了就会出现这种现象，加个 mux 就好了

@skywind3000 流模式是双边的吗？需要收发双方同时开启？


text:
Not Able to send Private Messages from Hubot

I am trying to send DM to a person from Slack Hubot. I looked on all issues opened, but nothing was helpful. It doesn't work.
I am getting ERROR TypeError: name.replace is not a function. by doing
user = msg.message.user
robot.send user, "Hi"

OR
user = robot.adapter.userForId 'USCKDB3H'
robot.send user, "Hi"

@rajatguptarg DMs are considered rooms. With Slack, the DM room name is the user's username. Try either of these:
robot.messageRoom msg.message.user.name, "Hello!"
robot.send {room: msg.message.user.name}, "Hello!"

Closing as solved.

@contolini neither of those works with hubot-slack 4.0.1 :(

@contolini
On this cases:
robot.messageRoom res.message.user.name, "Hello! 1"
robot.send {room: res.message.user.name}, "Hello! 2"
robot.messageRoom res.message.user.id, "message"

Getting:
Unhandled rejection SlackRTMError: invalid channel id
  at RTMClient.handleMessageAck [as _handleMessageAck] (/home/abruno/projects/spirdercholoslackbot/node_modules/@slack/client/lib/clients/rtm/client.js:497:40)
  at RTMClient._handleWsMessageViaEventHandler (/home/abruno/projects/spirdercholoslackbot/node_modules/@slack/client/lib/clients/rtm/client.js:460:12)
  at RTMClient.handleWsMessage (/home/abruno/projects/spirdercholoslackbot/node_modules/@slack/client/lib/clients/rtm/client.js:420:10)
  at WebSocket.wrapper (/home/abruno/projects/spirdercholoslackbot/node_modules/@slack/client/node_modules/lodash/lodash.js:4599:19)
  at emitTwo (events.js:106:13)
  at WebSocket.emit (events.js:191:7)
  at Receiver.ontext (/home/abruno/projects/spirdercholoslackbot/node_modules/ws/lib/WebSocket.js:841:10)
...

The only thing that works is:
robot.messageRoom 'D0Z8GMUTV', 'Hello!'

Which is the ID of the DM "room" but I can't get this ID from a message in a normal channel, this ID I got it from res.message.room of a DM conversation

@lordn-n check out https://github.com/slackhq/hubot-slack/issues/328.

authors: DEGoodmanWilson contolini lordn-n rajatguptarg

repo: slackhq/hubot-slack


text:
get_logged_in_athlete_activities() fails with after set to slang dates e.g. last year

get_logged_in_athlete_activities() fails with after set to slang dates e.g. last year.
The problem is likely in wrong usage of maya parse and when methods.

Solved in e0407a798f71b64d55f899a54440679d64945289

repo: sladkovm/stravaio


text:
Enable security teams to reproduce security findings

Constantly re-running linters on all source code, the default mode of operation for most linters, is very time-consuming and gets frustrating fast when you know that you've only modified a few functions in these files, but the linters are re-linting all these other hundreds of files that you haven't modified. We need to cache results so that you don't have to wait for linter work that's already been done, which is a surprisingly difficult thing to do:
We need to guarantee that results are reproducible, this could be achieved by sandboxing linter runs, similar to how Google's Bazel project sandboxes compiler actions.
We need to intelligently invalidate/ignore cache entries: if fileA is modified and check results for fileB depend on the contents of fileA, then check results for fileB from prior to fileA's modification cannot be reused. We could solve this by keying cache entries on the linter configuration, the actual linter target file, and all dependencies of said target file.

This is a really cool, heavy lift nice to have. Deprioritized below other features, but still valid for future state. To be reassessed later.

authors: JordoHeffernan gabenegron

repo: slalombuild/secureli


text:
Where are the Docs?

Here is where the link takes me:
Package not found
No package named purescript-webdriver exists in the database. If you think this is an error, please let us know by opening an issue, or visiting us on #purescript IRC on Freenode.

They're published again now, such as they are.

authors: garyb theGhostJW

repo: slamdata/purescript-webdriver


text:
Add metrics to SlateDB

Is your feature request related to a problem? Please describe.
I want to get metric visibility into SlateDB. Right now we have a story around logs (with the tracing library), but I want counters and gauges for things like cache hit rates, cache sizes, last manifest refresh, and so on.
Describe the solution you'd like
I'd like something that can integrate with prometheus and statsd, and has at least counters and gauges. Histograms with sampling would be nice, tool. And maybe some of the others that libraries like Dropwizard Metrics have.
Describe alternatives you've considered
I considered just using tracing spans and log events, and aggregating log data using ELK and the like. But this is wildly inefficient (and could impact performance) compared to emitting metric data directly.

After a quick Google, it seems like the metrics library is commonly used.

synced from discussions in discord:
what i like prometheus-client most is that the metrics are simply atomic variables with no networking and no buffering, the cost is pretty predictable.
taking the idea of atomic variables as a metrics approach, a library can also be instructed with metrics like this: the library can manage a struct, such as DBStats, which includes various counters, gauges, and histograms. It does not directly export the metrics itself; instead, the outer program can retrieve DBStats and export them to Prometheus or any other metrics system as needed. no dependency, and free to use any metrics solution outside. (maybe like this? https://docs.rs/async-raft/latest/async_raft/metrics/struct.RaftMetrics.html )

taking the idea of atomic variables as a metrics approach, a library can also be instructed with metrics like this: the library can manage a struct, such as DBStats, which includes various counters, gauges, and histograms. It does not directly export the metrics itself; instead, the outer program can retrieve DBStats and export them to Prometheus or any other metrics system as needed. no dependency, and free to use any metrics solution outside. (maybe like this? https://docs.rs/async-raft/latest/async_raft/metrics/struct.RaftMetrics.html )

I like this. FWIW this is the approach that RocksDB takes as well, and then systems that use it can just export the metrics from the struct in the way they see fit. For example, Kafka Streams exposes all the metrics using the Kafka exporter.

SGTM. Let's go with our own implementation. We did the same for Samza. I don't want to implement pluggable reporters, though. Just a data structure with our metrics that's publicly accessible to the users.

Assigning this to myself

https://github.com/slatedb/slatedb/pull/145

authors: criccomini flaneur2020 giuseppelillo rodesai

repo: slatedb/slatedb


text:
c-arrays are a hack

image { uchar 65536 } [ drop ] with-mapped-array

Generic word <c-direct-array> does not define a method for the array class.
Dispatching on object: { uchar 65536 }

Ideally this would not fail.

Possible fix:

UNION: c-type-name
    c-type-word pointer array ;

Then change

GENERIC: c-array-constructor ( c-type -- word ) foldable

GENERIC: c-(array)-constructor ( c-type -- word ) foldable

GENERIC: c-direct-array-constructor ( c-type -- word ) foldable

GENERIC: c-array-type ( c-type -- word ) foldable

GENERIC: c-array-type? ( c-type -- word ) foldable

GENERIC: c-array? ( obj c-type -- ? ) foldable

This works:
image uchar [ drop ] with-mapped-array

I'm closing this, since I don't know what { uchar 65536 } is supposed to mean...

repo: slavapestov/factor


text:
How to globally set up clicking on the page to trigger the next step function, just like in PowerPoint

like title

Click the red area in the following picture to go backward, and click the blue area to go forward.

I think clicking on the slide content to jump to the next step is hard to implement, because there seems to be no way for parent elements' event listener to know whether the event has been "received" (NOT "prevented", because we can force users to add a .prevent modifier on each of the event listeners).
Close this for now.

authors: KermanX SanGongHappy

repo: slidevjs/slidev


text:
Document public API in README

[ ] Slime.render/1
[ ] Slime.render/2
[ ] Slime.function_from_string/5
[ ] Slime.function_from_file/5

We'll rely on hexdocs.

authors: doomspork lpil

repo: slime-lang/slime


text:
Uri::basePath  property and PSR-7 Uri interoperability

On the project I'm working on I receive a URI object from GuzzleHttp/Psr7/Uri and I transfert it to Slim\Http\Request. But because the GuzzleHttp\Psr7\Uri does not know about Uri::basePath when calling Request::getRequestTarget is called an error stating that my Uri object lacks the basePath property is issued and the program halts.
offending lines: https://github.com/slimphp/Slim/blob/3.x/Slim/Http/Request.php#L472-L474

Ugh I know your pain. Unfortunately we wont be able to do anything about it until 4.x.

@geggleto a quick question why close the issue if other people stumble on the same issue leaving it open even with a wontfix status may help find it ?

You are right, should be on slim 4 ;)

Looks like this is already fixed in Slim-Http

Slim-Http has resolved this as it doesn't use a base path.

authors: akrabat copynpaste geggleto nyamsprod

repo: slimphp/Slim


text:
getParsedBody() outputs nothing with a PUT request with a non-empty body

Issue
getParsedBody() outputs nothing with a non-empty body when using the http method 'PUT'.
Steps to reproduce
xhr.js
var formData = new FormData($(form)[0]);
$.ajax({
     url: '/endpoint',
     type: 'PUT',
     data: formData,
     async: false,
     cache: false,
     contentType: false,
     processData: false,
     success: function (response) {
          ....
     },
     error: function () {
          ....
     }
});

Controller:
$data = $request->getParsedBody();

$data is empty.
$data = $request->getBody();

$data has something like this:
------WebKitFormBoundary..... Content-Disposition: form-data; name="data1" something1 ------WebKitFormBoundary..... Content-Disposition: form-data; name="data2" something2 ------WebKitFormBoundary.....--
Changing both the ajax type in jQuery and the route handler to 'POST' fixes this.

See https://github.com/slimphp/Slim/issues/1396.

Closing since it's a duplicate. Thanks, @tuupola.

authors: migueldemoura tuupola


text:
argument should be rawurldecode, not urldecode.

in rfc2396.

The plus "+", dollar "$", and comma "," characters have been added to
those in the "reserved" set, since they are treated as reserved
within the query component.
So reserved chars should be bypassed to users, if in argument field.

Coverage remained the same at 97.18% when pulling 01593e3e0f48b4a0d5864cfed2f7435553c71f00 on luzluna:3.x into 7c33189d2edad8ef5a433c4e2375f5d777bc5c5a on slimphp:3.x.

What are the BC implications?

if route defined like this
$app->get('/hello/{name}', function (Request $request, Response $response) {     $name = $request->getAttribute('name');
and request is '/hello/+apple'
now
$name is ' apple'
if apply this patch
$name is '+apple'

I'd definitely say this is a BC break. It might be a better idea to add a second argument to getAttribute() to aquire the value using rawurldecode():
$app->get('/hello/{name}', function (Request $request, Response $response) { $name = $request->getAttribute('name', true);
However, this might be a bit too uglifying..

getAttribute() is part of PSR-7...

I feel as though this belongs in slim 4, the implications of putting it in the 3.x branch could be pretty severe. Does anyone else agree?

👍

@akrabat can we close this one and ask the author to target 4.x?

I hadn't noticed! @luzluna, please rebase against 4.x and edit the PR to be against 4.x too.

Can we raise a new PR for Slim-Http please?

authors: akrabat coveralls geggleto johnhunt luzluna


text:
Update Test Suite for 2.3

upgrade pyweb_test.w for version 2.3

mistakenly closed it.


text:
[e2e]: generic workflow_dispatch main workflow_inputs slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/11511195997
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.generic.workflow_dispatch.main.workflow_inputs.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.generic.workflow_dispatch.main.workflow_inputs.slsa3.yml
Trigger: workflow_dispatch
Branch: main
Date: Fri Oct 25 03:17:37 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/11528408999
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.generic.workflow_dispatch.main.workflow_inputs.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.generic.workflow_dispatch.main.workflow_inputs.slsa3.yml
Trigger: workflow_dispatch
Branch: main
Date: Sat Oct 26 03:14:37 UTC 2024
Tests are passing now. Closing this issue.

repo: slsa-framework/slsa-github-generator


text:
Support buildStartedOn, buildFinishedOn in Go builder.

Add buildStartedOn and buildFinishedOn to metadata in the Go builder.
    "metadata": {
      "buildInvocationId": "<STRING>",
      "buildStartedOn": "<TIMESTAMP>",
      "buildFinishedOn": "<TIMESTAMP>",
      "completeness": {
        "parameters": true/false,
        "environment": true/false,
        "materials": true/false
      },
      "reproducible": true/false
    },

Ideally this would come by looking it up in the Github API. Maybe the start/finish time for the previous job can be determined somehow via the workflows or workflow run API?


text:
Simple deletion of duplicate code block

This is a test of github and its workflow for submitting changes. Here we have a duplicate code block being deleted.

Thanks!

authors: VibratingPig slundberg

repo: slundberg/shap


text:
Server Disconnection

When you switch a tab and you go back to the sm64 js tab it says "server disconnected" its annoying.

Duplicate of #136

license: WTFPL


text:
Package.json missing

I cannot run it in the local development server using npm start. It would be a great help if someone provided me that file.

The main branch is actually the HTML one. Try the React one.
https://github.com/smaranjitghose/awesome-portfolio-websites/tree/reactjs


text:
chore(main): release 0.3.1

:robot: I have created a release beep boop
0.3.1 (2023-01-28)
Chores

deps: update dependency @swc/core to v1.3.29 (dff43e4)
deps: update dependency tslib to v2.5.0 (0dd6bac)
deps: update vitest monorepo to v0.28.2 (84f2b71)
deps: update vitest monorepo to v0.28.3 (530bf43)

Miscellaneous

context type syntax (be3ee41)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/smarlhens/npm-pin-dependencies/releases/tag/v0.3.1 :sunflower:

repo: smarlhens/npm-pin-dependencies


text:
生成的openapi.json没有呈现Map类型

Your Environment(您的使用环境)

smart-doc version: 2.7.5
plugin version (e.g. smart-doc-maven-plugin or smart-doc-gradle-plugin): smart-doc-maven-plugin
build tool version(maven or gradle):maven
springboot: 2.7.1

Expected Behavior(您期望的结果)
对于Map类型生成如下结构
{
"type": "object",
"additionalProperties": {
"type": "string"
}
}
或者
{
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ComplexModel"
}
}
Current Behavior(当前结果)
{
"type": "object"
}
Possible Solution(bug解决建议)
https://spec.openapis.org/oas/v3.1.0#model-with-map-dictionary-properties
Steps to Reproduce (Bug产生步骤，请尽量提供用例代码)
1.使用smart-doc生成openapi.json
2.使用openapi-generator和openapi.json生成java springboot resttemplate客户端
Context(Bug影响描述)
对于参数有map或者返回体有map的接口，生成的openapi文档中没有呈现相关信息，导致使用openapi-generator生产的客户端参数或者返回值是Object类型而不是具体的Map类型

smart-doc是很排斥在接口中出现map的，是有什么原因一定要使用map吗？

不是一定要，我把接口中的map都去掉了
有些场景下省事而已

repo: smart-doc-group/smart-doc


text:
Submit the latest update to PyPI

When we get a chance, we need to add the changes made in https://github.com/smartfile/client-python/pull/7 to PyPI. This way people can just use pip install smartfile to import the latest SmartFile client SDK changes.

Any chance this can be done? It would resolve #6 and would be super appreciated! 👍

PyPI has been updated.

authors: Ryanb58 cabarnes lsapan

repo: smartfile/client-python


text:
Styled getting started section's next step links

Styled the getting started section's next step links to be consistent with api section

Thanks :+1: :shipit:


text:
Component error when using react testing library

I currently cannot use the Rating component with the react testing library. Here is a minimal example:
import { Rating } from "@smastrom/react-rating";
import { render } from '@testing-library/react';

describe('Rating', () => {
    test('Fails', async () => {
        render(
            <Rating data-testid={'X'} isDisabled={false} style={{ maxWidth: 100 }} items={5}
                value={0} />
        );
    }, 10000);
});

If I run it with yarn test Rating.test.tsx, I get following error:
TypeError: h.current.getBBox is not a function

       5 | describe('Rating', () => {
       6 |     test('Fails', async () => {
    >  7 |         render(
         |               ^
       8 |             <Rating data-testid={'X'} isDisabled={false} style={{ maxWidth: 100 }} items={5}
       9 |                 value={0} />
      10 |         );

      at node_modules/@smastrom/react-rating/dist/index.js:1:1735
      at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:23150:26)
      at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:23273:15)
      at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24688:9)
      at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24674:7)
      at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:24612:3)
      at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26823:5)
      at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26682:5)
      at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25981:9)
      at performConcurrentWorkOnRoot (node_modules/react-dom/cjs/react-dom.development.js:25809:7)
      at flushActQueue (node_modules/react/cjs/react.development.js:2667:24)
      at act (node_modules/react/cjs/react.development.js:2582:11)
      at node_modules/@testing-library/react/dist/act-compat.js:63:25
      at renderRoot (node_modules/@testing-library/react/dist/pure.js:159:26)
      at render (node_modules/@testing-library/react/dist/pure.js:246:10)
      at Object.<anonymous> (src/test/org/mycollection/games/client/widgets/commonviews/Rating.test.tsx:7:15)
      at TestScheduler.scheduleTests (node_modules/@jest/core/build/TestScheduler.js:333:13)
      at runJest (node_modules/@jest/core/build/runJest.js:404:19)
      at _run10000 (node_modules/@jest/core/build/cli/index.js:320:7)
      at runCLI (node_modules/@jest/core/build/cli/index.js:173:3)

What do I need to do to use it with react testing library?

Hi Jans, this is expected. getBBox is the Web API this package uses to compute the final bounding box of each rating item.
Such Web API isn't supported in Node environments like jest-dom or happy-dom and needs to be stubbed unless you prefer to run the tests in a real browser (using Cypress, Playwright, etc.).
I've used react-testing-library as well, and that's the mock implementation:
beforeEach(() => {
   window.SVGElement.prototype.getBBox = () => ({
      x: 0,
      y: 0,
      width: 0,
      height: 0,
   })
})

afterEach(() => {
   delete window.SVGElement.prototype.getBBox
})

https://github.com/smastrom/react-rating/blob/main/tests/dom/setupTests.ts

Also, the data-test-id you added to the Rating component won't be added to the root element so you might want to select it using this class: .rr--group.

authors: jebbard smastrom

repo: smastrom/react-rating


text:
cannot specify "noarch" or "all" with architectures

The packages I want are in architectures amd64 and noarch
when I specify both, the noarch architecture is not recognized

Detailed Description

$ aptly -architectures="amd64,noarch" mirror create debian-amd64-sensuapp http://repositories.sensuapp.org/apt jessie main
Downloading http://repositories.sensuapp.org/apt/dists/jessie/InRelease...
Downloading http://repositories.sensuapp.org/apt/dists/jessie/Release...
Downloading http://repositories.sensuapp.org/apt/dists/jessie/Release.gpg...
gpgv: Signature made Tue May 16 22:54:17 2017 UTC using RSA key ID EB9C94BB
gpgv: Good signature from "Freight <support@hw-ops.com>"
ERROR: unable to fetch mirror: architecture noarch not available in repo [debian-amd64-sensuapp]: http://repositories.sensuapp.org/apt/ jessie, use -force-architectures to override

Context

When a package is not architecture-specific it is in noarch
Possible Implementation

Your Environment

Looks like this was reported 3 months ago here:
http://disq.us/p/1h1s98d

repo: smira/aptly