GFX: configurable x264 parameters

This PR makes x264 parameters such as bitrate configurable.

Add gfx.toml for configurations for GFX
newconfig is a new config parser for toml
x264 parameters are stored in an array of structures (idx is connectyionType)
Each parameter will be inherited from the default unless redefined for each connection type

index 0 is default since connectyionType == 0 is not used in MS-RDPBCGR

Design is not very sophisticated, comments are welcomed.

newconfig should be moved to common?

TODO:

Make order of preferred codecs (H264 or RFX) configurable

Is there scope for fps to match the client, without needing to be hardcoded?
#define X264_DEFAULT_FPS_NUM 24
#define X264_DEFAULT_FPS_DEN 1

We see the artificial capping of refresh rate to <= 30fps to be one of the significant causes of user-perceived latency.

These macros are not for hardcoding the fps value,  actually, the last resort value if fps values are not found anywhere in the config file.
Multiple factors affect the whole refresh rate.  There is also a cap on the capture rate on xorgxrdp side. The fps_num and fps_den values can configure the frame rate of x264 encoding but for debugging purposes at the moment.  It is not intended for users to simply change fps_num and try to get more than 30fps. It doesn't make significant changes because screen capture rate is around 25fps at the moment.
Network latency is also a big factor in user-perceiving latency. Total latency matters but network latency is not easily controllable. So it makes sense that fps is the only factor we can control. If network latency is 40ms, the total latency will be 80ms (25fps == 40ms/frame). That's huge!
I also would like to tackle the latency issue but not in the scope of this PR right now.

Just about to start a review.
One think I must say up front is I'm not keen on the 'newconfig' name. Time has a habit of passing more quickly that any of us like, and all of a sudden, that 'new' can seem quite 'old'.
Just up the road from where we live, there's a national park called the New Forest. I guess it was new in 1086, but here we are over 1000 years later and no-one's quite got round to renaming it yet!

One think I must say up front is I'm not keen on the 'newconfig' name. Time has a habit of passing more quickly that any of us like, and all of a sudden, that 'new' can seem quite 'old'.
Just up the road from where we live, there's a national park called the New Forest. I guess it was new in 1086, but here we are over 1000 years later and no-one's quite got round to renaming it yet!

I recalled New York about that. New York is quite younger than New Forest though.
About the "newconfig" name, I don't think it is a good name either and want to change it. Whatever is fine if it recalls TOML or a new config system and doesn't conflict with other names. I have some candidates:

