Per-network StatusPrefix

Hi,
I'm finding that each network opens it's own *status window in irssi client. So there are about 8 of them (1 for each different network), and they all look the same. This makes navigation to that network's status screen version very cumbersome.
They all look the same. So having to go into each window and read carefully looking out for a single word in the buffer, as to whether to dismiss or not. If unlucky, have to go through all 8 windows until get to the right one. Which usually takes ages.
I've asked on irssi people. But clearly also here is a good place to ask for per-network StatusPrefix. As that would also solve the problem too. Then each window could be labelled like: *freenode_status, *efnet_status, *ircnet_status, *gnome_status, etc.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/30809057-per-network-statusprefix?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github).

When user switches between networks in the same connection, it can be confusing who he needs to speak to.
/msg *freenode_status jumpnetwork efnet
/msg *freenode_status help(oops)^W^W*efnet_status help

While speaking to the same ZNC

And there will be one more source of confusion.
There will need to be 2 different settings, one on user level, another one on network level.
The user level would be used in 2 situations: when client is connected to user, but not to network (it's very rarely, but possible), and when creating new network (just copy the value to the per-network setting).
Regardless of how the user setting will be presented, I expect users will confuse one with the other :(

OK I think I understand now.
Sorry I didn't quite get it before. For example eg /msg -efnet *efnet_module is rather redundant.
So we really need to be changing the way irssi client displays the windows, to include the network as a prefix somehow. Then indeed that is a client-side issue.

However we it could be possible to have both a user + network level prefixes at same time. I mean to appear by concactenation. For example:
user-level Prefix: $
network-level Prefix: efnet_
full prefix: $efnet_
Perhaps from the programming side it would be more confusing to znc itself, having duplicate variables.

Couldn't irssi add the prefix by itself?
I use WeeChat with the buffers.pl script and I have /set buffers.look.short_names off so all IRC-buffers in my sidebar are in format <network>.<channel|nick>.
I name my networks by taking two first letters of the network name (or if that is not possible, as many until there aren't two same names) so my freenode *status is fr.*status and oftc *status is of.*status etc.

@Mikaela yeah thanks. I agree it would be prefereable to do this on client side. Precisely what you have described, except for the irssi client instead of WeeChat. To be more specific: with irssi's adv_windowlist.pl channel bar.
Actually I would like to take things a step further, by selectively prefixing only for those channels named *status and *module etc. Leaving all regular IRC #channels untouched.

you can enable network headers in adv_windowlist

Hi @ailin-nemui,
Yes indeed but there is only a very limited amount of space. Only need it for some of the windows. Like with a regexp somehow to filter which ones have the prefix or not. Is that possible with adv_windowlist?

if you sort your windows by network you'll have one header for each network. anyway I believe this is off topic for znc

if you sort your windows by network

Sorry but I don't to do that. Am sorting with chansort.pl. @ailin-nemui Do you think I should open a new issue on irssi.irssi repo?


Removing type hint from CommandHandler

Hear me out..
I'm working on an example hexagonal app using commands and handlers. I wanted to introduce a command bus into the equation and liked the look of this.
One of the big concepts I want to put across in the application is the dependency rule and ensuring that we're only depending on inner dependencies.
So I'm creating adapters for any outer dependency. Therefore to use this library, I have something that looks like the following:
Example Command:
<?php

namespace Jenko\House\Command;

use Jenko\House\Adapter\SimpleBusCommandAdapter;

final class EnterRoomCommand extends SimpleBusCommandAdapter
{
    const NAME = 'enter-room';

    public $house;
    public $room;
}

Notice it's extending the adapter, which looks like this:
<?php

namespace Jenko\House\Adapter;

use Jenko\House\Command\CommandInterface;
use SimpleBus\Command\Command;

abstract class SimpleBusCommandAdapter implements Command, CommandInterface
{
    /**
     * {@inheritdoc}
     */
    public function name()
    {
        return static::NAME;
    }
}

Pretty straight forward so far. So then I wanted to do a similar thing with handlers:
Example Handler:
<?php

namespace Jenko\House\Handler;

use Jenko\House\Adapter\SimpleBusHandlerAdapter;
use Jenko\House\Event\EventDispatcherInterface;
use Jenko\House\Factory\HomeAloneHouseFactory;
use Jenko\House\House;

final class EnterRoomHandler extends SimpleBusHandlerAdapter implements HandlerInterface
{
    /**
     * @var House $house
     */
    private $house;

    /**
     * @var EventDispatcherInterface
     */
    private $dispatcher;

    /**
     * @param EventDispatcherInterface $dispatcher
     */
    public function __construct(EventDispatcherInterface $dispatcher)
    {
        $this->house = HomeAloneHouseFactory::getHouse();
        $this->dispatcher = $dispatcher;
    }

    /**
     * @param $command
     * @return mixed|void
     */
    public function handle($command)
    {
        $house = $this->house->enterRoom($command->room);
        $this->dispatcher->dispatch($house->releaseEvents());
    }
}

The Adapter:
<?php

namespace Jenko\House\Adapter;

use Jenko\House\Handler\HandlerInterface;
use SimpleBus\Command\Command;
use SimpleBus\Command\Handler\CommandHandler;

abstract class SimpleBusHandlerAdapter implements CommandHandler, HandlerInterface
{
    /**
     * {@inheritdoc}
     */
    abstract public function handle(Command $command);
}

Now obviously this doesn't work because of the type hint for Command. As SimpleBus\Command\Handler\CommandHandler is expecting a SimpleBus\Command\Command instance, I must type hint for that in my handlers. Thus, coupling my handlers to the SimpleBus\Command\Handler\CommandHandler. Type hinting to my adapter doesn't work unfortunately, as the method signature must match exactly of the interface.
I'm unsure if the commands and handlers should be part of my domain or if they are deemed part of the infrastructure (where I care less about decoupling so much).
So, sorry for the long PR, but I guess it's kind of an RFC with the following questions:

Can we lose the type hint?
Should I just not worry about decoupling my commands/handlers so much?
Other?

I tried to look at what similar libraries do, but didn't come to any conclusion really. Broadway doesn't require a type hint (https://github.com/qandidate-labs/broadway/blob/master/src/Broadway/CommandHandling/CommandHandlerInterface.php) nor does (https://github.com/tabbi89/CommanderBundle/blob/master/Command/CommandHandlerInterface.php) but then other similar libs do so ¯_(ツ)_/¯

Just for reference - my problem here is more or less the same as this Stack Overflow question: http://stackoverflow.com/questions/26699118/hexagonal-architecture-clean-code-problems-implementing-adaptor-pattern

@jenkoian Thanks for pointing this out. About adapters: they are not meant to implement both interfaces, they are merely meant to bridge the gap between one interface and another. So, in the case of the console output, MySymfonyDialogAdaptor should wrap the MyOutputInterface instance in a MyOutputToSymfonyOutputAdapter, which implements the Symfony OutputInterface. Of course, you'll need to implement lots of methods, but that's because this interface tries to provide too many methods in the first place (it doesn't do Interface segregation principle ;)).
I still think that you wouldn't need to go as far as you are doing now. The idea of hexagonal architecture (which this library is meant to support), is that you separate adapter code from core code, or technical details of the input and output of your application from your domain code. It's not bad if you use third-party code in the core of your application - you can not write everything yourself. It is however important to make your core point inwards with regard to external system, like a database, or a web browser. It should not be aware of any of those.

@matthiasnoback thanks for the reply :)

About adapters: they are not meant to implement both interfaces, they are merely meant to bridge the > gap between one interface and another. So, in the case of the console output,
MySymfonyDialogAdaptor should wrap the MyOutputInterface instance in a
MyOutputToSymfonyOutputAdapter, which implements the Symfony OutputInterface

Unless I'm mis-understanding, I'm not sure I agree here. Doesn't it make more sense to depend on your own interface and adapt to the third party interface (in this case OutputInterface)? (I do agree they shouldn't implement both interfaces, I only did that in my code example (above) to try and get it to work with the existing type hints, the code on the SO post though doesn't implement multiple interfaces though).
This seems right to me. You want to rely on your own interface and use adapters to 'adapt' outside interfaces to fit. I'm not sure I see the need to create an adapter in the other direction, i.e. MyOutputToSymfonyOutputAdapter unless you are specifically working with a class which is expecting an instance of OutputInterface.

I still think that you wouldn't need to go as far as you are doing now. The idea of hexagonal architecture > (which this library is meant to support), is that you separate adapter code from core code, or technical > details of the input and output of your application from your domain code. It's not bad if you use third-
party code in the core of your application - you can not write everything yourself. It is however
important to make your core point inwards with regard to external system, like a database, or a web
browser. It should not be aware of any of those.

I think this depends on how seriously you are taking the dependency rule and also if you care about loose coupling vs de-coupling

unless you are specifically working with a class which is expecting an instance of OutputInterface

This is the case, right? In the example the dialog helper explicitly needs such an instance. So then you just have to wrap it again (only problem is the amount of methods that you won't be able to support).
The Dependency rule is interesting, but I'm not sure if the dependency on interfaces of SimpleBus is really in the wrong direction. As I said, you still apply to the Dependency inversion principle by depending on an interface which models a very abstract concept as well. Also, code from a library isn't necessarily part of an outer ring. If you recreate the code in your own project, then it will be in the same ring and you would still not be allowed to depend on it. This would lead to the conclusion that it's no problem to use Command, Event and the handler/subscriber interfaces in the core of your application.

Yeah, as mentioned int he edit I think I was mis-understanding initially. This makes sense. In fact I've been talking to Chris (author of the SO post) and we've come up with something like https://gist.github.com/chriscollinsboxuk/c5aa552cdfa8bb55c870 which I think is the point you were trying to make.
Still digesting your second point, but thanks for your input with all this, appreciate you taking the time on essentially a non issue :)

Exactly, that was what I meant :)
Thanks to you too. I think it's important to explain/defend certain design choices. If I can't do that, then I should try harder/rethink things. And that actually happens a lot, so I always try to follow the reasoning of people commenting to find out if there is a new concept/solution hidden behind their questions.


chore: add tsup

As discussed
The only concrete thing to do with tsup is to ensure that the package.json exports match the entrypoints specified in tsup config
I've also added validator as a bundled dependency. So yeah bundling dependencies should be done very sparingly because it can be a real headache. But in this case I think it's worth to do it as we've seen in different benchmarks :
Not bundled vs vine/vine + vine/compiler bundled

Not bundled vs vine/vine + vine/compiler + validator bundled

Hello 👋
Looks quite simple. I was going through the documentation of tsup and found a couple of notes we should look into.
Using tsup-node

Validating generated types
We should add this to our build pipeline

issue with tsup-node is that it ignores even the "noExternal" property, which, in our case, allows validator.js to be bundled
But OK to use this by default everywhere

regarding the validation of generated types, I didn't found any good solutions for it. I tried @arethetypeswrong/cli but it has one major problem: https://github.com/arethetypeswrong/arethetypeswrong.github.io/issues/45
it doesn't install dependencies. So, for example, in our ./types file for vine, we import some types from vine/compiler to define others ones :
https://github.com/vinejs/vine/blob/develop/src/types.ts#L18
So, for typescript to understand these types, you need to have vinejs/compiler installed. Something that attw does not do
and with tsc i'm not sure there's an easy and automated way of checking this
i've used tsup a bit on front-end libraries and I've never felt the need to do that, so i would say we can do without it
i've never encountered an error with invalid types generated


Validate probability weights

Problem
It is relatively easy to mess up the configuration of the probability weights, so that probability sums are not equal 1 etc.
Steps
No response
Possible Solution(s)
A stricter static validation or runtime checks could help the problem. Another option would be some form of restructuring the probabilities.
Notes
No response
Version
0.17.1

Version
cargo 1.66.0 (d65d197ad 2022-11-15)
release: 1.66.0
commit-hash: d65d197ad5c6c09234369f219f943e291d4f04b9
commit-date: 2022-11-15
host: aarch64-apple-darwin
libgit2: 1.5.0 (sys:0.15.0 vendored)
libcurl: 7.85.0 (sys:0.4.55+curl-7.83.1 system ssl:(SecureTransport) LibreSSL/3.3.6)
os: Mac OS 13.1.0 [64-bit]

Actually a probability weight can have an independent value, as a total probability weight sum larger than 1 would just result to a uniform distribution.


SITL logger compile error with GCC 7.3

Bug
I updated Cygwin to the newest version and it's using GCC 7.3
$ gcc --version
gcc (GCC) 7.3.0

When I compile SITL by make posix I get the following errors which weren't there before on this branch:
../../src/modules/logger/logger.cpp:2136:27: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
       statfs_buf.f_bavail >= (px4_statfs_buf_f_bavail_t)(min_free_bytes / statfs_buf.f_bsize)) {
       ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../../src/modules/logger/logger.cpp:2172:26: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
  if (statfs_buf.f_bavail < (px4_statfs_buf_f_bavail_t)(50 * 1024 * 1024 / statfs_buf.f_bsize)) {
      ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Workaround
Of course I can just add a (int) cast in front of the second operand of the comparison and then it compiles again but I'm writing this issue because there's likely some inconsistency with the types.
Why is px4_statfs_buf_f_bavail_t defined once signed, once usigned here? https://github.com/PX4/Firmware/blob/9ce83f22087311df06078edf3a9da640d93ab396/src/platforms/px4_defines.h#L115-L173

NuttX uses a different sign from Linux, and apparently Cygwin.
We should something like this (the type is only used in logger):
#ifdef __cplusplus
#include <sys/statfs.h>
typedef decltype(statfs::f_bavail) px4_statfs_buf_f_bavail_t;
#endif

@bkueng Thanks for your suggestion! What puzzled me most is that this only happens after the last Cygwin update. I'll try/investigate such a solution and create a pr as soon as I found something reasonable.


Add empty webui + rework port config

Rework the HTTP server to serve a dummy HTML page at /webui path
Rework port configuration to use port number 5500 by default and allow
the caller to change the port number via PORT environment variable.

@aarshkshah1992 please review. I slightly tweaked your initial web server to get it closer to what I envision for the Station Electron app.


Composing selectors?

I have written the following selector for selecting a denormalized item by its id
export const selectBankItem = createSelector(
  [
    (state, itemId) => state.bank.items[itemId],
    (state, itemId) => state.bank.accounts[itemId],
    (state, itemId) => state.bank.transactions[itemId],
  ],
  (item, accounts, transactions) => ({
    ...item,
    accounts: _.toArray(accounts),
    transactions: _.toArray(transactions),
  }),
);

I'm trying to figure out how I can now write the selectAllBankItems selector without duplicating all of this code, and with caching. It doesn't seem possible to me, yet it seems like an extremely common use case (having an ItemContainer, and an ItemListContainer, and not having to duplicate 100% of the selector code, that is).
Can anyone help?

If you're using React, usually I find this pattern working so that one smart component is using reselect to select an array of items, and then based on the itemID's it renders separate smart item components. Then each of the smart item components are using their own reselect selector to memoize single item output.  Here's an example:
const Item = ({name}) => (
  <div>
    {name}
  </div>
)

const getItem = createSelector(
  (state, props) => state.bank.items[props.itemID],
  (state, props) => state.bank.accounts[props.itemID],
  (state, props) => state.bank.transactions[props.itemID],
  (item, accounts, transactions) => ({
    ...item,
    accounts: _.toArray(accounts),
    transactions: _.toArray(transactions),
  })
)

const ItemContainer = connect(getItem)(Item)

class List extends PureComponent {
  render() {
    return this.props.items.map(itemID => (
      <ItemContainer itemID={itemID} key={itemID} />
    ))
  }
}

const getItems = createSelector(
  state => state.bank.items,
  items => Object.keys(items),
)

const ListContainer = connect((state, props) => ({
  items: getItems(state, props),
}))(List)

However, reselect I think could be used even without such abstractions or using React. I would love to get feedback on this approach from others! 💬
const selectAllBankItems = createSelector(
  state => state.bank.items,
  state => state.bank.accounts,
  state => state.bank.transactions,
  (items, accounts, transactions) => {
    const enhancedItems = {}
    for (let itemID of Object.keys(items)) {
      enhancedItems[itemID] = getItemSelector(itemID)(items, accounts, transactions)
    }
    return enhancedItems
  }
)

const makeItemSelector = itemID => createSelector(
  (items, accounts, transactions) => items[itemID],
  (items, accounts, transactions) => accounts[itemID],
  (items, accounts, transactions) => transactions[itemID],
  (item, accounts, transactions) => {
    console.log('calculating', itemID)
    return Object.assign({}, item, {
      accounts: _.toArray(accounts),
      transactions: _.toArray(transactions),
    })
  }
)

const getItemSelector = (() => {
  const all = {}
  return itemID => {
    if (!all[itemID]) {
      all[itemID] = makeItemSelector(itemID)
    }
    return all[itemID]
  }
})()

Here's a demonstration in repl.

My approach was basically the same as @alizbazar's, though due to some relations being arrays-of-ids, I needed to do array-aware memoization.
That said, their first suggestion is more on the money: Create a denormalizing selector per-component and you don't need to worry about caching everything globally, which requires more work either with collection caches like they did or with something like re-reselect, which is basically the same thing but tied up neatly with a bow on top.
My own suggestion is: stick with directly interacting with normalized data in your React components, then all of this extra caching madness goes away.  You end up with more connect()s in your tree, but you gain the benefit of less thinking about what needs to be cached and you deal with fewer transformations of data in your app, and with fewer chances of random store updates causing redraws in unrelated components.  This has the added benefit of any data transforms you do have being colocated with the components using them.
After extensive work with React and Redux, I've come to be of the opinion that if you normalize your data, you should not bother denormalizing it.  Conversely, if you want to deal with denormalized data, then don't bother normalizing it and just fetch it fresh every time.  If you want to have your normalization cake and eat it simultaneously, maybe look into something like GraphQL+Relay/Apollo, which will automate this drudgery for you.  If you can't use GraphQL, then see about having Swagger docs added to your API so you can build tooling to do that drudgery.  If you can't do that, then you're stuck manually writing everything, which will become a maintenance and mental burden.

If you feel like reselect is not covering all your use cases, it might be worth exploring other options, I developed an alternative selector library called recompute that might fit your needs:
        const getAllItems = createObserver(state => state.bank.items)
        const getItem = createObserver((state, itemId) => state.bank.items[itemId])
        const getAccounts = createObserver((state, itemId) => state.bank.accounts[itemId])
        const getTransactions = createObserver((state, itemId) => state.bank.transactions[itemId])

        const selectBankItem = createSelector(id => ({
            ...getItem(id),
            accounts: _.toArray(getAccounts(id)),
            transactions: _.toArray(getTransactions(id)),
        }))

        const selectAllBankItems = createSelector(() =>
            Object.keys(getAllItems()).map(id => selectBankItem(id))
        )


Make the core lwAFTR drop fragments

The lwAFTR was designed with the idea that fragmentation apps around it
would always remove all fragments, and it would never see any. SnabbVMX
allows creation of an app network without the fragmentation apps.
This patch modifies the core lwAFTR app to check for fragments. If it finds
any, it is running in a configuration where fragmentation should be disabled,
so drops them.
This adds and documents two new counters:
drop-ipv4-frag-disabled and drop-ipv6-frag-disabled
There are no new tests that exercise these code paths, yet.

@kbara I am OK with merging this patch as it is and add fragmentation test cases in another PR

SGTM, let's do it that way, but keep the original bug report open until we've also merged a test case.


Disable composite for type declarations

We are using pkgroll with Typescript monorepos (managed by pnpm
workspaces) and project references. The latter requires
compilerOptions.composite = true in referenced projects for most tsc
invocations. If you set references without compilerOptions.composite = true, tsc will fail, indicating that composite needs to be set.
When I run pkgroll and have composite set, I get TS6307 for every
file included from src/index.ts. rollup-plugin-dts does not handle
composite (see Swatinem/rollup-plugin-dts#127, which was closed
without fix or explanation). I looked at several other related tools
(rollup-plugin-typescript2, rollup-plugin-ts, others mentioned in
Swatinem/rollup-plugin-dts) and could not get any of them working to
build just the DTS files (rollup-plugin-typescript2 was the most
promising, but I could not get it working in the time that I allotted
for this investigation).
Going back to rollup-plugin-dts, we find the compilerOptions option,
and I tried explicitly setting composite: false, which allows my type
files to build again without errors.
I don't think that this is the correct fix; ideally, rollup-plugin-dts
would be fixed to better handle composite projects or would override
composite at all times. An alternative change, although much more
invasive to pkgroll, would be to have pkgroll accept an alternate
tsconfig.json as a parameter:
$ pkgroll --tsconfig tsconfig.pkgroll.json

In the short term, this has eliminated the build issue that I have been
seeing, and it may be sufficient to resolve this until a better fix can
be determined in some way, whether by a --tsconfig parameter, upstream
fixes, or changing to a different bundler plugin for type declaration
plugins.

Thanks for the PR!
Would you mind adding a test to demonstrate the issue you're addressing?

Thanks for the PR!
Would you mind adding a test to demonstrate the issue you're addressing?

I wouldn't mind, but it’s going to be at least couple of weeks before I can get to it, because I discovered it in a multi-thousands-of-lines project during refactoring — and the project is sadly very late (it was supposed to be done mid-February).
I’m also not entirely sure how the test would work with your setup, because it requires a typescript monorepo project, so as I understand it, it would be an entirely separate fixture layout for this test.

@privatenumber I managed to figure out a simple reproduction and have updated the main description with a link to the repo.
I have also added a unit test and fixture that covers this. It's a non-trivial case:

You must be exporting types and bundling the resulting .d.{,m,c}ts files.
You must have more than one file exporting types in src/, but everything is exported through the main file. That is, src/index.ts can simply export type { Name } from './other.js', which is exported from src/other.ts.
The tsconfig.json must have compilerOptions.composite: true.

I will reiterate that I believe that this change is a hack and is fundamentally incorrect (and probably should not work, but so far it seems to). I believe that either Swatinem/rollup-plugin-dts needs to be fixed or pkgroll should look at using rollup-plugin-typescript2 for type exporting (it looks like it can be configured just for type exports, and it looks like while there were similar bugs related to composite projects, they seem to have been squashed).
I don't understand enough of what Swatinem/rollup-plugin-dts is doing to make a suitable bug report there, but hopefully the repro repo will help you understand it so that the underlying bug can be fixed, not just closed.

I'm unable to push to your PR (your repo) all of a sudden, so I pushed here:
https://github.com/privatenumber/pkgroll/compare/develop...fake-support-composite
git push git@github.com:KineticCafe/pkgroll.git fake-support-composite
ERROR: Permission to KineticCafe/pkgroll.git denied to privatenumber.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

I consolidated the fixture and made it more minimal.

Thank you very much!


Call to a member function getUser() on null

I updated to 1.1 version. After adding some item to cart I tried to log in but encountered following error

I just hit similar bug : Call to a member function setUser() on nul

After over 6 hours the error cleared out. What could be the cause?

After over 6 hours the error cleared out. What could be the cause?

I tried to add to cart again but it failed to add to cart then the error came back. How do i even reset it?

I've seen this on routes without the web middleware. Cart persistence is based on sessions, and it's handled by the web middleware in Laravel.
However I still consider this as a bug in Vanilo cart and will look into in the next days.

Same here. Seems cartmanager > getUser() is called on non existing model.
Although getUser() checks if cart exists (session key), it does not check if this model is really available in DB. I think exists() should also verify that the cart is really in the DB, before getUser() is called on null.
Quickfix: delete sessions.

Update to v1.1.1 for the fixed version composer update vanilo/cart ^1.1.1


Document .graphql and .gql file loading with graphql-tag.macro

This PR follows up #3909 and #5076 by adding documentation for the .graphql loading features through babel-plugin-macros.
Signed-off-by: petetnt<EMAIL_ADDRESS>

Aaaand now it targets the docusaurus docs 🦎

@Timer addressed comments, thanks!

Adding loading other types of assets (images, svgs, styles...) are on that section and AFAIK the graphl-tag loading isn't applicable to Relay so it might be a confusing. Then again they are both graphql related so it might make sense to put it there too anyway (that's where I put it when I opened this PR).
Anyway is fine with me, you can take the pic 😄

Thanks @AndresRodH for reviewing!

Just going to throw this out there, graphql.macro currently doesn't support absolute paths, if you have a monorepo setup where your .gql files are stored in another package like @app/graphql and yarn workspaces symlinks it into the CRA app's node_modules, graphql.macro won't find it.
I made a PR which adds support for this, but, it looks like babel-plugin-macros doesn't apply to imports from node_modules. I ultimately had to run @babel/cli with a proper .babelrc setup and import compiled files to get graphql support to work in 2.0 after graphql and monorepo support was removed.
I am also somewhat concerned because it does not look like the repository is being actively maintained, I made a fork with absolute path and node modules path support at @kimmel/graphql.macro to use for now with the hope that the maintainer will become active.

Good catch @donovantc, fixed!

It seems that @audiolion's comment has been addressed in graphql.macro so this can probably be safely merged.

The deploy preview seems to be broken. Can you try rebasing with master to see if that fixes it?


Added Google Spreadsheet support

fixes #117

@akariv
@pwalsh
If I've got it right (and you know any google docs are the best in the world=) that any usage of Sheets API should include API Key:

https://developers.google.com/sheets/quickstart/python
https://developers.google.com/sheets/guides/authorizing

It looks like there is no such thing as just load gsheet as anonymous thru API (there was gdata API to do so but now it doesn't work). Correct me if I'm wrong.
For public sheets end-users getting an API Key could be a problem and we cant provide ours because of the limits. So for now as a POC I just read csv export from any publicly available spreadsheet (no user actions like public to the web are needed for it - only link if access set to anyone).
Thoughts, ideas?)

@roll I know you couldn't have understood from what I wrote, as the description in #117 is very vague. But what I meant was the thing of adding a user that acts as the app to spreadsheets for private use and so on.
Based on my own experience, what you have done here is very useful, and I think we can ship it as gsheets-csv or something, but it would be good to accept an API key that allows tabulator to use the "native" representation of the sheet data.
But for immediate use, we jut need to know if @akariv can use this version, or needs the full native version.

@pwalsh
No worries were on the same page just decided to get back to you and Adam before going further.
Problem is new Sheet API doesn't support guest access so user should get API key even for public doc. In many cases it could be to complicated for the user.
So we could do something like:

Stream(url) - use Export API
Stream(url, api_key) - use Sheet API
Stream(url, token_creds) - use Sheet API with private docs access

@roll ok. let's see what @akariv needs and then decide. Still, I think we should name the Export API parser differently, as it is a different representation of the data to the other two, so gsheet-csv and gsheet-native or similar.

So far my requirement is to be able to access public gsheets (i.e. 'anyone with the link can access').

@akariv
Version here allows it returning untyped strings (like csv). To get typed output you will be required to provide API Key (could be implemented here using new Sheet API).
Also there is gspread using other Google API but it doesn't support anonymous access for now - https://github.com/burnash/gspread/issues/175

See how it works for now - https://github.com/frictionlessdata/tabulator-py/blob/gsheet-parser/tests/test_stream.py#L41-L58 (document is anyone with the link can access)

@roll LGTM


Uncaught TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'.

I am using vue-croppa component in modal dialog and experience this issue after closing my dialog during window resize.
I have investigated the issue and figured out that auto-sizing = true  is the property what affects on that.  The problem is with resize event listener in _setSize function.
I would suggest to use mounted method to add event listener and beforeDestroy method to remove event listener as well.

It seems the new feature auto-sizing has caused a lot of problems : (((((  #83 also.
I will look into it and do the fix asap, probably in two days though, because I'm a little busy at my job lately. If it's urgent I suggest you can handle the dynamic resizing in the old way, which is to dynamically change the value for :width and :height prop.

This is what changed:
https://github.com/zhanziyang/vue-croppa/blob/29ad64a3ed82e91e52bf6a3533d49789147a559a/src/cropper.vue#L502-L512
This method is called in mounted
https://github.com/zhanziyang/vue-croppa/blob/29ad64a3ed82e91e52bf6a3533d49789147a559a/src/cropper.vue#L193
I can't reproduce the error. It would be great if you have time to fix it and submit a pull request.

Would you give v1.3.3 a try?


[Package Issue]: Mega.MEGASync missing sync icons and Explorer context menu entries

Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Installation issue.
Brief description of your issue
After installing MEGASync with the installer (MEGAsyncSetup64.exe) downloaded from mega.io/desktop two things are displayed in Explorer:

sync icons
some Mega context menu entries

After installing MEGASync with winget both these features are missing.
Steps to reproduce
> winget install --id Mega.MEGASync

Actual behavior
Mega sync icons and context menu entries are missing from Explorer.
Expected behavior
Mega sync icons and context menu entries are present in Explorer.
Environment
> winget --info
Windows Package Manager v1.4.11071
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22621.1778
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.19.11071.0

Screenshots and Logs
No response

Are there installer switches to make these part of the install flow?

As far as I have observed there are none.
Another observation is that enabling and disabling these features post-installation from the app settings have no effect when the app is installed from winget, but they do work when the app is installed with the installer:

Interesting; Do those features work post-install if you use winget install Mega.MegaSync -i and go through the interactive install flow?


Use IB CP API latest binaries for Docker builds

Remove IB CP API binaries from repo
Add build stage in the Dockerfile(s)
Add 172.* addresses to whitelist

Should fix #208. Maybe provide a workaround for #207.

Hey @teodorkostov thanks for submitting this PR.
I've spent a while reviewing the idea behind your proposed changes - one of having the dependency as latest each time we build.
I find good reasons behind doing both pinned versions and latest:
pinned:

better compatibility with our code - we know how the dependency works with our code
less errors and surprises - we're less likely to introduce breaking changes
lower maintainability cost - we don't need to test each build in case the gateway version increased
clear versioning system - we know which IBeam version was shipped with which Gateway

latest:

better compatibility with IBKR - pretty self explanatory, code is the latest shipped from IBKR
better security - in theory this means we get the security patches from IBKR faster, though in practice I see hardly any meaningful development on the Gateway itself for this to be a contributing factor
reduced technical debt - having old dependencies is a not great

However, I don't have time resources to manually verify the integrity of shipped image each time we build should the Gateway version change. I'd also feel uncomfortable publishing an image which people use in production environments with latest dependencies that haven't been at all tested. I feel that going with latest would only make sense if we could lower the maintenance cost of having latest tested every time we build by introducing a testing suite with CI/CD. This is currently not present in IBeam - would you be interested in introducing it?
An opposite solution would be to keep things as they are. IBKR integrates meaningful changes to the gateway infrequently enough that manually updating it every year or two has been sufficient. Do you feel that this has changed now?

As for:

Add 172.* addresses to whitelist

172.* addresses include both private and public IP addresses, hence hard-coding them as allowed seems to be a security risk and is not advisable:

https://www.whatismyip.com/172-ip-address
https://www.arin.net/reference/research/statistics/address_filters/

For what little it's worth, I mostly agree with @teodorkostov. Occasional breaking changes are irritating, but to be expected. I doubt anyone expects you (@Voyz) to be providing mission-critical levels of reliability for free.
As long as the images are properly tagged, we can always roll back to a previous tag when something breaks.
Can we tag the auto-fetched image as "nightly" or "latest", and only tag tested images with a version?
How does this affect people who are running standalone instead of using the docker image?

I like the direction this PR introduces. I think I can help with this:

The other solution would be to create the build image that holds the IBKR binaries separately. Version that image properly.

I already created https://github.com/demircancelebi/ibkr-clientportal-archive which should archive the versions and the checksums daily automatically going forward. If you like it you can fork it / change it to your needs.

Guys, firstly, I wanna say that I value your input and I'm open to this discussion. Nevertheless, I feel I'm missing a crucial point here, and I'd appreciate if you could try to see this perspective:

Unless I'm missing something - there has been zero updates to the Gateway since April 2023. If what I see is true, then nothing will change directly by introducing this PR right now. I've just downloaded the latest stable release of the Gateway and it is the same exact code IBeam already ships with, zero changes. I went through their changelog, no changes either. We're talking about versioning like if there were any meaningful versions, but there essentially aren't.
What's more, IBKR indicates they're looking to introduce the OAuth 2.0 API which will most likely mean the Client Portal Web API - and as such the Gateway - will become obsolete.
What these two points indicate, is that if there are to be any changes to the Gateway, it's very likely these will be sparse and possibly only few before deprecation - if any.

Why are we trying to do this? Just for sake of being hypothetically up to date? I think I'm not making an unreasonable statement when I'd say that automation only makes sense if it really automates something, otherwise it's another redundant moving part. Downloading, unzipping and pushing the latest Gateway once it changes takes me less than 5 minutes a year. I totally have time for that; I sometimes spend hours trying to debug various Issues users submit, hence 5 minutes is nothing and not worth automating at all. Arguably, having this automation maintained is going to be a similar level of negligible effort, yeah, but if it fixes nothing and changes nothing - why would we introduce it?
Or am I missing something crucial here, and this PR does change something important for somebody, other than not keeping binaries in the source code? Honestly, if there's something that this change will fix and help for anyone here I'm totally happy to go ahead - please help me see your perspective. But at this stage I don't understand why would we do it and why are we investing time into this.

I was thinking about security. In case your account is compromised and the gateway is updated, a malicious actor may introduce unwanted code to the clientportal section. Now the burden to check nothing suspicious going on is on the user, I thought removing that burden and relying on IB would be a good idea.
I also checked the diff and asked Claude to summarize them. I guess these were all intentional:

You are right, clientportal is not updated frequently so I'd say it may not be worth the effort if this was not implemented. Since the PR is already here though, I think it'd be better to merge it.

@demircancelebi thanks for pointing the security out 👍
Correct me if I'm wrong though: if my account gets compromised, a bad actor could introduce malicious code irrespectively of which method we use to support the Docker image with the Gateway files. To my understanding, providing the Gateway automatically from IBKR doesn't mitigate that risk, does it? If it does, how? A bad actor that has compromised my computer or account can introduce suspicious code after the Gateway is pulled from the IBKR servers, or redirect the download request to their own version of the Gateway. If this is a real concern, in either version - manual or automated - the burden of checking whether the files are not suspicious stays with the user.
Even more, one could make an argument that I could be the malicious actor, in which case it would be unadvisable that one uses this image without checking whether the files are not suspicious. I think that could be a fair concern for some, however it would stay true irrespectively of whether my account is compromised or not, and as such irrespectively of which method is used to provide the Gateway files.
Seeing that you've mentioned this though, is there any way we could mitigate this security risk? If there is, I'd suggest we open a new issue and discuss it there.

As for your diff - yes, all the changes are intentional:

I couldn't get it to work locally without uncommenting these lines in the run.bat on a Windows machine. This is irrelevant on the image, which uses the run.sh.
The missing files are redundant.
The additional allows are there to accommodate using the Gateway within a Docker network.

Given above, I feel that my previous question remains - I don't understand why we would introduce the automatic pull seeing that it introduces no practical changes or improvements, and to my understanding it doesn't mitigate the security risk of having my account compromised. As always, please let me know if I misunderstood something here 👍

Thanks for the info @Voyz.

What's more, IBKR indicates they're looking to introduce the OAuth 2.0 API which will most likely mean the Client Portal Web API - and as such the Gateway - will become obsolete.

I was not aware that the Client Portal would become obsolete soon. This is certainly a good thing.
The only value this PR has:

Remove the manual step of downloading the CPAPI sources.
Remove the CPAPI sources from the code base.

I am perfectly fine if you would like keep things as is. If you have made up your mind just cancel this PR.

Hey @teodorkostov thanks for your reply. I wanted to give some time for other users to participate and reply to the points I brought up. However, seeing that there hasn't been any, I will indeed proceed and close this PR. I appreciate your initiative and contribution, and I'm sorry I concluded with not wanting to merge it at this time - I don't mean to discourage you from participating in this project. Thanks!


8.0.0版本的打包产物不兼容低版本浏览器（?.操作符号）

🐛 Bug Report
A clear and concise description of what the bug is.
 name: "querystring",                 lookup(e) {                     let t, {lookupQuerystring: r} = e;                     if ("undefined" !== typeof window) {                         let {search: e} = window.location;                         !window.location.search && window.location.hash?.indexOf("?") > -1 && (e = window.location.hash.substring(window.location.hash.indexOf("?")));                         const n = e.substring(1).split("&");                         for (let o = 0; o < n.length; o++) {                             const e = n[o].indexOf("=");                             e > 0 && n[o].substring(0, e) === r && (t = n[o].substring(e + 1))                         }                     }                     return t                 }
To Reproduce
A minimal reproducible example.
A codesandbox example or similar
or at least steps to reproduce the behavior:
// Paste your code here

Expected behavior
A clear and concise description of what you expected to happen.
// Paste the expected results here

Your Environment

runtime version: i.e. node v14, deno, browser xy
i18next version: i.e. 19.5.3
os: Mac, Windows, Linux
any other relevant information

sorry, but the bug description is completely unclear to me

v8.0.0 is only compatible with newer browsers see changelog: https://github.com/i18next/i18next-browser-languageDetector/pull/286
if you beed to support older browsers without transpilation, use v7

//cc @VIKTORVAV99

I'm really interested in how this is used as I would assume most people are using a build system to handle transpilation.
Could you share some insights into how you bundling your website?


Metadata constant undefined.

lib/mirrors/hierarchy_invariants_test.dart fails when trying to access a metadata constant (JSObject) that has not been loaded.

Mirrors is no longer supported in Dart2JS.


Add many-to-many relationship

Add many-to-many relationship to existing cardinality options

@mgblythe : Thanks for your contribution! The author, @davidiseminger, has been notified to review your proposed change.

Microsoft authors of articles need to make updates through the private repository so the updates can be staged and validated by the current validation rules. After you review staging and fix all validation issues, you can add the sign-off comment to let the PR reviewers know the updates are ready to be merged.It's easy to access the private repo version of your articles in GitHub. Just add -pr to the URL, as follows:
Public repo URL: https://github.com/Microsoft/azure-docs/blob/master/articles/azure-portal-overview.md
Private repo URL: https://github.com/Microsoft/azure-docs-pr/blob/master/articles/azure-portal-overview.md
We have closed this pull request. Please resubmit the updates through the private repo. If you need perms to the private repo, see the contributor guide instructions


Rails 5.0.0-beta produces error "undefined local variable or method 'broadcast_messages'"

As described here: http://stackoverflow.com/questions/34560144/nameerror-undefined-local-variable-or-method-broadcast-messages-for-railsst
I've run into the same issue

Working on a fix here: https://github.com/rails/rails/pull/22933

Awesome!

If fixed upstream, can this be closed?


How To Center Text

Is there a way to center text horizontally and vertically?

As far as I can see, there is no such method.
However, as a workaround, you can use Label to determine your text width and height (without rendering it) and then use these values for tweaking your left, top coordinates
const label = new Label();
label.text = text; // Assigning your text to the label
label.fontSize = fontSize; // Assigning your font size

(<any>label)._setupAsRootView(view._context); // `view` is any instance of View class from your page.
label.onLoaded();
label.measure(0, 0);

const width = toDeviceIndependentPixels(label.getMeasuredWidth()); // Here you get actual width of the label with your text

Now you can calculate the left offset for example and use it to position your text, like
const offset = (yourImageWidth - width) / 2;

bmp.dispose(() => {
    bmp.writeText(text, `${offset},4`, {
        color: '#FFFFFF',
        size: fontSize,
});

The same can be used for the height.
Hope, this helps


energized bad

https://github.com/nextdns/metadata/issues/1145
yes
nextdns bad
energized bad

fixed


Panic Exception Encountered During Report Generation with bsxplorer-category

Dear Author ,
I hope this message finds you well. I am reaching out to report an issue I encountered while utilizing your tool, bsxplorer-category. My workflow progressed smoothly through reading the genome, processing cytosines, calculating p-values, and preparing the data. However, the process fails when attempting to initialize the report reader and render the final output.
Environment Details:

Tool: bsxplorer-category
Python Version: 3.10
Steps to Reproduce:

I initiated the process with the following command:    bsxplorer-category --ticks upstream TSS Gene TES downstream config2.txt
Input files were successfully read from /work/share/acuhtwkcu9/RD/saile_bs/pipeline_test/test/bsx/...
Processing stages including cytosine reading and p-value calculations completed without errors.
The error occurs after all preprocessing steps, during the generation of the final report.

Error Description:
The error is a panic originating from a Rust component (PyO3 and polars) integrated with Python, specifically pointing to an attempt to perform division with NoneType operands. The detailed stack trace suggests an issue within the data transformation pipeline, likely during the application of a lambda function or data manipulation step.

Error Message:

Working directory: /work/share/acuhtwkcu9/RD/saile_bs/pipeline_test/test/bsx
Plots directory: /work/share/acuhtwkcu9/RD/saile_bs/pipeline_test/test/bsx/plots
Report name: Metagene_Report_01-07-24_17-11-43
Block size (Mb): 50
Summary function: wmean
Threads: False
Upstream | Body | Downstream (bins): 50 | 100 | 50
P-value for cytosines: 0.05P-value for region: 0.05Minimal coverage: 2Save categories? - TrueClustermap variance filtering quantile: 0.75
Confidence band alpha for line_plot: 0.95
Smoothing function window width: 10
Heat_map dimensions (hor, ver): (100, 100)
Separate strands? - False
Export format: pdf
Tick_names: ['upstream', 'TSS', 'Gene', 'TES', 'downstream']
RUN STARTED at 01/07/24 17:11:44
Genome read from /work/share/acuhtwkcu9/RD/saile_bs/pipeline_test/test/bsx/gene.ensemble.gff
Reading from /work/share/acuhtwkcu9/RD/saile_bs/pipeline_test/test/bsx/data/a.txt
Reading cytosines |################################| 100.0%
Writing p_values file into: /work/share/acuhtwkcu9/RD/saile_bs/pipeline_test/test/bsx/a.parquet
Calculating p-values |################################| 100.0%
Done
Total cytosine residues: 48318155.
Average proportion of methylated reads to total reads for cytosine residue: 0.06274352376075308
From a.parquet
Reading p_values |################################| 100.0%
CHG	Total sites: 7815746, methylated: 37627	(0.48%)
CG	Total sites: 1677383, methylated: 1375827	(82.02%)
CHH	Total sites: 26166784, methylated: 179315	(0.69%)
Initializing report reader.
Reading report from /work/share/acuhtwkcu9/RD/saile_bs/pipeline_test/test/bsx/a.parquet
|@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| 170/170 Mb [0:00:19 | ETA: 0:00:00]
DONE
Reading from /work/share/acuhtwkcu9/RD/saile_bs/pipeline_test/test/bsx/data/a.txt
Reading cytosines |################################| 100.0%
Writing p_values file into: /work/share/acuhtwkcu9/RD/saile_bs/pipeline_test/test/bsx/a.parquet
Calculating p-values |################################| 100.0%
Done
Total cytosine residues: 48318155.
Average proportion of methylated reads to total reads for cytosine residue: 0.06274352376075308
From a.parquet
Reading p_values |################################| 100.0%
CHH	Total sites: 26166784, methylated: 179315	(0.69%)
CG	Total sites: 1677383, methylated: 1375827	(82.02%)
CHG	Total sites: 7815746, methylated: 37627	(0.48%)
Initializing report reader.
Reading report from /work/share/acuhtwkcu9/RD/saile_bs/pipeline_test/test/bsx/a.parquet
|@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| 170/170 Mb [0:00:18 | ETA: 0:00:00]
DONE
thread '' panicked at py-polars/src/map/series.rs:2466:44:
called Result::unwrap() on an Err value: PyErr { type: <class 'TypeError'>, value: TypeError("unsupported operand type(s) for /: 'NoneType' and 'NoneType'"), traceback: Some(<traceback object at 0x2afe82e3cd80>) }
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
--- PyO3 is resuming a panic after fetching a PanicException from Python. ---
Python stack trace below:
Traceback (most recent call last):
File "/software/conda/lib/python3.10/site-packages/polars/expr/expr.py", line 4021, in call
result = self.function(*args, **kwargs)
File "/software/conda/lib/python3.10/site-packages/polars/expr/expr.py", line 4356, in wrap_f
return x.map_elements(
File "/software/conda/lib/python3.10/site-packages/polars/series/series.py", line 5335, in map_elements
self._s.apply_lambda(function, pl_return_dtype, skip_nulls)
pyo3_runtime.PanicException: called Result::unwrap() on an Err value: PyErr { type: <class 'TypeError'>, value: TypeError("unsupported operand type(s) for /: 'NoneType' and 'NoneType'"), traceback: Some(<traceback object at 0x2afe82e3cd80>) }
Traceback (most recent call last):
File "/software/conda/bin/bsxplorer-category", line 8, in
sys.exit(category())
File "/software/conda/lib/python3.10/site-packages/bsxplorer/cons_master.py", line 17, in category
_save(CategoryScript())
File "/software/conda/lib/python3.10/site-packages/bsxplorer/cons_master.py", line 5, in _save
html = script.main()
File "/software/conda/lib/python3.10/site-packages/bsxplorer/cons_utils.py", line 495, in main
rendered = Renderer(self.args).category(metagene_files, sample_region_stats)
File "/software/conda/lib/python3.10/site-packages/bsxplorer/cons_utils.py", line 770, in category
context_block = self.metagene_context_block(categorised, filters, draw_cm=False)
File "/software/conda/lib/python3.10/site-packages/bsxplorer/cons_utils.py", line 650, in metagene_context_block
fig = line_plot.draw_mpl(smooth=self.args.smooth, confidence=self.args.confidence, **tick_args)
File "/software/conda/lib/python3.10/site-packages/bsxplorer/Plots.py", line 347, in draw_mpl
lp.draw_mpl((fig, axes), smooth, label, confidence, linewidth, linestyle, major_labels, minor_labels, show_border)
File "/software/conda/lib/python3.10/site-packages/bsxplorer/Plots.py", line 197, in draw_mpl
lower, data, upper = self.__get_x_y(df, smooth, confidence, self.stat)
File "/software/conda/lib/python3.10/site-packages/bsxplorer/Plots.py", line 86, in __get_x_y
.with_columns(
File "/software/conda/lib/python3.10/site-packages/polars/dataframe/frame.py", line 8315, in with_columns
return self.lazy().with_columns(*exprs, **named_exprs).collect(_eager=True)
File "/software/conda/lib/python3.10/site-packages/polars/lazyframe/frame.py", line 1940, in collect
return wrap_df(ldf.collect())
pyo3_runtime.PanicException: called Result::unwrap() on an Err value: PyErr { type: <class 'TypeError'>, value: TypeError("unsupported operand type(s) for /: 'NoneType' and 'NoneType'"), traceback: Some(<traceback object at 0x2afe82e3cd80>) }

Additional Information:
The error might be related to missing or null values in the dataset being processed, leading to an unsupported operation during data transformation for plotting.

Thank you for your attention to this matter. I appreciate your efforts in maintaining this valuable tool and look forward to a resolution or guidance on how I can contribute to fixing this issue.
Best regards,

thank you very much


Model activities

Waiting on the work in https://gitlab.com/experimentslabs/federails/-/merge_requests/26

The blocking code is done, but buggy, waiting for #3194 to be fixed, then I can carry on with this.


Update tag your project on landing page to the correct link

Overview
Tag your project button on landing page is broken
Action Items
Development

[ ] Update tag your project button on landing page to this link

I'm taking a look at the Landing page (localhost 3000 without any additional page linking) and not seeing any button for the tag generator. There's also no code reference the tag generator in the landing.
Is the UI element missing, or is the UI element present but with incorrect link behavior?
My screen attached for reference:

I'll work this issue.

Acknowledged issue targeted Home page, not landing page.
/taggenerator links to be updated to /tag-generator.
ETA: By Sunday meeting.
No blockers.


Read endpoint URL from runtime service

Closes #21.

Thanks, now I can change the default endpoints for the maintenance plugins.


Center content in README heading

Rendered
Exploring some changes here in service of merging https://github.com/astral-sh/uv/pull/5336

Existing page

Note to self, white is really ugly


[ Feature Request ] Pause on hover

Purpose
This feature will lets the user to read the long notification's message
Behavior
If we have put the duration 4 seconds, and the user hovered the notification on the third second the Notyf will clear the timer, later when the user leaves the notification, Notyf will resume the timer from the last second it stopped at, this second would be the third second until the end of duration ( 4 seconds )
Implementation

if duration not zero, create "Timer" class what will handle duration properties
then make "NotyfView" trigger "mouseover" and "mouseleave" event
on "mouseover" call Timer.pause() method
on "mouseleave" call Timer.resume() method
on "Timer" finished remove the notification

Any news on this?

Any update on this issue?


Performance

It's a bit slow for larger grids (20x20).
It could be improved by avoiding $(command), which creates a subshell. Most importantly within tight loops.
Example of performance improvement:
182 function apply_push {
183   printf "\n\ninput: $1 key\n" >&3
184   declare -i i=0
185   while [ $i -le $index_max ]; do
186     declare -i j=0
187     while [ $j -le $index_max ]; do
188       flag_skip=0
189       let increment_max=index_max-j
190       declare -i k=1
191       while [ $k -le $increment_max ]; do
192         let flag_skip && break
193         push_pieces $i $j $k $1 $2
194         k=$k+1
195       done~
196       j=$j+1
197     done
198     i=$i+1
199   done

I'm beginner for bash, your program redirect some information to fd 3, what's that for? and i tried tail -f /proc/pid/fd/3, nothing prints

I use FD 3 for logs, it is set during commandline option parsing, see https://github.com/mydzor/bash2048/blob/master/bash2048.sh#L329

sorry, I will not be updating this game anymore, so I am closing this issue.


Are there any prebuilt binary packages?

I'm having a lot of trouble getting through a successful build (see my other issue). Are you aware of any prebuilt binary packages (i.e. libs+headers I can compile and link against) available anywhere for download? I'm developing on Windows but also wish to offer builds of my application for OSX and Linux. Support for ARM and others is not important to me at this stage.

no, I don't have prebuilt binaries for Graphene. I can probably cross-compile for Windows on Linux, but right now I don't have spare cycles for it.

No worries, thanks for replying. I went with GLM for now.


List domains in certificate/append to certificate

Before you post
First make sure that your feature is not already in the program by browsing through the documentation.
Manual: https://www.win-acme.com/manual/getting-started
Reference: https://www.win-acme.com/reference/cli
Then make sure to search through the issue list to check if others have requested a similar feature already. If you find an existing issue, make your voice heard there. Your input may provide valueable extra information towards desiging a fitting solution and will increase its priority.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I have all my subdomains in a single certificate. When I register a new one, I have to start over with a new certificate.
Describe the solution you'd like
A clear and concise description of what you want to happen.
The ability to add a domain to a certificate, or at least list the domains in it.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Doing it manually, which is a pain if you maintain 10+ projects
Additional context
Add any other context or screenshots about the feature request here.
I use nginx

You can list the current certificates from the "Manage renewals" > "Show details" option.
Depending on your workflow you may just want to edit the ...renewal.json file in your %programdata%\win-acme folder.
Alternatively (a bit hacky) you could set up an IIS website and use that as a source for the list of domains.


TorchNerfactoField

If I do this,

result:
RuntimeError: tinycudann/bindings.cpp:87 check failed input.size(1) == n_input_dims()

If I don't want to use the encoding in tcnn, but the encoding method written by you, how can I call it through the torch field? Thank you very much for your reply


Have multiple respondTo addresses per probe

There are occasions where a probe needs to list several respondTo addresses.  This occurs when a single probe wants the responses to go to a listener on a network that is not consistently addressed.  This happens when you have NAT addresses on VLANs or you are doing Port Forwarding through a firewall.
You could do this with just sending multiple probes each with a different respondTo address.  But that might add too much network overhead.
The behavior of the responder is as follows.  The respondTo addresses are in an order (the sender should list them in the order most like have the first ones in the list work).  The responder will work through each respondTo address (assuming a response is to be sent).  As soon as one address successfully works (the response is send and a 200 success HTTP code is returned) then the responder is done.  It stops cycling through the list and abandons the rest of the respondTo addresses.

completed


Feature support aggregation model for Variant type

Proposed changes
refactor use insert_from to replace replace_column_data for variable lengths columns， and set aggregation info in variant subcolumns
doc : https://github.com/apache/doris-website/pull/536/files
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall

run buildall


Switch to use new aws_s3_bucket_acl config style

It looks like the default version of the AWS provider for Terraform was updated since our last deploy, and there were breaking changes (there may have deprecation warnings we missed before; I’m not really sure). The acl property was made read-only, so now we need to use a more verbose syntax to apply the same standard "read-only" ACL to our bucket. See also https://registry.terraform.io/providers/hashicorp  /aws/latest/docs/resources/s3_bucket#using-acl-policy-grants

This probably needs to be re-done as part of #571.


Add libssh2 and python-flask pacakge for Arch Linux

A minor update for Arch Linux

libssh2: https://www.archlinux.org/packages/core/x86_64/libssh2/
python-flask: https://www.archlinux.org/packages/community/any/python-flask/

For future contributions, please take a look at CONTRIBUTING.md.


Add support of QuantumCircuit as a mixer in QAOA

Summary
Now you may pass an instance of QuantumCircuit as a mixer to QAOA. This is implemented for the further support of warm start QAOA.
Details and comments
Mixer as a circuit may have arbitrar number of custom parameters, e.g. you may pass a circuit of Rx gates with a single parameter to simulate a classical QAOA algorithm.
Added a test to verify circuit as a mixer.

@stefan-woerner this is for your attention, please.

Just a comment - simply returning None (as the var form base class docstring indicated) meant unbounded - vq_algorithm in this case spins up the (None, None) tuple array internally. Of course it can be done in var form but it seems a few mypy hoops had to be jumped in this case.
I will also note #1406 for reference since this is around bounds.

@woodsp-ibm you mean setting None to the bounds?

If the var form returns None for the bounds yes that is what was intended and how its treated when read here https://github.com/Qiskit/qiskit-aqua/blob/5cc28c779e2251dd602ecfeeb59c292848386338/qiskit/aqua/algorithms/vq_algorithm.py#L167-L170
Though the variational_form docstring says returning None means unbounded it seems the return typehint does not include that - also instance var that holds this seems to be set to an empty list which seems incorrect.
Anyway it was just an observation - there is nothing incorrect about setting it explicitly to an array of None, None tuples, which is what it gets turned into if it had been simply None.


Annotation view

Simple annotations should simply be displayed for an object.  Nested ones should provide links to annotation view screens.

This is now done.  Key thing is nested annotations are assumed if displayId is missing.  Uses GenericTopLevel though internally.


Dead

AdminpPotal will not load. I really need this to work.

sudo apt install php7.3-memcache php7.3-memcached memcached


question: investigate pandas alternatives

This is something that we may need to address for dealing with (potential) scalability issues with the adapter.
Some things to note:

We are currently creating a Pandas DataFrame from a python-arango AQL cursor, which can be quite slow at times
Pandas does not use GPU, we can perhaps look into support cudf as an alternative
vaex is another popular library for use cases similar to Pandas, would have to further investigate

This is slightly related to https://github.com/arangoml/networkx-adapter/issues/87

Batching has been introduced in #19 to reduce the load on our pandas DataFrames for the time being


Added mirror option to select alternative download source

Fixes #65.
A lot of us are getting burned by the (ongoing) intermittent outage at Node which is stopping setup-node from downloading the binaries. It'd be nice to be able to use a mirror where appropriate.
This PR fixes an old issue on the repo to implement support for using mirrors.

Is there a list of official mirrors?  It would be great if it would automatically retry with a mirror upon failure.

@chingc Not that I can see. There are a few mirrors I can find from a quick Google but none officially recommended.

Not sure if relevant, but one mirror I'm using is https://nodejs.org/download/v8-canary/ for WebAssembly testing, which provides versions of node built against v8 LKGR. Having support for that in setup-node would be great.

@daniellockyer hi, why way this closed? mirror support would be really nice, especially in more involved setups.

I really need this feature, too


Do not throw error for anyOf, oneOf, and not

Related to #197 and #248
Signed-off-by: Alan Cha<EMAIL_ADDRESS>

Amazing change. It will be nice to add short note to docs

@wtrocki Long overdue in my opinion... I was going to ask you for approval but I wanted to get this out as soon as possible.
I will make a patch, write some patch notes, and also update some issues.

Still struggling with the real fix though.


Docker error:  No container found for keosd_1

So because the "eosiocpp" command on my computer does not work and therefore I have to go into the container to compile my .cpp file. I had to use docker-compose exec keosd bash command to enter the container. But it stops working and could not find the keosd_1 container. I tried to use the previous stable EOS version and reinstalled my  docker. None of them works. Appreciate it if anyone could help me!

try removing the -d option from docker so we can check the output. Probably keosd had some issue while starting up

@lucca65 Hi thanks for the help, i tried to remove the -d but another error occurs:

Oh, the docker-compose file is outdated, its using a deprecated flag. Try to remove those --http-alias= flags on keos container (inside docker-compose.yml)

@lucca65 hey my friend so I entered the container but there came another bug and I could not fix it at all. So when I entered the contracts folder and there is no my own contracts but all default contracts

i tried to rebuild docker and copy and paste my contracts there but it won't work :(
i also noticed that before it was

on my terminal but now it just the container ID:

dont know if that has anything to do with my bug but appreciate it if you could give some advice on how to solve it. thanks

try to open a new issue, you can @ me if needed.
but for the error you are having now:
You need to map a folder from your local machine to your docker image
create a new volume to be shared:
docker volume create —name=contracts
add this volume to the end of your docker compose file, inside volumes:
volumes:
  ... other volumes
  contracts:
    external: true

finally map it to a folder on your container:
i’ve used / but you can change to anything
  nodeos:
  ... other keys
    volumes:
       - ../contracts:/contracts

again you can customize your paths
remember to use your container paths if you are executing eosiocpp from the host machine

@lucca65 Hi Julien, would you mind explaining little more regarding your last step?

I was not able to find anything called "nodeos:" within the docker-compose" file.
Thanks a lot!

Hey Kenny, I'm sorry, I was out of my computer. I've mistyped it. Its under de nodeosd container.
Try to understand the anatomy of the docker-compose file. You define services at the root level. You also define volumes at root level.
under the specific services, in this case nodeosd and keosd, you can use the defined volumes.  those volumes can map to directories in the host machine with the syntax HOST_PATH:CONTAINER_PATH.
Try finding those, and experiment by yourself. If you need further help I can make a docker-compose file for you, but it can be a great opportunity to experiment things by your own.
Also, close this issue as this can be misleading to other users, since your original answer was solved (:


different heights for btn/textbox in input-group-lg sizing class example

The button and textbox in first example in http://v4-alpha.getbootstrap.com/components/input-group/#sizing do not seem to have the same height

Duplicate of #17386. Please search more in the future.


Not correctly matching the SciML interface

The value of variable 2  at time 0.0005
sol(2,0.0005)

That is incorrect. It should be matching the interface, i.e. sol(0.0005, idxs = 2)

# The total number of steps to end the simulation
sol.totalSteps
498
# The number of simultaneous steps during the simulation
sol.simulStepCount
132
# The total number of events during the simulation
sol.evCount
53
# The actual data is stored in two vectors:
sol.savedTimes
sol.savedVars

Those would be designed to be in the sol.stats

Is there a reason why this isn't able to take a standard ODEProblem? Could the codegen to QSS be handled automatically in ModelingToolkit?

It should be matching the interface, i.e. sol(0.0005, idxs = 2)
Those would be designed to be in the sol.stats

Noted. I will add these.

Is there a reason why this isn't able to take a standard ODEProblem?

At a time step, the QSS method does not update all variables (it needs to decide  which variables to update). So, it uses some dependency matrices (Vector{Vector{Int}} in code) and a personalized function that holds the differential equations and events in a special format**. These datastructures are stored in a NLODEProblem{PRTYPE,T,Z,D,CS} wich is different from a standard ODEProblem. However, we can have it as a subtype then make the solve function dispatch on the QSS algorithm and NLODEProblem.
** The QSS solver uses variables of type "Taylor" from the TaylorSeries.jl for approximation to make calculation easier and cheaper. But all operations from the TaylorSeries.jl allocate, so I redid internally this package with added cache to every operation. To exploit this, I had to change the AST of the differential equations upfront to obtain the personalized function.
Example:
du[1] = t
for k in 2:5
        du[k]=discrete[1]*(u[k]-u[k-1]) ;
end
if t-5.0>0.0
        discrete[1]=0.0
end

Becomes
RuntimeGeneratedFunction{(:i, :zc, :ev, :q, :d, :t, :cache)
    if i == 1
        createT(t, cache[1])
   elseif 2 <= i <= 5
        mulT(d[1], subT(q[i], q[i - 1], cache[2]), cache[1])
   end
   if zc == 1
        subT(t, 5.0, cache[1])
   end
   if ev == 1
        d[1] = 0.0
   end
  return nothing

Could the codegen to QSS be handled automatically in ModelingToolkit?

As mentioned above, QSS needs the datastructures stored in the NLODEProblem. So if ModelingToolkit can transform a set of differential equations with events (if-statements) to a NLODEProblem{PRTYPE,T,Z,D,CS} then YES.

an attempt to match the sciml interface is made in version 1.0.2


RST-5643 azure pipeline tests v2

Jira
https://tools.hmcts.net/jira/browse/RST-5643

Not relevant anymore


Use es6 classes and exports in logger.ts

Logger.ts currently uses the export = Logger style syntax.  Lets move towards explicit exported classes or functions and es module syntax.

@JustinBeckwith Should we turn Logger into a class? It seems to depend on log-driver right now but maybe we can use this opportunity to change that?

I'm not sure if it should be a class or just exported functions 🤷♂ as long as it's using es modules, I'm happy.  On the log-driver dependency - I'm all for chopping out dependencies we don't need, but I am trying to avoid breaking changes to the library right now.  So far I think we've kept it compatible, and at the moment I'd like to preserve the API.  If we can do that while chopping the dependency, and not adding too much code, I'm all for it.


Handling auditing errors out of our control

In some cases, the AnVIL team adds their own people or groups to our resources (e.g., groups, workspace sharing, etc). How do we want to handle this?

Create an equivalent record in Django (e.g., sharing with the anvil-admins group)? Likely this would need to be done manually from the admin interface.
Implement a way to ignore certain records (e.g., if an AnVIL dev created a workspace, they may be marked an owner. This is ok and we don't want the record in the app). The audit could report the "ignored" resources but not consider them errors.

After discussing with @smgogarten, for the second bullet:

Add a new model with one field, EmailField. This model tracks which emails to ignore when auditing sharing records for a given workspace.
Modify the Workspace.audit_sharing() method to ignore any emails in this table.
Make sure to add tests for case-insensitivity etc.

Change in strategy - audits can have a button in the "not in app" table to ignore errors.
If there are any errors in the "needs action" table, they should not be ignored because there is a record of them in the app. This is a problem.


Grid-row/column properties with calc fail in Firefox

Steps to reproduce:
Load https://codepen.io/mirisuzanne/pen/8b576caf81541903f28d418164ae5358?editors=1100

First block uses plain numbers in grid-column-start
Second block uses calc() for the same column-start position
Third block uses custom properties
Fourth block uses calc with custom properties (the likely use-case)

Actual results: In Firefox, blocks 2 and 4 (using calc) ignore the given value, and start in the default column.
Expected results: In Chrome, all four blocks start and end at the same place, spanning from grid-line 3 through grid-line 7.
This seems like a bug to me, but I reported it a few months ago, and Mozilla has labeled it wontfix.  Maybe I'm missing something? As far as I can tell, this isn't defined in the spec one way or the other.

It looks like a bug, but it has only been marked as wontfix for Firefox 57. As have several other issues reported here. So as it hasn't been closed I would expect it will be looked at in a future cycle.

Firefox Quantum, to be released in Firefox 57, fixes lots of bugs as you can see here: https://developer.mozilla.org/en-US/Firefox/Releases/57#Quantum_CSS_notes
and one of them says:

In Quantum CSS, calc() is supported everywhere that the spec explains it should be (bug 1350857). In Gecko it is not.

so maybe that label is being used for Gecko? As it does look as if this is the same as Chrome in Nightly (which is 57 and Quantum).

It's "wontfix" for Firefox 57; the bug itself's status is still "UNCONFIRMED". (The inline updates of the product tracking fields aren't overly clear…)

It looks the same for me in Firefox 56 and Chrome 63? Can you confirm if this still happens in the latest stable release of Firefox (56)?

I've tested this in FirefoxNightly (FF 58) and the problem is fixed: all blocks start from the same position.

This is fixed in FF 57, released yesterday


Genetic algorithm

This pull request contains draft of general-purpose genetic algorithm. Right now, no tests are available, but they will be added soon.
Introduced changes:

Created Spectre.libGenetic - it contains genetic algorithm, without specialization for any particular problem, it's a kind of simple framework right now
Introduced Spectre.libException - it occured, that some of the exceptions appear to be duplicate between different projects. This is the one to rule them all, or just to take either ExceptionBase or one of the ready exceptions and use it
Spectre.libDataset is now pruned of ExceptionBase, etc.

Note: It would be good if anyone finds a while to take a look and share thoughts at this moment, until tests are introduced, which will extend this review.

 Genetic Algorithm implementation


Add gaussian noise transform #6192

Fixes #6192
Adds GaussianNoise transform functionality to the torchvision.transform.
-Basic GaussianNoise augmentation technique

This PR addresses the issue #6192.

@parth-shastri can you please fix failing job "ci/circleci: lint_python_and_config"

@vfdev-5 can you please help me out and tell me why the tests are failing, are there any common causes of the failures?

Are we stuck on this? @parth-shastri do you need help?

Are we stuck on this? @parth-shastri do you need help?
Hey, thanks I am not able to decide on a valid sigma to display
and also is there a way that we can visualize the results in the documentation before the commit?
apart from the deciding of sigma is there anything else that I'm supposed to do?

You can visualise the results by building the docs.
Also I think you need to refactor the code to create a functional API.
You can just try doing a grid search (or just try a few values and post the images here)
cc @vfdev-5 any suggestions for Sigma ?

Hi, tried out some sigmas and found that the range [0.1, 0.5] works.

@vfdev-5 is there anything more to do?

@oke-aditya @vfdev-5 can you please highlight any changes I need to make in order to merge this pull request?

Hi. I think it would be valuable to have Gaussian Noise as a transformation. What is the state of this at the moment? Should I take over this PR in order to finally merge it?

The problem with this PR right now is that it should add code compatible to the new v2 API.
I think it would be easier to start from a new PR and add new transform and all functional part. @javirk if you are interested in working on that, feel free to provide another PR. You may cherry-pick some commits on the gallery to acknowledge the work of @parth-shastri.

The problem with this PR right now is that it should add code compatible to the new v2 API. I think it would be easier to start from a new PR and add new transform and all functional part. @javirk if you are interested in working on that, feel free to provide another PR. You may cherry-pick some commits on the gallery to acknowledge the work of @parth-shastri.

Hi I can take this up, do you want me to create another pull request compatible with the new v2 API or shall I continue here?

Thanks a lot for your PR @parth-shastri . We just merged https://github.com/pytorch/vision/pull/8381 which adds gaussian noise, but thanks again for the original implementation!


fix: #337 add file name transfrom

fix: https://github.com/contentlayerdev/contentlayer/issues/337
Use transliteration for filenames in other languages.

Sorry for the delay. I hope to get a chance to look into this soon! 🙏

Thanks a lot for this PR @StringKe. I agree that we should try to address the underlaying issue (as described in #337), however, the transliteration package seems to add 1.6MB of dependencies which I'm wary to add.
Maybe you (or someone else) is aware of a way to accomplish the same but using more standardised platform APIs?

hi, @schickling
There is no good way to do this; there are too many languages in the world to use anything but a dictionary-like function to mirror the conversion.
I also have another method
Use unicode as filename, this does not add extra volume but is already unreadable for filenames and the generated url is not friendly enough to read and remember.

I see. Let me see whether I can think of some kind of "user-configuration" way to enable the use case above.

Close, there has been another result.

@StringKe What do you mean by "there has been another result"? Is there any workaround to this problem? @schickling Any updates on that?

You can modify the specified files with pnpm patch or npm patch pacakge to solve the problem for a short time.
In the long run, you still need this repository to support custom filename conversions

I also meet the same problem and tried some solutions.
Here is my solution.
I add a hash-sum package.
import hash from 'hash-sum'

And change this line of code
https://github.com/contentlayerdev/contentlayer/blob/024d387c249daf6429406201d60dc58762356a35/packages/%40contentlayer/core/src/generation/generate-dotpkg.ts#L327
To
  const makeVariableName = flow(hash, idToFileName, (_) => camelCase(_, { stripRegexp: /[^A-Z0-9\_]/gi }))

Or don't add any package.
Change code to
const makeVariableName = flow((_) => Buffer.from(_).toString('base64'), idToFileName, (_) => camelCase(_, { stripRegexp: /[^A-Z0-9\_]/gi }));

But this may lead to variable names that are too long.

Or like #431 change regular expression, add Chinese to it, use Chinese variable names.
const makeVariableName = flow(idToFileName, (_) => camelCase(_, { stripRegexp: /[^\u4e00-\u9fa5A-Z0-9\_]/gi }));


Hugo strips emoji in taxonomy keys

reopening #5367
$ hugo version
Hugo Static Site Generator v0.55.6-A5D4C82D darwin/amd64 BuildDate: 2019-05-18T07:56:30Z

… content of the term-page supposed to list the pages http://vorschau.mro.name/blog/tags/🚗 overwrites http://vorschau.mro.name/blog/tags/. I guess hugo trims the emoji from the filesystem path.
Failing page is e.g. http://vorschau.mro.name/blog/2019/07/tempo30/, source https://code.mro.name/mro/blog.mro.name/src/72c4ed16c329ba6f67b38304312041c2a8875cd2/content/posts/2019-07-21-tempo30/index.md config https://code.mro.name/mro/blog.mro.name/src/72c4ed16c329ba6f67b38304312041c2a8875cd2/config.yaml tries various themes, including hugo default.

nobody else using emojis for tags or am I missing something obvious?

Hello. I have similar problem, I wanted to use ★ in my tags.
The problem lies in UnicodeSanitize function.
https://github.com/gohugoio/hugo/blob/0e75af74db30259ec355a7b79a1e257d5fe00eef/helpers/path.go#L142
It is used by getTaxonomyKey. https://github.com/gohugoio/hugo/blob/0e75af74db30259ec355a7b79a1e257d5fe00eef/hugolib/site.go#L1411
Allowed character set for a taxonomy keys is pretty narrow. So getTaxonomyKey receives a tag with emoji and strips the emoji. And the stripped tag goes to a theme template.
So the only possibility right now is to extend isAllowed condition by yourself. I have no idea how to extend it in a good way (it might break existing sites), maybe developers know.
https://github.com/gohugoio/hugo/issues/4032 is related, I think.

Maybe we can add something like this and provide a config option.
https://github.com/neexee/hugo/commit/61c2edfd6db7d43238abfc4e6a69746465a7608e

closing in favour of #4032


'StatusAttributeString' property is missing from Accounting.Payment model class

The latest OpenAPI spec (2.1.2) added the summarizeErrors flag when batch-adding Payments, and this has since been included in the NetStandard API (https://github.com/XeroAPI/Xero-NetStandard/releases/tag/v2.2.0).
However, the generated Payment model class lacks the StatusAttributeString property that is needed when using summarizeErrors=false.

I should add to this that I'm aware the issue title and description make this sound like an SDK issue - but I gather the fix would actually be making changes to the yaml files in this repo?
In fact, I think I've figured out the lines to add, but I'm not 100% sure!

@adamsadler - we've made the change in version 2.1.3
https://github.com/XeroAPI/Xero-OpenAPI/releases/tag/2.1.3
watch for the next release of the SDK built from this version of the spec


A bit large executable (Windows)

Hello! First, i want to say thank you for the simple and lightweight GUI library. You guys are great!
In the documentation says than basic statically linked in release mode nana progran will be around 1-3 MB. My demo program compiled in release mode is around 5.8 MB. Is this normal for newest version of nana? It's not that important, but i'd like to keep the size of the application as small as possible.
Main.cpp file: https://pastebin.com/itd4BEeU
CMakeLists.txt: https://pastebin.com/HfH9WDzF
I've compiled nana for Windows, using TDM-GCC-64 in release mode and final library was 7.5 MB (if it matters).

Unfortunately optimizing for size with TDM-GCC-64 or mingw in general is not easy. Out of the box you will see 40-80 MB executables. What you have is already OK. For smaller sizes you will need to make sure all debug info is really eliminated, add stripers, etc. etc. And this will change for each compiler distro. In my experience I develop using mingw (and CLion) which I can install in any PC (no need to be admin), but when I really want to release a very small executable with no dependence on any dll I just recompile with MSVCpp.
Anyway if you go and optimize using your current compiler, please tell me how you got the best result !

Okay, thanks for the detailed answer. After little research, i realized that this is really quite difficult to do, it is easier to use a dynamic linking if the size becomes too large. Anyway, if i find a way, i'll tell you.


switch quoting in variable definition

fixes issue #133

@enderm what testing has been done on this one? Asking to see if it's been tested against aws/azure/gcp at this point.

no testing except my own (local env vs clglgn), and verification by one of the folks who ran into it.
I don't see how the different clouds would matter here. The code in question is executed locally.

Testing is completed. Signing off .


keras to cntk test

test 9 models from keras to cntk

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


willScrollToDateSegmentWith not called for first month

(Required) Version Number:
8.0.3
Description
I use the willScrollToDateSegmentWith delegate call to have my viewModel get the data for the month that will be shown. I use the didScrollToDateSegmentWith to issue calendar.reloadData()
On first display of the calendar the first month displays my "data dots" correctly. Scrolling to any other month, either back or forth, updates my "data dots" correctly. It is only when I scroll back to the first month that nothing happens.
I placed a break point in willScrollToDateSegmentWith and found that when scrolling back to the first month, this never gets called, but didScrollToDateSegmentWith does get called.
Is this intentional behavior?
Steps To Reproduce
set a break point in willScrollToDateSegmentWith
scroll the calendars to later months
scroll back to first month
Expected Behavior
delegate function gets called
Additional Context

I just moved the data retrieval to didScrollToDateSegmentWith and it does what I need it to do.


css: Alert message padding

This PR is for issue #19153.
Testing plan:
I have changed padding of p tags in alert using .alert p in the app_components.css file.
I have tested it manually.
GIFs or screenshots:

Before:

After:

I think this CSS selector is way too broad -- we have alert elements all over the app, and this will change all of them in unpredictable ways.

So, what do you suggest @timabbott ? Can you give me some ideas on how to proceed?

I'd recommend some combination of learning about CSS selectors, reading the codebase for what style we use, finding the CSS for this specific widget, debugging using the browser inspector why this alert looks bad and others might not, and then proposing a revised fix.  (I can't recommend a specific fix without doing that work myself)


fixed issues with returned data when creating/updating recipe

Add and update recipe endpoints were not returning correct user data. FIXED!

🤠


Failure to install the extensions from a file in an offline environment

The recent versions of this extension cannot be installed in an offline environment.
That is because during install the extensions tries to access some remote urls (on vscodeexperments.azureedge.net, dc.services.visualstudio.com, maybe others) and fail to install if these domains are unreachable.
Notes:

Maybe an offline version is needed (like in vscode-cpptools)?
Possibly related: #5582 (If this issue won't be fixed, fixing #5582 wont help the issue opener use case)

Environment data

VS Code version: 1.56.2
Jupyter Extension version (available under the Extensions sidebar): 2021.6.870847776
Python Extension version (available under the Extensions sidebar): 2021.5.842923320
OS (Windows | Mac | Linux distro) and version: Windows and Linux
Python and/or Anaconda version: 3.8
Type of virtual environment used: N/A
Jupyter server running: N/A
System has no direct internet connection or with very limited internet accesss

Expected behaviour
The extension should be installable.
Actual behaviour
Recent version(s) of the extension cannot be installed in an environment as described above.
Steps to reproduce:

Download of the extension visx file from the extension page
Turn off your wifi (airplane mode etc.).
Try to install the extension from the downloaded visx
An error is shown stating that the extension is not compatible

Logs
In the Log (Window) panel:
... [renderer5] [error] Unable to install extension 'ms-toolsai.jupyter' as it is not compatible with VS Code '1.56.2'.: Error: Unable to install extension 'ms-toolsai.jupyter' as it is not compatible with VS Code '1.56.2'.
    at file:///usr/share/code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:47:211002
.... [renderer5] [error] net::ERR_INTERNET_DISCONNECTED: Error: net::ERR_INTERNET_DISCONNECTED
    at SimpleURLLoaderWrapper.<anonymous> (electron/js2c/browser_init.js:109:7029)
    at SimpleURLLoaderWrapper.emit (events.js:315:20)

The reason the latest VSIXes from the Marketplace page aren't working is because we publish VS Code Insiders-compatible builds to the Marketplace feed as well, so they show up on top. You can download the latest stable-compatible Jupyter extension build from https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-toolsai/vsextensions/jupyter/2021.6.832593372/vspackage while we work on a more comprehensive solution.

Here's another problem.
Although I install the extension on the link you provided, it still cannot be used directly as it will occur an Error "Extension activation failed". After I looked at the developer tools, I found that it needs the privilege of using proposed api.
Only if I add an extra code "enable-proposed-api": ["ms-toolsai.jupyter"] in the "argv.json" can I solve the problem and use it. Maybe there's still some problem with the extension need to be fixed.

@0wk What version of VS Code are you running? The Jupyter extension shouldn't require further proposed API enablement in 1.56.2, which is the latest version of VS Code stable.

@joyceerhl Yep, 1.56.2, shown as below:

1.56.2
054a9295330880ed74ceaedda236253b4f39a335
x64

@0wk  Sorry for the delayed response. Are you able to install the VSIX using this UI:

The reason the latest VSIXes from the Marketplace page aren't working is because we publish VS Code Insiders-compatible builds to the Marketplace feed as well, so they show up on top. You can download the latest stable-compatible Jupyter extension build from https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-toolsai/vsextensions/jupyter/2021.6.832593372/vspackage while we work on a more comprehensive solution.

** Thank you this worked for me.


Programmatically submit form

Is there a way to programmatically fire the form submit ?

I think I solved this myself - if I add a 'ref' to the form I can then access the object and check if valid, etc...


passExtensions.pass-genphrase: 0.2 -> 0.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/pass-genphrase/versions.
meta.description for passExtensions.pass-genphrase is: "Pass extension that generates memorable passwords"
meta.homepage for passExtensions.pass-genphrase is: "https://github.com/congma/pass-genphrase"
meta.changelog for passExtensions.pass-genphrase is: ""
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.3 with grep in /nix/store/hjm51ycbwz5fv8yadb499lhwvh5xi02z-pass-genphrase-0.3

directory tree listing: https://gist.github.com/c881331500debba368837a482ae423b9

du listing: https://gist.github.com/cf6e34b6ef8812e5a4f815f91c61ebff

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
passExtensions.pass-genphrase

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/hjm51ycbwz5fv8yadb499lhwvh5xi02z-pass-genphrase-0.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A passExtensions.pass-genphrase https://github.com/r-ryantm/nixpkgs/archive/f428c626796c88d3e9bd35306a5fbf6988f23292.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/hjm51ycbwz5fv8yadb499lhwvh5xi02z-pass-genphrase-0.3
ls -la /nix/store/hjm51ycbwz5fv8yadb499lhwvh5xi02z-pass-genphrase-0.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

1 package built:

passExtensions.pass-genphrase

Maintainer pings
cc @seqizz for testing.

@ofborg eval


Bug: IPy==1.01 transformed to 1.1, which doesn't have hashes on PyPI

This was observed experimentally: the following requirements file:
IPy==1.01 --hash=sha256:edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a

Produces:
$ pip-audit -r requirements.txt --require-hashes

Traceback (most recent call last):
  File "/Users/william/.pyenv/versions/3.10.0/bin/pip-audit", line 8, in <module>
    sys.exit(audit())
  File "/Users/william/.pyenv/versions/3.10.0/lib/python3.10/site-packages/pip_audit/_cli.py", line 357, in audit
    for (spec, vulns) in auditor.audit(source):
  File "/Users/william/.pyenv/versions/3.10.0/lib/python3.10/site-packages/pip_audit/_audit.py", line 66, in audit
    for dep, vulns in self._service.query_all(specs):
  File "/Users/william/.pyenv/versions/3.10.0/lib/python3.10/site-packages/pip_audit/_service/interface.py", line 143, in query_all
    yield self.query(spec)
  File "/Users/william/.pyenv/versions/3.10.0/lib/python3.10/site-packages/pip_audit/_service/pypi.py", line 78, in query
    raise ServiceError(
pip_audit._service.interface.ServiceError: Could not find release to compare hashes: ipy (1.1)

Note that we've normalized version 1.01 to 1.1, while PyPI keeps it as 1.01:

Specifically, it looks like this happens in Version:
>>> from pip_api import Version
>>> Version("1.01")
<Version('1.1')>


React to Logging API changes

@BrennanConroy,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot