Add context to every method in the PeerStore interface

I think every XStore method should have a context. We might not care all the time but someone implementing the Store interface themselves might and not accepting a context might create inconsistent code on their side (running into this in renterd) In the syncer I could use the new shutdownCtx, applied a generous 5' timeout here and there which I think is fine but open to suggestions.

This feels unnecessary to me. Contexts are for operations that might take a while; PeerStore operations should never take more than a few milliseconds. Adding a context parameter fundamentally changes the semantics of an interface from "this will block until it completes" to "this may return early, in which case you can either give up or try again." Which means every user of that interface now has to distinguish between those error types and decide what to do.  Maybe someone will implement a PeerStore that uploads a new 30-of-50 sector to Sia for each update, and 5 seconds will be insufficient. :P The point is that we've taken a nice, clean interface and added a bunch of ambiguity to it, not to mention the visual pollution of smearing context.Context throughout all the affected code.
Am I correct in assuming that this is motivated by renterd's PeerStore implementation being backed by a database, which takes contexts on its methods? If so, I would suggest using context.Background() inside the PeerStore methods. Even a 5 second timeout would be weird, because (as mentioned above) that would mean the syncer now has to decide whether to retry or abandon each PeerStore operation.
In general, my stances is that contexts should only be used (for cancellation, at least) when there is a) an observed performance or UX issue arising from an uncanceled process (e.g. the user hits Ctrl-C and the program doesn't exit within 3 seconds) and b) there is no other means of cancellation (e.g. calling Close on a net.Conn). In this case, I can imagine a PeerStore operation taking a while on a database because the database is busy serving some other query. So cancel that query, the slow one! Once it's canceled, the PeerStore operation will finish quickly, and shutdown (or w/e) can continue.

This feels unnecessary to me. Contexts are for operations that might take a while; PeerStore operations should never take more than a few milliseconds. Adding a context parameter fundamentally changes the semantics of an interface from "this will block until it completes" to "this may return early, in which case you can either give up or try again." Which means every user of that interface now has to distinguish between those error types and decide what to do.  Maybe someone will implement a PeerStore that uploads a new 30-of-50 sector to Sia for each update, and 5 seconds will be insufficient. :P The point is that we've taken a nice, clean interface and added a bunch of ambiguity to it, not to mention the visual pollution of smearing context.Context throughout all the affected code.
Am I correct in assuming that this is motivated by renterd's PeerStore implementation being backed by a database, which takes contexts on its methods? If so, I would suggest using context.Background() inside the PeerStore methods. Even a 5 second timeout would be weird, because (as mentioned above) that would mean the syncer now has to decide whether to retry or abandon each PeerStore operation.
In general, my stance is that contexts should only be used (for cancellation, at least) when two conditions are satisfied:

There is an observed performance or UX issue arising from an uncanceled process (e.g. the user hits Ctrl-C and the program doesn't exit within 3 seconds), and
There is no other means of cancellation (e.g. calling Close on a net.Conn).

In this case, I can imagine a PeerStore operation taking a while on a database because the database is busy serving some other query. So cancel that query, the slow one! Once it's canceled, the PeerStore operation will finish quickly, and shutdown (or w/e) can continue.

I was more or less expecting either a swift merge or pushback on this PR... You are indeed correct this PR was motivated by a change I want to make on renterd side where I effectively start respecting the context we pass to our SQL store. You are also right in saying I can easily use context.Background() but generally using that is a bit of a code smell for me at least. Definitely appropriate in some cases though, maybe this is one.
I appreciated your comment on how adding a context changes the semantics of an interface, I never really looked at it the way you explained it to me just now. I definitely do think about an interface when I have to design one, but adding a context never really made me think about the ambiguity or extra question you make the caller answer. That's definitely fair and a good point. (You can also see it proving my point by the way, I might be implementing the PeerStore so it should probably be my choice whether to bother the eventual caller with those choices yes or no)
I'm still somewhat torn between accepting your point of view and somewhat hardheadedly just keep believing what I always thought was a decent approach, which is to always pass a context to interfaces that might be connected to over a network or a "distance" ... databases obviously being one of those. I might be implementing this peer store on a mongo cluster and be stuck waiting on a 30s connection timeout on shutdown, or anything really, a database lock, a retry mechanism, network failure... essentially anything that made you write "should not take more than a few milliseconds" instead of "do not take more than a few milliseconds"
Like I said though, don't mind closing it and using context.Background. The lack of contexts really only bothers me in the cases you would add one.

I don't particularly like the pollution context.Context requires, but I'm usually in favor of adding context.Context anywhere that has the potential to cross a network boundary. The interface consumer should be aware that a call may take some time and be able to decide what is acceptable and whether to retry or fail. Having no way to exit gracefully from a (potentially) indefinite block is also bad interface design.

Any interface can potentially block indefinitely. How do we decide which ones need cancellation?
The bitter truth is that, in API design, there are no universally-applicable rules; when the rubber hits the road, you just have to go with your gut. :^)
In any case, it seems that Nate, Chris, and I all agree on at least one thing: we do not have enough information yet to determine the benefit of a change like this. That is, we have not yet observed any problems in the Syncer arising from a slow PeerStore. I suggest that we punt on this until such a problem does arise.

In the context of this PR, we may need to refine where the Syncer benefits from context cancellation rather than punting it all the way up the stack. For instance, I'm not sure handleRPC benefits from a context param.

I was on the fence about that too, but the following NOTE made me feel better about it. (Especially since we have also a MaxInflightRPCs that defaults to 3 I figured putting a upper limit on that is not the worst thing.):
// NOTE: we do not set any deadlines on the stream. If a peer is
// slow, fine; we don't need to worry about resource exhaustion
// unless we have tons of peers.

In any case, it seems that Nate, Chris, and I all agree on at least one thing:

I never disagreed on that either, for me this discussion is completely unrelated to our implementation of the PeerStore and potential problems that may or may not arise in our implementation. It's an interface design question so its' a question of whether we want to offer the flexibility to others, at the cost of (in our case probably needlessly) polluting the interface.
I don't mind closing this out though. I don't even really need it, aside from the fact that I now won't be able to cleanly pass my contexts all the way down into the store. I understand that merging it without seeing a clear upside is a little weird but to me the interface is cleaner. Regardless of whether it's of use to us.

Ok, I yield


Add option to enforce pasting plain text

Please select one of the following

[ ] I am removing an existing difference between facebook/react-native and microsoft/react-native-macos :thumbsup:
[ ] I am cherry-picking a change from Facebook's react-native into microsoft/react-native-macos :thumbsup:
[x] I am making a fix / change for the macOS implementation of react-native
[ ] I am making a change required for Microsoft usage of react-native

Summary
There are use cases in which we want to ignore the base class [NSTextView readablePasteboardTypes] return values, which mostly, include RTF and formatted URL types.
We want to ignore them in favor of plain text (NSPasteboardTypeString).
This change allows to opt into a custom list of supported paste types.
This is a follow-up to https://github.com/microsoft/react-native-macos/pull/1350
Changelog
[macOS] [Added] - Add option to enforce pasting plain text
Test Plan
No rich text formatting anymore
https://user-images.githubusercontent.com/484044/189237527-a2ef333b-ba3e-41ea-aae7-111d897d4626.mov
Test case from https://github.com/microsoft/react-native-macos/pull/1350 still work
https://user-images.githubusercontent.com/484044/189237558-56cc6fb3-15be-4c12-802d-a43f9def3562.mov

Updated test case based on recent comments
https://user-images.githubusercontent.com/484044/191431137-ddf8ab3e-195d-45ca-bdd8-5dfe475b5a4f.mov

Nit: Would reverse the order of the TextInputs in the example so that the one that can take images is closer to the image preview. Otherwise should be good after merge conflicts are resolved :)

Sure. Let's do this


Cannot read property 'singleType' of undefined

I am not sure to post it here or autoform repository. I guess changes in array type in schema is causing this.
I tried with both below;
Contacts:{type: Array, optional: true },
"Contacts.$":{ type: ClientContactsSchema},
and
Contacts: [ClientContactsSchema],
Both causing same error below;
Exception in template helper: TypeError: Cannot read property 'singleType' of undefined
at SimpleSchema.getQuickTypeForKey (http://localhost:12120/packages/modules.js?hash=029ddd4c31df91758a92b3482a840bbb67d03387:1262:39)
at Object.getInputType (http://localhost:12120/packages/aldeed_autoform.js?hash=dbad8c30633cbff5fd47fb234cc9fb7f94ec0fab:2689:31)
at Object.getTemplateName (http://localhost:12120/packages/aldeed_autoform.js?hash=dbad8c30633cbff5fd47fb234cc9fb7f94ec0fab:6716:32)
at http://localhost:12120/packages/blaze.js?hash=f33d3dfed63a491d24e3aa07ad66c24b5fe8c761:3051:16
at http://localhost:12120/packages/blaze.js?hash=f33d3dfed63a491d24e3aa07ad66c24b5fe8c761:1715:16
at http://localhost:12120/packages/blaze.js?hash=f33d3dfed63a491d24e3aa07ad66c24b5fe8c761:3103:66
at Function.Template._withTemplateInstanceFunc (http://localhost:12120/packages/blaze.js?hash=f33d3dfed63a491d24e3aa07ad66c24b5fe8c761:3744:12)
at http://localhost:12120/packages/blaze.js?hash=f33d3dfed63a491d24e3aa07ad66c24b5fe8c761:3102:27
at Object.Spacebars.call (http://localhost:12120/packages/spacebars.js?hash=ebf9381e7fc625d41acb0df14995b7614360858a:172:18)
at http://localhost:12120/packages/aldeed_autoform.js?hash=dbad8c30633cbff5fd47fb234cc9fb7f94ec0fab:6689:27

I added tests for this and cannot reproduce. Might have been fixed already or you might have other older versions of SimpleSchema lurking in your app.

hi aldeed,
Did you try it with autoform ? I still have same problem. If I use it as below it works.
Contacts:{ type: Array },
"Contacts.$":{ type: Object },
"Contacts.$.N": { type: String }

Hi @barisro , did you resolve this issue?
I've the same and need to find proper solution.

No, I created separate schemas for object fields I need to validate as work around.

Sad.

If it's an autoform issue, find or submit an issue over in that repo, including a link to a simple app repo with an autoform that reproduces the issue. Then post a link to the autoform issue here. Thanks.

@aldeed
Did what you've said.
please check this

Fix: https://github.com/aldeed/meteor-autoform/issues/1642#issuecomment-419830807

has anyone managed to solve?


Github Dataset not Downloaded

Link
https://huggingface.co/datasets/mweiss/fashion_mnist_corrupted
Description
Error code:   StreamingRowsError
Exception:    FileNotFoundError
Message:      [Errno 2] No such file or directory: 'https://github.com/testingautomated-usi/fashion-mnist-c/raw/v1.0.0/generated/npy/fmnist-c-train.npy'
Traceback:    Traceback (most recent call last):
                File "/src/services/worker/src/worker/job_runners/first_rows.py", line 570, in compute_first_rows_response
                  rows = get_rows(
                File "/src/services/worker/src/worker/job_runners/first_rows.py", line 161, in decorator
                  return func(*args, **kwargs)
                File "/src/services/worker/src/worker/job_runners/first_rows.py", line 217, in get_rows
                  rows_plus_one = list(itertools.islice(ds, rows_max_number + 1))
                File "/src/services/worker/.venv/lib/python3.9/site-packages/datasets/iterable_dataset.py", line 937, in __iter__
                  for key, example in ex_iterable:
                File "/src/services/worker/.venv/lib/python3.9/site-packages/datasets/iterable_dataset.py", line 113, in __iter__
                  yield from self.generate_examples_fn(**self.kwargs)
                File "/tmp/modules-cache/datasets_modules/datasets/mweiss--fashion_mnist_corrupted/eb400b17b13bc9eff3632e537102d6486ced9893ea148a5b41c8eca38b36f7ce/fashion_mnist_corrupted.py", line 120, in _generate_examples
                  images = np.load(filepath[0])
                File "/src/services/worker/.venv/lib/python3.9/site-packages/numpy/lib/npyio.py", line 407, in load
                  fid = stack.enter_context(open(os_fspath(file), "rb"))
              FileNotFoundError: [Errno 2] No such file or directory: 'https://github.com/testingautomated-usi/fashion-mnist-c/raw/v1.0.0/generated/npy/fmnist-c-train.npy'

I am not sure about the root cause of this error. After all, the url https://github.com/testingautomated-usi/fashion-mnist-c/raw/v1.0.0/generated/npy/fmnist-c-train.npy is correct.
Does huggingface-server somehow block github urls? Or are you aware that huggingface requests get blocked by github?

Have you tried using https://raw.githubusercontent.com/testingautomated-usi/fashion-mnist-c/v1.0.0/generated/npy/fmnist-c-train.npy instead?

Thanks for the proposition. I have updated the script - so far, the preview has not been re-created (there's still the old error message). I will come back to this issue once anything has changed...

Could you have a look at this dataset too, @albertvillanova?

Thanks for the proposition. I have updated the script - so far, the preview has not been re-created (there's still the old error message). I will come back to this issue once anything has changed...

The error has now changed, but there's still an error. I have not changed anything other than the DL path...

Sure, I'm having a look at it...

I'm transferring this issue to the Hub: https://huggingface.co/datasets/mweiss/fashion_mnist_corrupted/discussions/2
Let's continue the discussion there.


Correct German translation of level "flex-wrap 1"

The current German translation for nowrap ("Jedes Element in einer eigenen Zeile platzieren") would translate into English as "Place every item in its own row", which is not what nowrap does.

Hey @federvieh, thanks for the fix!


Update project & add restrictions for branch protection

Resolves #17

Very nice!
But why is the github action hardcoded?
I want to set up branch protection when adding a label on a PR  @pavlospt

What do you mean hardcoded?

The GitHub action is only triggered on create and delete
https://github.com/infamous-riddles/branch-guardian/blob/master/src/action_processor.ts#L45

Can it be an ENV var?
ACTION: create/delete

This is what it was designed for. If you need another feature, feel free to submit a PR 😄


Fix Sphinx error in ONNX file

Description
Fixes https://github.com/apache/incubator-mxnet/issues/12947
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[ ] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

Fix indentation

Comments

@frankfliu @aaronmarkham @nswamy for review

Can you paste the preview link once the build passes?

@nswamy http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-13251/1/api/python/contrib/onnx.html?#mxnet.contrib.onnx.onnx2mx.import_model.get_model_metadata

@mxnet-label-bot add [pr-awaiting-merge]


cgo: exec C:\Program: exec: "C:\Program": file does not exist

building cgo/tdm-gcc windows-x64 no longer build:
go build -o main.exe main.go
code:
package main
//#cgo LDFLAGS: -L${SRCDIR}/target/debug
//#cgo LDFLAGS: -lgo_rs
//void rs_test();
import "C"
func main() {
C.rs_test()
}
gives an error:
command-line-arguments
cgo: exec C:\Program: exec: "C:\Program": file does not exist
go version: 1.15.7

duplicate of #41400

duplicate of #41400

fixed it myself after changing path, thanks.

fixed it myself after changing path, thanks.


AzureAD the request does not match the reply urls

I have stumbled into a problem when authenticating against AzureAD.  I have checked my .env file and confirmed the following are correct;

APP_ID
APP_SECRET
TENANT
APP_URL

When clicking LOGIN WITH MICROSOFT AZURE it asks which user I want to authenticate as, once logged in I get the following;

AADSTS50011: The reply url specified in the request does not match the reply urls configured for the application: 'MY_APP_ID'.

When I go into AzureAD and check my Reply URLs this matches my APP_URL

Further troubleshooting and I have discovered the solution please read below.

Login to Azure and head to Azure Active Directory
Click on App registrations
View all applications or search your application that you created for BookStack
Click Settings
Click Reply URLs
You will have an entry for URL to your BookStack eg https://bookstack.contoso.com
Change this entry to contain a wildcard https://bookstack.contoso.com/*
Save

I also noticed I would get an error when logging in, I have two accounts an admin and user Azure account and as I was logged into my admin account, it wouldn't log into BookStack as my profile was linked to my user account.

I have reopened this, could the devs please adjust the manuals then close this issue?
Thanks

I believe this was completed in the following commit: https://github.com/BookStackApp/website/commit/a98627d06ef0c2938a087e20d5462345c76be2dd#diff-a54035c86e10b14b97f9258a937439a6


test: fix typo in test which prevented assertions from working

A quick fix which adds parentheses around the function calls to actually assert some behavior in the test. I didn't see a Contributing guideline, so please let me know if you need any more information. Thanks!

thank you @stezu we have fixed this (finally!)


Is kiln supportive fire working as intended?

Kiln's speed can be boosted a lot by surrounding more stoked fire to the main fire, however after inspecting source code I found stoked fire on x/z axis is not recognized:
1. x0x  2. xxx
   0x0     xxx
   x0x     xxx

Assume x represents a stoked fire

Layout 1 and Layout 2 has same speed. I don't think this is good. This line used a boolean or instead of and operator. Is this intentional?

this looks fine to me. it will only iterate over coordinate tuples where atleast one component is != 0. So (1,0) (-1,1) (0,-1) etc. (with boolean and, it would check only diagonals. Because now, both components must not be 0, which is not true for (0,0) and any cardinal direction) Can you check if this actually has an effect ingame?
(that .damageDropped() > 4 is ugly tho)

I'm asking if you devs intend to count only fire at diagonal positions is count as valid secondary fire, while ignoring the adjacent ones. This looks werid on the first glance, because theoratically those adjacent ones is even closer to the main fire, and if diagonal ones can support the main fire, why these closer ones can't?

no as in, it should count cardinally adjacent fires as well as diagonally adjacent ones.

Sorry, it seems that my jar doesn't match your github source. It must have been either hacked or of wrong version.


Question: Unable to install archivebox in a Digital Ocean Ubuntu machine

I've installed all the dependencies, but when I run
curl https://raw.githubusercontent.com/pirate/ArchiveBox/master/bin/setup.sh | sh
I get this message saying archivebox not found. What do I do?
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0[i] ArchiveBox Setup Script 📦

    This is a helper script which installs the ArchiveBox dependencies on your system using homebrew/aptitude.
    You may be prompted for a password in order to install the following:

        - git
        - python3, python3-pip, python3-distutils
        - curl
        - wget
        - youtube-dl
        - chromium-browser  (skip this if Chrome/Chromium is already installed)

    If you'd rather install these manually, you can find documentation here:
        https://github.com/ArchiveBox/ArchiveBox/wiki/Install

Press enter to continue with the automatic install, or Ctrl+C to cancel...
sh: 22: read: arg count

100  4244  100  4244    0     0  25721      0 --:--:-- --:--:-- --:--:-- 25721
[+] Updating apt repos...
Reading package lists...
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)
[+] Installing python3, wget, curl...
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
/usr/bin/chromium-browser
[i] chromium-browser already installed, using existing installation.

Chromium 87.0.4280.66 Built on Ubuntu , running on Ubuntu 18.04
Collecting archivebox
  Could not find a version that satisfies the requirement archivebox (from versions: )
No matching distribution found for archivebox

[*] Checking installed versions:
---------------------------------------------------
/usr/bin/python3
Python 3.6.9

/usr/bin/git
git version 2.17.1

/usr/bin/wget
GNU Wget 1.19.4 built on linux-gnu.

/usr/bin/curl
curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3

/usr/bin/youtube-dl
2018.03.14
---------------------------------------------------
sh: 107: archivebox: not found
---------------------------------------------------
[X] Failed to install some dependencies! ‼
    - Try the Manual Setup instructions in the README.md
    - Try the Troubleshooting: Dependencies instructions in the README.md
    - Open an issue on github to get help: https://github.com/ArchiveBox/ArchiveBox/issues

Hello! I am just a fellow user but I thought I'd try to support you. It seems that the default Ubuntu that Digital Ocean points you to is 18.04. This prevents archivebox from installing via pip, because archivebox requires Python >=3.7. However, you could install the package if you instead booted a droplet with Ubuntu 20.04, a newer version that comes with a newer Python.
Well, you could theoretically install it if you had all of the apt based dependencies installed, but in fact you couldn't if you are relying on the install script to install the apt dependencies. There is a small bug in that part of the install script. I may look at opening a pull request to resolve this.

Hello! I am just a fellow user but I thought I'd try to support you. It seems that the default Ubuntu that Digital Ocean points you to is 18.04. This prevents archivebox from installing via pip, because archivebox requires Python >=3.7. However, you could install the package if you instead booted a droplet with Ubuntu 20.04, a newer version that comes with a newer Python.
Well, you could theoretically install it if you had all of the apt based dependencies installed, but in fact you couldn't if you are relying on the install script to install the apt dependencies. There is a small bug in that part of the install script. I may look at opening a pull request to resolve this.

Whoops ignore the close and reopen, try the install script on dev:
curl https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/dev/bin/setup.sh | sh

Whoops ignore the close and reopen, try the install script on dev:
curl https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/dev/bin/setup.sh | sh

yeah the apt install -y is definitely what it took for me to get it working, and also had to use a different chromium package

yeah the apt install -y is definitely what it took for me to get it working, and also had to use a different chromium package

Can confirm, it installs on DO with the script on dev

dev is released as v0.5.4, should be fixed as soon as the apt build goes live.


Minor test suite improvements

Added quickcheck tests for crypto/verify.rs

qc_verify_16
qc_verify_32
qc_verify_64

Added 3 test vectors from other IETF documents for crypto/aead/chacha20poly1305_ietf.rs

test_vector_2
test_vector_3
test_vector_4

All tests passed.
Only test code is touched, except the extern crate part in lib.rs for using quickcheck during tests.

Also I have no idea how to update brach properly - I recall a conversation some time ago that clicking "Update branch" button will mess up the commits(?).
Any advice on that would be great.

@darrenldl preferably rebase over master.

Looks good. What I do is set my local master to track upstream/master via the git branch -u.  To rebase a feature branch checkout and pull master again then run git rebase master with the feature branch checked out.
Also when pushing you don’t want to push to your master. That’s confusing if you want to make more than one PR to a repo IMO and that’s why feature branches are useful. Use git push -f origin HEAD.
Hope you find that useful.

On Jun 29, 2018, at 6:27 PM, Darren<EMAIL_ADDRESS>wrote:
@Dylan-DPC I've rebased following this guide : https://gist.github.com/ravibhure/a7e0918ff4937c9ea1c456698dcd58aa
It seems to look alright - I hope I didn't mess anything up.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@nvesely Thanks!
I had no idea you can do more than one PR at a time with feature branches, that will definitely speed up writing of the test suite.
I'll try that next time, and hope I get it right.

@darrenldl you can also do
git fetch origin
git rebase origin/master

(assuming origin points to this repo)

What's the gain of using quickcheck here?

@Dylan-DPC I just tend to use it for "educated" random testing, cause it tends to find the breaking set of values very quickly, then shrink them effectively too. I'm using it as a poor man's fuzzing in this context basically.
For verify_16, verify_32, and verify_64 specifically, it is basically to avoid having to try all combinations of differing configuration between two slices, while having a somewhat smart algorithm that can try to capture some corner cases. Though the verify functions are probably too simple to have any visible bugs, so this is largely just to establish a use case/template for later uses.
proptest would have worked better actually, but didn't think of it at the time as I'm more used to quickcheck.


Fix focusResult of Search Editor

The customized value of focusResult was not used if the search editor was opened from the search view. If focusResult is set to false let's ensure that the search editor input is focused instead.
Fixed my keybinding:
	{
		"key": "ctrl+shift+f",
		"command": "search.action.openEditor",
		"args": {
			"focusResults": false,
			"resetCursor": false,
			"triggerSearch": true,
		      },
	},

"key": "ctrl+shift+f",
"command": "search.action.openEditor",
"args": {
"focusResults": false,
"resetCursor": false,
"triggerSearch": true,
},
},
Review the following

Are you talking about opening the search editor from where it says "open in editor" here?

The keybindings are solely for running that command from the keyboard shortcut. In your case, that's ctrl+shift+f. So your keybinding is saying "when I use ctrl+shift+f, run search.action.openEditor with the following arguments". This doesn't influence when you open the search editor from other places, like from the search view.

Sorry, I mixed up use cases. Here is a little summary::

First use case: My keybinding works fine itself. I wrongly thought it didn't work because of the Peek Definition window. If the Peek Definition window was open inside the Search Editor results, then at the widget closure, after the next search task has been completed, the focus was moved from the Search Editor input to its results, like this:

Second use case: If the Search Editor has been opened from the search view ("Open in editor" button) it focus the Search Editor results, like this:

Both use cases could be resolved by adding the focusResults option to Search Editor options, so we could end up with a consistent behavior no matter where the triggerSearch has been fired from.

I don't think that this would be the proper way to control where the focus should go, since this only relates to using the keybinding (which it doesn't trigger when you do things like "open in editor"). This would be better suited to a setting.

But the code which we had has been already moved to PD .
We cant make changes until QA is done
Regards .
On Thu, 4 Apr 2024 at 2:39 AM, Andrea Mah @.***> wrote:

I don't think that this would be the proper way to control where the focus
should go, since this only relates to using the keybinding (which it
doesn't trigger when you do things like "open in editor"). This would be
better suited to a setting.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/pull/205914#issuecomment-2035595130,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZMD43EXYNONZZHDOZ3YMRTY3RVYRAVCNFSM6AAAAABDTZRLOKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZVGU4TKMJTGA
.
You are receiving this because you commented.Message ID:
@.***>

I don't think that this would be the proper way to control where the focus should go, since this only relates to using the keybinding (which it doesn't trigger when you do things like "open in editor"). This would be better suited to a setting.

I would like to cover 3 use cases that I know so far that triggers the triggerSearch() function:

a key binding,
"open in editor",
changing the input of the search editor.

I refactored again to make the search.searchEditor.focusResults setting an optional one that allows to set the preferred default focusResults value (so it covers each of my cases 1, 2, 3).
I changed back the declaration of
async triggerSearch(_options?: { resetCursor?: boolean; delay?: number; focusResults?: boolean })` to the original one to make use of the `args.focusResults

just in case someone still would like to have multiple keybindings with different behavior than the default one. (so it covers my case 1).

But the code which we had has been already moved to PD . We cant make changes until QA is done Regards .

Sorry, I am not familiar with the vscode contribution workflow yet. What does PD and QA mean? Do I have to do something or it just means that the repo is in freezed state before next release?

But the code which we had has been already moved to PD . We cant make changes until QA is done Regards .

Sorry, I am not familiar with the vscode contribution workflow yet. What does PD and QA mean? Do I have to do something or it just means that the repo is in freezed state before next release?

I also do not know what the original comment is discussing. There is a period right before release where we perform QA and cannot merge PRs, but we can merge any other time to get changes into the next stable release.

Sorry, I mixed up use cases. Here is a little summary::

First use case: My keybinding works fine itself. I wrongly thought it didn't work because of the Peek Definition window. If the Peek Definition window was open inside the Search Editor results, then at the widget closure, after the next search task has been completed, the focus was moved from the Search Editor input to its results, like this:

Second use case: If the Search Editor has been opened from the search view ("Open in editor" button) it focus the Search Editor results, like this:

Both use cases could be resolved by adding the focusResults option to Search Editor options, so we could end up with a consistent behavior no matter where the triggerSearch has been fired from.

@mkasenberg would you mind creating two different issues for these and linking them to this PR? Just for verification purposes, so that we have an issue for each thing that gets fixed :)

For the first problem that you described, I've created https://github.com/microsoft/vscode/issues/214285, and am waiting on a fix (https://github.com/microsoft/vscode/pull/214289) so that you don't need to add extra code to fix this. If you create an issue, you can probably just create one for the second issue.


Remove an unused import

LGTM
Could you try to find another unused import If available?

@itholic
Ok. I'll look for it, and add a commit if found.

Codecov Report

Merging #1452 into master will decrease coverage by 2.16%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #1452      +/-   ##
==========================================
- Coverage   93.98%   91.81%   -2.17%
==========================================
  Files          36       36
  Lines        8345     8345
==========================================
- Hits         7843     7662     -181
- Misses        502      683     +181

Impacted Files
Coverage Δ

databricks/koalas/indexing.py
92.13% <100.00%> (ø)

databricks/koalas/usage_logging/__init__.py
24.32% <0.00%> (-70.28%)
:arrow_down:

databricks/koalas/usage_logging/usage_logger.py
50.00% <0.00%> (-50.00%)
:arrow_down:

databricks/koalas/__init__.py
73.07% <0.00%> (-19.24%)
:arrow_down:

databricks/conftest.py
88.67% <0.00%> (-7.55%)
:arrow_down:

databricks/koalas/frame.py
92.51% <0.00%> (-3.02%)
:arrow_down:

databricks/koalas/utils.py
93.90% <0.00%> (-2.54%)
:arrow_down:

databricks/koalas/namespace.py
84.40% <0.00%> (-1.62%)
:arrow_down:

databricks/koalas/plot.py
93.33% <0.00%> (-0.96%)
:arrow_down:

databricks/koalas/series.py
96.36% <0.00%> (ø)

Continue to review full report at Codecov.

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

Could you rebase this? I think the build issue was resolved


Minor improvements to Context APIs

Description
Implementation changes to Context APIs to reduce the number of Context nodes that are checked.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.

Don't scare me with "minor improvements to Context APIs"! :-) This is minor impl improvements, which doesn't scare me :-)

I was originally planning to make API changes but they didn't make sense and I never updated the PR name


[iOS] Adjust bools to be sent as true/false

When using the query params dictionary, boolean values where previous
sent as 1 or 0, now they will be sent as true or false in the query
string.
Updated tests on SyncTable to pass on both 32 and 64 bit systems, since the old method was making some incorrect assumptions on ordering of querystring params.

Will use simpler fix for beta to ship quickly, look at how to handle bools in params later on


feat: security post release blogpost

Pos release blogpost
cc @RafaelGSS
Fixes: https://github.com/nodejs-private/security-release/issues/27

once this lands: https://github.com/nodejs/node-core-utils/pull/788 we can automatically pull in dependencies and openssl updates

blocked by: https://github.com/nodejs/node-core-utils/pull/788
I will have to update the workflow once this lands

This is a minor inconsistency note, but we used to add "(Update )" to the blog posts as they were updated,
e.g.

https://nodejs.org/en/blog/vulnerability/february-2024-security-releases
https://nodejs.org/en/blog/vulnerability/october-2023-security-releases

but didn't in the two most recent releases:

https://nodejs.org/en/blog/vulnerability/april-2024-security-releases
https://nodejs.org/en/blog/vulnerability/april-2024-security-releases-2

Update

I thought that's for when the security release is delayed

Check lint please

lint seems to pass locally what command are you running?

Update

I thought that's for when the security release is delayed

I thought we also did that to denote the update from the pre-announcement.

Check lint please

lint seems to pass locally what command are you running?

IIRC we are using * instead of - for listing vulnerabilities (or the inverse:sweat_smile:) and the linter of nodejs.org complains. Try to create a real example with vulnerabilities and run lint

@marco-ippolito do you need some help here?

@marco-ippolito do you need some help here?

Feel free to take over

Also thir PR should fix https://github.com/nodejs-private/security-release/issues/27


REST API cannot reliably distinguish strings from record ids

The REST API represents record ids as strings, like "#12:10". This means that I cannot take an arbitrary record and determine which fields are strings and which are links.
For example, let's assume a user enters the string "#12:10" in a field called name and the record is saved. If I later load that record, and if it's schemaless or if I don't have access to the schema, I cannot tell whether that field is a string or a link to another record. If I do something like looking for strings which match a record ID pattern, I can end up in a situation where:

Certain magic strings can break my application, e.g. by returning an object where a string is expected.
Malicious users can manipulate my application into revealing records they should not have access to.

After some discussion we fixed this in oriento by using specialist record id objects.
Fixing this in the current rest API implementation would be a very significant breaking change. Perhaps the solution would be to adopt a standardized JSON format, such as JSON-LD which can accurately express linked document graphs. This new API could then be accessed by content negotiation, asking for the application/ld+json content type.

Fixed in #3313


Hamman Ibrahim

sorry about the back and forth, your code just encountered a conflict bcs a PR was merged few secs ago
kindly update your code one more time and you're good to go

it's cool now

done

thanks


Office Professional 2021 Volume License

Tried the Office 2021 Build and it would not Activate Office 2021
Im not a coder and not sure if this is correct but I can now Activate Office 2021 with these changes.
File: KmsDataBase.xml
Line 533: Change

Line 991: Change

Hope that helps someone.
Larry

Line553:<CsvlkItem DisplayName="Office 2021" VlmcsdIndex="6" GroupId="206" MinKeyId="571000000" MaxKeyId="590999999" IniFileName="Office2021" EPid="05426-00206-586-025264-03-1033-9200.0000-2602021" Id="47f3b983-7c53-4d45-abc6-bcd91e2dd90a" InvalidWinBuild="[0,1]">
Line 991: <KmsItem DisplayName="Office 2021" Id="86d50b16-4808-41af-b83b-b338274318b2" CanMapToDefaultCsvlk="false" DefaultKmsProtocol="6.0" NCountPolicy="5">

I was trying to tell you the branch code didn't work... check Line: 533 Code....


AmiGO source filtering impossible

This is probably really a jenkins QC check issue so it could be 'wrong tracker'
Shouldn't all the sources match the database prefix in some file somewhere?
I was trying to filter annotations on source BUT
WormBase  and WB
FlyBase and FLYBASE
UniProt and UniProtKB
AspGD and ASPGD
GO_Central GO_CENTRAL GOC

No problem @ValWood --likely wrong location, I'd guess geneontology/go-site would be better to start.
It sounds like a data problem. AFAIK, there is no additional data massaging (in this case, collapsing) at this end before loading. @hdietze , any thought here?
Whoever takes this, please leave a reference to the new location and close this out.

Still looking for this data issue to get moved. any thought from @hdietze or @cmungall ?

Ah that's where this ticket is

Assigned to @hdietze to provide recommendations. As we migrate the perl gaf checks to jenkins, will this reporting become more transparent?

To add to this list:
ENSEMBL <=> Ensembl
REFGENOME <=> RefGenome
It looks like somebody is filtering though an old db system and then we're getting them back.

@cmungall no more Heiko, so we'll need a new action for the pipeline.

Either way, this is not a "hotfix" item (blocking all other work); moving to "wishlist".

Or you can move to go-site
On 15 Aug 2016, at 15:33, kltm wrote:

Either way, this is not a "hotfix" item (blocking all other work);
moving to "wishlist".
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/geneontology/amigo/issues/298#issuecomment-239949610

Yes, cannot possibly be fixed within the AmiGO codebase.


[AMBARI-23308] Ticket cache file is delete before balancer access it during rebalance HDFS operation (dsen)

What changes were proposed in this pull request?
Removed delete file operation
How was this patch tested?
manually + UTs

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1295/
Test FAILed.
Test FAILured.

The failed test is not related to the patch
1809562 [ERROR] Errors:
1809562 [ERROR]   TestHeartbeatHandler.testComponents:1351 » NullPointer


[Feature proposal] Make bots announce their startup/shutdown.

Currently, when you deploy a bot, it silently listens on the server for incoming messages. You are not aware of the bot's activity unless  the bot's owner has told you.
The idea here is to announce the bots activity, e.g. startup and shutdown.
This can be implemented in various way and flavors, details should be discussed before making progress on this.
Have the previous idea with an additional flag --announce
Display active bots in the user sidebar.

@zulipbot claim

@jirabot claim

Since more discussion is needed before merging, but I'm currently going to run out of time on the Google Code-in task, Eeshan Garg has instructed me to claim this and "abandon" the task on the GCI interface. That means that this task may appear as "available."
To any future students sent here, I am still actively working on this (until future notice). I am coming back to this task after more discussion, so probably don't begin work on it.

@zulipbot claim


Support DistilBERT-Backed Text Encoder

Summary:
Add DistilBERT-backed encoder as the text encoder for MUGEN video-text retrieval.

mugen/retrieval/video_clip.py: TextEncoder
mugen/test/retrieval/test_video_clip.py: TestTextEncoder
mugen/requirements.txt: add huggingface dependency

Test plan:
Run python -m pytest examples/mugen/test/retrieval/test_video_clip.py::TestTextEncoder -rP

Codecov Report

Merging #112 (e301a5f) into main (2dc15ae) will increase coverage by 0.04%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #112      +/-   ##
==========================================
+ Coverage   88.62%   88.67%   +0.04%
==========================================
  Files          40       41       +1
  Lines        2084     2093       +9
==========================================
+ Hits         1847     1856       +9
  Misses        237      237

Impacted Files
Coverage Δ

torchmultimodal/transforms/bert_text_transform.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


OSError: ./ckpts/segtrack-fixed-new.pth is not a checkpoint file

I followed your instructions to download the initial model weights and put it under ckpts folder. And I only set the configuration file : configs/segtrack-frcnn_r50_fpn_12e_bdd10k_fixed_pcan.py. But when I run train.py, I got the following error:
Traceback (most recent call last):
File "/home/dlz/PCAN/tools/train.py", line 175, in
main()
File "/home/dlz/PCAN/tools/train.py", line 171, in main
meta=meta)
File "/home/dlz/PCAN/pcan/apis/train.py", line 122, in train_model
runner.load_checkpoint(cfg.load_from)
File "/home/dlz/anaconda3/envs/pcan/lib/python3.7/site-packages/mmcv/runner/base_runner.py", line 313, in load_checkpoint
self.logger)
File "/home/dlz/anaconda3/envs/pcan/lib/python3.7/site-packages/mmcv/runner/checkpoint.py", line 522, in load_checkpoint
checkpoint = _load_checkpoint(filename, map_location, logger)
File "/home/dlz/anaconda3/envs/pcan/lib/python3.7/site-packages/mmcv/runner/checkpoint.py", line 466, in _load_checkpoint
return CheckpointLoader.load_checkpoint(filename, map_location, logger)
File "/home/dlz/anaconda3/envs/pcan/lib/python3.7/site-packages/mmcv/runner/checkpoint.py", line 243, in load_checkpoint
return checkpoint_loader(filename, map_location)
File "/home/dlz/anaconda3/envs/pcan/lib/python3.7/site-packages/mmcv/runner/checkpoint.py", line 259, in load_from_local
raise IOError(f'{filename} is not a checkpoint file')
OSError: ./ckpts/segtrack-fixed-new.pth is not a checkpoint file
Is there a problem with the given file? Do you have a suggested solution please? Thanks a lot for your answer!

The given file has no problem. You could check its model size. Please refer to the discussions here and here.

I changed the path to the absolute path and the problem has been solved.Thank you very much!


fix: Only show dataview suggestions when there is an open bracket preceding the cursor position.

Description
This PR updates the behavior of the Suggestor for the Dataview Task Format to only present suggestions when there is an open bracket pair (Either [, or ()
Motivation and Context
The default suggestion strategy used by Tasks is to always present a list of suggestions that a user can use to autocomplete task fields as they are typing on a task line. This is desirable for the Tasks Emoji Format, since it is often difficult/slow to manually produce the Emoji required to indicate the start of a task field.
However, this has little benefit for the Dataview Task Format; Dataview task fields can only appear within brackets [] or parens ().
How has this been tested?
This PR was implemented with a higher-order function that decorates a suggestion function (see function onlySuggestIfBracketOpen). Unittests were added for the onlySuggestIfBracketOpen.
Screenshots (if appropriate)
Types of changes

Changes visible to users:

[x] Bug fix (prefix: fix - non-breaking change which fixes an issue)
[ ] New feature (prefix: feat - non-breaking change which adds functionality)
[ ] Breaking change (prefix: feat!! or fix!! - fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (prefix: docs - improvements to any documentation content for users)
[ ] Sample vault (prefix: vault - improvements to the Tasks-Demo sample vault)
[ ] Contributing Guidelines (prefix: contrib - any improvements to documentation content for contributors - see Contributing to Tasks)

Internal changes:

[ ] Refactor (prefix: refactor - non-breaking change which only improves the design or structure of existing code, and making no changes to its external behaviour)
[ ] Tests (prefix: test - additions and improvements to unit tests and the smoke tests)
[ ] Infrastructure (prefix: chore - examples include GitHub Actions, issue templates)

Checklist

[x] My code follows the code style of this project and passes yarn run lint.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] My change has adequate Unit Test coverage.

Terms

[x] My contribution follow this project's contributing guide
[x] I agree to follow this project's Code of Conduct

Thank you for this. I think it will be a great help.
Before reviewing the code I experimented with it.
Auto pair brackets Enabled
With the Obsidian default Auto pair brackets setting enabled, it works well. As soon as the first bracket is typed, the closing bracket is generated and the cursor is left in between.
Auto pair brackets Disabled
With the Obsidian default Auto pair brackets setting turned off, it doesn't work so well.
After typing the first bracket, auto-suggest pops up and I can select. But nothing adds the closing bracket.
So I end up with tasks like this, with missing final bracket.
- [ ] #task stuff (due:: 2023-08-13
- [ ] #task hello [due:: 2023-08-14

After this, various editing facilities not longer work well. For example, it's confusing why the #task is not hyperlinked here:

Adding the closing bracket fixes the display:

Just to be a bit more explicit after my previous comment, I think that it would be helpful if we could auto-close any unmatched open brackets …

Just to be a bit more explicit after my previous comment, I think that it would be helpful if we could auto-close any unmatched open brackets …

Alternatively, when the documentation is updated for this improvement, we could just note that it works best with auto-match brackets turned on, and if you have it turned off you will need to add the closing bracket.
That’s not so  Helpful, but I suspect that the vast majority of users leave that setting on its default, so if auto-marching the matching brackets is difficult, it’s OK to just worry about fixing the common case for now and document the alternative

Just to be a bit more explicit after my previous comment, I think that it would be helpful if we could auto-close any unmatched open brackets …

Any chance we can hold onto this as a future improvement?

Absolutely....

The highlighted behavior is longstanding; Dataview suggestions required users to type out matching brackets since the Dataview format was introduced. Users would have had to manually add brackets to use the suggestions in any meaningful way both before and (potentially) after this PR.

when the documentation is updated

What kind of documentation updates are you looking for?
Re-reading the auto-suggest page, what stands out as relevant to this PR's changes is:

Specifying that the suggestion popup is context sensitive (i.e. always shows up for emoji format, only within brackets for dataview)
https://github.com/obsidian-tasks-group/obsidian-tasks/blob/48ce3d5afa28cf813cfcb715a6eddd30de9fe57a/docs/Getting Started/Auto-Suggest.md?plain=1#L30-L32

Candidates for updating the docs are:
https://publish.obsidian.md/tasks/Getting+Started/Auto-Suggest
I agree with what you suggested above...
https://publish.obsidian.md/tasks/Reference/Task+Formats/Dataview+Format
I do think it's worth mentioning the change in behaviour. Something along the lines of a callout with something like this:

Since Tasks X.Y.Z, with Dataview format it is now necessary to type the brackets to trigger display of the [[Auto-Suggest]] menu.

https://publish.obsidian.md/tasks/Reference/Task+Formats/About+Task+Formats

Auto-Suggest
Note that, for dataview format, you should first type the chosen brackets - [] or () - and then start typing to choose a field to insert in the brackets.

I think that this is till true....


Increment and pom.xml file

Description:
The code specifying the product increment is tagged in the repository (tag = version number) and the corresponding version in pom.xml

[#14] Added release history and corresponding tags

[#14] Added Release v1.0.0 and corresponding tags


Open provisioning profile in the background

Installing the provisioning profile doesn't bring up new UI, but takes away focus from the terminal. Passing the -g option to open should fix that.

Perfect, great idea! :+1:
I'll add this to PEM too.

Oh, PEM doesn't open the profile (of course)..


How can I convert AdaFace similarity to percentage?

How can I convert AdaFace similarity to percentage?

We do not convert the cosine similarity to percentage as we are interested in the distance between two representations.
It is technically possible to scale range -1 to 1 of cosine similarity to 0-100. But it does not mean that it will have the same interpretation as the likelihood of two person being the same subject.


Add more images containing the 1ES PT prerequisites

With the #1973 fix rolling out vs2022 images that contain the prerequisites, it's time to transition the remainder of our custom images. This particular issue is focused on the images we provide with base images.

Release Note Category

[x] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description
Added 1ES pipeline template prerequisites to a the remaining "vs" build images we provide. All Windows images and most 1es-* ones are now compatible with the 1ES pipeline templates. Incompatible images include build.ubuntu.* and 1es-ubuntu-1804[-open].

temporary reset to dev status due to incomplete / incorrect work in !37708

fixed in !37708 and rolled out today


Precalculate sha1 on Script initialization

Currently, Script instances initializes their sha attribute to the empty string, which means that the first time a Script is called, it will attempt to EVALSHA the empty string. This is guaranteed to fail, and results in unnecessary round-trips to the server. We were seeing a lot of useless network traffic in our deployment because of this. The workaround is to manually set the sha attribute after initializing each Script, but this is not a very clean solution.
This change makes Script precalculate the SHA1 of of the script string, so that in the case where it is called on a connection to a server where the script is already registered, it saves itself an EVALSHA call and a SCRIPT LOAD call.
It also modifies the way Script interacts with BasePipeline. Previously, the Script would call script_load_for_pipeline prior to executing, which would call SCRIPT LOAD if the Script.sha was empty. That condition will never be True anymore, plus it is unnecessary because the pipeline calls load_scripts during execute. I removed that method and made Script directly add itself to the pipeline's scripts set so that the pipeline will register it during load_scripts.
I know there is already a PR for this same issue, but its approach is not quite right in my opinion, and it has been inactive since 2015.

@bgreenberg-eb: Thanks for this. I altered your patch slightly to use the client's encoding options to get the byte-representation of the script before calculating the sha1. It's possible someone has unicode characters in one of their Lua scripts.


allow external s3 storage

for data upload feature we want to allow any s3 server and not just OCS
https://issues.redhat.com/browse/ECOPROJECT-272
Signed-off-by: Yaron Dayagi<EMAIL_ADDRESS>

@masayag, @eloycoto - can this PR be merged?


how to custom icons add

https://github.com/antfu/unocss/tree/main/packages/preset-icons dont see settings

Good question, what would be the preferred way to import custom svg icons @antfu? Do we have to add unplugin-icons, add a custom unocss preset or is there any easy way to extend the icon set for the pure css icon logic?

@itpropro we are working to include a universal icon loader on @iconify and so we can use it here and on unplugin-icons.
We dont want to include the same logic twice.
The way to add custom icons will be the same like on unplugin-icons.

We've included the universal icon loader on @iconify but we need to change a few things since unocss can use it also on client side, while on unplugin-icons it is used only on node.

Hey @userquin, I saw all the great work you did to unocss since I checked it out a few month ago and I just wanted to ask if something has changed, as I only found this PR https://github.com/unocss/unocss/pull/730 digging through the recent code changes.
If you could point me a direction whats you recommended way to use unplugin-icons as a temporary alternative it would already help a lot :)

@itpropro see this https://github.com/antfu/unplugin-icons#icon-customizer, in the customCollections option you have 3 ways to load icons: accessing the filesystem, using fecth or using FileSystemIconResolver  (you can also have the literal svg). At the end of the section you have how to use the icons.
Beware, the approach in unplugin-icons is to resolve icons always on the server: when #730 is merged, it will have the same behavior here, and you will be able to use it in the browser as well (except file system access)

Hi @userquin thanks for your reply! Are you referring to use unplugin-icons as a workaround and disabling presetIcons until the PR is done or is there a way to use these methods to create the IconifyJSON object, needed in the collections property of the presetIcons settings?

Hi @userquin thanks for your reply! Are you referring to use unplugin-icons as a workaround and disabling presetIcons until the PR is done or is there a way to use these methods to create the IconifyJSON object, needed in the collections property of the presetIcons settings?

You were asking about using unplugin-icons, so the answer is yes, disable the preset icons and add the unplugin-icons (should also work with both).
Before disabling the preset icons or adding the unplugin-icons, you can also try resolving the iconify collections via dynamic import, it should also work: keep in mind when #730 is merged, there will be a small breaking change since the collections option signature will change, but you can solve it using the FileSystemIconLoader from @iconify/utils/lib/loader/node-loaders.
I'll try to add also a FileSystemIconLoader here, wrapping the iconify one like on unplugin-icons.

Thanks for clarifying, looking forward to the PR, and will be using unplugin-icons in the meantime :)


make install should not uninstall

In order to work around https://github.com/Unidata/netcdf-c/issues/496 we tried making a build script like this:
  args << "-DENABLE_TESTS=OFF"
  args << "-DNC_EXTRA_DEPS=-lmpi" if Tab.for_name("hdf5").with? "mpi"
  args << "-DENABLE_DAP_AUTH_TESTS=OFF" << "-DENABLE_NETCDF_4=ON" << "-DENABLE_DOXYGEN=OFF"

  cmake .. -DBUILD_SHARED_LIBS=ON, *args
  make install
  make clean
  cmake .. -DBUILD_SHARED_LIBS=OFF, *args
  make install

However it looks like the second run of make install (installing the static libs) actually wipes out the first run with the shared libs. After running this script we only had static libs.
I think there may be a bug in make install that triggers make uninstall?

I'll take a look at this, although we depend on the inherent functionality for cmake for 'make install', so if there is a bug I would expect it to be upstream in the core cmake utility.  I'll investigate and report back.

I don't think the bug is in cmake, we use this for many other cmake packages where it works fine.

Cleaning up old issues, this one has clearly languished.  It has been fixed at some point between the last review and now.


Add custom analytics label support?

As a developer Integrating Pillarbox I need to be able to send custom labels globally, in page views, events or streaming events, depending on what data analysts require.
As a Play developer I namely am currently sending:

pac_page_id in page view events, providing the identifier of the PAC page associated with a view event.
source_id in media events, providing the identifier of the list some content was played from.
user_id and user_is_logged to provide login status information, for Play RTS / maRTS only.

Acceptance criteria

Discuss with teams integrating Pillarbox whether this is an actual need.
Identified needs for custom labels (like e.g. those mentioned above) are supported.

Tasks

[x] Discuss API considerations (single tracking API with service-specific data vs. service-specific tracking APIs, e.g.).
[x] Create tasks to add custom labels support in dedicated repositories (if needed). These includes global labels, page views, events or streaming events.

As discussed again with @waliid and @StaehliJ following recent developments:

We have received enhanced specs from Mediapulse with additional specific fields (e.g. taxonomy) which we should include. These fields have no Commanders Act counterpart.
Conversely we have new field requirements for Commanders Act (e.g. type) which have no comScore counterpart. We also should support official mandatory fields which, to the best of our current knowledge, can be retrieved from an internal wiki page.

We also learned from @pyby85 that several SRG SSR apps use some of the optional fields listed on this page. Therefore:

We will reintroduce a custom page view label API.
We will extend the page view API to provide official symbols for mandatory fields.

No such requirements exist for stream events. We are already sending mandatory labels listed on this page, either directly (generated by the player, e.g. position) or indirectly (received from the IL, e.g. URN).
Regarding the shape of the API itself, and given the fact that data for both services diverges, we will likely adopt an approach with custom data structures, one for comScore, the other for Commanders Act.

Done in https://github.com/SRGSSR/pillarbox-documentation/issues/31 and https://github.com/SRGSSR/pillarbox-android/issues/182.


Guzzle is super slow comparing to file_get_content

I get to know guzzle when I integrate an oauthclient which use guzzle by default.
So when I don't use oauthclient, I still keep guzzle for http request from php.
We are using GuzzleClient to request our oauth protected api. Usually when we visit our api url directly from browser, the response/full load time is about 40ms, we measured this by firebug.
But when we get same url from guzzleClient using GET, it always take ~100-120ms. It is really unacceptable. We try to use file_get_content, it needs ~40-50ms.
So we follow the code into GuzzleClient, before jump into its 'group->send' call, I use php microtime() to track, it already consumed ~10-20ms for all these addon wrapper code, and its "$group->send()" take about ~90ms. Still slow.
I know guzzle added many code for some advanced features before a real send but its speed is really slow.
I am trying to test phpcurl or Http_Request2 which only provide a pure send interface to overcome the performance issue.

slow guzzle depends, but keep attention to your environment! we had the same issue with a slow guzzle/6.2.1 and the problem was an special curl/7.29 version which caused the super slow performance

@nczepa I think I might be having the same problem. To which curl version did you update it to ? Is there a list of specific curl versions that are not recommended to use with specific guzzle versions I can look at somewhere ?


UIs for fix/check scripts

Thought of this yesterday whilst helping a 3rd party use our tools.
Since we've already started modularising the different scripts, we should have them web based imo.
Aim should be to drag n drop a collection of fonts, run any sequence of scripts, then download the modified fonts. A log file should be included so the steps are repeatable.

Since it's web based, is this rather a feature request for https://github.com/googlefonts/fontbakery-dashboard?

I agree with @graphicore that this would be a good fit for the Fontbakery-Dashboard repo.

Good points folks, I'll port this issue over


[proposal] Cookiecutter option to introduce domain app

The option allows the user to utilize DDD: If confirmed, a domain package will be created in apps dir, and referenced in ./config/settings/base.py.

I'm curious: How does adding a (mostly) empty app called domain turn this into a Domain-Driven design project?

@pydanny, you're right, it doesn't, but it still might be considered a first step towards DDD, saving up on a few keystrokes (just a few indeed, but still :).

Upon reflection, I think adding this is a bit out of scope. That said, how about one or more of the following:

Create a separate script that adds this tooling outside of Cookiecutter Django.
Add documentation of this technique to a pull request to Cookiecutter Django.

What do you think?

@pydanny, I agree, that would be a handy addition -- I'm gonna elaborate on that as soon as I can.

I'm going to close this, as its a documentaton issue, not a code thing.


[BUG] script(s) is incomplete

Iam tring to figure out how the "collect" on the buildings module works, i cant seem to find it
Howerver iam missing valuable parts of the game,

MySQL file is a mess, loads of errors
table "drugs_inventory" missing ???
Collect system is missing or not existing

PLEASE update the git to the latest working files please
Thx

Hi, thanks for the issue! I've updated the SQL file to the latest dump, it should now have everything needed for it to work. I also added a MySQL workbench schema in the root saved as globalcollapse.mwb. Note that if you create your database using the schema, you will still have to insert some data manually for it to work - specifically tables vendors (or you can create them manually in the admin), drugs and buildings and optionally vendor_offers though they might be generated from the administration.
I also added the scripts that are run automatically. However they won't run automatically and I don't know how to help you with that. I use my hosting provider's function to run these files periodically, I don't know how to set it up by yourself. The files are in the root saved as buildings-collect.php and drugs-prices.php. Also there is one function in the administration that is also being run automatically every few hours and that's actionUpdateOffers in the VendorPresenter.php in the Admin module - the hash needed as a parameter is saved in config.local.neon (or in the example config.local.neon.example) under parameters.

sweet! Thx that helps ALLOT and wil get others started


Bicep or Terraform?
Bicep
Module Classification?
Resource Module
Module Name
avm/res/insights/metric-alert
Module Details
This module was migrated from CARML by @krbar without an owner.
Note: when someone volunteers to be the owner of this module, please reach out to @krbar to for changing the ownership of the existing GitHub teams as well.

Module proposal: https://github.com/Azure/Azure-Verified-Modules/issues/375
PR: https://github.com/Azure/bicep-registry-modules/pull/711

Do you want to be the new owner of this module?
No
Module Owner's GitHub Username (handle)
kijunkang
(Optional) Secondary Module Owner's GitHub Username (handle)
No response

Hi @matebarabas.
I would like to take ownership of this module.

Hi @kijunkang,
Thanks for requesting/proposing to be an AVM module owner!
We just want to confirm you agree to the below pages that define what module ownership means:

Team Definitions & RACI
Shared Specification (Bicep & Terraform)
Module Support

Any questions or clarifications needed, let us know!
If you agree, please just reply to this issue with the exact sentence below (as this helps with our automation 👍):
"I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"
Thanks,
The AVM Core Team
#RR

I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER

Hi @kijunkang,
Thanks for confirming that you wish to own this AVM module and understand the related requirements and responsibilities!
We just want to ask you to double check a few important things.
Please use the following values explicitly as provided in the module index page:

You must be the owner of the GitHub teams as outlined here.
Please check that your name has been updated in the module index page (this should happen shortly after you confirmed ownership).

You can now take ownership of this module and start improving it as needed! ✅ Happy coding! 🎉
Any further questions or clarifications needed, let us know!
Thanks,
The AVM Core Team

@kijunkang, since this module has been migrated by @krbar (Kris Baranek), he's created the required GH teams. Please work with him to take ownership over these teams and let me know in a comment here when it happened.
Please also remove the ORPHANED.md file from the module's folder and its content from the README.md, by following the steps described in point 5 here and let me know in a comment when this is done. Thanks!

@kijunkang Before I can transfer the GitHub teams to you, you must join the @Azure organization on GitHub.
This link describes how: Account linking and join organizations | Docs - Microsoft Open Source (see section "Join organizations")

PR to unorphan the module is in review: https://github.com/Azure/bicep-registry-modules/pull/1265

Thank you @krbar, I just joined the @Azure organization on GitHub.

Thank you. The teams are transferred and the "module orphaned" note has been removed

Thank you for confirming, this concludes this issue!


Update doc to address the differentiation from Xcode 9 sim support

There are a lot of updates from Xcode 9 for simulator support. We should update the doc to tell the difference between Xcode 9's Simulator support and bluepill.

close old issues, feel free to reopen


env.allowLocalModels and env.allowRemoteModels

Question
When I set env.allowLocalModels = true  and look at the env object I see both
env.allowLocalModels and env.allowRemoteModels set to true.  Does this mean that it will look for models locally first and then if not found go to the remoteHost?

Hi there 👋 That's exactly correct! Like the python model, we first look for the model locally before attempting to download the model from the Hugging Face Hub.

For anyone stumbling over this... local models will be loaded automatically from e.g. public/models/ (see localModelPath at https://huggingface.co/docs/transformers.js/api/env).


gzip responses (including HTML and JSON)

This is accomplished by adding the Rack::Deflater middleware. (I'm sort of surprised that Rails doesn't include it be default?)
(It turns out that rack-mini-profiler changes the Accept-Encoding header to "identity" when active, so now we'll deactivate rack-mini-profiler by default (and instead require an ENABLE_PROFILER env variable in order to activate rack-mini-profiler) so that we'll have gzipping the rest of the time.)

Testing against production (with 100 requests to /api/log_entries made via curl with a cookie header that had me logged in) I got 1.151 seconds on average before deploy and 1.045 seconds on average after deploy, i.e. ~106 milliseconds faster, and a response time decreased by ~9%. Not super amazing, but not too bad, either!
(Note that I have lots of log entries, so the response time (and absolute response time improvement) for me is probably greater than it would be for most users.)

I just tried another 100 requests, and got 1.129 seconds, which is only a 22ms improvement (and which also somewhat calls this whole methodology into question, in the first place).


Running tests with some wasmtime features enabled

Hello!
I am very new to the wasm ecosystem and trying a bit all the tools/framework/runtime out there.
I am working on porting https://github.com/cloudflare/sliceslice-rs to wasm.
That project requires simd instructions to work.
I have a wip branch working but to run the tests, I cannot simple do:
$ cargo wasi test
    Finished test [unoptimized + debuginfo] target(s) in 0.00s
     Running unittests (target/wasm32-wasi/debug/deps/sliceslice-c22d039e805d5bb0.wasm)
     Running tests/i386.rs (target/wasm32-wasi/debug/deps/i386-310c1b29d531f32f.wasm)
     Running `/home/adema/code/sliceslice-rs/target/wasm32-wasi/debug/deps/sliceslice-c22d039e805d5bb0.wasm`
Error: failed to run main module `/home/adema/code/sliceslice-rs/target/wasm32-wasi/debug/deps/sliceslice-c22d039e805d5bb0.wasm`

Caused by:
    0: WebAssembly translation error
    1: Invalid input WebAssembly code at offset 337919: SIMD support is not enabled

because the simd feature of wasmtime is not enabled by default.
My problem is that I haven't found a way to enable simd from cargo-wasi.
To run the tests, I have to manually run:
$ wasmtime --enable-simd /home/adema/code/sliceslice-rs/target/wasm32-wasi/debug/deps/sliceslice-c22d039e805d5bb0.wasm

running 14 tests
test tests::memchr_search_different ... ok
test tests::memchr_search_middle ... ok
test tests::memchr_search_mutiple ... ok
test tests::memchr_search_prefix ... ok
test tests::memchr_search_same ... ok
test tests::memchr_search_suffix ... ok
test tests::needle_array_size ... ok
test tests::needle_slice_size ... ok
test wasm32::tests::search_different ... ok
test wasm32::tests::search_middle ... ok
test wasm32::tests::search_multiple ... ok
test wasm32::tests::search_prefix ... ok
test wasm32::tests::search_same ... ok
test wasm32::tests::search_suffix ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

but that requires finding the wasm binary path which is not easily predictable.
My question is then: is there a way to pass command line options to wasmtime?
I can see different options if that's not already implemented:

by specifying cargo metadata variable
by using an environment variable like WASMTIMEFLAGS
by specifying command line arguments tocargo wasi test

Thank you in advance for taking the time to read this :+1:

Thanks for the report! This isn't supported well today unfortunately. Some initial work was done at https://github.com/bytecodealliance/cargo-wasi/pull/19 but it stalled out because I don't think there's an idea of what the best design for this is right now.

From a user perspective, I think I would prefer the cargo metadata option the most because I think people should not have to know which wasmtime features to enable or disable.
If you agree with this, and if we restrict ourselves to specifying only wasmtime features, how much work do you think it would be?
What I had in mind was something like:
[package.metadata.wasi.wasmtime.features]
simd = true

or if we want to have per profile configuration:
[package.metadata.wasi.wasmtime.profile.release]
features = { simd = true }

@alexcrichton I don't know exactly what changed but I am now able to run cargo wasi without problem! Maybe the simd feature is enabled by default now?
Anyway, that's really neat, I was able to port sliceslice to wasm32 :+1:


Add more examples to documentation (README)

With new haddock documentation, I think examples are well covered.


Deprecate colcon_core.task.python.test.has_test_dependency()

All of the information and functionality provided by has_test_dependency is already employed by PythonPackageAugmentation when enumerating the dependencies of the package. It's more efficient and flexible, and results in less duplication of information to just read the dependencies from there.

Requires #537 to pass CI


Decompiling error: Invalid chunk type

Information

Apktool Version (apktool -version) - 2.4.0/2.4.1
Operating System (Mac, Linux, Windows) - Windows
APK From? (Playstore, ROM, Other) - Other (website)

Stacktrace/Logcat
PS C:\Users\User\Documents\android\apktool> ./apktool d 1415.apk
I: Using Apktool 2.4.1 on 1415.apk
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Invalid chunk type: expected=0x00000200, got=0x00000203
        at brut.androlib.res.decoder.ARSCDecoder.checkChunkType(ARSCDecoder.java:542)
        at brut.androlib.res.decoder.ARSCDecoder.readTablePackage(ARSCDecoder.java:88)
        at brut.androlib.res.decoder.ARSCDecoder.readTableHeader(ARSCDecoder.java:82)
        at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:48)
        at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:786)
        at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:67)
        at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:59)
        at brut.androlib.Androlib.getResTable(Androlib.java:66)
        at brut.androlib.ApkDecoder.setTargetSdkVersion(ApkDecoder.java:236)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:118)
        at brut.apktool.Main.cmdDecode(Main.java:170)
        at brut.apktool.Main.main(Main.java:76)
Press any key to continue . . .

APK
https://apkpure.com/tiktok-musically/com.zhiliaoapp.musically
Question
Is there any solution to the problem? Can I manually patch an APK file to avoid this error?

Hmm, 0x203 is LIBRARY if my memory is right. I thought our ARSC parser was smart enough to just read chunk, identify chunk, parse chunk. So this should not be happening.

Hi @iBotPeaches,
we are facing exactly the same error with another APK:
Exception in thread "main" brut.androlib.AndrolibException: Invalid chunk type: expected=0x00000200, got=0x00000203
➜  test java -jar apktool_2.4.1.jar -f d prod.apk  -m -s -o output/prod
I: Using Apktool 2.4.1 on prod.apk
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Invalid chunk type: expected=0x00000200, got=0x00000203
	at brut.androlib.res.decoder.ARSCDecoder.checkChunkType(ARSCDecoder.java:542)
	at brut.androlib.res.decoder.ARSCDecoder.readTablePackage(ARSCDecoder.java:88)
	at brut.androlib.res.decoder.ARSCDecoder.readTableHeader(ARSCDecoder.java:82)
	at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:48)
	at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:786)
	at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:67)
	at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:59)
	at brut.androlib.Androlib.getResTable(Androlib.java:66)
	at brut.androlib.ApkDecoder.setTargetSdkVersion(ApkDecoder.java:236)
	at brut.androlib.ApkDecoder.decode(ApkDecoder.java:118)
	at brut.apktool.Main.cmdDecode(Main.java:170)
	at brut.apktool.Main.main(Main.java:76)