stomp (Simple, Stupid, or S-whatever-word TOML parser)
tomling (TOML+ing, a male kitten - I didn't know)

I like tomling. It's a cute name.

I'm happy with tomling myself, but I'd also be happy with sticking with 'config' if we can make it work with existing files. Naming things is one of the hardest problems in computing I think!

Force-pushed. Commits will be squashed into several commits before merging.

tconfig looks fine to me!

@matt335672 Anything else?

Not from me - LGTM.


uninstallment guide

What is the issue? (required)
I'd like to see in the ReadMe a Guide how to completely uninstall battery and all its component and also the command line tool. What also could be possible, an uninstallation function inside battery itself.
Expected behavior (required)
A guide or uninstall button that uninstalls battery and its components.
Update:
Please verify if I have uninstalled every related battery components and the app itself.
I have run these both commands in my terminal.
brew uninstall battery
battery uninstall

brew uninstall battery should uninstall also components if you installed through brew. Please re-open if you find any lingering app files so I can investigate.

When I uninstalled battery with brew uninstall battery I still could use the battery command in my Terminal. After running battery uninstall when I wasn't able to run that command anymore.

There is now a GUI uninstall button, as well as a more complete command line uninstall. Thanks for reporting!


Fix 5.5, vs2022

This change basically covers 4 areas:

Adds PYTHON_EXECUTABLE and SWIFT_WINDOWS_$(platform)_ICU_nnn parameters for toolchain and SDK respectively.
Installs and uses VC 14.31 toolset to workaround the issue with latest toolset version.
Finds and configures external clang-cl to use with some parts of toolchain and sdk.
Patches Swift project to use external clang-cl.

A bit more details about the last point. The Swift patch is similar to the one that introduced SWIFT_CLANG_LOCATION in main Swift branch. The patch also allows to specify SWIFT_LIBDISPATCH_C/CXX_COMPILER externally for libdispatch external project, because Dispatch doesn't compile with external clang.

Oh, and packaging steps are using scripts from apple/swift-installer-scripts and the 5.5 branch needs some fixes as well. Also, it looks like there is some issue with the secure file used in the ICU package.

https://github.com/apple/swift-installer-scripts/pull/136


[8.x] Fix translation bug and add test

Fixes #39258
Uses strtr function instead of str_replace. strtr internally sorts keys by length so sort replacements can be removed as well.

Same here, we are extending translator as well, and the patch upgrade of Laravel broke our tests. Also an easy fix here, but technically this is a breaking change.

I'm afraid we won't be reverting this. We were fixing a bug here and as always, when you're overwriting core functionality you have to be aware that in some very edge cases it can break your specific use case. I'm sorry you both got caught with this but we believe this but warranted fixing.

Oh yeah I was never suggesting that we revert those changes.
It was more of a question about how Laravel handle breaking changes - Usually when introducing one you update to the next major version, and you document any breaking change in a CHANGELOG or something.
I was just curious about the process for this project - because if laravel is ok with introducing breaking change on minor updates it will require extra care for us when updating.
Fortunately In my project every laravel services that we had to extend have a feature or unit test associated to catch those kind of issues.
Thank you


fix: support for window path resolution in typescript generated code

Building and testing in windows is currently a bit problematic.
I have a much larger change to make the flow work in windows as well as a full pipeline in windows
But for now, this is the fix required from the library to work on windows
fixes #67

The entire build and test flow (lerna/npm scripts...) is still not fully cross-platform, but I have most of it ready.
I agree that this must be e2e tested using github actions, and it is still in progress,
but I just wanted to make this draft PR to have an early feedback...
most of the commits in this branch, meant to fix the package.json and other build/test pipelines to make it cross-platform, still trying out different things to have the least impact on current workflow
Looking for ways to improve this...

I had some time off, and just got back to this PR, but I still struggle with making the CI flow work on windows:
https://github.com/talshani/ladle/tree/windows-support
I think you can see the github actions if someone wants to take a look and see what's wrong, I had several tests there
Currently I think it is a problem in playwright and es module importing again on windows...

This is a great work. Thanks!

Vite already has this issue and solution documented.
https://vitejs.dev/guide/api-plugin.html#path-normalization
Vite path (moduleId's) should be normalized with its included function
import { normalizePath } from 'vite'

normalizePath('foo\\bar') // 'foo/bar'
normalizePath('foo/bar') // 'foo/bar'

Seems like it performs the same thing as your  cleanupWindowsPath function

the current solution has weird path issue resolution: it tries to resolve node package in the project folder.
(I had to add an alias workaround in my config, cf. here)
what @cpakken is mentioning would probably resolve this issue


0.1.6 fail on build

The 0.1 works perfectly, but the 0.1.6 fails with this error:
Run<EMAIL_ADDRESS>  with:
    github_token: ***
Error: File not found: '/home/runner/work/_actions/Label305/AutoRebase/0.1.6/dist/index.js'

This is my configuration:
YML:
name: "auto-rebase"
on:
  push:
    branches-ignore:
      # Ignore branches automatically created by github-rebase
      - rebase-pull-request**
      - cherry-pick-rebase-pull-request**
  pull_request:
    types: [labeled]

jobs:
  build:
    name: Auto Rebase
    runs-on: ubuntu-latest
    steps:

    - name: Automatic Rebase
      uses<EMAIL_ADDRESS>      with:
        github_token: ${{ secrets.THORBOT_GITHUB_API_TOKEN }}

I think I messed up that release :thinking: 0.1.7 should work now!


Roadmap: Improve hassio frontend

UI improvements

[ ] Addon section
[ ] Snapshot section
[ ] Advanced section
[ ] Hide some options behind a developer toggle (like local addons and network stuff)

HA integration

[ ] optimize HA functions, like restart, for hassio
[ ] add hassio: to HA config by default

Odds and ends to improve the usability

[ ] Several language improvements (by a native speaker)
[ ] rename "Google Assistant" addon to something with "SDK" in name to avoid confusion with the HA component
[ ] fix inconsistencies like "snapshots" are named "backups" in samba addon
[ ] improve logoutput of config check addon
[ ] maybe install some essentially addons like samba and SSH by default

Here is a first concept for the addon section

Hass.io API

Isn't it inconvenient that we have to use 3 APIs for the add-ons:

supervisor/info for installed add-on with running-status <- dashboard
addons for all add-ons in all repos <- add-on store
addons/53caca22_mopidy-cast/info for add-on details <- add-on details

same for snapshots, snapshots has some information of snapshots/6dbde1f3/info, but not all

generic information for HA, Host, Supervisor also have separate APIs...

so can we merge them all into API (like the hass-object) or combine some of them?

If you combine them all into 1 object, you need to load them all before being able to show any page. There is no need to always load all the available add-ons. That info is only needed in the add-on store.


Enable Hyperparameter logging from any hook in the LightningModule

🚀 Feature
Make it possible to call save_hyperparameters from any hook in the LightningModule.
Motivation
Sometimes the dataset has hyperparameters that should be logged. However, the LightningDataModule is only accessible from the LightningModule once the trainer is initiated. Thus, it would be useful to call save_hyperparameters from on_fit_start, when the Trainer is specified and the hyperparameters from the dataset can easily be collected, e.g. through self.trainer.datamodule.build_hparams().
Pitch
log_hyperparameters shouldn't look for init args in the local variables when called outside the __init__ method.
Currently, this behaviour casues an exception in line 154 in utilities/parsing.py
local_args = {k: local_vars[k] for k in init_parameters.keys()}

because the function is looking for the init parameters in the local variables, which are only available when called from __init__.
Suggestion: Remove init parameter logging when called from other places.
Alternatives
Save init parameters and add them later.
Additional context
N/A
cc @borda @carmocca @justusschock @awaelchli @ananthsub @ninginthecloud @jjenniferdai @rohitgr7

Hello there!

Sometimes the dataset has hyperparameters that should be logged. However, the LightningDataModule is only accessible from the LightningModule once the trainer is initiated. Thus, it would be useful to call save_hyperparameters from on_fit_start

For this particular use case, I recommend calling self.save_hyperparameters() in the DataModule directly rather than via the LightningModule hooks. This is supported in the latest PL versions. The recorded parameters (merged with the ones form LM) get logged to the logger.
Apart from that, I think this is a honest feature request. However, let me remind everyone that the main objective of save_hyperparameters is NOT JUST to send the to the logger. This is a nice to have feature but the MAIN motivation of this method is to have the parameters saved to the checkpoint so that they can be used in the right way when there is a desire to load the model back from the checkpoint (via the LightningModule.load_from_checkpoint). From that perspective, it will be very error prone to let this method be called from every hook. It is imperative that the save_hyperparameters method captures exactly the arguments passed to the init, not more, not less and not any modified ones. For this reason, I recommend not going forward with this feature. Instead, we could figure out a better error handling. I'm curious what others think about this.
Finally, when you only care about logging some parameters, this is also possible with by accessing self.logger in any hook, (or self.log_dict).

@awaelchli Good point. Maybe it would be good to immediately raise an exception when save_hyperparameters is not called from __init__?

Yes, that sounds reasonable. Not trivial but doable. Anyone here up to give this a try?

I think it is quite a quick fix. Ill give it a go sometime this week.

@awaelchli what is the right kind of exception to raise for this? (https://github.com/PyTorchLightning/pytorch-lightning/compare/master...cemde:master#diff-a66e1577c8afd58ec7232d8fecb88eb1edd4b4cc3da9af8a7f7d8286ec8d4e36)

I'd suggest RuntimeError

Updating the assignee as this is already being worked on in #13240.

I had a similar need as the OP, e.g. saving LightningDataModule hyperparamers with save_hyperparameters() at a specific point of the production pipeline using a LightningModule hook. While the API made it look like this worked as intended (no errors were raised) in my initial implementation, the requested hyperparameters didn't appear in the experiment manager after the run had finished.
From my perspective, the documentation or the API should be more explicit in how/where save_hyperparameters() should be used. Currently, the method's documentation in LightningDataModule links to the corresponding part in the LightningModule docs. However, the sentence stating that the method should be used "within your LightningModule’s init method" is not strictly true in this case, as calling the method seems to also work from LightningDataModule.setup(). As mentioned earlier, I had to find out later that calling the method from a LightningModule hook (on_train_start() more specifically) didn't work, so I think in this case the API should have warned me of improper use.
The same story in terms of what I had code-wise. I have the following method implemented in my LightningDataModule.
class LitDataModule(L.LightningDataModule):
      ...
     def log_attributes(self) -> None:
         logged_attributes = {
             "att_1": value_1,
             "att_2": value_2,
             ...
         }
         self.save_hyperparameters(logged_attributes)

... and I was calling the method from a LightingModule hook like so:
def on_train_start(self) -> None:
    if self.trainer.datamodule:
        self.trainer.datamodule.log_attributes()

In this case, the requested attributes didn't appear in the experiment manager, for which I don't have a clear explanation. I changed the logic afterwards to:
class LitDataModule(L.LightningDataModule):
    def setup(self, stage: str = None) -> None:
        ...
        if stage.state == "fit":
            self.log_attributes()

... which seems to work at least for now, unless I run into something unexpected.


Is Babelfish a Migration Tool?

Hi Community,
We are using MSSQL right now and would love to move to Posgresql. (MSSQL is expensive). But, we have lots of Stored Procedures which is what is stopping us from migrating to Postgresql.
Im trying to understand how Babelfish works, but it sounds to me like its either:

A migration tool to convert entire MSSQL DB (including stored procs and others) into Postgresql equivalent? OR
A connector on top of Postgresql? Meaning we need to deploy both MSSQL and Postgresql (with Babelfish plugin)?

Someone help me wrap my head around this in layman terms. Also, is Babelfish stable for production? Or is it still in development?

It is neither, although #2 comes closest. Babelfish is a Postgres-native implementation of (i) T-SQL syntax and semantics and (ii) the TDS protocol, in the form of Postgres extensions (it is really part of Postgres, not some additional external component). Babelfish implements T-SQL using Postgres building blocks; it does not 'translate' T-SQL queries into PG queries but -using its own T-SQL parser and QP extensions- generates what are essentially internal PG query trees that implement the T-SQL syntax and semantics. That is why 'connector' is much too simple a name.
With Babelfish, the PG instance also provides a TDS port (1433); when connecting to this port, the connection gets the T-SQL dialect and sees a SQL Server-like environment with a master and tempdb database and you can run most T-SQL unchanged.
For a current SQL Server-based app, the idea is to re-run the scripts that create the databases, tables, procedures, triggers etc. against Babelfish, then migrate the data (with DMS for example) and then just reconfigure the clients from connecting to the SQL Server port to the Babelfish TDS port.
It is recommended to run the Compass tool first to identify any aspects of T-SQL which Babelfish does not currently support.

I see, thanks for the information.
I was really hoping it was the first one. Cause that would be a magical way for us to move out of MSSQL.
I dont suppose you know of any tools in the market that can do that?

AWS provides the SCT tool to convert between SQL dialects: https://aws.amazon.com/dms/schema-conversion-tool/


Luke: Data retriever service

Added field to define_replay for datastore_name

Added a patch in ctd_stream_publisher to track and kill spawned greenlets.

see comment on ion-definitions push.
The datastore name should be inferred from knowing the dataset id, not as an argument here.
The dataset need to reference the datastore.

pls manually merge with ion-definitions properly set when ready.

Okay - thanks Michael


[Snyk] Upgrade js-yaml from 3.14.0 to 3.14.1

Snyk has created this PR to upgrade js-yaml from 3.14.0 to 3.14.1.

:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.
The recommended version was released 2 months ago, on 2020-12-07.

Release notes

Package name: js-yaml

3.14.1 - 2020-12-073.14.1 released

3.14.0 - 2020-05-223.14.0 released

    from js-yaml GitHub release notes

Commit messages

Package name: js-yaml

37caaad 3.14.1 released
094c0f7 dist rebuild
9586ebe Avoid calling hasOwnProperty of user-controlled objects

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

 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.


Binding ClientBootstrap/Socket to a specific Interface

Expected behavior
I want to bind a client socket to a particular interface.
Netty has connect(SocketAddress remoteAddress, SocketAddress localAddress) for same purpose.
Actual behavior
Currently ClientBootstrap doesn't provide any options to do so.
Steps to reproduce

Create a ClientBootstrap object
try to bind the channel in channelInitializer
Cannot bind after connecting because its already connected to the end server.

SwiftNIO version/commit hash :
Tag: 2.16.0
Commit hash: e876fb37410e0036b98b5361bb18e6854739572b
Swift & OS version (output of swift --version && uname -a)
Apple Swift version 5.2 (swiftlang-1<IP_ADDRESS> clang-1<IP_ADDRESS>)
Target: x86_64-apple-darwin19.4.0
Darwin Bikramjeets-MacBook-Pro.local 19.4.0 Darwin Kernel Version 19.4.0: Wed Mar  4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64 x86_64

Are you sure you tried to call bind in channelInitializer? That should work just fine.

Yes, I've done that. It starts failing at later states.

Basically, Bind fails if I don't register the channel and If i register the channel in channelInitializer then resolve and connect fails.
Both time I get a NIO.ChannelError.inappropriateOperationForState error.

Hmm, seems like we may have broken this. We may want to add support for this somewhere else: maybe in the bootstrap. @weissi thoughts here, should we fix up bind or get the bootstrap to DTRT?

@Lukasa https://github.com/apple/swift-nio/pull/1192

@Lukasa & @weissi is there any update if this will be soon available in swift nio?

@bikram990 I've started work on this :)

@bikram990 you can track it here: https://github.com/apple/swift-nio/pull/1490

Sorry for the massive delay @bikram990 . This should be released as 2.18.0 quite soon

No Problem, good to see that it's finally getting fixed.


connection to host failed

[x] Bug
i have this prob
i tried to manual configuration and the default one.
what i can do ?

I'm pretty sure that this project is dead! Sorry...

@zMaadz have you installed tor server ?

@zMaadz Please do not use this issue tracker , this is not me. This is just a fork , head to https://github.com/antony-jr/instagram-py for the real one.

Hello, i got this issue.
Connection to host failed , check your connection and tor configuration :: SOCKSHTTPConnectionPool(host='httpbin.org', port=80): Max retries exceeded with url: /ip (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fd682fa4b70>: Failed to establish a new connection: 0x06: TTL expired',))

@djakaw Please use the official repo , here -> https://github.com/antony-jr/instagram-py

If your config file is good, just install requests[socks] with pip3.
And than restart the tor service. It will work.

@djakaw did you fixed it?
@Har0ldf1nch nstall requests[socks] with pip3 did not work for me

Hello, i got this issue.
Connection to host failed , check your connection and tor configuration :: SOCKSHTTPConnectionPool(host='httpbin.org', port=80): Max retries exceeded with url: /ip (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fd682fa4b70>: Failed to establish a new connection: 0x06: TTL expired',))

hi so I have the same issues pleas help

If your config file is good, just install requests[socks] with pip3.
And than restart the tor service. It will work.

I do this but not work agein


Revert the revert of #2777 after 1.5 is released

#2777 has been merged to dev prematurely. Therefore it has been reverted in #3635. We need the changes made in #2777 to be merged to dev again after 1.5 is released.

Closed as it is a duplicate.


what define-train does and why it is not exported?

Hello, I was checking the content of package for new stuff and noticed interesting macro called define-train. It is not exported (and neither hook or fork is). It is also not documented, yet it looks like something that should be exported. Do I miss something?

I think that I actually KNOW what it does. It is kinda neat. Can we please export it?

I didn't export these initially because I wasn't sure how useful they were.
The J functions could probably also use better documentation.

Ok, thanks for answer.
BTW, what is the policy on removing functionality from serapeum? Also, what about reader macros? It is releated to OP. It is broken and can't be really fixed, but we can add reader macro that serves same purpose.

I don't have a definite policy on removing functionality. In the past I've only removed functionality when it was subsumed by some newer feature. I've been toying with the idea of an Emacs-style deprecation system, that issues style warnings for deprecated functions.
I'm not absolutely against reader macros -- after all, Serapeum uses them internally -- but they would have to be namespaced with named-readtables and they would have to be for something that cannot be done any other way.
How is OP broken?

Typical code walker stuff. For instance:
(defun test ()
(let ((nested '((1 2 3) (a b c))))
(map nil (op (list _1
(map nil
(op (print _2))
_1)))
nested)))
Check macroexpand of the above.
I think that functionality like this should be implemented using reader macros instead.

The first thought that comes to mind is that maybe I should just disallow nesting op. How would a reader macro help?

Reader macro is not a code-walker so it has a lot fewer cases to cover. Nesting, reader macros, dotted lists. It adds up!
Essentially, we can just mimic Clojure in this area.

I'm all for borrowing tricks when Clojure when they make sense. But I don't think it would help here. I haven't tracked down the code yet that implements the Clojure function reader macro, but I would imagine that the literal expands into a macro, and a macro does the code walking.
Speaking of Clojure, according to https://clojure.org/reference/reader, "#() forms cannot be nested." So if we want to mimic Clojure in this area then we probably should forbid nested op.

Oh, interesting. I would do it like this.
`
(defun numbered-arg-as-string (arg)
(cl-ppcre:scan-to-strings "^%\d+$" (format nil "~A" arg)))
(defun single-arg-as-string (arg)
(let ((sarg (format nil "~A" arg)))
(when (string-equal "%" sarg)
sarg)))
(defun arc-arg-as-string (arg)
(let ((sarg (format nil "~A" arg)))
(when (string-equal "_" sarg)
sarg)))
(defun rest-arg-as-string (arg)
(let ((sarg (format nil "~A" arg)))
(when (string-equal "%&" sarg)
sarg)))
(defun try-parsing-integer (x)
(handler-case
(parse-integer x)
(error nil nil)))
(let ((regex "([^0-9])([0-9])"))
(defun arg-string-lessp (a b)
(let ((an (nth-value 1 (cl-ppcre:scan-to-strings regex a)))
(bn (nth-value 1 (cl-ppcre:scan-to-strings regex b))))
(or (string-lessp (aref an 0)
(aref bn 0))
(let ((n1 (try-parsing-integer (aref an 1)))
(n2 (try-parsing-integer (aref bn 1))))
(cond ((and (not n1) (not n2)) nil)
((not n1) t)
((not n2) nil)
((< n1 n2) t)
(t nil)))))))
(defun make-arg-list (predicate delimited-list)
(labels ((list-walk (fn list &optional ac)
(cond ((atom list) (if (null list)
ac
(cons (funcall fn list) ac)))
(t (list-walk fn
(cdr list)
(cons (funcall fn (car list))
ac)))))
(string-list (delimited-list)
(list-walk (lambda (x)
(cond ((atom x) (funcall predicate x))
(t (string-list x))))
delimited-list)))
(remove-duplicates (mapcar #'intern
(sort (alexandria:flatten (string-list delimited-list))
#'arg-string-lessp)))))
(defvar sharp-f-arguments nil)
(defun sharp-f (stream char subchar)
"Function responsible for creating literal lambda (reader-macro).
Usage: `#L FORM' (space is optional). Such constructs creates an
anonymous function taking variable number of arguments which are
accessible as %1, %2 etc. (or alternatively %* for the whole list and
% for the first argument.
If literal lambda is nested inside another literal lambda function may
reach the outer arguments by using multiple #% – for instance %%1,
%%2 etc.
Examples: #L(list % 2 3), #L8, #f'symbol, #L(list %1 %2)"
(declare (ignore char subchar))
(let ((rt readtable)
(sharp-f-arguments (vect))
(readtable (copy-readtable)))
(labels ((find-arg (id)
(cdr (find id sharp-f-arguments :key #'car)))
(add-arg (number)
(if-let ((arg (find-arg number)))
arg
(let ((arg (gensym "ARG")))
(vector-push-extend (list* number arg)
sharp-f-arguments)
arg))))
(set-macro-character #%
(lambda (stream char)
(let* ((next-char (peek-char nil stream))
(form (cond
((digit-char-p next-char)
(let ((token (read stream nil nil t)))
(list 'argument-symbol token)))
((char= next-char #%)
(let* ((readtable rt)
(exp (read stream nil nil t)))
exp))
((char= next-char #*)
(read-char stream) ; ignore character
(list 'argument-symbol nil))
(t (unread-char char stream)
(let ((readtable rt))
(read stream nil nil t))))))
(if (and (listp form)
(eq (car form) 'argument-symbol))
(add-arg (cadr form))
form))))
(let* ((form (read stream nil nil t))
(rest-arg (or (find-arg nil) '%*))
(args (map 'list #'cdr
(sort (remove-if-not #'car sharp-f-arguments)
#'<
:key #'car))))
(lambda (,@args                   &rest ,rest-arg)            (declare (ignorable %*)                     ,@(when (eq rest-arg '%*)                         '((dynamic-extent %*))))            ,form)))))
I operate on strings, not on symbols, and i just return list with lambda form. I think that clojure prohibits nesting because of non-technical reasons.

I'll have to think about this. In the meantime I've pushed some minor improvements to op.

I like OP, even with its edge cases, and I use it quite a bit.


Dump riscv-dv generation messages to a log file

I was previously just dumping them to /dev/null because the
code always worked but... predictably I was wrong! Write them
somewhere more useful for debug.

Hmm. Looks like stdstream_dest is just an fd in some situations. Let me re-push with something that ignores more errors.


Allow IP_FREEBIND to be specified as a socket option for xrdp

From the Linux manpage ip(7):-

  IP_FREEBIND (since Linux 2.4)
         If enabled, this boolean option allows binding to an IP address
         that  is nonlocal or does not (yet) exist.  This permits listen‐
         ing on a socket, without requiring the underlying network inter‐
         face  or  the  specified dynamic IP address to be up at the time
         that the application is trying to bind to it.

On systemd-enabled systems, not all network interfaces may not be up when xrdp starts. This poses problems for a system administrator who wishes to bind to the specific IP addresses of those interfaces rather than 'all interfaces'.
See #1610 for an instance where this has been encountered by a user.
This socket option seems at the moment to only be available for Linux.

Maybe this snippet helps: https://github.com/microsoft/WSL/issues/460
// FreeBSD uses IP_BINDANY or IP_NONLOCALOK instead of IP_FREEBIND
// Use requires root rights in FreeBSD. Linux allows this without capabilities
#if (__FreeBSD__ || __FreeBSD_kernel__) && !defined(IP_FREEBIND)
#if defined(IP_BINDANY)
#define IP_FREEBIND IP_BINDANY
#elif defined(IP_NONLOCALOK)
#define IP_FREEBIND IP_NONLOCALOK
#endif // IP_BINDANY || IP_NONLOCALOK
#endif // __FREEBSD__ || __FreeBSD_kernel__

Yes that's useful - thanks.


[OmniSci] Groupby on concat result fails

Testcase is in branch https://github.com/intel-go/modin/tree/test_groupby_on_concat

The problem not to be in concat, but in mix of column labels and series in 'by' argument. This always triggers additional execute and we don't support such groupby in general case. So, for now we guarantee groupby work only when by is a list of column labels.

After additional analysis, I found that code, which triggers additional execution, is actually incorrect. Fix for that code will also enable lay computation for our backend. I'll make a new issue.

Currently, mentioned testcase works.


Why does the registration functionality depend on allauth?

It's kind of strange to me that to enable registration I have to install allauth. It's especially strange that I need to include the allauth.socialaccount app, even when I am not planning to ever support social logins. Is this something that could be made optional?

This was a decision that predates my involvement in the project. I completely support minimizing reliance on Allauth. Feel free to submit a PR

@iMerica I can submit a PR for this. Please let me know if okay


Content view y is negative after action finished

@hivinau
Sorry, can't reproduce on my side, I'll close it now.
Feel free to re-open it if you can provide more details.


First weather widget not translated for fr

Hi,
as you can see below,
https://i.imgur.com/os8LAAI.png
the text of the first widget is "Rain shower" whereas all other text is translated.

This is a typo in the translation map text file. The string Rain Shower is present and translated to Averses, but Rain shower is not present.
The following will fix the issue, present in wttr.in/share/translations/fr.txt:
--- fr.txt	2020-12-29 09:55:27.336187194 -0600
+++ fr.txt	2020-12-29 09:54:52.366381577 -0600
@@ -1,6 +1,7 @@
 : Pluie                                            : Rain
 : Pluie légère, Averses                            : Light Rain, Rain Shower
 : Averses                                          : Rain Shower
+: Averses                                          : Rain shower
 113 : Temps clair                                  : Clear
 113 : Ensoleillé                                   : Sunny
 116 : Partiellement couvert                        : Partly cloudy

patch < fr.txt.patch, where fr.txt.patch has the content of the above diff.

I made it case-insensitive, so it should work now

I made it case-insensitive, so it should work now


Indicate current corpus in play info page

On the play info page there should be some hint which corpus the play belongs to.

I suggest showing the short corpus name (e.g. GerDraCor) inline with dashboard tabs floating right.
<Link to={/${m.name}}>
{m.name}DraCor
             </Link>
The snippet from Metrics.js would be perfect for it.

Solved in #110


updated README to provide more information about the project

Hi Bruno, I've updated the README with your suggestions, it is ready now for re-check. Thanks


Disc buffer environment variable is multiplied not added

https://splunk.github.io/splunk-connect-for-syslog/main/configuration/#sc4s-disk-buffer-configuration
SC4S_DEST_SPLUNK_HEC_DEFAULT_DISKBUFF_DISKBUFSIZE
bytes<PHONE_NUMBER>0)
Size of local disk buffer in bytes (default 50 GB)
This creates 10 qf files in the /var/lib/containers/storage/volumes/splunk-sc4s-var/_data  folder.
I understand that the total of all the files should be 50GB.  However, the 50GB limit is applying to each file.
so with 50GB limit.  That means the total space consumption will be 500GB or 10 Threads X 50GB = 500 GB
see my screen shot for details.

Hello,
Is there any workaround I can apply for this?
Regards
Paul

Here we need to make the document better to say that it will create each thread of the size mentioned , the disk buffer can be only full if the HEC is not available.
I will increase some size of disk as it can impact the performance of sc4s and can stop it from working altogether, restarting sc4s can help as well

The document says "Without disk buffering enabled SC4S can handle up to 345K EPS (800 bytes/event avg) With “Normal” disk buffering enabled SC4S can handle up to 60K EPS (800 bytes/event avg)" That means the SC4S still impact the performance event if the HEC is available. I'm not sure my understanding is correct or not.

When disk buffering is enabled , it will extra load on SC4S(syslog-ng) to check the destination and created qf files , when they are disabled if the destination is not available it will simply drop after in memory is exhausted.


Canvas - Encounter Blocks Don't Render

Heads up.
In the new Canvas if you add a card you can successfully render a stat-block however Encounter blocks do not render.

Is this still occurring? it works for me

Closing as follow-up response was not given within one month. If this is still an occurrence, a new issue can be created.


Why change data in for() with another var, model also changed?

http://jsbin.com/bujuvi/1/edit?html,output
I tried to define a new var to change data in model (don't want to change it in Vue model), why data in Vue model also changed?

This is exactly what should happen... you are modifying the array by reference.

so how can I only change in for(), keep it in Vue model?

You need to do a deep clone of the array.


Added important note about GPO and added missing link for download.

Solving issue #3420 with an important note.

@j0rt3g4 Please reference the issue ID. Thanks.

@j0rt3g4 Please confirm whether the PR relates to issue #3420

@nenonix @JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@e0i  Updated.

@mapalko Would you be able to review and merge this PR? Thanks.

@JohanFreelancer9  done, thank you

@mapalko Would you be able to review and merge this PR based on issue #3420 ?
Thank you.


[T6A1][T11-C1]

Still in progress

Accepting this PR without a review because another of your PRs for this tutorial was reviewed in detail.


tag browser unclear when working with WSI

Since a WSI series contains multiple instances at different resolutions it's not clear which instance you are looking at for a particular pan/zoom setting and so you don't know how what the tag browser is showing relates to the image or how to get the tags for any particular instance (pyramid layer).

@jbocce Not sure if our tag browser supports this, maybe try and update here our level of support?

@IbrahimCSAE can you add the tag browser and see if we have support for it or not, should be a quick 5 min check


Why do I need to reference FSCS in every downstream .NET project?

Diagram showing the dependencies between projects:
Client application -> Internal Library -> External Library -> FSCS
The external library
I am using an external library in my project that uses FSCS. I then need to reference both the external library (no surprise) and FSCS (a little surprising) in my library.
My internal library
A client application then re-uses my internal library and it turns out that I need to reference FSCS as a dependency (very very surprising) even though I didn't need to reference the external library as a dependency.
Other Info

My client application does not fail to compile - instead the missing reference causes issues at runtime.
Using version <IP_ADDRESS> (if relevant)

What's the external library?  Does it's nuget package correctly list a dependency on the FCS package?  (The most common cause of a dependency is for documentation generation)
In any case this seems to be a bug in the configuration of the external library.  If it's using FCS then your code will certainly end up needing the DLL, but the external library package should list that dependency correctly.

The external project being used is:
https://github.com/eiriktsarpalis/QuotationCompiler

It seems to be configured properly on nuget http://www.nuget.org/packages/QuotationCompiler/0.0.7-alpha
What package manager do you use to reference the package?  Nuget.exe or Paket.exe?  Or Visual Studio nuget?   The package manager tooling should add the dependencies automatically.  If it doesn't I'd say that's a limitation of the package manager - I'm pretty sure Paket would add the reference to the dependency correctly.
In any case this isn't an F# COmpiler Service bug

(closing as it's not an FCS bug AFAIK)

@dsyme  thanks for taking a look. It doesn't sound like a bug but perhaps I didn't ask my question clearly enough:
I can understand why my internal library needs a reference to FCS - FCS gets downloaded automatically with nuget.
What I don't understand is (irrespective of package manager) why does my client application then need its own reference to FCS if it already references the internal library (which has the FCS reference)?
Flag as question and not bug.

Hi @origfla That's a good question.  It's probably because some references to FCS types or other metadata escape as part of the public API of the QuotationCompiler library you are using.

@dsyme The public QuotationCompiler API indeed exposes F# Untyped ASTs


tags page not found

hi @tangkunyin, i cannot generate tags page since i clone your themes repository, any solutions?

hi, it looks you have not config your tags and archive in site config yml file.
you may look this document first:https://github.com/tangkunyin/hexo-theme-jsimple/blob/master/README.md
also read my site backup:  https://github.com/shuoit/blog


ShowWindowCommandsOnTop no longer available

Has ShowWindowCommandsOnTop been romoved? It's no longer a dependency property for Metro Window. The flyouts demo in the sample app does not appear to work either.

@mike-ward yes, it's removed, the demo must become an update... you can now use xyzOverlayBehavior properties with

Never
OverlayFlyout
OverlayHiddenTitleBar
Always

https://github.com/MahApps/MahApps.Metro/blob/master/docs/release-notes/0.14.0.md#fine-grained-control-over-the-titlebar-element-overlay-behavior

OK, I see it. I noticed that if the application is closed when a flyout is
open, the closing finished event does not fire. Is this expected?
On Mon, Jan 26, 2015 at 10:03 AM, Jan Karger<EMAIL_ADDRESS>wrote:

@mike-ward https://github.com/mike-ward yes, it's removed, the demo
must become an update... you can now use xyzOverlayBehavior properties
with

Never
OverlayFlyout
OverlayHiddenTitleBar
Always

https://github.com/MahApps/MahApps.Metro/blob/master/docs/release-notes/0.14.0.md#fine-grained-control-over-the-titlebar-element-overlay-behavior
—
Reply to this email directly or view it on GitHub
https://github.com/MahApps/MahApps.Metro/issues/1771#issuecomment-71473669
.

I noticed that if the application is closed when a flyout is open, the closing finished event does not fire. Is this expected?

I don't know if MahApps should do this or the user itself...
^ /cc @flagbug @thoemmi

As far as I can tell, it's the only closing event for a flyout window.
On Mon, Jan 26, 2015 at 10:26 AM, Jan Karger<EMAIL_ADDRESS>wrote:

I noticed that if the application is closed when a flyout is open, the
closing finished event does not fire. Is this expected?
I don't know if MahApps should do this or the user itself...
^ /cc @flagbug https://github.com/flagbug @thoemmi
https://github.com/thoemmi
—
Reply to this email directly or view it on GitHub
https://github.com/MahApps/MahApps.Metro/issues/1771#issuecomment-71477494
.

Well, I think that's the correct behaviour: the window closes with open flyouts. I can't think of a scenario where I do want to receive a flyout's Closing event when the window is closed. If the user has entered some essential data in the flyout, he should have pressed Enter, Ok, or something like that to get the data stored, but not the close button of the hosting window.

Scenario: Alt+F4
I can't think of a scenario where I would not want the closing event
raised. The window is closing, therefore I should get a closing event. What
the user does or does not do is not relevant.
On Fri, Feb 6, 2015 at 1:40 PM, Thomas Freudenberg<EMAIL_ADDRESS>
wrote:

Well, I think that's the correct behaviour: the window closes with open
flyouts. I can't think of a scenario where I do want to receive a flyout's
Closing event when the window is closed. If the user has entered some
essential data in the flyout, he should have pressed Enter, Ok, or
something like that to get the data stored, but not the close button of the
hosting window.
—
Reply to this email directly or view it on GitHub
https://github.com/MahApps/MahApps.Metro/issues/1771#issuecomment-73289464
.

I think @thoemmi is talking about the Flyout's closing event, while @mike-ward is talking about the hosting Windows's closing event, right?

@flagbug i think so

so, the Problem seems to be, we don't get a closing event in Alt+F4

That's the easiest way to reproduce the issue. I was able to work around
the issue in Markdown Edit. I guess the question is, "should" the flyout
get a close event? I suppose it could be interpreted either way. It just
struck me as odd that a closing event did not fire on program close.
Perhaps "closing" is the wrong term here. Maybe "collapse" is better.
Anyways, when I see an event like, "closing" I have expectations. Whether
those expectations are founded or not is subject to debate. :)
On Fri, Feb 6, 2015 at 1:53 PM, Jan Karger<EMAIL_ADDRESS>wrote:

so, the Problem seems to be, we don't get a closing event in Alt+F4
—
Reply to this email directly or view it on GitHub
https://github.com/MahApps/MahApps.Metro/issues/1771#issuecomment-73291528
.

@mike-ward just to be sure I get you right: you criticize that when the window is closed, Flyout.ClosingFinished isn't raised?

Correct.
On Sun, Feb 8, 2015 at 8:34 AM, Thomas Freudenberg<EMAIL_ADDRESS>
wrote:

@mike-ward https://github.com/mike-ward just to be sure I get you
right: you criticize that when the window is closed,
Flyout.ClosingFinished isn't raised?
—
Reply to this email directly or view it on GitHub
https://github.com/MahApps/MahApps.Metro/issues/1771#issuecomment-73410988
.

Well, from the Flyout's perspective, I guess it's never closed. The window just closes with the flyout still open.

I agree with @thoemmi , while the Flyout disappears when the window closes, it isn't really closed, it's just that the hosting window closes

Might want to update the last paragraph of this: http://mahapps.com/controls/flyouts.html

@mike-ward @thoemmi So, should MahApps close all open Flyouts on the window closing event? Or should we block the closing like we now do it with open Dialogs?

I don't see value in holding up the close due to open flyouts.

IMHO flyouts are like tool windows or non-modal dialog and should not prevent the main window from closing. If a user of MahApps.Metro wants to suppress the closing he's still able to intercept the Window.OnClosing event.
Additionally flyouts shouldn't close automatically when the window is closed. In my feelings they just provide additional secondary space for information/controls. E.g. in Markdown Edit, when the settings flyout is open and you've changed some settings, those changes shouldn't be applied (and persisted) when you close the main window.

@mike-ward @thoemmi I agree with Thomas. Users can do this if they want, so I close this issue now. Regards, Jan


stop command?

Is there anyway to get a stop command so we can stop long winded replies

Hi there @Nrddy, thank you for the question! It's currently only available if you are using OpenAI API Key method. The browser method doesn't support Stop Generating feature.

Oh Awesome. I hate to ask How do I do that then I have looked for it a few times and I am still not seeing it.  By the way this extension is amazing Thanks for your work. I am still pretty new to coding and between the openAI and your extension I am months ahead of what I thought it would take to learn python


Compilation error in NSMutableArray+SWUtilityButtons.m

Looks like NSMutableArray+SWUtilityButtons uses UIKit but does not #import <UIKit/UIKit.h>. This results in compilation errors. I'm using this code on Xcode 6.2 in a Swift project.

Add #import <UIKit/UIKit.h> to the top of the .h file.

Hey @SamStone92 not sure if you are telling me to do that, but ..I can't. I'm pulling this dependency in via Carthage or Cocoapods so I cannot make changes to files that are not in my repository.
This should really be fixed in NSMutableArray+SWUtilityButtons.m.

https://github.com/SamStone92/SWTableViewCell All fixed :)

The import removes the build error, but why doesn't this error come up in the bundled example? It doesn't have an UIKit import and is still compiling and running fine!


[SPARK-34699][SQL] 'CREATE OR REPLACE TEMP VIEW USING' should uncache correctly

What changes were proposed in this pull request?

This PR proposes:

CREATE OR REPLACE TEMP VIEW USING should use TemporaryViewRelation to store temp views.
By doing #1, it fixes the issue where the temp view being replaced is not uncached.

Why are the changes needed?

This is a part of an ongoing work to wrap all the temporary views with TemporaryViewRelation: SPARK-34698.
This also fixes a bug where the temp view being replaced is not uncached.
Does this PR introduce any user-facing change?

Yes, the temp view being replaced with CREATE OR REPLACE TEMP VIEW USING is correctly uncached if the temp view is cached.
How was this patch tested?

Added new tests.

Test build #136034 has started for PR 31825 at commit ba22dd0.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40617/

cc @MaxGekk @sunchao @cloud-fan FYI

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40619/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136036/

Test build #136034 has finished for PR 31825 at commit ba22dd0.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136034/

retest this please

Test build #136062 has started for PR 31825 at commit 6813754.

shall also we clean up the code in CreateViewCommand?

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40645/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40645/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40645/

Test build #136062 has finished for PR 31825 at commit 6813754.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136062/

Good catch on the cache issue! Unrelated: do we have documentation for the ÇREATE OR REPLACE TEMP VIEW USING clause? can't find it in this page.

shall also we clean up the code in CreateViewCommand?

Do you mean removing this condition? https://github.com/apache/spark/blob/9809a2f1c5187205c81542dbdc84b71db535f6e1/sql/core/src/main/scala/org/apache/spark/sql/execution/command/views.scala#L628
If so, I am planning to address it with SPARK-34700, in which we can change the signature of getRawTempView: https://github.com/imback82/spark-4/commit/f1c86b8e97b83d00a50d1e7421e93134c3afb5b8. I can still change it here in this PR, but SPARK-34700 will modify it a bit again. Please let me know which one you prefer. Thanks!

Test build #136076 has started for PR 31825 at commit d476bce.

@imback82 let's leave it to your follow-up work.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40707/

thanks, merging to master!


very confused output, and unsure why

In this branch:
https://github.com/vinniefalco/url/tree/docca
Some very weird things are happening. For example here is the member declaration for userinfo():
https://github.com/vinniefalco/url/blob/4a8df7369af8946a56ee8ff88b599b4cc5b3c544/include/boost/url/url_view_base.hpp#L633
And yet it is being rendered as a static member:

And a regular member:

Something similar is happening to string_view_base. These operators are declared as friends (free functions):
https://github.com/vinniefalco/url/blob/4a8df7369af8946a56ee8ff88b599b4cc5b3c544/include/boost/url/grammar/string_view_base.hpp#L783
But they are showing up as static members, protected DATA members, and regular members at the same time (lol)!

Something ain't right :)

This is looking normal for me on my superboost install @develop with (boost url from the new master submodule.
The key difference seems to be that you added grouping¹.
Spelunking through the XSL I spot this:
  <!--
    ASSUMPTION (for now): At least one member per section (table) must not be in a user-defined group.
    Also, we may need a more robust mapping between a user-defined group's members and the sections
    in which they belong. For now, we are using this partial test.
  -->

All in all it seems like there might be a known issue around mxing user-defined groups with the automatic section grouping.
Perhaps it might be helpful to define an explicit group (@defgroup/@ingroup). I couldn't immediately make it work though.

¹ Keep in mind that Docca stipulates that DISTRIBUTE_GROUP_DOC = YES be set

I'm taking a look. Thank you @sehe for your investigation so far!

I've been having trouble reproducing this behavior. I have the "docca" branch checked out from vinniefalco/url...
I can see why it's happening from the XSLT code, but without being able to get the same Doxygen XML as input, it's hard to properly diagnose & fix. I'm not sure what I'm doing differently.

My hypothesis is that docca never did properly support user-defined groups and that when I wrote that code (including the comment above) I didn't even know what they were exactly. Also, my suspicion is that Doxygen is not giving us all the info we need (but I'll bracket that for now, because I'm not sure).
@vinniefalco Let me ask you this. What is your intention for using grouping here? If it's not intentional, then all you have to do is delete lines 627 and 641 from here to make the problem go away (I predict): https://github.com/vinniefalco/url/blob/4a8df7369af8946a56ee8ff88b599b4cc5b3c544/include/boost/url/url_view_base.hpp#L627
I still want to make sure we properly support grouping, but I'm wondering if this workaround is an easy "fix" for you in the mean time? 😅


Object not found instead of a chart

Most probably some race condition in the gitbase because refreshing helped.

blocked by https://github.com/src-d/gitbase/issues/912

Moving this back to the backlog as it's blocked.


feat: Deep connector Jira (Read)

Closes #709
Description
Read operation uses search API endpoint to return Jira issues.
The data returned from issue endpoint is not returned untouched.
Fields property contains data of interest, the gist of it.
Id property is manually attached. This is the only relevant property outside of fields.
Testing
Manual script to retrieve list of issues.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#710  👈
#712 : 1 other dependent PR (#713 )
#711
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Cobalt0s and the rest of your teammates on  Graphite

But please do provide links to docs in the comments before merging this. Thanks.


Could not resolve import "lit/decorators"

Describe the bug
Since 0.26.0, all packages are causing a  Could not resolve import "lit/decorators"... error. This appears to stem from .js being removed from all imports.
To Reproduce
Update any @material/mwc-... component to 0.26.0
Expected behavior
Module should work

Dup of #3395

It also breaks using material components in lit playground
the console throws:
Uncaught TypeError: Failed to resolve module specifier "lit/decorators". Relative references must start with either "/", "./", or "../".

Thanks for the reports all, we're looking into this 👍

See #3395 for tracking


Fix 500 if no agency-selected on main-page

From the stacktrace:
AttributeError: 'NoneType' object has no attribute 'pk'

Will add form validation to ensure agency is not null.

Fixed: a05130982706dbb62a888c6c0faad2d452ecf301


Added Isilon Module Example PlayBooks

Hi team,
I have created four playbook examples for Isilon using the official modues. please review and add to master
Cheers,
Evan

Added inventory file and added a reference to it in the playbook.


Added permanentCards and InstantCards

Pull Request Test Coverage Report for Build 75

30 of 30 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 73:
0.0%

Covered Lines:
409

Relevant Lines:
409

💛  - Coveralls


Missing parameters in implemented interface produces no warning

Marking a class as satisfying an interface seems to produce no warnings when that implementation is missing parameters. The call to the interface is checked, but not the underlying implementation.
With compilation_level=ADVANCED_OPTIMIZATIONS and warning_level=VERBOSE, the following produces no warning:
/**
 * @interface
**/
function IFoo () {}

/**
 * @param {number} baz
**/
IFoo.prototype.bar = function (baz) {};

/**
 * @constructor
 * @implements {IFoo}
**/
function BigFoo () {}

BigFoo.prototype.bar = function () {
  console.log("big");
};

/**
 * @constructor
 * @implements {IFoo}
**/
function SmallFoo () {}

SmallFoo.prototype.bar = function () {
  console.log("small");
};

/**
 * @constructor
 * @param {(boolean?)=} useBig
**/
function Boo (useBig) {
  /** @type {IFoo!} */
  this.f;

  this.f = useBig ? new BigFoo() : new SmallFoo();
}

//
Boo.prototype.bar = function () {
	// !! This call is passing a parameter that the implementers aren't expecting.
	// Particularly, this means that if you want to change an interface, compile,
	// and then go look for unfulfilled contracts in the code, you cannot.
	this.f.bar(1);
};

var b = new Boo();
b.bar();

Appspot link: http://closure-compiler.appspot.com/home#code%3D%252F%252F%2520%253D%253DClosureCompiler%253D%253D%250A%252F%252F%2520%2540compilation_level%2520ADVANCED_OPTIMIZATIONS%250A%252F%252F%2520%2540output_file_name%2520default.js%250A%252F%252F%2520%2540warning_level%2520VERBOSE%250A%252F%252F%2520%253D%253D%252FClosureCompiler%253D%253D%250A%250A%252F**%250A%2520*%2520%2540interface%250A**%252F%250Afunction%2520IFoo%2520()%2520%257B%257D%250A%250A%252F**%250A%2520*%2520%2540param%2520%257Bnumber%257D%2520baz%250A**%252F%250AIFoo.prototype.bar%2520%253D%2520function%2520(baz)%2520%257B%257D%253B%250A%250A%252F**%250A%2520*%2520%2540constructor%250A%2520*%2520%2540implements%2520%257BIFoo%257D%250A**%252F%250Afunction%2520BigFoo%2520()%2520%257B%257D%250A%250ABigFoo.prototype.bar%2520%253D%2520function%2520()%2520%257B%250A%2520%2520console.log(%2522big%2522)%253B%250A%257D%253B%250A%250A%252F**%250A%2520*%2520%2540constructor%250A%2520*%2520%2540implements%2520%257BIFoo%257D%250A**%252F%250Afunction%2520SmallFoo%2520()%2520%257B%257D%250A%250ASmallFoo.prototype.bar%2520%253D%2520function%2520()%2520%257B%250A%2520%2520console.log(%2522small%2522)%253B%250A%257D%253B%250A%250A%252F**%250A%2520*%2520%2540constructor%250A%2520*%2520%2540param%2520%257B(boolean%253F)%253D%257D%2520useBig%250A**%252F%250Afunction%2520Boo%2520(useBig)%2520%257B%250A%2520%2520%252F**%2520%2540type%2520%257BIFoo!%257D%2520*%252F%250A%2520%2520this.f%253B%250A%250A%2520%2520this.f%2520%253D%2520useBig%2520%253F%2520new%2520BigFoo()%2520%253A%2520new%2520SmallFoo()%253B%250A%257D%250A%250ABoo.prototype.bar%2520%253D%2520function%2520()%2520%257B%2520this.f.bar(1)%253B%2520%257D%253B%250A%250Avar%2520b%2520%253D%2520new%2520Boo()%253B%250Ab.bar()%253B
I didn't try running this with the new type inference as I wasn't sure what deficiencies that might have, but this seemed like something that should've been working in the old type inference.
Note that although it fails to detect missing parameters, it does seem to detect mismatched parameters. If I change the above to implement the baz parameter in BigFoo, but make it a non-number type, then we will get a type mismatch warning, as expected:
JSC_HIDDEN_INTERFACE_PROPERTY_MISMATCH: mismatch of the bar property type and the type of the property it overrides from interface IFoo
original: function (this:IFoo, number): undefined
override: function (this:BigFoo, string): undefined at line 20 character 0
BigFoo.prototype.bar = function (baz) {
^

This is correct. When a class implements an interface, every property of the class must be a subtype of the property of the interface. A function without arguments is a subtype of a function that takes one argument.

A function without arguments is a subtype of a function that takes one argument.

That seems like an easy way to write inconsistent interface implementations though. Is there a use case for this "feature"? Also, is this behavior documented somewhere?

That seems like an easy way to write inconsistent interface implementations though

There is nothing inconsistent/unsafe about it. You can always pass a function with fewer arguments to a context that expects a function with more arguments, because the extra arguments can be ignored. The opposite is not true, eg, a function with one argument is not a subtype of a function with 0 arguments. This is standard subtyping rules, we did not invent this. TypeScript also has the same behavior, eg, you can try the following snippet in the TypeScript playground:
function f(x : (a1:number)=>number) {
  return x(123) - 1;
}
function g() { return 5; }
f(g);

function h(x : ()=>number) {
  return x() - 1;
}
function w(x: number) { return 5; }
h(w);

is this behavior documented somewhere?

There is an old blog post that discusses function subtyping, but only related to the types of the arguments, not the number of arguments:
http://closuretools.blogspot.com/2012/06/subtyping-functions-without-poking-your.html

You can always pass a function with fewer arguments to a context that expects a function with more arguments, because the extra arguments can be ignored.

I think you misunderstood my meaning of "safe". Yes, it is type safe. But the whole point of interfaces is to try and enforce contracts in the code. It will not produce a type error, but it is likely to produce an error in another way because the interface has changed and the implementation in question has not been updated.

To allow this sort of behavior, if there is ever a valid use case, one could have the convention that parameters in the interface marked optional could be omitted from an implementing class. That both allows for this behavior and prevents bugs.


Update P1389.apln

This solution seems to work with GNU APL.
Before opening a pull request to add your solutions to this repository,
please go over the following checklist:

[X] I tested my solutions with the respective test cases from the LeetCode.com website;
[ ] I added a couple of comments with an overview of how my solutions work;

[ ] I included my GitHub nickname (optional);

[ ] My solutions were added at the bottom of the solutions that already existed;
[ ] I added my solutions to the runtime comparison tradfns, when such tradfns were present.

Hey there, thanks for your submission!
Your solution doesn't seem to work; consider the following test case:
      0 0 1 {∊⌽¨(1+⍺[⍋⍺])⊂⍵[⍋,⍺]}'abc'
bac

The correct answer should be 'bca'.

Unfortunately, LeetCode's basic test cases don't show this type of situation, but this is the thing that is very hard to tackle, in my opinion... If you figure out how to fix it, let me know!

Hey Rodrigo, thanks for you reply :-)
I think the problem as stated is about numbers: "Given two arrays of integers nums and index. Your task is to create target array under the following rules". Sorry for replacing the solution, my bad!

I think the problem as stated is about numbers.

Absolutely right, but in your APL solution, the data can be numbers or anything else, your solution is general enough. If you replace 'abc' with 1 2 3 or any numeric vector you wish, you will find it still fails if the insertion order is the one in my example.

I see it now, closing the PR :-)


Fix bucket counts length

the bucketCount slice length should be len(ExplicitBounds) + 1.
e.g.:
ExplicitBounds [0,10,100] ==> bucketCount with range (-inf, 0] , (0, 10] , (10, 100],  (100, +int]

With ExplicitBounds [0,10,100], the histogram bucketCount will be like:

-1 ==> [0, 0, 0, 0]

0 ==> [1, 0, 0, 0]

5 => [0, 1, 0, 0]

10 ==> [0, 1, 0, 0]

100 ==>  [0, 0, 1, 0]

1000  ==> [0, 0, 0, 1]

ref: https://opentelemetry.io/docs/reference/specification/metrics/datamodel/#histogram
Description:

Link to tracking Issue:
https://atlassian.slack.com/archives/C010T25NBNV/p1643776783257789?thread_ts=1643755762.143159&cid=C010T25NBNV
Testing:
Documentation:

had a chat with @chenzhihao online and we're going to get this merged but fix in a separate PR since this will technically introduce a redundant bucket since the processor currently appends maxFloat to the buckets which is meant to represent the "infinity" bucket.

So the processor doesn't need to append an infinity bucket? Just out of curiosity, what happens when you do / don't append the infinity bucket?

So the processor doesn't need to append an infinity bucket? Just out of curiosity, what happens when you do / don't append the infinity bucket?

The -inf and +inf boundaries are implicitly based on the OTel Spec. Let's say we have the boundaries as [0, 100]. The buckets will be: (-inf, 0], (0, 100], (100, +inf]

@chenzhihao Interesting, thanks for clarifying :)


LIVE-2643 LIVE-2914 fix xpub null and "hash" to "id" migration

📝 Description

When we did the migration from the field "hash" to "id", the bitcoin sync may be broken
xpub is undefined during sync from sentry report. we try to fix it in this PR

❓ Context

Impacted projects: `` LLC
Linked resource(s):
https://ledgerhq.atlassian.net/browse/LIVE-2643
https://ledgerhq.atlassian.net/browse/LIVE-2914

✅ Checklist

[X] Test coverage
[X] Atomic delivery
[X] No breaking changes

📸 Demo
No demo for a bug fix
🚀 Expectations to reach
Bitcoin sync correctly

Thanks a lot for the help. Fixed

@hzheng-ledger For test coverage of the xpub field, actually it would be enough to just remove it here and here.


Budget App

Hello Code Reviewer🤓,
I hope you are doing well💪🏾! Thank you for reviewing my Pull Request :pray: !!! stay blessed :star2:
In this Capstone,
Here is my record video,
The Live Demo is available here,
My integration tests are passing well

1- Splash Screen:
I have added a visually appealing splash screen that features the name of our app.
The splash screen also includes convenient links to the sign-up and log-in pages, ensuring a seamless user onboarding experience.
2- User Registration and Log-in:
Users can now register in the app by providing their full name, email, and password (all mandatory fields).
Existing users can log into the app using their email and password.
Appropriate validations and security measures have been implemented to ensure a secure authentication process.
Unauthorized access to pages requiring authentication has been restricted.
Home Page (Categories Page):
Upon successful log-in, users are directed to a dynamic home page displaying various categories.
Each category is presented with its name, icon, and the total amount of transactions associated with it.
Clicking or tapping on a category item seamlessly navigates the user to the transactions page specific to that category.
Additionally, a "Add a new category" button has been included at the bottom of the page to facilitate category creation.
Transactions Page:
Users can now view a comprehensive list of transactions for a selected category.
The transactions are displayed in descending order based on their recency.
The total amount for each category is prominently displayed at the top of the page, allowing users to quickly assess their financials.
To streamline transaction creation, a "Add a new transaction" button has been added at the bottom of the page.
Users can easily navigate back to the home page by clicking on the "Back" button (<).
3- Add a "New Category" Page:
I have implemented a user-friendly form that allows users to create new categories.
The form requires users to provide a category name and icon (both mandatory fields) to successfully create a new category.
Upon saving the new category, users are redirected to the home page.
Users can also navigate back to the home page by clicking on the "Back" button (<).
4- "Add a New Transaction" Page:
Users can create new transactions by completing a form that includes the transaction name (mandatory), amount (mandatory), and at least one associated category (mandatory).
Upon saving the transaction, users are directed to the transactions page for that specific category.
The "Back" button (<) provides users with a convenient way to return to the transactions page for the selected category.

@mckent05 Thanks 🙏🏽


Makeing "Setting Up a Wallet" guide more comprehensive, user-friendly, and accessible for a wider audience. (Lava-blockchain -> Wallet.mdx)

Potential Problems:
Limited scope: The code focuses on wallet setup for the Lava Testnet, neglecting the mainnet and real-world usage scenarios.
Redundancy: Both Keplr and Leap require similar steps for adding Lava to the wallet, making this section repetitive.
Technical complexity: The CLI instructions might be overwhelming for non-technical users.
Lack of accessibility: The instructions rely heavily on screenshots, which can be challenging for screen readers.
Improvements:
Expand scope: Address wallet setup for both Testnet and Mainnet, highlighting differences and providing relevant URLs.
Consolidate wallet integration: Combine the Keplr and Leap sections, outlining common steps and highlighting specific differences.
Simplify CLI instructions: Provide a high-level overview with links to more detailed documentation for advanced users.
Improve accessibility: Offer alternative text descriptions for screenshots and consider providing audio recordings or video tutorials.
Fixes:
Update the NEAR Testnet URL to "https://near-testnet.lava.build/".
Consider using alternative representations for screenshots (e.g., text descriptions, bullet points, numbered lists).
Additional Notes:
Tailor the level of detail and technical explanations to the target audience.
Clearly separate user levels (beginner, intermediate, advanced) for instructions.
Include a troubleshooting section with common issues and solutions.
Consider offering a downloadable PDF guide for easy offline reference.

Easy to use


Create a pubsub integration test to repeatedly start and stop a subscriber

There are reports of issues shutting down the subscriber.

I have experienced this issue, however only on a single cored machine ( 1 cored GKE node and 1 cored GAE) and i am not sure if that has anything to do with the bug so far. I will try investigate this assumption further.

@fromm1990 thanks for the information. Being on a single-core machine should not cause any change in behaviour; the subscriber should still shutdown properly.

@fromm1990 Thanks very much for the logs and code for reproduction. I won't be able to get to it this week, but next week I will see if I can reproduce the problem.
Does it fail every time on GKE pod shutdown? If not, do you approximately know what proportions of shutdowns result in the error?

And if you can easily re-run the local (successful) shutdown, but with timestamps in the log entries, that'd be useful. Thanks.

@chrisdunelm thanks for testing it out. As you can see, It hinders a unique subscription clean up on shutdown. This should be done, in my opinion, when auto scaling an application to avoid unused subscriptions floating around (will also increase the cost of Pub/Sub over time).
Yes, it fails consistently every time a GKE pod shuts down. I run the cluster with 1 replica of the application and then scales it down to 0 replicas. The cluster size is 3 nodes of type n1-standard-1 (1 vCPU, 3.75 GB memory)
Here you have the local re-run with timestamps.

I've just been speaking to some people who understand the Kubernetes pod shutdown process. Apparently a SIGTERM is sent to the process, and then by default the process is given 30 seconds to clean up and exit before a SIGKILL is sent. During that 30 seconds the pod is still fully enabled (except it won't receive any further traffic). It may be possible to "emulate" this shutdown on local Linux by sending SIGTERM by hand; although this certainly doesn't emulate the entire kubernetes/pod context.
How in C# are you catching the SIGTERM shutdown event?
Thanks for the timestamped log, and as I said, I'll see if I can repro this next week.

The SIGTERM signal should be handled by default since .NET Core 1.1 if i am correct? Also as you can see in the screenshot from Stackdriver logging, the shutdown process does get triggered by Kubernetes.
I also tried to extend the 30 second period to 10 minutes in the workload yaml file but without luck. The service, however, does shutdown before the 10 minutes, but without deleting the Pub/Sub subscription, indicating that an exception forced the process to terminate.
Do you know if it is both ingress and egress traffic that is blocked for the pod?

I've added an integration test that does a lot of stopping/starting of subscribers, but I have not seen any problems when running it many times.
I have only run it on a Windows desktop (full framework and core) though, so if the problem is much more related to Docker I will not have seen it. I'll experiment with Docker containers and Kubernetes shortly.
And as far as I know only ingress traffic is blocked; and it's not exactly blocked, it's just that the load-balancer will not send any further new connections to the pod.

I've reproduced this on GKE.
The call the StopAsync() when shutdown by a GKE pod shutdown throws the following exception:
System.InvalidOperationException: Shutdown has already been called
         at Grpc.Core.Internal.CompletionQueueSafeHandle.BeginOp()
         at Grpc.Core.Internal.CallSafeHandle.StartSendMessage(ISendCompletionCallback callback, Byte[] payload, WriteFlags writeFlags, Boolean sendEmptyInitialMetadata)
         at Grpc.Core.Internal.AsyncCallBase`2.SendMessageInternalAsync(TWrite msg, WriteFlags writeFlags)
         at Google.Api.Gax.Grpc.BufferedClientStreamWriter`1.Request.WriteTo(IClientStreamWriter`1 writer)
         at Google.Api.Gax.Grpc.BufferedClientStreamWriter`1.WriteAsyncImpl(T message, WriteOptions options, Boolean modifyOptions, Boolean throwOnError)
         at Google.Cloud.PubSub.V1.SubscriberClientImpl.SingleChannel.<Push>d__22.MoveNext()

So it looks like gRPC has already shutdown. I don't yet know why, I'll investigate.

This is because gRPC registers its own shutdown hook which closes all channels, as discussed in https://github.com/grpc/grpc/issues/14856
I'll see if there's a way to work around this, or whether we need to request a change to gRPC to support this.

Thanks for the effort you have put into reproducing this issue. I'm glad to see that the problem is now detected (at least fairly certain). I'm surprised that gRPC has flagged this as P2 and not P1 since it currently does not comply with ASP.NET Core life cycles.
Do you have an idea of when we can expect a fix? (we currently have to clean up subscriptions manually)

@fromm1990 I suspect the gRPC issue hasn't considered this in relation with the ASP.NET Core life-cycle. I'll chat with @jtattermusch and see how we can make progress on this. I'm not sure how long this will take, but I'll keep this issue updated.

This is definitely caused by the gRPC shutdown code. @jtattermusch and I have discussed it, and will work to get a fix done in gRPC as soon as possible. gRPC shutdown is moderately complex however, so this may take a week or two.
Unfortunately we don't know of a workaround to use in the meantime.

A gRPC fix is being reviewed now: https://github.com/grpc/grpc/pull/15975
If no unexpected problems occur, then we expect to have a new gRPC release, and a new pubsub release by early next week.

Version 1.13.1 of gRPC has just been released which should fix this problem.
I will test and prepare a new beta release of pubsub tomorrow.
(And it appears that somone has already tried it successfully: https://github.com/grpc/grpc/issues/14856#issuecomment-405378149 )

Grpc version 1.13.1 does fix the Kubernetes shutdown problem. I will release a new version of pubsub with this new dependency.

Google.Cloud.PubSub.V1 1.0.0-beta19 released which fixes the kubernetes shutdown issue.

Thanks for the effort you have put into solving this issue!


Is it possible to add a custom orthogonal key to data: or render: coldefs?

I am currently using the syntax found in this ticket: https://github.com/DataTables/DataTables/issues/496
to define various data sources for sorting and filtering (using html5 data attributes).
We use dom sourced initialization, but we define columns: in the initialization so that we can access columns via .columns('<col>:name').  However, when defining a name attribute in columns, jquery-datatables doesn't respect the data-order and data-filter attributes on columns.  The ticket linked previously was very helpful here, and I managed to resolve that part of my problem by defining columns as
{  name: 'first_name', data: { _: 'first_name.display', sort: 'first_name.@data-order', filter: 'first_name.@data-filter' } }

Now however, I am trying to extend this a step further with the buttons extension, specifically the export csv button.  My issue is that I want to define a new attribute called export (similar to type, sort, and filter), and use that very clean syntax to do export: 'first_name@data-export'
However, this does not seem to work - datatables seems to only recognize keys for the built in ones.
I know I can use the render or data helpers as functions, but this makes it rather tedious to access data-export as the source because the function has to go through a few hoops to access the dom-node.
Is there a way to configure datatables to allow a custom key like export in the data or render coldef objects that I can use the cleaner @data-export syntax on?

Thanks for your question. However, per the Contributing document please post support requests in the DataTables forums. Please also ensure that you link to a running test case showing the issue so it can be debugged.


Url support

Hi,
added url support as requested in #47.
Also implemented general argument parsing with a single function to avoid hacking each time.
Because of positional arguments the Submit function still needed some extra work.
I'm new to go and this probably isn't perfect, but I hope it's useful.
Accepts contest/problemset/gym urls.

All the \/ in the regex can be replaced with /. This isn't JavaScript regex literal.
I think you should either use ^... $ to be explicit that it should match the whole string, or just drop the initial (https?)?, it's useless.

Didn't know that, but I can easily replace that
That makes sense. I should probably just delete all the first block of the regex
Not sure how to implement that elegantly in go
Codeforces URL does require contest ID along with submission ID. You don't need to specify it if you are in the correct folder though. It is possible to find the contest ID using official Codeforces API by iterating all the submissions by user, but that wouldn't be too efficient.

Not sure how to implement that elegantly in go

Something like this: (note that the code doesn't compile)
https://github.com/user202729/cf-tool/commit/bacf07f3b72bb2ad04d83c0e63a73ee0ee3dd797#diff-f8528230b76c77a45f085693ebe846d5R53-R61

Current implementation uses the fact that in a map an element might not even exist. Therefore in the required map[string]bool true means that the argument is required, and false that it's optional. If the argument is not in the required map it won't even be parsed. And if an argument is optional, the parser won't throw an error.
This behavior could be removed by parsing all arguments and returning errors on the required ones, but that would mean that you would need to call the parser like this:
parseArgs(args, ParseRequirement{
    problemID: true,
    contestId: true,
    filename: true,
})

So you would need to add all the extra true's that doesn't change anything. It's not very elegant, but I guess it's ok?
I do like the idea about having result struct though.

I guess you can choose one of those:

Parse all, require true fields. (in the caller code it's equivalent to deleting all x: false entries. why would it be necessary to add extra true fields?)
Use an enum. https://stackoverflow.com/questions/14426366/what-is-an-idiomatic-way-of-representing-enums-in-go (required / not required / not parse) Although I guess because parsing or not doesn't change the behavior, and it doesn't affect the performance, parsing all is okay.
Filter after parse (includes parse all). (Because the requirement is independent from the parse) Something like:

func ParseArgs(args map[string]interface{}) (ParseResult, error) // ...
func CheckRequirement(ParseResult, ParseRequirement) error // ...

// caller code
parsed, err := ParseArgs(args)
if err { return }
err = CheckRequirement(parsed)
if err { return }

Combine the method above

why would it be necessary to add extra true fields?

you would need to pass that to the constructor.
But I guess we should stay with the first option.

It's now implemented.
Good to merge, @xalanq?

Will this get merged?
Because I have some other features implemented based on argument parsing introduced in this PR.

Thanks for your great work! I'll handle it on this weekend or next weekend

I see you changed a lot. Do you want me to resolve the conflicts?

I see you changed a lot. Do you want me to resolve the conflicts?

If you can resolve the conflicts, I'll greatly appreciate your great works!

All right, I'm onto it. This may take some time though.

Okay, I re-based it and it should be good to merge. Could contain some bugs, so you might want to test it.

Great works!
I have an idea. Let's make the parameters simpler and more intelligent.
cf submit [-f <filename>]
cf list [<url|contest-id>]
cf parse [<url|contest-id>] [<problem-id>]
...

->
cf submit [--filename=<filename> | -f <filename>] <argument>...
cf list <argument>...
cf parse <argument>...

Then use your ParseArgs to parse that arguments.

I'll handle this

Usage:
  cf config
  cf submit [-f <file>] [<argument>...]
  cf list [<argument>...]
  cf parse [<argument>...]
  cf gen [<alias>]
  cf test [<file>]
  cf watch [all] [<argument>...]
  cf open [<argument>...]
  cf stand [<argument>...]
  cf sid [<argument>...]
  cf race [<argument>...]
  cf pull [ac] [<argument>...]
  cf clone [ac] [<argument>...]
  cf upgrade

Options:
  -h --help            Show this screen.
  --version            Show version.
  -f <file>, --file <file>
                       Path to file, e.g. "a.cpp", "./temp/a.cpp"

Ok. Though I would suggest to rename argument to specifier, as thats what it does - specifies contest and/or problem if I understand correctly.

Ok. Though I would suggest to rename argument to specifier, as thats what it does - specifies contest and/or problem if I understand correctly.

Ok~


Server Model and Update Races with Threshold Signing

Although TUF necessarily uses a client-server model, it leaves the mechanism by which server-side metadata is updated largely unspecified. By this I mean things like adding the targets that clients will download, or revoking and rotating root role keys.
I imagine this was intentional: metadata is just data, so you can serve it with whatever software you like and control access to it with whatever method you like. PyPI can use OAuth and RubyGems can use HTTP Basic Auth and that has little bearing on TUF; controlling who has access to updating metadata should be a concern of the specific applications of TUF (which, after all, should have the concepts of users and access control already).
But there are some problems with the basics of "updating metadata" that I think need to be considered within TUF.
TUF implicitly has principals and access control because it uses asymmetric keys: if you have a particular private key then you can sign data with it, and if you don't, you can't.
I think the race is best described with an example: Suppose you have TUF metadata on a server, and a delegated target targets/django. targets/django has a threshold of 2 and lists 3 public keys: A, B, and C, which are held by Alice, Bob, and Carol respectively.
A new version of django (v2) is ready for publishing and needs new metadata signed for it. In the normal case, Alice signs metadata and sends it to the server - it doesn't meet the threshold of keys so this metadata is technically invalid. Bob fetches the partially signed metadata from the server and signs it as well, and pushes it back up. Now there is valid metadata for v2 of django.
Suppose instead Alice and Bob are working on competing visions of what v2 is - that is, the target file referenced in targets/django has a different hash. When Alice pushes up her partially signed metadata, the server accepts it because she is part of the django project and allowed to update the metadata, and because she signed it with a valid key (A). When Bob pushes up his alternate version of django v2, the server has a problem: he is also allowed to update the metadata and has a valid key (B) but the hashes don't match between metadata. Alice and Bob are in a race to publish metadata for v2 in this scenario.
The server could decide to accept the first valid metadata it sees, or it could decide to accept the most recent valid metadata it sees.
If it accepts the first metadata it sees, we have a problem: consider the case where Carol's key (C) is compromised - an attacker can continually upload valid, partially signed metadata so that Alice and Bob can never update django properly.
If it accepts the most recent metadata it sees, we have a similar problem if a key is compromised: an attacker can overwrite attempted valid updates.
In both cases there's a race, but the attacker always wins in a threshold scenario because Alice and Bob can't both sign the metadata faster than Carol's compromised key can (without some out-of-band communication).
The model that TUF seems to implicitly take, based on the reference implementation, is that there is some (human) gatekeeper for the metadata that will be able to resolve these issues. They can even handle collecting signatures out-of-band if necessary.
But this doesn't seem to align with the model of public package repositories where TUF has been applied, like PyPI, RubyGems, Hackage, or Docker. In these cases there are individual contributors uploading packages, with little to no intervention.
A couple of questions come from this:

Should TUF include a model of the server to some degree to address this?
Should TUF have a first-class concept of staged metadata (e.g. targets.staged.json) so that a compromised key/account can't partially sign and overwrite the canonical metadata?
Is there a good solution to the race? (I think rate limiting would solve it, but interested if there are other solutions)

Interested to hear your thoughts! Thanks!

The main tutorial describes how metadata is moved from the staging area to a live repository out-of-band see TUTORIAL.md#L551-L5570. We can revise together with #808.

The issues described here are very real: the serverside "workflow" is not well defined (maybe it can't be) and there are many details that an implementation must handle to be a) compliant b) safe.

Should TUF include a model of the server to some degree to address this?

Yes. The Repository Operations section is now a lot better than it was 6 years ago but it seems to still miss solid workflows for e.g. the developer upload case you talk about.

Is there a good solution to the race?

I think in the end this is a repository implementation decision. TUF spec or some implementation manual could present a working model but different repositories might make different choices.
Finally, I think there's no actionable python-tuf issue here: we do plan to work on repository tooling in the near future but there's nothing available yet. Let's continue the spec discussion in the linked spec issue


Add json generator

This issue details the creation of the json generator. Unlike the json-simple generator that writes all content on a predefined single file, the json generator works like the other generators (i.e., legacy-HTML); it writes a JSON file for each module.
The json generator follows a hierarchy of the module (being a nested JSON (a JSON tree, where each depth level increases the nested-ness (as we have on the current https://nodejs.org/api/*.json format)
We also need to parse a section entry API options (params, return types, etc.) similarly as it is done on the current JSON format; There's room for improvement here and an opportunity to better the format.
There are other little pieces. For example, the metadata within node.updates should be flattened out to be properties directly of the node entry instead of an array.
I also believe the signature transformation (options) of methods/classes/constructors can be part of a centralized process until it can be reused or applied directly at the ApiDocMetadataEntry as a new property.
I also believe we could follow the JSDoc schema, which would be completely different from the current one but completely easy for downstream users to consume. This is just an idea, but feels good.

I also believe we could follow the JSDoc schema

JSDoc or JSON schema?
Also, starting some preliminary work on what the schema should look like here

I also believe we could follow the JSDoc schema

JSDoc or JSON schema?
Also, starting some preliminary work on what the schema should look like here

JSDoc schema :) like the properties of each object within the JSON match the properties that JSdoc schema supports.

Notes here from downstream discussion: https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/70298


requirements.txt

Adding a requirements.txt to the module would clarify some issues like why tensorflow 2.x doesn't work.

try this pip install tensorflow==1.15


[Feature Request] Add Function to remove CustomXml without existing Table-Sheet-Combination

Is your feature request related to a problem? Please describe.
CustomXml could become really cluttered if we have no core functionality to remove all Xml without existing table-worksheet combination.
Describe the solution you'd like
Maybe add to autoformat or fill reference columns

This can now be done via Settings -> Custom Xml -> Advanced Settings.


Submit this collection

Can we verify what's deployed on https://dspace7.4science.cloud/
https://github.com/DSpace/DSpace/pull/2614/files#diff-ecad0d4d41dd40561d0acfaff2387d57 is required to ensure this works, merged on Dec 16th
I'll verify whether I know how to add a test for the button in the navbar, but not sure whether I'll figure it out because it's a more complicated button

Can we verify what's deployed on https://dspace7.4science.cloud/
https://github.com/DSpace/DSpace/pull/2614/files#diff-ecad0d4d41dd40561d0acfaff2387d57 is required to ensure this works, merged on Dec 16th

Yes we can. It's based on the branch rest-demo. The server automatically updates when changes are pushed to it. It was quite outdated, so I just created and merged a PR to update it


BUGFIX: Double slashes after base uri

In case the base uri ends with a slash and the uri parameter starts with a slash, we get double slashes. This even happens when the url is generated by buildActionUri() of this class.
Original request here: #96
Closes #89

you have to rebase your change. there is a conflict.

I have created a PR #104 which points to the correct branch 4.2.

Closing in favor of #104


For heterocycles, the Chem.GetSymmSSSR function does not give the write sequence of the ring

I noticed that for heterocycles, the Chem.GetSymmSSSR function does not give the right sequence of the ring. Instead of taking the heteroatom, it takes a hydrogen.
You can see an example here (https://ibb.co/2kkT2Xx). The function gives me,
[1, 11, 6, 5, 4, 3, 2]
instead of
[1, 19, 6, 5, 4, 3, 2]
Any solution for that?
Originally posted by @ethan0879 in https://github.com/rdkit/rdkit/issues/3122#issuecomment-626317825

The issue template asks you a series of questions that make it easier for us to help.
The fact that you've either deleted those or only answered a subset of them makes it more difficult for us to help, so I'm closing this issue.
Please feel free to edit the issue description to include the requested information and reopen the issue and then we'll try to help.


Feat/allow more add styling

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

[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting)
[ ] Refactoring (no functional changes)
[ ] Documentation content changes

Other information
adds more vars for add button styling
Issue Number: N/A

Thanks for correcting and merging!
I have a couple of other things in mind I’d like to work on next week.
I think it would be nice to have optional display of plugin labels and a Vertical display of the plugin icon list.
Also I’ll think of a Vimeo/Yt  plugin
let me know.
You got a very cool lib there mate, good work!

optional display of plugin labels

Not against as long as the actions remain accessible

Vertical display of the plugin icon list

Not sure there is a need but if it fits yours, sure go on

Also I’ll think of a Vimeo/Yt plugin

I am not keen to add additional plugins to this repo because it means I would have to maintain these.
Developers using Stylo can develop and configure their own plugins.
If you develop some, not against listing these in a "Community Plugins" chapter of the README.
Thanks for the ideas and PRs 👍


Export and Import CSV delimit by semi-colon

Hi there,
When exporting the CSV from a decision table, this is what I see:

When attempting to import a CSV, delimited by comma, this is what I see:

I'm sure this is a design decision, because you allow commas in the cells' values. However, in Excel and Google Sheets, it's not possible to choose a semi-colon as a delimiter on export. Excel allows you to do it by going to regional language settings. It's too much to ask users to do this in my opinion, and it has the downside of being the default delimiter for every time a user saves a CSV.
Can I suggest allowing Tab-delimited txt files? These can be easily imported and exported.
Cheers. Great tool btw 🙂

Hi thank you for your feedback.
We are working on replacing CSV with Excel in PR #21

Fantastic, thanks.

Sounds perfect, thanks. Just checking, will this also allow importing of xls?

Hi @jackfrankland yes, you will be able to export decision table into xlsx, modify it and import it back into decision table.

Released with the latest versions of BRMS (1.12.0) and JDM Editor


Question / Unexpected behaviour

I am trying to get a flat gate-level verilog from a top verilog design ( from multiple files.)
i have a folder / folders with verilog files and i would like the synthesis pass will run on the entire design.
i am running:
read_verilog /home/ord/synth_tests/arb.v
hierarchy -check -libdir /home/ord/synth_tests/; proc; opt; techmap; opt; flatten;
write_verilog synth.v
But i still got instances inside the output file ( synth.v ) which were not flattened and synthed.
what am i missing ?
module arb.v(...)
...
mod_a inst_a(..); // i expect this will be synth and written in the same file.
endmodule
module mod_a (); ** not expecting to see hierarchical output after flatten**
..
endmodule
Thanks!

Please post an mcve.

i can't reproduce on a small example - can i send you an email with my source files ?

Sorry my bad - i found the issue.


Remove goreleaser

Stop using goreleaser, improve our release notes, speed up releases.

Fixes #1013
Closes #816
Partially addresses #731
Related to #967

This should also save 3 hours of waiting per release of AWS.
Build cross-platform provider binaries, in parallel, straight after prerequisites, then only calculate hashes & push to S3 and GitHub releases directly during the publish job.

Specifics:

Use GitHub's own release notes generator which allows us to suppliment with our own context - specifically the schema change since the previous latest release.
Capture and restore the schema-embed.json to avoid having to run tfgen on every provider build.
Build the multi-platform build straight into the makefile for easier local testing.
Remove clearing disk space during publish as we're not doing any build work there any more.

This does not include reworking tests to use the the provider binary being released - but this can be added later fairly easily.
Prerelease run: https://github.com/pulumi/pulumi-xyz/actions/runs/9749848070
Stable release run: https://github.com/pulumi/pulumi-xyz/actions/runs/9750181828
Example of published release: https://github.com/pulumi/pulumi-xyz/releases/tag/v1.0.3

This looks good to me. I'd love to see this used end to end on a provider before we roll it out to the entire fleet.

pulumi-kafka main run: https://github.com/pulumi/pulumi-kafka/actions/runs/9757616987
pulumi-azure main run: https://github.com/pulumi/pulumi-azure/actions/runs/9758241530