Do you have any update?
Thank you in adavance,
C.

Have you fixed this? @iBotPeaches

@1azunna not yet.

same here

Same issue with this old task.
Is this tool still maintained?
@iBotPeaches

Same issue with this old task.
Is this tool still maintained?
@iBotPeaches

Yes.

Great to hear @iBotPeaches 😎

issue still remains with this Gym App..
https://play.google.com/store/apps/details?id=com.technogym.mywellness&hl=en_US&gl=US

Same with mobile legends, they just applied same protection. I wonder if it's related to Andresguard protection because i heard about it
https://apkcombo.com/en-dk/mobile-legends-bang-bang/com.mobile.legends/download/apk

Closing as duplicate - https://github.com/iBotPeaches/Apktool/issues/2099

Same with mobile legends, they just applied same protection. I wonder if it's related to Andresguard protection because i heard about it
https://apkcombo.com/en-dk/mobile-legends-bang-bang/com.mobile.legends/download/apk

hope author will add this on his fix list. thank you

Same with mobile legends, they just applied same protection. I wonder if it's related to Andresguard protection because i heard about it
https://apkcombo.com/en-dk/mobile-legends-bang-bang/com.mobile.legends/download/apk

hope author will add this on his fix list. thank you

Added into my local folder for bug 2099.

use this apktool: https://4pda.ru/forum/index.php?showtopic=557858&st=7400#entry102370162
mirror 1: https://www.sendspace.com/file/23yb7o
mirror 2: https://www.mediafire.com/file/nzeansvuhsxytgk/apktool_2.5.1-6d4e503_tilks_2020-12-08.jar/file

Since 2.5.1 has not released, I worked-around with this tutorial. Hope it helps someone.
https://platinmods.com/threads/how-to-fix-apktool-decompile-error-using-mt-manager-app-arscdecoder-error.121708/

@Nogias9x you can download unstable build here https://github.com/iBotPeaches/Apktool/actions
View latest workflow runs and click on apktool.jar inside Artifacts section (Requires a Github account to be logged in to download)

Thank you @AndnixSH
I followed your help but no luck. This is what I did. Do you have any clue?

Download the latest unstable apktool.jar.zip
Rename apktool.jar.zip to apktool.jar
Move apktool.jar to /usr/local/bin
Test by apktool --version
And I got Error: Invalid or corrupt jarfile /usr/local/bin/apktool.jar

Rename apktool.jar.zip to apktool.jar
And I got Error: Invalid or corrupt jarfile /usr/local/bin/apktool.jar

Renaming doesn't magically turn a .zip file into a .jar file, you have to unpack it and then use the .apk file that's in there.

Silly me!
Thank you so much @shroudedcode  @AndnixSH

Can confirm the new patch is working like a charm. Just compile apktool from source and all works 👍

i bypass this error by

create file apktool-decompile.bat

@echo off
apktool d -f -r -s %*

then when i want to decompile apk file
apktool-decompile namefile.apk


need model howto

Have installed the app and it is almost working correctly, however its not clear from the docs or sample app what fields I should add to my user profiles?
From the form blurb I see:
user.stripe_id, profile.last_4_digits, profile.stripe_customer_id
Would appreciate some guidance on where these come from and how to define these.

Hey Mixmastamyk,
You shouldn't have to add any fields directly - just use the models as mixins to your profile, and you should be set.  (ie. have MyProfileModel inherit StripeCustomer,  MyPlanModel inherit StripePlan, etc.
Agree that we need better docs on this though, leaving this issue open until we have them.
-S

Thanks, interesting design.  I chose this app over django-stripe because it had some documentation.
Do I need to make a plan model?  Hmmm.

Hey,
Yeah, the mixin/subclass is pretty standard, and a nice pattern.  You don't need to have a plan model, unless you want to do something with it within your app.  In short, I'd figure out your data needs, and see what you need to store locally.  Then, use the mixins to get the functionality you need.
Also, since it is open source, more/better doc pull requests are always appreciated. :)

Sorry, I know this isn't a chat client, but what is user.stripe_id ?  It seems to come out of nowhere in the view.  Later on customer(Profile).stripe_customer_id is set.  Are they the same thing?  Is there a typo?
I made a profile model so I wouldn't have to hack on the Django user so would rather not save things to user.

Absolutely put it on your profile.  And stripe_customer_id is the field you want. I think it's a typo. I'll double-check, then fix it up real quick.

Thanks again, and for the quick response.

Yup, and fixed up now.  Will look at your pull request a bit later this week when I do my code reviews for all the projects I'm maintaining.

Thanks.  I added StripeCustomer mixin to my profile (had to go before Model).
However, it doesn't have the last_4_digits field.  I don't see the field in mixins.py or models.py.  I guess this code hasn't actually been run? hehe.  Also the form code assumes the customer was already created, but I've got it handled now.

Ok, thanks.  I missed that the id was in the StripeCustomer and not the StripeMixin.  I found the auto-create code.
Hopefully last question, :) ... what is the difference between saving the customer_id in the user profile vs saving it in the Customer table that the app created on install?

No real difference - it's all in where you want to keep it.  We designed zebra to be really, really flexible, since it often has to fit into existing billing models.  (I moved mine over from chargify to stripe.)  There's not really a "right" way to do it, just a lot of options of which hopefully one fits you well. :)


Think of a proper packaging mechanism

Using the downloader script is a quick fix as I already outlined. We should find a solution to do this properly as soon as possible. @MartinMuzatko and @movabo what is the current progress of Inexor cloud? Is there already some specification on how packages look? It would be good if we could write a little demo program that leverages the entity-API as a command line tool to do exactly this. This approach will have benefits

it will force us to work cleanly and lay out a package structure for the future
it will make use of the entity-system API as our first, non-standalone consumer (one that is not compiled with the entity-system itself)

This is also a good test on how far / how well our entity-system API performs.

We have already defined a clear set of types of content and how to access them. Method as of now is HTTP.
Documentation will follow.
In short: you download entity based contents as json. Textures, models and sounds are served as binary.
We are using strapi as the underlying content management framework/headless server/API mechanism.
Once the system is online, you can simply GET https://api.inexor.org/contents/1 if know the ID. This contains a link to the binary and other metadata (name, description etc)
You could also filter for starred content or have a content package.
Contents can be nested.. e.g. have a json field for dependencies. These can be recursively resolved via graphql, but have to investigate on this.
As said: docs are following soon :)

This is no longer in the scope of this repository.


fix(oauth2) ownership check

Only merge this feature in a major release like 0.10.
Summary
OAuth 2 fix that checks if a code or a token effectively belong to the API that has been used when generating them.
Full changelog

Implemented security check that verifies if an authorization code, token or refresh token, effectively belong to the API that generated them.
Added config.global_credentials = true/false. Any credential created for an API that has the plugin configured with config.global_credentials=true can be used to consume any other API that has the OAuth2 plugin configured with config.global_credentials=true too.

TODO: This plugin should also introduce an option to actually share the codes/tokens across multiple APIs, since some users liked the old behavior.

Why would we truncate the table of codes? Why not just make those codes behave as they do now and add the column to allow api-specific behavior? And allow that to be a configured behavior?

@djMax because now both authorization codes and tokens need to have a mandatory relationship with the API object. The biggest pain for this patch won't be losing the authorization codes (which expire after 5 minutes by default), but losing the tokens which cannot be migrated and associated to any specific API because of how the system is working as of today.

@deffer @djMax

use asterisk character to indicate that token/code is global scope

This will break the database relationship with the API table. I will try to investigate a way of doing it before merging, but I cannot guarantee I will ultimately find a clean way of implementing it.

And have it configurable somewhere whether we want tokens API scope or global scope.

Some users liked the idea to share codes/tokens across multiple APIs (the old behavior), but I don't think this should be a feature of the OAuth2 plugin, but a core feature of how Consumers work.

I do not believe you should break existing behavior like this... OAuth2 is a big mess at the moment in Kong, I'm all for rethinking it more broadly, but piecemeal breakage seems like a disaster...

(and can we not use NULL to indicate global applicability?)

I kept this PR in standby for now until I finish some other priorities, and then I will resume the conversation when I am back at it. If there is a clean way to keep retro-compatibility I will implement it. NULL could be an option.

The plugin configuration has a new property called global_credentials = true/false.
Any credential created for an API that has the plugin configured with config.global_credentials=true can be used to consume any other API that has the OAuth2 plugin configured with config.global_credentials=true too.
By default config.global_credentials=false but in the migration I set it as true for all the existing plugin configurations, so that the old behavior doesn't change.
But if you update an existing plugin with config.global_credentials=false, then all the tokens have to be regenerated for that specific API.

Hi,
Is this patch applied in 0.11 ?
There's no reference to config.global_credentials in plugin docs.
Thanks. Regards.

@mdaguete yes, but the doc is outdated. I am pushing a new version of the doc as we speak.


Installation Instructions

Ready to try this out, not sure how to.

Hi! Yes, I have just updated the main page with an installation guide:
https://github.com/SkinnyDevi/webui_tavernai_charas
If you find it useful, please comment to close the issue.

I will now close this issue as this has been addressed.


fix: Recv Packet complexity #189

Description:
Commit Message
fix: recv packet complexity #189

see the guidelines for commit messages.
Changelog Entry
0.1.0: Removed logic from receive reply.

Checklist:

[x] I have performed a self-review of my own code
[x] I have documented my code in accordance with the documentation guidelines
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have run the unit tests
[x] I only have one commit (if not, squash them into one commit).
[x] I have a descriptive commit message that adheres to the commit message guidelines

Please review the CONTRIBUTING.md file for detailed contributing guidelines.

Codecov Report

Merging #638 (76b28ce) into main (f6d2e8f) will decrease coverage by 0.23%.
The diff coverage is 78.20%.

@@             Coverage Diff              @@
##               main     #638      +/-   ##
============================================
- Coverage     69.02%   68.80%   -0.23%
  Complexity      408      408
============================================
  Files           151      151
  Lines         14016    14017       +1
  Branches        294      294
============================================
- Hits           9675     9644      -31
- Misses         4185     4217      +32
  Partials        156      156

Flag
Coverage Δ

rust
66.91% <78.20%> (-0.27%)
:arrow_down:

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

Files Changed
Coverage Δ

...bc-core/src/ics04_channel/packet/receive_packet.rs
76.44% <78.20%> (-4.56%)
:arrow_down:

... and 1 file with indirect coverage changes


Fix error page for build

Description
Change getServerSideProps to getStaticProps for fixing the error page
Fixes # (issue)
Type of change

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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.

[ ] Test

Please also list any relevant details for your test configuration
Test Configuration:

OS:
Browser:
Browser Version:

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

I make the merge of the changes

I make the merge of the changes


Property definitions type for timestamp (and other non-json OPTIMADE types)

I'm not sure how we missed this :-), but the definition of the type field in the property definitions go through each JSON data type and explain what it corresponds to in terms of OPTIMADE data types. But, that means it never says what to do for timestamps.
To keep the property format valid JSON schema, the standard type field needs to be "string". But, this means we need to add another type field (x-optimade-type?)  to spell out "datetime" somewhere.
This will also be important to figure out for other new datatypes we add in the future, e.g., there is a proposal for a SMILES datatype #436.

Right, but, an implementation that want to interpret the property definition in context of an output format that has a native timestamp datatype needs to be able to understand that a property definition of, e.g., last_modified refers to the OPTIMADE timestamp data type, and not to a string.
I'm halfway convinced we should simply add a mandatory x-optimade-type that always spells out the OPTIMADE type name, but it adds redundancy for most data types. Maybe for now it is best to do as you say and rely on the "format" field. But, that means we need to invent our own format name for the upcoming SMILES datatype.

I'm halfway convinced we should simply add a mandatory x-optimade-type that always spells out the OPTIMADE type name, but it adds redundancy for most data types. Maybe for now it is best to do as you say and rely on the "format" field. But, that means we need to invent our own format name for the upcoming SMILES datatype.

I'm with you now -- this seems like something we could easily add now if we want to, if it is just constrained to our existing types? (i.e., we don't want to support implementation-specific types)


Extract common RenderPhase code into render method

Objective
All RenderPhases follow the same render procedure.
The same code is duplicated multiple times across the codebase.
Solution
I simply extracted this code into a method on the RenderPhase.
This avoids code duplication and makes setting up new RenderPhases easier.

Changelog
Changed
You can now set up the rendering code of a RenderPhase directly using the RenderPhase::render method, instead of implementing it manually in your render graph node.

Rebased this PR onto main. It should be easier to review now.