Handling of multiple solutions and multiple campaigns

Add the possibility to update multiple solutions (e.g., create solution versions for them).

[ ] Handling for multiple solutions
[ ] Handling for multiple campaigns

Hi Till, we have been using your code to retrain our solutions on personalize for while now. Very easy to use and works right out of the box. Now we are training a second dataset. We were wondering if we run make again with the new values, would it override the old set up?

Hey Keyvan,
thanks for the feedback, highly appreciated.
If you run make again with new values, it'll override the deployed stack. It does so, based on the name of the stack which is configured here: https://github.com/aws-samples/amazon-personalize-automated-retraining/blob/master/Makefile#L14
My recommendation for doing this right now would be: Check out this repo twice (once for each dataset), adjust the values accordingly per dataset, and have a distinct --stack-name per dataset.
This is a bit cumbersome, but unfortunately this sample has currently no other way of generalizing over the dataset.
For curiosity: In your use case, are the rest of the parameters equal (e.g., retrain rate, roles, ...)?

--stack-name would do the job! Glad it's possible.
In our use case, most of the parameters would remain the same. We are looking to train two different datasets with different metadata to see which one performs better. I think the params that would change are things like S3 paths and Campaign ARNs.

Perhaps to avoid checking out the repo twice, you can add a feature like determine which params.cfg file to use from env variables? If you think this is a useful feature, I can gladly make a pull request.

Trying to run make with the second stack name. While the stack in cloudformation gets created with the new name, it seems like the Lambda functions retain their name, which causes an error during the deploy process.

Oh, sorry to hear. Hope it didn't break any of your automation or so.
It seems that setting FunctionName in https://github.com/aws-samples/amazon-personalize-automated-retraining/blob/master/stack.template#L125 (there is one occurence for each function) is unnecessary and will generate a random, unique name if not set. So removing all occurences of FunctionName in the template should fix the issue. I didn't test it though and will only be able to do so beginning of next week.

Perhaps to avoid checking out the repo twice, you can add a feature like determine which params.cfg file to use from env variables? If you think this is a useful feature, I can gladly make a pull request.

Absolutely, I think its best to extract the config file to a default parameter in the Makefile, e.g like https://github.com/aws-samples/amazon-personalize-automated-retraining/blob/master/Makefile#L4, which defaults to parameters.cfg and you can override it like PARAMETER_FILE=myfile.cfg make all or so

It seems that setting FunctionName in https://github.com/aws-samples/amazon-personalize-automated-retraining/blob/master/stack.template#L125 (there is one occurence for each function) is unnecessary and will generate a random, unique name if not set. So removing all occurences of FunctionName in the template should fix the issue. I didn't test it though and will only be able to do so beginning of next week.

That worked thanks! The generated function names are actually decently readable, which was my biggest worry.

Do you know of any way to have the template file explicitly generate names like stackname-functionname?

@keyvanm I added https://github.com/aws-samples/amazon-personalize-automated-retraining/pull/5 to include the stack name into the function name, please let me know if this is what you intended.

@Till--H Wow yes that's what I was thinking. Amazing that it's possible


chore(rust): update to Rust 1.78

### Before merging
- [ ] Apple smoke test
- [ ] Android smoke test

Smoke test completely successfully.


Embed view saving  as html entities

How to reproduce:
Go to any plunker at the homepage:
https://plnkr.co/
Click the embed view link:
https://embed.plnkr.co/9TvHuv/
All files with these characters < > now have their HTML entities < > even if you click back to the editor view.
https://plnkr.co/edit/9TvHuv?p=info
If you are the owner of that PLUNK it will also automatically save it that way.

Thanks for reporting. This issue is now fixed in production.

It fixes the HTML problem indeed but another issue seems to be remaining, see:
https://github.com/filearts/plunker/issues/140
Thank you for your awesome work!


State not available in open, message and close inferred types

State is not available in WebSockets.
export const games = new Elysia({ prefix: '/games' })
  .state('gameManager', new GameManager())
  .ws('/:id/ws', {
    open(ws) {
      // `ws.data.store` is typed as `{}` instead of `{ gameManager: GameManager }`
    },
    message(ws, message) {
      // `ws.data.store` is typed as `{}` instead of `{ gameManager: GameManager }`
    },
    close(ws) {
      // `ws.data.store` is typed as `{}` instead of `{ gameManager: GameManager }`
    }
  });

It's available at runtime but not in inferred types.

Closing as fixed in 0.7.0.
Feels free to reopen if the issue still occurs.


-user must have sid

It looks to me like the -user parameter only takes an sid.
PS C:> Remove-AppxPackage -Package Microsoft.WindowsAlarms_10.1804.1101.0_x64__8wekyb3d8bbwe -user user
Remove-AppxPackage : The security ID structure is invalid.
The security ID structure is invalid.
At line:1 char:1

Remove-AppxPackage -Package Microsoft.WindowsAlarms_10.1804.1101.0_x6 ...

  + CategoryInfo          : NotSpecified: (:) [Remove-AppxPackage], COMException
  + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException,Microsoft.Windows.Appx.PackageManager.Comman
 ds.RemoveAppxPackageCommand

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 36f43873-0e34-6ec2-8bde-479945d49ed9
Version Independent ID: 914c97a9-7dc2-6ddd-4756-7ec210db3fe8
Content: Remove-AppxPackage (appx)
Content Source: docset/windows/appx/remove-appxpackage.md
Product: w10
GitHub Login: @coreyp-at-msft
Microsoft Alias: coreyp

@jszabo98
Upon your feedback, We have updated the content with relevant changes accordingly. Thanks.

@officedocsbot close

If what I'm talking about was done, the help would look like this:
-User
If you specify this parameter, the cmdlet removes the app package for only the user that this cmdlet specifies. To remove a package for a user profile other than the profile of the current user, you must run this command by using administrator permissions. The user name can be in one of these formats:
SID-string


Tests do not compile with Scala 2.11

Looks like @joroKr21's stack reworking introduced something, which appears to affect only Scala 2.11, and currently stops four tests from compiling... I've seen error messages suggestion something relating to lazy vals.

I don't know about lazy vals, but one thing I noticed for sure in #73 is that DirectlyReentrantException always triggers on recursive types, but then we recover. That happens because we first try the regular implicit resolution and we always find our own macro and then we fall back to direct recursive derivation. That may or may not have happened before but apart from causing #73 it must be horribly inefficient so there is even room for speedup! I'm not sure how to fix it yet though.

The DirectlyReentrantException hack was very much part of the original design, and it effectively uses implicit search to check whether there is a non-Magolia implicit in scope for that particular search which should take precedence. I don't know of a better way to do this... It's only an exception in that we want a nested macro invocation to fail so that we can search for other suitable implicits that would otherwise be shadowed...
I'm just investigating some more, though... :)

Here are the errors, by the way;
[info] Compiling 1 Scala source to /home/jpretty/dev/propensive.com/magnolia/tests/target/scala-2.11/classes ...
[error] /home/jpretty/dev/propensive.com/magnolia/tests/src/main/scala/tests.scala:130:17: could not find implicit value for parameter e: magnolia.examples.Show[String,magnolia.tests.FruitBasket]
[error]       implicitly[Show[String, FruitBasket]].show(FruitBasket(Fruit("apple"), Fruit("banana")))
[error]                 ^
[error] /home/jpretty/dev/propensive.com/magnolia/tests/src/main/scala/tests.scala:237:15: not found: value companyTypeclass$macro$255$lzy
[error]       Show.gen[Politician[String]].show(Corrupt("wall", Seq(Company("Alice Inc"))))
[error]               ^
[error] /home/jpretty/dev/propensive.com/magnolia/tests/src/main/scala/tests.scala:333:15: not found: value companyTypeclass$macro$352$lzy
[error]       Show.gen[Portfolio].show(Portfolio(Company("Alice Inc"), Company("Bob & Co")))
[error]               ^
[error] /home/jpretty/dev/propensive.com/magnolia/tests/src/main/scala/tests.scala:381:15: not found: value pathTypeclass$macro$425$lzy
[error]       Show.gen[Path[String]].show(OffRoad(Some(Crossroad(Destination("A"), Destination("B")))))
[error]               ^
[error] four errors found

I completely forgot about scala/bug#5466 (note the $lzy suffix)

Also, it seems that currently crossScalaVersions in tests is only 2.12

Ah, does that mean we can get it working again on Scala 2.11 with some targetted untypechecking?

Rather the opposite - the problems is that we use c.untypecheck on code that contains lazy vals.

Oh, I see. I can see some logic (I think) for the cases where it's happening...
I imagine that in an absolute worst-case scenario we could replace them with some dummy code, and rewrite that code as actual lazy vals when the macro finally produces output. But maybe you know a more straightforward workaround?

I don't know of any straightforward workaround. I'm not even sure what you're suggesting will work but you're welcome to try. In general the splicing of typed and untyped trees is an unsolved problem in scala.reflect. You can try to avoid calling untypecheck (it's only one place). Maybe typingTransform can be used? No easy solution I'm afraid.

Fixed by removing 2.11 support :)


improve search ui

Work items
This epic represents improvements to the search experience across docs & registry.
References 📔

figma design reference

Work Items ⚙

https://github.com/pulumi/docs/issues/9203

Completed with https://github.com/pulumi/pulumi-hugo/pull/2868. Will file any follow-ups as separate issues.


x/tools/gopls: new code disappears or is modified after formatting

A number of VSCode issues have been raised regarding problems with formatting (see https://github.com/microsoft/vscode-go/issues/2824, https://github.com/microsoft/vscode-go/issues/2787). There are a few possibilities about what the source of this issue might be, but it is likely that either, (1) formatting is being run on old code, or (2) something is going wrong with the diff algorithm.
If you have this issue, please share the following information so that we can diagnose it:

Your VSCode settings (Ctrl + Shift + P -> Preferences: Open Settings (JSON))
Your gopls version (gopls version)
The output of gopls -rpc.trace -v format path/to/file.go
Your gopls logs from when this issue occurs (see https://github.com/golang/tools/blob/master/gopls/doc/troubleshooting.md#capturing-logs for information on how to capture logs).

Furthermore, we have recently substituted the gopls diff algorithm for a better alternative. It's possible that this was the culprit. If you are able to install gopls at master:
$ GO111MODULE=on go get golang.org/x/tools/gopls@master golang.org/x/tools@master

then you can try out this new diff algorithm. Try it by adding the following setting:
"gopls": {
    "go-diff": true
}

If any users test out go-diff, please do report if this changes anything.
Finally, it will be helpful to determine if the issue is formatting or imports. Please try disabling the following settings one at a time and please report which alters the behavior.
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
    "source.organizeImports": true,
}

Hello @stamblerre, should I enable the alternate go-diff algorithm in a top-level user settings JSON directive?  such as:
"go.useLanguageServer": true,
"gopls": {
    "go-diff": true
}

The issue ocurred with the gopls@(devel), and the normal v0.1.6 version. Also with the v0.1.7 version suggested by vscode-go.
It's worth noting that the type of "code rewrite" is different with the go-diff: true and without it.
Without it, it discards the current changes and repeats the last couple of lines of the code.
With it, it discards the first columns of the current file. For example:
Before saving:
	// insert in the database
	client.generateID()
	client.hub.register <- client

And after saving:
/ insert in the database
	client.generateID()
lient.hub.register <- client

What I have to do to recover from this is to undo the 2 edits made by the formatter, and then execute "reload window".
gopls version:
golang.org/x/tools/gopls v0.1.6
    golang.org/x/tools/gopls@(devel)`

Vscode settings.json:
{
	"workbench.startupEditor": "newUntitledFile",
	"extensions.ignoreRecommendations": true,
	"tslint.jsEnable": true,
	"editor.formatOnPaste": true,
	"editor.formatOnSave": true,
	"editor.codeActionsOnSave": {
		"source.fixAll.tslint": true
	},
	"typescript.updateImportsOnFileMove.enabled": "always",
	"editor.detectIndentation": false,
	"editor.insertSpaces": false,
	"zenMode.hideTabs": false,
	"editor.renderWhitespace": "boundary",
	"workbench.iconTheme": "vscode-icons",
	"bracketPairColorizer.showHorizontalScopeLine": false,
	"bracketPairColorizer.showBracketsInRuler": true,
	"vsicons.dontShowNewVersionMessage": true,
	"explorer.confirmDragAndDrop": false,
	"files.watcherExclude": {
		"dist/**": true
	},
	"files.exclude": {
		"**/dist/**": true
	},
	"search.exclude": {
		"**/dist": true,
		"**/docs": true
	},
	"workbench.colorTheme": "Monokai",
	"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
	"git.path": "C:/Users/noflo/AppData/Local/Atlassian/SourceTree/git_local/bin/git.exe",
	"editor.mouseWheelScrollSensitivity": 3,
	"go.useLanguageServer": true,
	"gopls": {
		"go-diff": true
	},
}

Output of gopls window:
[Info  - 9:21:14 AM] 2019/10/22 09:21:14 c:\Users\noflo\go\src\jarvis-server\app\session does not have prefix C:\Users\noflo\go\src
[Info  - 9:21:14 AM] 2019/10/22 09:21:14 go/packages.Load
	packages = 1
[Info  - 9:21:14 AM] 2019/10/22 09:21:14 go/packages.Load
	package = builtin
	files = [c:\go\src\builtin\builtin.go]
[Error - 9:21:15 AM] Request textDocument/definition failed.
  Message: no identifier found
  Code: 0
[Error - 9:22:42 AM] Request textDocument/definition failed.
  Message: no identifier found
  Code: 0
[Error - 9:23:43 AM] Request textDocument/definition failed.
  Message: no identifier found
  Code: 0
[Error - 9:25:08 AM] Request textDocument/definition failed.
  Message: no identifier found
  Code: 0

I'll try disabling the other settings as requested (organize imports and format code).

@jpvillaseca: Thank you for the detailed report! What is the output of gopls -rpc.trace -v format path/to/file.go?

Oh I'm sorry I see you've attached it. I will look into this more thoroughly ASAP.

To get more detailed gopls logs, you can add:
 "go.languageServerFlags": [
    "serve",
    "-rpc.trace",
],

to your VSCode settings. Based on the trace you attached, it seems like the file you were trying to format already had syntax errors and wasn't formatted. Can you try formatting a file that doesn't have any syntax errors?

Thank you, @stamblerre .
Oh, the problem was that the file shouldn't have had syntax errors since they were introduced after saving, and I couldn't repair the file within vscode. To get those traces from gopls in that situation, when the issue resurfaces,  I'll have to edit the file in another editor, fix the issues there and save the file, and run gopls trace. Because I can't do that from vscode. Stay tuned  😅

Ah I see - makes sense. Thank you for doing this - it will be very helpful to get this information!

Ok. The verbose trace from within vscode is:
https://gist.github.com/jpvillaseca/8cdc67772db6a40d8f1dfb8f190c49bf
And the output of the gopls trace command on the file without issues:
https://gist.github.com/jpvillaseca/b62aee8c5094d0f150631473e5154a1a
(This is without go-diff: true)

Do you mind sharing the same but with go-diff: true? At this point I think we will definitely be migrating to the go-diff algorithm in the next release.

Of course.  Here are the traces with go-diff: true
It was easy to trigger the issue: I set the go-diff: true option, restarted vscode, saved an open file from the workspace (the same from the previous post), to trigger a format document and it crippled the following line of code:
Before saving, this is line 18:
var db *gorm.DB // gorm handles the connection pool using the recommended approach for each database engine

After saving. It ate the comments and some words. I had to do 4 undos to get back to the working version, but it is already crippled on-disk.
var db *gorm.DB  pool using the recommended approach for each database engine

Here is the trace from vscode:
https://gist.github.com/jpvillaseca/9187d9c3f9aebe92e87c9da837b3ca19
And this is the trace from gopls: (I reverted the file to the original version using notepad)
https://gist.github.com/jpvillaseca/45a285c72b15b5de5efb99e567c3cb62
I hope this helps =)

Thank you so much for this report. Definitely very unexpected behavior. @ianthehat: Any ideas here?

@jpvillaseca: Were you able to determine if this happens as a result formatting or organizing imports? That is, can you reproduce it by right-clicking and selecting Format Document? Or does it happen when you remove an import and then do Ctrl + Shift + P -> Source Action -> Organize Imports. Or does it happen in both cases? Also, does it happen consistently or only on occasion?

It seems organize imports and format document are both culprit.
I added an intentionally failing import, run the Organize Imports command and it triggered the issue: Vscode gopls trace: https://gist.github.com/jpvillaseca/e943fb6d9e865184d3722735d6c4e30d
And also the same with Format document.  The characters erased from the file are from the last lines. Both triggered the same types of artifacts.
Vscode gopls trace: https://gist.github.com/jpvillaseca/7bd712337a2060ec116f1c5fb38a25c1
The original last 17 lines from the file:
// CheckForStalledJobs looks for any dangling jobs that didn't report progress on time
func CheckForStalledJobs() {
	client := redispool.GetClient()
	if client == nil {
		return errors.New("Unable to get redis client")
	}

	// for each job in the in-progress list look for their entry in the inprogress list
	inprogressJobs := jobs.LRange("inprogress-jobs", 0, -1)

	// if not there, mark it as retry and move it to the queue or cancel it if it exceeds the retry threshold
}

// func DequeueJob() job *jc.Job {
// 	// Look for a
// }

And after running either command: (it even ate the "b" from DequeueJob in the commented out section, or the "e" in "entry"  in another comment, and some spacesand curly braces in between
// CheckForStalledJobs looksfor any dangling jobs that didn't report progress on time
func CheckForStalledJobs() {
	client := redispoo.GetClient()
	if client == nil {
		eturn errors.New("Unable to get redis client")
}

	// for each job in the in-progress list look for their ntry in the inprogress list

	/ if not there, mark it as retry and move it to the queue or cancel it if it exceeds the retry threshold

// func DequeueJo() job *jc.Job {
// 	/ Look for a
// }

Hello @stamblerre  I know this issue is still marked open. But wanted to test the issue in the latest version of gopls 0.2.2. It still persists, the behavior remains the same.
Additionally, I started increasing the editor.codeActionsOnSaveTimeout, but it doesn't prevent the issue

Can you try reproducing on the current master? v0.2.2 was just a small patch release with only 2 small fixes.

I have the same problem: https://streamable.com/69fgs
I would be happy to help with this issue.

@dhcgn: Can you see if this reproduces for you at master? You can download gopls at master by running GO111MODULE=on go get golang.org/x/tools/gopls@master golang.org/x/tools@master.

@stamblerre the behavior changed, now I can save the file without it will be corrupted but without auto-format when saving a file. Auto-Succession was broken too.
How can I get the gopls from master and keep the integration in vscode working?
After I update the go tools the old behavior is back again:
go.toolsGopath setting is not set. Using GOPATH C:\Users\danie\go
Installing 18 tools at C:\Users\danie\go\bin in module mode.
  gocode
  gopkgs
  go-outline
  go-symbols
  guru
  gorename
  gotests
  gomodifytags
  impl
  fillstruct
  goplay
  godoctor
  dlv
  gocode-gomod
  godef
  goimports
  golint
  gopls

Can you share your VS Code settings.json file? Updating to master should not break formatting. If you can also share the gopls logs, that would be helpful too (see how to capture logs here).

Re-opening this issue, as it's been reported several times with gopls/v0.3.1. For all those who have this issue, please provide logs from an instance when this happened in your editor. Information on how to capture logs can be found here.

I believe I've figured out the issue and have a fix for it. If affected users could try applying the patch before it is merged to confirm that it fixes the issue, that would be very helpful. Here are the steps to do so:
$ git clone https://go.googlesource.com/tools
$ cd tools
$ git fetch "https://go.googlesource.com/tools" refs/changes/59/218859/3 && git cherry-pick FETCH_HEAD
$ cd gopls
$ go install

The change is now merged, so gopls can instead be downloaded by running GO111MODULE=on go get golang.org/x/tools/gopls@master golang.org/x/tools@master.

I encountered the issue today with version v0.3.2-pre1. On save, it changed the imports from:
import (
"context"
"github.com/pkg/errors"
"github.com/coachclientconnect/system/core/golang/services"
)
... to:
import (
"context"
"github.com/coachclientconnect/system/core/golang/services"
"github.com/pkg/errors"
"github.com/pkg/errors"

)
The logs are here.
gopls version output:
golang.org/x/tools/gopls v0.3.2
<EMAIL_ADDRESS>h1:xuQYMIznE2b+x+0Efw5qdcfOcHqftRLKOv12kvM3vGI=
gopls -rpc.trace -v format coachingprogram_entity_server_extras.go output is here. Not sure if this is relevant, but one thing I noticed about this is that the output doesn't show the doubled up "github.com/pkg/errors" entry even though it was doubled in the file when gopls -rpc.trace -v format coachingprogram_entity_server_extras.go was run.
Thanks for your help on this!

Thank you for following up!
As expected with this bug, we see a codeAction response with a version of 0:
[Trace - 09:46:25.588 AM] Received response 'textDocument/codeAction - (7)' in 1178ms.
Result: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"documentChanges":[{"textDocument":{"version":0,"uri":"file:///home/galen/projects/git/@coachclientconnect/system-dev/modules/backend/program/coachingprogram_entity_server_extras.go"},"edits":[{"range":{"start":{"line":7,"character":0},"end":{"line":8,"character":0}},"newText":""}]}]}}]

Most notably, the file has a @ in it, which VS Code escapes when the didOpen is sent to the server:
[Trace - 09:46:19.625 AM] Sending notification 'textDocument/didOpen'.
Params: {"textDocument":{"uri":"file:///home/galen/projects/git/%40coachclientconnect/system-dev/modules/backend/program/coachingprogram_entity_server_extras.go","languageId":"go","version":1,"text":"<redacted>"}}

@heschik has recently made some changes to our handling of URIs because of this exact issue. @galenwarren: Can you download gopls at master and see if the issue still reproduces? To download at master, run the following command: GO111MODULE=on go get golang.org/x/tools/gopls@master golang.org/x/tools@master.

I've installed the master version -- will see how it goes and report back. Thanks again.

@stamblerre what I found that worked for me was to enable Go Modules. Without them, the issue appeared on any settings and version configuration, but with go modules, gopls works wonders.
These are my relevant settings
"go.useLanguageServer": true,
    "go.languageServerExperimentalFeatures": {
        // "diagnostics": true,
        "format": false, // to let goimports/gofmt/goreturns format the code instead of gopls
        "signatureHelp": true,
        "workspaceSymbols": true,
    },
    "gopls": {
        "usePlaceholders": true, // add parameter placeholders when completing a function
    },

@jpvillaseca: Setting format to false may also mask the issue. I would expect that this issue should be fixed at master, however (unless there is a corner case we haven't yet encountered, which is very possible).

Just wanted to let you that I've been using the master version for a few days now and all seems to be good! Any thoughts on when that version might be published? Thanks.

Glad to hear it! I'll close this issue then. (Please re-open if something new comes up.)
A new release will be coming shortly (next week, hopefully). An update will be published here when it's available.


Remove support for cbmc-viewer 1.0

This pull request removes support of deprecated tools (cbmc-batch, cbmc-viewer version 1, and make-source) and adds support for generating reports without coverage: Running "make report" generates a report with property and coverage checking in "report" subdirectory, and running "make report-no-coverage" generates a report with only property checking in "report-no-coverage".

You could update src/cbmc_starter_kit/template-for-repository/proofs/run-cbmc-proofs.py to enable a user of that script to specify that the reports generated by CBMC viewer for their reports should not contain information concerning coverage.
A --no-coverage flag can be added to get_args() which will allow you to create the following variable after L390:
report_target = "_report_no_coverage" if args.no_coverage else "_report"

and to pass it to the configure_proof_dirs function.
Instead of specifying _report on L314, you could use report_target.

This has been tested on the HTTP repository, and I've demonstrated that the sets of commands issued by the master version and this version are the same for the report target.


summary error

I've confirmed that there's an error in summary. Recall the empirical result that P(0)=0.789. But summary produces code that results in this:
chad@komputilo:~/git/iu/tcp$ stack exec tcp2 | head -n 10000 | cut -f 1 -d "," | sort | uniq -c
   5560 0
   4440 1

Here's the compile output for comparison, which matches (within random noise) the empirical result:
chad@komputilo:~/git/iu/tcp$ stack exec tcp2 | head -n 10000 | cut -f 1 -d "," | sort | uniq -c
   7843 0
   2157 1

I'll confirm that everything is pushed so the result is easily reproducible.

...aaaaand it's gone.
There's some development strangeness, because...

Hakaru is installed globally. If it weren't it would require update-maple even more often, and would be more of a nuisance. BUT
It's also installed as part of the tcp repo. This is because the Hakaru repo includes not only the code for the executables, but also the library code to make the results of compile and summary actually work.

For reproducibility I had pinned the hakaru submodule to a particular commit. But as it turns out, this had some bugs that seem now to have been corrected.

I'm sad that a bug disappeared without us knowing what caused it and what fixed it. We care about this bug because it was making our simplify-summary pipeline generate a Gibbs sampler that was incorrect and performed poorly. But now that this bug has disappeared, does our simplify-summary pipeline still generate a Gibbs sampler that is incorrect and performs poorly, compared to the analytical result and/or to Julia's TopicModels.jl?

Hmm, I think I spoke too soon:
chad@komputilo:~/git/iu/tcp$ compile --logfloat-prelude
src/LDA/lda_simp.hk http://lda_simp.hk -o src/LDA/Model.hs -M LDA.Model
chad@komputilo:~/git/iu/tcp$ stack build
tcp-<IP_ADDRESS>: unregistering (local file changes: app/TCP2.hs)
tcp-<IP_ADDRESS>: build (lib + exe)
tcp-<IP_ADDRESS>: copy/register
Log files have been written to: /home/chad/git/iu/tcp/.stack-work/logs/
chad@komputilo:~/git/iu/tcp$ time stack exec tcp2 | head -n 10000 | cut -f
1 -d "," | sort | uniq -c

7843 0*
2157 1*

real 0m3.891s
user 0m3.880s
sys 0m0.236s
chad@komputilo:~/git/iu/tcp$ summary --logfloat-prelude
src/LDA/lda_simp.hk http://lda_simp.hk -o src/LDA/Model.hs -M LDA.Model
chad@komputilo:~/git/iu/tcp$ stack build
tcp-<IP_ADDRESS>: unregistering (local file changes: src/LDA/Model.hs)
tcp-<IP_ADDRESS>: build (lib + exe)
tcp-<IP_ADDRESS>: copy/register
Log files have been written to: /home/chad/git/iu/tcp/.stack-work/logs/
chad@komputilo:~/git/iu/tcp$ time stack exec tcp2 | head -n 10000 | cut -f
1 -d "," | sort | uniq -c

5560 0*
4440 1*

real 0m2.739s
user 0m2.700s
sys 0m0.268s
On Mon, Jun 12, 2017 at 8:36 PM Chung-chieh Shan<EMAIL_ADDRESS>wrote:

I'm sad that a bug disappeared without us knowing what caused it and what
fixed it. We care about this bug because it was making our simplify-
summary pipeline generate a Gibbs sampler that was incorrect and
performed poorly. But now that this bug has disappeared, does our simplify
-summary pipeline still generate a Gibbs sampler that is incorrect and
performs poorly, compared to the analytical result and/or to Julia's
TopicModels.jl?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/hakaru-dev/hakaru/issues/82#issuecomment-307985860,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABISwYBgIEWzQJ8rMQytfffIpHI44sKVks5sDe9lgaJpZM4N3gCT
.

I suggest using compile for now and getting the result to Max today. Then I
can start on the next model and help with debugging summary as it comes up.
Or I could try to dig into summary, but I'm not familiar with the codebase
so there would be spin-up time.
On Tue, Jun 13, 2017 at 9:43 AM Chad Scherrer<EMAIL_ADDRESS>wrote:

Hmm, I think I spoke too soon:
chad@komputilo:~/git/iu/tcp$ compile --logfloat-prelude
src/LDA/lda_simp.hk http://lda_simp.hk -o src/LDA/Model.hs -M LDA.Model
chad@komputilo:~/git/iu/tcp$ stack build
tcp-<IP_ADDRESS>: unregistering (local file changes: app/TCP2.hs)
tcp-<IP_ADDRESS>: build (lib + exe)
tcp-<IP_ADDRESS>: copy/register
Log files have been written to: /home/chad/git/iu/tcp/.stack-work/logs/
chad@komputilo:~/git/iu/tcp$ time stack exec tcp2 | head -n 10000 | cut
-f 1 -d "," | sort | uniq -c

7843 0*
2157 1*

real 0m3.891s
user 0m3.880s
sys 0m0.236s
chad@komputilo:~/git/iu/tcp$ summary --logfloat-prelude
src/LDA/lda_simp.hk http://lda_simp.hk -o src/LDA/Model.hs -M LDA.Model
chad@komputilo:~/git/iu/tcp$ stack build
tcp-<IP_ADDRESS>: unregistering (local file changes: src/LDA/Model.hs)
tcp-<IP_ADDRESS>: build (lib + exe)
tcp-<IP_ADDRESS>: copy/register
Log files have been written to: /home/chad/git/iu/tcp/.stack-work/logs/
chad@komputilo:~/git/iu/tcp$ time stack exec tcp2 | head -n 10000 | cut
-f 1 -d "," | sort | uniq -c

5560 0*
4440 1*

real 0m2.739s
user 0m2.700s
sys 0m0.268s
On Mon, Jun 12, 2017 at 8:36 PM Chung-chieh Shan<EMAIL_ADDRESS>wrote:

I'm sad that a bug disappeared without us knowing what caused it and what
fixed it. We care about this bug because it was making our simplify-
summary pipeline generate a Gibbs sampler that was incorrect and
performed poorly. But now that this bug has disappeared, does our
simplify-summary pipeline still generate a Gibbs sampler that is
incorrect and performs poorly, compared to the analytical result and/or to
Julia's TopicModels.jl?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/hakaru-dev/hakaru/issues/82#issuecomment-307985860,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABISwYBgIEWzQJ8rMQytfffIpHI44sKVks5sDe9lgaJpZM4N3gCT
.

I'll debug summary. But it's news to me that, as soon as you switch from compile to summary, Hakaru generates a working Gibbs sampler for the LDA model. How do you show that fact off?

On Tue, Jun 13, 2017 at 10:04 AM Chung-chieh Shan<EMAIL_ADDRESS>wrote:

I'll debug summary. But it's news to me that, as soon as you switch from
compile to summary, Hakaru generates a working Gibbs sampler for the LDA
model. How do you show that fact off?

I'm sorry, I don't understand this question.

Sorry, let me rephrase. Would you please demo (maybe even at our team meeting today?) what happens when you replace summary by compile to work around this bug?

And would you please make sure that the versions of lda.hk and lda_simp.hk that demonstrate the bug are pushed to the tcp repo under the master branch and the src/LDA directory? Currently the latest lda.hk there contains a Hakaru syntax error.

Ok, I'm running now. Whould be interesting, maybe just to see the top
topics it generates?
I'll roll back lda.hk to match the lda_imp.hk I'm using.
On Tue, Jun 13, 2017 at 10:38 AM Chung-chieh Shan<EMAIL_ADDRESS>wrote:

And would you please make sure that the versions of lda.hk and lda_simp.hk
that demonstrate the bug are pushed to the tcp repo under the master
branch and the src/LDA directory? Currently the latest lda.hk there
contains a Hakaru syntax error.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/hakaru-dev/hakaru/issues/82#issuecomment-308192529,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABISwRrZtxXbZ0kfdLhwlUNIQILLRW92ks5sDsj2gaJpZM4N3gCT
.

I just pushed lda_simp2.hk, which is different only because of updates to
the simplify command.
On Tue, Jun 13, 2017 at 10:41 AM Chad Scherrer<EMAIL_ADDRESS>wrote:

Ok, I'm running now. Whould be interesting, maybe just to see the top
topics it generates?
I'll roll back lda.hk to match the lda_imp.hk I'm using.
On Tue, Jun 13, 2017 at 10:38 AM Chung-chieh Shan <
<EMAIL_ADDRESS>wrote:

And would you please make sure that the versions of lda.hk and
lda_simp.hk that demonstrate the bug are pushed to the tcp repo under
the master branch and the src/LDA directory? Currently the latest lda.hk
there contains a Hakaru syntax error.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/hakaru-dev/hakaru/issues/82#issuecomment-308192529,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABISwRrZtxXbZ0kfdLhwlUNIQILLRW92ks5sDsj2gaJpZM4N3gCT
.

Thanks, and it was with lda_simp.hk that you experienced this summary bug, right?

yes, that's right
On Tue, Jun 13, 2017 at 11:35 AM Chung-chieh Shan<EMAIL_ADDRESS>wrote:

Thanks, and it was with lda_simp.hk that you experienced this summary
bug, right?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/hakaru-dev/hakaru/issues/82#issuecomment-308208485,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABISwVbB0pc3gII9kS_YAnIb45c-srRvks5sDtZggaJpZM4N3gCT
.

Ok, I think I fixed the problem. Would you please try summary again, @cscherrer, on lda_simp.hk (which unfortunately the latest master commit does not produce, due to https://github.com/hakaru-dev/hakaru/issues/84)?
In more detail: the problem was that

summary produced subexpressions of the form "let summary = ... in 0", because
summary calls NewSLO:-simplify_factor_assuming, and
NewSLO:-simplify_factor_assuming(piecewise(And(d::integer,...), ..., 0), KB(Bound(d,=,idx(w,wordUpdate)), Introduce(d, HInt(Bound(>=,0), Bound(<=,Hakaru:-size(word_prior)-1))), Introduce(w, HArray(HInt(Bound(>=,0)))))) returned 0, because
KB:-assume doesn't realize that d::integer is always true, and
KB:-assume thinks that Not(d::integer) is always true.

Item 4 above is fixed by ba2e06449cedafadb89f957a54ee7bcf3fb6e9c1, and item 5 above is fixed by d1d85b7bc4501f1528e4cc8c085f795140011eaf.


Get integer from json object

1. SDK version（SDK 版本）
{
}

2. In what kind of operation problems appear, and how to reproduce the problem ?（什么样的操作步骤问题会出现，是否是稳定复现，如何复现问题？）
{
I want to parse json object which has integer as one item
e.g. {"code":101,"url":"www.api"};
I am getting error when parsing this. Also i want to store 101 in integer. How can i ?
}

aren't this cJSON related issue!
BTW :-
int code = cJSON_GetObjectItem(root, "code")->valueint;
char *url = cJSON_GetObjectItem(root, "url")->valuestring;

@punee995
cJSON_GetObjectItem(root, "code") is of type  cJSON , we cannot assign it to integer.
Anyway i found a solution.

please follow a simple example here  for the better understanding of cJSON

@Tanukaroy4494
Hey Tanukaroy4494. Would you mind sharing the solution?
Or you just wrote integers as characters? e.g. {"code":"101","url":"www.api"};

Hi,
You can add integers to json , it is valid.{/"code/":101,/"url/":/"www.api/"}
Please share link of your question.
Sent from Yahoo Mail on Android
On Tue, 7 Apr 2020 at 1:05<EMAIL_ADDRESS>wrote:
@Tanukaroy4494
Hey Tanukaroy4494. Would you mind sharing the solution?
Or you just wrote integers as characters? e.g. {"code":"101","url":"www.api"};
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I found the prolem.. cJSON_Parse uses strtod function which is not properly implemented in A9G "stdlib.h". I fixed cJSON parse library to use atof instead and it works now.

I ran in the same issue and here is my take on the subject and my work around, thank you for your efforts it has shed a guiding light along my path, it is true that the cJSON_Parse uses strtod function, and the atof function is a valid replacement, but it lacks the pointer portion parameter, which leaves the pointer after_end at it's initial value (NULL), my work around is to increment that variable on each run of the loop just before the switch statement:
for (i = 0; (i < (sizeof(number_c_string) - 1)) && can_access_at_index(input_buffer, i); i++)
    {
        after_end ++; // count the number of character to set buffer.offset for the next item
        switch (buffer_at_offset(input_buffer)[i])         {...
and decrement it once just before assigning it's value to  input_buffer->offset:
    after_end--; //step back one character to get the coma marker
    input_buffer->offset += (size_t)after_end; // set next point
return true;


Is the VCC release available yet?

Just the title, I attempted to add the package.json in 'Packages/dev.hai-vr.cge/package.json' to VCC, and it errors out with the following:
Failed to load repository data from https://github.com/hai-vr/combo-gesture-expressions-av3/blob/main/Packages/dev.hai-vr.cge/package.json. The URL is invalid or does not contain a valid repository listing.
Is it not ready yet, or am I doing it wrong?

Hi, please follow this documentation page to install the VCC listing:

https://docs.hai-vr.dev/docs/products/combo-gesture-expressions/v3.0-vcc

Ah, so I was doing it wrong, thank you!


Added Pytthon 3.5 and Django 1.11

Fix #18
Drop support of 1.6 and 1.7
Add support of 1.10 and 1.11 (and currently master as well)
Contains the config filter fix in PR #20

Great job @batisteo , will review and release it today

Ok i released 1.1.0 but i did have to temporary remove Django 1.11 support since Widget internals have changed and every tests using CodeMirrorWidget are failing. Will see if i can easily add 1.11 support and keep previous Django support.


add cached generation buffer

in python GenerationSession.setup, call torch.empty new GPU memory, we should new this memory in GenerationSession init with call method _init_cache_buffer. In doing so, it can avoid memory fragmentation and Accelerate memory allocation speed

Sorry for delay response. Could you explain more about "it can avoid memory fragmentation and Accelerate memory allocation speed"? Should PyTorch memory pool prevent such issue?
Could you share the performance number to help understand the gap caused by this improvement?


Firefox context menu event also fires click handler.

Version
2.6.10
Reproduction link
https://codesandbox.io/s/v63jz95o37
Steps to reproduce
In the sandbox link, using Firefox, right click on the text, you'll see both the contextmenu click handler called, and the body click handler setup in the mounted hook.
What is expected?
It is expected that only the contextmenu handler should be called.
What is actually happening?
The contextmenu and body "click" handler are called. This only happens in Firefox.

There is a bug listed against Mozilla for this -> https://bugzilla.mozilla.org/show_bug.cgi?id=184051 but, it's 17 years old so perhaps it's a hard one to fix.  Other frameworks (I looked at Rails -> https://github.com/rails/rails/pull/34573 and Inferno -> https://github.com/infernojs/inferno/issues/1273 ) seem to have put a fix in place for this behavior.
Totally fair enough if this is a "won't fix" as it really is a Firefox issue, but, if Vue could prevent it somehow, that would be great!
I ran into this bug as I was creating a contexemenu component and I attached a click handler to the body to dismiss the contexemenu, unfortunately, in Firefox, this meant that the menu was shown and then immediately hidden again as the click handler was fired on the document.

It seems that no click event handler won't be triggered when you attach it to document.documentElement:
document.documentElement.addEventListener('click', e => {
  // won't trigger on right clicks
})

See this modified sandbox.

Thanks @Justineo . I'll close this issue as, like I said above, it's not really a vue issue anyway.


Google.Cloud.BigQuery.V2 - GetTableAsync does not work for .NET 9.0

Description
The Google.Cloud.BigQuery.V2.BigQueryClient::GetTableAsync throws an exception when invoked with projectId, datasetId and tableId. This only happens in .NET 9.0, if I downgrade my sample application to .NET 8.0 keeping the same nuget package version, it works just fine. (Tested older versions as well without any luck.)
For both framework version tests, the parameters are hard coded in the class as private read only variables and does not change between tests.
{"ServiceName":"bigquery","Error":null,"HttpStatusCode":0,"Message":"Parameter validation failed for \"tableId\" : The parameter value must be a non-empty string","Data":{},"InnerException":null,"HelpLink":null,"Source":"Google.Apis","HResult":-2146233088,"StackTrace":" at Google.Apis.Requests.ClientServiceRequest`1.AddParameters(RequestBuilder requestBuilder, ParameterCollection inputParameters)\r\n at Google.Apis.Requests.ClientServiceRequest`1.CreateBuilder()\r\n at Google.Apis.Requests.ClientServiceRequest`1.CreateRequest(Nullable`1 overrideGZipEnabled)\r\n at Google.Apis.Requests.ClientServiceRequest`1.ExecuteUnparsedAsync(CancellationToken cancellationToken)\r\n at Google.Apis.Requests.ClientServiceRequest`1.ExecuteAsync(CancellationToken cancellationToken)\r\n at Google.Cloud.BigQuery.V2.BigQueryClientImpl.GetTableAsync(TableReference tableReference, GetTableOptions options, CancellationToken cancellationToken)\r\n at GoogleBigQueryService.GetRowCountAsync() in c:\\...\\GoogleBigQueryService.cs:line 43"}

Environment details

OS:
.NET version: 9.0
Package name and version: Google.Cloud.BigQuery.V2, 3.10.0

Steps to reproduce
var credentials = GoogleCredential.FromJson(_jsonCredentials);
var client = BigQueryClient.Create(_projectId, credentials);
var table = await _client.GetTableAsync(_projectId, _datasetId, _tableId);

The line var table = await _client.GetTableAsync(_projectId, _datasetId, _tableId) throws an exception when targeting .NET 9, but not when targeting .NET 8.
Project file for reference:
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net9.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Google.Cloud.BigQuery.V2" Version="3.10.0" />
  </ItemGroup>

</Project>

This is due to a .NET 9.0 JIT bug. See https://github.com/googleapis/google-api-dotnet-client/issues/2897 for another report of this with Google libraries, and https://github.com/dotnet/runtime/issues/108969 for the core runtime issue.

Ah I see, so while waiting for MS to resolve and release a fix for the issue in the framework (https://github.com/dotnet/runtime/issues/108969), we should set the env-variable then (DOTNET_JitEnablePhysicalPromotion=0)?
That seems to resolve the issue locally at least so I assume it will work in Azure as well since others has had success there.

Yes, I think that would be the best way forward.

(Closing this issue now.)


feat(breadcrumb): create functional breadcrumb

Codecov Report

Merging #52 into master will decrease coverage by 1.96%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master     #52      +/-   ##
=========================================
- Coverage    4.93%   2.97%   -1.97%
=========================================
  Files          30      36       +6
  Lines         162     269     +107
  Branches       39      70      +31
=========================================
  Hits            8       8
- Misses        122     206      +84
- Partials       32      55      +23

Impacted Files
Coverage Δ

src/features/employees/employeesData.js
0% <0%> (ø)

src/features/error/index.js
0% <0%> (ø)

src/components/sideMenu/SideMenu.js
0% <0%> (ø)
:arrow_up:

src/utils/index.js
0% <0%> (ø)

src/components/breadcrumb/Bread.js
0% <0%> (ø)

src/components/breadcrumb/index.js
0% <0%> (ø)

src/mock/menu.js
0% <0%> (ø)

src/features/employees/EmployeesList.js
0% <0%> (ø)
:arrow_up:

src/layouts/Default.js
0% <0%> (ø)
:arrow_up:

src/components/sideMenu/SideMenu.container.js
0% <0%> (ø)
:arrow_up:

... and 7 more

Continue to review full report at Codecov.

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


OCC-199: Prevent checking out if there are unavailable products in the cart

OCC-199
Fixes #375

I found a way to still reproduce the original error. If you set the inventory of Test Free Product (which allows back-order) to 0 and try to check out you still get the "Inventory value cannot be negative." error.

I found a way to still reproduce the original error. If you set the inventory of Test Free Product (which allows back-order) to 0 and try to check out you still get the "Inventory value cannot be negative." error.

Looks like the allows back order value is not properly taken into account during checkout. How should this work when the inventory still has items available and back ordering is allowed -- inventory should be decreased as normal, right? As long as it doesn't go below 0, that is.

I found a way to still reproduce the original error. If you set the inventory of Test Free Product (which allows back-order) to 0 and try to check out you still get the "Inventory value cannot be negative." error.

Looks like the allows back order value is not properly taken into account during checkout. How should this work when the inventory still has items available and back ordering is allowed -- inventory should be decreased as normal, right? As long as it doesn't go below 0, that is.

Yeah, inventory should still be decreased. I think you just have to change this line to also take inventoryPart.AllowsBackOrder into consideration


Canvas method to request a new draw

Having a (cross-gui-toolkit) method that can be used to request a new draw would be nice. When using qt canvas.update()  does the trick, but a more general solution would be favorable, plus we can add some niceties:

calling window.requestAnimationFrame schedules a draw call indirectly (non-blocking)
animation is paused when the canvas is not visible (scheduled calls are not executed until canvas becomes visible again)
refresh rate of the GUI environment is matched if possible
callback is passed the time delta since the last call
you have to request another draw at the end of your animation function; this avoids scheduling too many calls if your drawing happens to be slower than the time budget allows for

I'm wondering if we should just leave this up to the application developer by providing an API that allows them to do it.

Nice work on the docs! The GUI API page's examples left me a little confused though; where are the calls to request_draw?
Looking at the Qt canvas a little better, it appears that Qt is making the calls, rather than the python code. I guess my expectations were somewhat different here.
I understand that Qt will trigger a draw when the window is resized for example, or opened for the first time. Does Qt also continuously trigger drawing when there is no interaction, or does the user then need to use request_draw to achieve that?

Good question. The GUI toolkit will indeed request a new draw when it knows that the visualization needs to be refreshed. Like when the window is resized, and om some systems when part of the window was hidden by another window and is now shown again. This was already the case before #78. What was added was the possibility for the user to request a draw. E.g. in cases that the visualization itself has changed.
This works somewhat different for Qt and glfw. In Qt the former already works automatically, and requesting a draw is done simply by calling update(). In both cases this will at some point result in a draw event.
For glfw you have to bring your own event loop. So this draw event ... we have to do that ourselves. The simplest way I could find to realize this is by adding a single function (update_glfw_canvasses) that you call on each iteration, and which draws any windows that have requested (manually or via e.g. a resize) to be redrawn.

Ok, great, that's perfect!

Qt the former already works automatically, and requesting a draw is done simply by calling update(). In both cases this will at some point result in a draw event.

Just to make sure I fully understand the details here: so Qt does not continuously call update() when only the visualization changes?

Haha, now I'm not sure if I understand your question correctly :)
So, indeed Qt by itself only generates a new draw event when the window is somehow invalid (e.g. on resize). This means that our users need to call request_draw() when the viz needs an update. The request_draw() function for the Qt canvas simply calls .update().

Got it! Thanks


Clearly mark generated profiles as "bridged"

Feedback from Giszmo in Nostr (leo@nostr.info):

Who has the priv keys for those "Generated by nitter.net" accounts like @Adam Back / @adam3us? Could we please more clearly mark these accounts once  these users actually join nostr @adam3us? @jleger2023's "recommended follows" for example invites me to follow that nitter account based on 30 of my follows following it and I stumble over it every time I use that feature.
I think the bot was retired but maybe the priv keys are still around to mark accounts maybe as "ghost of @adam3us" or so.

Mark more clearly that this accounts are "bridges" and not actual "real profiles".

Starting with v0.4.7 "(RSS Feed)" is appended to the username.


How does query work (without loading everything into memory)?

Nice work for exploring a new way to improve the persistent storage on web. The performance improvement is very impressive.
I have a question around querying. In your blog, you mentioned it never loads the database into memory because it only loads whatever SQLite asks for. It confuses me how the library is able to execute SQL statements against ArrayBuffers persisted in idb without loading them into memory first. Can you please share more details on the memory usage of the library? Sharing JS heap snapshots would help a lot.
Thanks!

I'm not the author, but think I can answer this.
Imagine a library - rows of shelves filled with books. You want to find the first sentence of a particular book, and to optimize your busy schedule you'd like to need to read as little books as possible. By default, you'd have to start going through all the books in the library to find the right one. However, thankfully, someone has indexed the library, and the first book in the library contains alphabetical information where every book in the library can be found. You scan the first book (perhaps with an alphabetical binary search?) to find where your particular book is, and then head straight for it. This means you only need to look at two books instead of most of them to find your answer.
This is one of the core capabilities of any file system based database - being able to manage indexes that optimize what memory pages need to be loaded and looked at. The memory pages are persisted in idb, and so are the B-tree indexes. Effectively, sqlite first takes your query, parses it and then builds an optimized "query plan" - an optimal sequence of operations to run to fulfil your query. It can do this by loading information about the indexes it has (that are in memory pages) and then using black magic to optimize your query for how your information is structured using these indexes. Once it has this query plan, it uses its own virtual machine (awesome, right) to execute it. This in turn will refer to the b-tree which will refer to only the particular memory pages it needs.
If you use indexes to structure your information well for the queries you will want to run on it, it will only have to load the memory pages that contain your b-trees and then use that to refer to only the pages this query will need. This means that if you run a really suboptimal query without indexes that needs to scan every row in your entire database, it will technically still have to go through all the memory pages. However at this point you lose the point of the database, and usually you'd structure your indexes for what kinds of queries you'd like to do.
More info about how sqlite in particular manages this can be found on the excellent architecture page of the sqlite documentation.
However, if you'd like to understand these concepts more in depth I can highly recommend this great tutorial that takes you through building a simplistic sqlite clone from scratch.

@Tankenstein provided a great answer, way more thorough than what I was going to say, thanks!
This library treats IDB just like a disk. A hard disk stores info in 4K blocks of bytes -- it can never read anything smaller than that (this is simplified). SQLite is built with all the things mentioned above to avoid having to read all the data needed from memory; it only loads the necessary blocks. We don't need to know of any of the fancy stuff that SQLite does; we just intercept read/write calls from SQLite and load in or wrote 4K blocks. But the difference is we are writing it to IDB, instead of a hard disk!

Great answers indeed. Thanks! @Tankenstein @jlongster


Feat: Start Page

What does this PR solve?
Create start page. Resolves #2
How do you implement this?

How do I test this?

Run npm run dev
Open localhost:3000 in browser

Additional Info

I add Monika logo to make it consistent with Monika's main website
I add background for Get Monika link to make it obvious call to action on the navbar

In a small screen, can you make this align inside?

In a small screen, can you make this align inside?

Fixed. Please recheck @nicnocquee.


Updates are not possible ...

Hi all,
with this config, i'm not able to update Shopware.
I tried to reproduce this problem with a clean and fresh install (v 5.1.6) and want to update to 5.2.6 (also tried a while ago to update to 5.2.1).
The update stops at http://domain.com/recovery/update/index.php/dbmigration
Showing:

Error
Received an error message.
URL: unpack?offset=0&total=0
Message: Not Found
Please try to fix this error and restart the update.
Response
404 Page Not Found
The page you are looking for could not be found. Check the address bar to ensure your URL is spelled correctly. If all else fails, you can visit our home page at the link below.

I think its because the nginx config does not take the following URLs into account:
http://domain.com/recovery/update/index.php/unpack?offset=0&total=0
I tried to change the jquery update script to get URLs like this (removed the "index.php"):
http://domain.com/recovery/update/unpack?offset=0&total=0
But this also does not work. I think its because the PHP Update Script uses app.map("/unpack").
I also tried several nginx changes but none of them works. Any help is greatly appreciate!
Greets,
Chris

+1

Hi Gargamil,
i think it helps a lot to replace:
location /recovery/update {
    index index.php;
    try_files $uri /recovery/update/index.php?$is_args$args;
}

with:
location /recovery/update/ {
                location /recovery/update/assets {
                }
                if (!-e $request_filename){
                        rewrite . /recovery/update/index.php last;
                }
}

i found this somewhere along the internet and it solves my issue, but i'm not sure why there is a difference ...

Yes, found this too and it works!
Maybe the config should be updated..

+1

@ChrisGitIt Yeah that did the trick for me.


industry/foc: add support for feedforward compensation

Summary
industry/foc: add support for PMSM feedforward compensation
reference: https://electronics.stackexchange.com/questions/386246/field-oriented-control-feed-forward-term
Impact
Testing
ESC based on b-g431b-esc

@raiden00pl please include the information from Summary into commit message or directly in the source code. It will be easier to find later.


removed open for review bucket #1170

Issue 1170

can you modify this so the page doesn't navigate to a blank state before redirecting?

Now it doesn't apply the filter before redirecting. I'm not quite sure of what you mean with blank state, at least in chrome it directly starts redirecting

@chq-matteo this is what I mean by blank state: http://imgur.com/a/JiIX7
Actually, it doesn't even redirect for me now -- it just goes to this state.

Yeah sorry I should have checked better, It was missing a .mode


Pagination in Remarketing Lists

Hi,
https://developers.google.com/resources/api-libraries/documentation/dfareporting/v3.3/python/latest/dfareporting_v3.3.remarketingLists.html
This is the code which we were
service = discovery.build('dfareporting', 'v3.3', credentials=credentials)

try:
    # Construct the request.
    request = service.remarketingLists().list(profileId=profile_id, advertiserId=advertiser_id, floodlightActivityId=floodlightActivityId, name='to')
    df3 = pd.DataFrame({'id': [], 'name': []})
    while True:
        response = request.execute()
        for remarketing_list in response['remarketingLists']:
            df3 = df3.append({'id': remarketing_list['id'], 'name': remarketing_list['name']}, ignore_index=True)

        print(response)

        if response['remarketingLists'] and response['nextPageToken']:
            request = service.remarketingLists().list_next(request,response)

        else:
            break

except client.AccessTokenRefreshError:
    print ('The credentials have been revoked or expired, please re-run the '
           'application to re-authorize')

We were trying to pull remarketing data on a client. The code works fine for the first page, but when we try to pull for the next one, the response is as below, which seems to suggest that the app isn't able to paginate.
Response --> 'kind': 'dfareporting#remarketingListsListResponse', 'remarketingLists': []

However, pagination works perfectly when tested with Google API Explorer.  Please advise.
-Jude D'Mello

Code above seems to be pulled from this sample: https://github.com/googleads/googleads-dfa-reporting-samples/blob/master/python/v3_3/get_remarketing_lists.py

@jimper
I don't have the necessary accounts and permissions to reproduce this issue.  Could you debug?

I can verify that paging through remarketingLists with the sample worked as expected using a test account. So this doesn't seem like a library issue to me, but there could still be an issue on the DCM side. Unfortunately there isn't enough info in the original report to reproduce exactly.
If you're still running into issues with this, I recommend reaching out to DCM API support and providing the specific values you used when making the request: user profile ID, advertiser ID, floodlight activity ID. The support team has the permissions necessary to reproduce and debug further.

@JudeDMello hope you have been able to get support from DCM side. I'm going to close this one out now as we are reasonably confident the issue is not in the library. Please feel free to continue the discussion here and we can reopen if something new comes up.


Create an ABAP Core Data Services (CDS) View in SAP NetWeaver 7.5

Tutorial URL: https://developers.sap.com/tutorials/abap-dev-create-cds-view.html
Please specify the step you are referring to Step 9.
There is a syntax error key TravelID;

Hi Faaiez,
I'm not getting a syntax error. Can you post the code of your CDS view. Also, does the error message say anything else?

Thank you for your feedback. We haven't heard from you in a while, so we are closing the issue.
If you still have questions, feel free to reopen the issue.


Add additional fun info to the contributors page

We have a fun start to the contributors page, would be fun to figure out how to add additional information to the page like what features each person worked on:
https://local.codeclimbers.io/contributors

An idea for that would be to make the cards expandable. The expanded cards would list out the features. And maybe the collapsed card just has an icon with a badge for the number of features they've worked on.
Open to ideas about how this could work.

@charlesnnanna I love it! Let's do it. Let's introduce one at a time. Also, we can hold of on the modal until we have the data for more detail like that

Nice. I'm already working on it. Now, we're starting with the Worked on Features/Solutions. The card is small and may not be able to hold all the features the contributor worked on. So, how do we work on that?  I am thinking maybe using some sort of popover or modal for this but I want to know what you think.
Below you will see what it looks like if I try to add the "Worked on" feature. Ellipsis appears at the end. That is nice but one won't be able to see all the info.

Also, are we going to fetch the contributions data from GitHub or we'll just do it our way?

Here are some rough thoughts:
https://www.loom.com/share/1c1349921bbc494a9d6e4d81e0685e60?sid=5f2302ef-bc25-4984-9717-b8286fd38868
I'm thinking of something more like this:

For pulling data from Github are you talking about getting what features they have worked on? As far as the individual features that people have worked on, I'm going to manually add that myself for now. No pulling the data from github at the moment

I just finished the loom video you made. I'll try it out and see if it looks good. I like the design though. It's neat.


Handling invalid UTF input

In my lexer I use a construct like this:
. {
    unput(*yytext);
    BEGIN(INVALID);
}

<INVALID>[^ \t\r\n]+ {
    error(yylloc, yytext, yyleng);
    BEGIN(INITIAL);
    return YYerror;
}

to report invalid input and re-synchronize the scanner to the next character that is likely to produce a valid token. I would like to use this same construct also to catch invalid UTF input. However, I haven't found a way to replace the [^ \t\r\n]+ pattern with something that stops matching at the first whitespace character and at the same time matches invalid input. Is there a way to do this?

The dot . in RE/flex in Unicode mode (%o unicode) is self-synchronizing and matches multiple invalid bytes until the next character. The next character is not consumed, but may be invalid as well, also matched by a catch-all dot rule. See Invalid UTF encodings. To answer your question, you cannot use bracket lists to match invalid Unicode, since character classes always represent valid input. You can use the dot rule in the INVALID start condition state like this:
<INVALID>{
[ \t\r\n] {
    error(yylloc, yytext, yyleng);
    BEGIN(INITIAL);
    return YYerror;
}
.   // skip (in)valid chars (until white space)
}

This example skips (in)valid characters until a single white space character is encountered. It consumes this white space character. If you don't want that, then use less(0) in the rule to shorten the match to a zero length.


Fix typos in cache-web-app-howto.md

Resolves #104829
Fix typos in articles/azure-cache-for-redis/cache-web-app-howto.md
Typos:
"In the web.config file, you can how to set the <appSetting> element for running the application locally."

Fix:
"In the web.config file, you can set the <appSettings> element for running the application locally."

@flang-msft
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@flang-msft - can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


bcunit: 3.0 -> 3.0.2

[x] built on NixOS

@GrahamcOfBorg build bcunit

Success on x86_64-linux (full log)
Partial log (click to expand)
-- Installing: /nix/store/8yp9dij0l4zawkvjynvyq49x9jdjl6lf-bcunit-3.0.2/share/BCUnit/Memory-Dump.dtd
-- Installing: /nix/store/8yp9dij0l4zawkvjynvyq49x9jdjl6lf-bcunit-3.0.2/share/BCUnit/Memory-Dump.xsl
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/8yp9dij0l4zawkvjynvyq49x9jdjl6lf-bcunit-3.0.2
shrinking /nix/store/8yp9dij0l4zawkvjynvyq49x9jdjl6lf-bcunit-3.0.2/lib/libbcunit.so.1.0.1
strip is /nix/store/5qj61lcvzlap87rf6blvf8p577d482bv-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/8yp9dij0l4zawkvjynvyq49x9jdjl6lf-bcunit-3.0.2/lib
patching script interpreter paths in /nix/store/8yp9dij0l4zawkvjynvyq49x9jdjl6lf-bcunit-3.0.2
checking for references to /tmp/nix-build-bcunit-3.0.2.drv-0 in /nix/store/8yp9dij0l4zawkvjynvyq49x9jdjl6lf-bcunit-3.0.2...
/nix/store/8yp9dij0l4zawkvjynvyq49x9jdjl6lf-bcunit-3.0.2

Failure on x86_64-darwin (full log)
Partial log (click to expand)
Package ‘bcunit-3.0.2’ in /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/tools/misc/bcunit/default.nix:16 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on aarch64-linux (full log)
Partial log (click to expand)
-- Installing: /nix/store/ddc1p6v0h4grnfr5vbvpx8j9zxmxbxyk-bcunit-3.0.2/share/BCUnit/Memory-Dump.dtd
-- Installing: /nix/store/ddc1p6v0h4grnfr5vbvpx8j9zxmxbxyk-bcunit-3.0.2/share/BCUnit/Memory-Dump.xsl
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/ddc1p6v0h4grnfr5vbvpx8j9zxmxbxyk-bcunit-3.0.2
shrinking /nix/store/ddc1p6v0h4grnfr5vbvpx8j9zxmxbxyk-bcunit-3.0.2/lib/libbcunit.so.1.0.1
strip is /nix/store/xmpjypwjmp2qi1chs5kr0hacnh161ls4-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/ddc1p6v0h4grnfr5vbvpx8j9zxmxbxyk-bcunit-3.0.2/lib
patching script interpreter paths in /nix/store/ddc1p6v0h4grnfr5vbvpx8j9zxmxbxyk-bcunit-3.0.2
checking for references to /build in /nix/store/ddc1p6v0h4grnfr5vbvpx8j9zxmxbxyk-bcunit-3.0.2...
/nix/store/ddc1p6v0h4grnfr5vbvpx8j9zxmxbxyk-bcunit-3.0.2

This commit broke the build of bctoolbox, which in turn is a dependency of linphone, a rather nice VoIP software I frequently use.
@GrahamcOfBorg build linphone

Failure on aarch64-linux (full log)
Partial log (click to expand)
error: while evaluating the attribute 'buildInputs' of the derivation 'linphone-3.10.2' at /var/lib/gc-of-borg/nix-test-rs-2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-2/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating the attribute 'nativeBuildInputs' of the derivation 'belle-sip-1.5.0' at /var/lib/gc-of-borg/nix-test-rs-2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-2/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating the attribute 'buildInputs' of the derivation 'openjdk-8u172b02' at /var/lib/gc-of-borg/nix-test-rs-2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-2/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating the attribute 'buildCommand' of the derivation 'openjdk-bootstrap' at /var/lib/gc-of-borg/nix-test-rs-2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-2/pkgs/stdenv/generic/make-derivation.nix:148:11:
No bootstrap for system

Failure on x86_64-darwin (full log)
Partial log (click to expand)
Package ‘linphone-3.10.2’ in /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/applications/networking/instant-messengers/linphone/default.nix:43 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Failure on x86_64-linux (full log)
Partial log (click to expand)
-- Configuring incomplete, errors occurred!
See also "/tmp/nix-build-bctoolbox-0.2.0.drv-0/source/build/CMakeFiles/CMakeOutput.log".
See also "/tmp/nix-build-bctoolbox-0.2.0.drv-0/source/build/CMakeFiles/CMakeError.log".
builder for ‘/nix/store/bhjhg90pspmkj659p956p6fadl7f08kw-bctoolbox-0.2.0.drv’ failed with exit code 1
cannot build derivation ‘/nix/store/v6kxq20yc4b7nchr99kjirn4kr52bism-belle-sip-1.5.0.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/7z9nfn003m8h2d7hx0mn6axpg82ffn31-ortp-0.27.0.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/r4a5bbwqkfii320bd174fyrpd1a454rc-mediastreamer2-2.14.0.drv’: 2 dependencies couldn't be built
cannot build derivation ‘/nix/store/bb5g2vcsv5jza85y7230c4m644zwimy2-mediastreamer-openh264-0.0pre20160801.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/brw4w5b9z6s00gd9y27f7s0ccja1n6kv-linphone-3.10.2.drv’: 5 dependencies couldn't be built
error: build of ‘/nix/store/brw4w5b9z6s00gd9y27f7s0ccja1n6kv-linphone-3.10.2.drv’ failed

@peti Okay, I started updating Linphone and its many dependency libraries.

Fixed the linphone build in https://github.com/NixOS/nixpkgs/pull/34800


Not working in Chrome 61

scrollTo is not working with the latest Chrome update. (Chrome 61)

I'm using Chrome 61.0.3163.79 on Windows 10, testing the demo site at http://demos.flesler.com/jquery/scrollTo/ and all the links work. It seems like it's something specific to the site you are working on

@shenbagadeviks Are you using the latest version of scrollTo on your site?
I saw the same issue with Chrome 61 until I updated to the latest versions:

https://github.com/flesler/jquery.scrollTo/blob/master/jquery.scrollTo.min.js
https://github.com/flesler/jquery.localScroll/blob/master/jquery.localScroll.min.js

@nickcernis Thanks for the update. Yeah we were using older version.

@shenbagadeviks Are you using the latest version of scrollTo on your site?
I saw the same issue with Chrome 61 until I updated to the latest versions:

https://github.com/flesler/jquery.scrollTo/blob/master/jquery.scrollTo.min.js
https://github.com/flesler/jquery.localScroll/blob/master/jquery.localScroll.min.js

Yes you are right, after replacing old js files now its working in both Chrome and Firefox.


FileOutputManager

FileOutputManager should be responsible for writing messages to file system files. This should be very similar to the DataLakeStoreOutputManager so that should be seen as a template.
The reasons we want this output manager is that we can use it to provide accurate local data files to use when we want to execute ADLA queries locally. Today you would have to create the input files manually or create them in DataLakeStore and then download them. Having a FileOutputManager would make the development story for Nether much easier and faster.

implemented in #507. Please close.


fix(ci): love from Szeged

Codecov Report
Patch and project coverage have no change.

Comparison is base (2cd9ac3) 18.01% compared to head (bbec037) 18.01%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff            @@
##           develop       #3   +/-   ##
========================================
  Coverage    18.01%   18.01%
========================================
  Files           54       54
  Lines         5091     5091
========================================
  Hits           917      917
  Misses        4147     4147
  Partials        27       27

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


some code style refactoring

Purpose

...
Just refactored some code to line up with internal guidelines

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

std::promise<void> recognitionEnd;

If you are going to remove the namespace for std::endl
Do you also want to use the sort name for std promise, vector,  shared_ptr?

Refers to: samples/cpp/windows/console/samples/intent_recognition_samples.cpp:163 in e6cf3b7. [](commit_id = e6cf3b7c1ec9b97e99a1a9dbbd3af76263065210, deletion_comment = False)


Update zio, zio-stacktracer, zio-test, ... to 2.0.12

About this PR
📦 Updates

dev.zio:zio
dev.zio:zio-stacktracer
dev.zio:zio-test
dev.zio:zio-test-sbt

from 2.0.0 to 2.0.12
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

🔍 Files still referring to the old version number
The following files still refer to the old version number (2.0.0).
You might want to review and update them manually.
build.sbt

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, old-version-remains, commit-count:1

Superseded by #214.


stable/rabbitmq-ha Bump rabbit version

What this PR does / why we need it:
Bump rabbit version to latest bug fix
Special notes for your reviewer:
@steven-sheehy
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/assign @steven-sheehy

/ok-to-test


Feature/add measurements

I was costs was only used in actionable_recourse, a method we won't add for now, so I didn't add it here


Run with Parameters learn more link to use correct format and kernels

This PR fixes #15170.
We should indicate the proper formatting and kernels that we support via the documentation. This will be an ongoing effort to indicate which parameterization method the user can utilize and which ones would work best for their use case. Run with parameters focuses on the parameter cell containing syntax as such:
variable = value
variable2 = value2
...
Only parameters that have an assignment using '=' will be parsed properly and as such, any multi-line parameters will not be. If we were to support multi-line parameters then we would have to create a parser to go validate each parameter and its type.

Pull Request Test Coverage Report for Build 862802961

4 of 8 (50.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.0009%) to 43.349%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sql/workbench/contrib/notebook/browser/notebookActions.ts
4
8
50.0%

Totals

Change from base Build 862524093:
0.0009%

Covered Lines:
26556

Relevant Lines:
55691

💛  - Coveralls

You need to fix some tests it looks like.


Error on restore into doltgres (pg_restore)

Error restoring database: pg_restore: connecting to database for restore
pg_restore: error: query failed: ERROR:  function: 'set_config' not found (errno 1105) (sqlstate HY000)
pg_restore: detail: Query was: SELECT pg_catalog.set_config('search_path', '', false);
What i was running:
pg_restore_command = [
PG_RESTORE_PATH,
f"--dbname={connection_uri}",
"--no-owner",
"--no-privileges",
"--clean",
"--if-exists",
"-v",
dump_file_path
]

Hi Vikram,
Getting pg_dump restores working is an ongoing piece of work for us. We can implement the missing set_config function pretty easily, but it's likely there would be additional problems with your restore command after that. But, we could probably knock them all out for you at once if you'd be willing to share your dump file with us.
Zach

Thanks for sharing the dump file with us via Discord. I've been digging in and found a few interesting things already...
One callout is that Doltgres does not support user defined functions yet, but it's on our radar and something we want to get to soon. Here's the tracking issue for that work: https://github.com/dolthub/doltgresql/issues/756
I've found a few issues with identifier quoting – I've patched the nextval function and the COPY statement locally to fix that, and have been able to get a bit farther with the data loading. I'll get those fixes cleaned up, add some tests, and open PRs for those.
I'll keep digging in and let you know what else we find here.

A couple more updates on this one...
I just merged in https://github.com/dolthub/doltgresql/pull/851, which contains a couple small fixes for double-quoted identifier parsing that your SQL dump needs.
I started digging into another issue I identified, but I don't have a fix yet. I opened https://github.com/dolthub/doltgresql/issues/850 to track that work and will keep digging in deeper there.
I also noticed that the dump file contains CREATE PUBLICATION and ALTER PUBLICATION statements. Doltgres doesn't support publications currently, and my understanding is that this feature is only used for replication. My guess is that your app probably doesn't need these on Doltgres, but let us know if you do need publication support for any reason and we'll be happy to open a tracking issue for it and start scoping the work.

We've resolved the separate tracking issues we cut from this issue (other than user defined function support), so I'm going to go ahead and close this one out. Thank you for the feedback and for helping us find several places to improve Doltgres.
Feel free to comment or create new issues with any other snags you hit and we'll be happy to dig in and address them.


adds tpm support

This commits adds support of windows hello devices I found, to achieve
support we needed to :

be able to parse tpm attestation as defined in
https://w3c.github.io/webauthn/#sctn-tpm-attestation
support for RSASSA-PKCS1-v1_5 w/ SHA-1 cose keys
device I had only supported this signature scheme

I believe this fixes #52

I'm no expert but I have been doing some reading on this topic and thought I might add my two cents.
Great job implementing most of what is needed but I couldn't find the following parts:

"Verify that the public key specified by the parameters and unique fields of pubArea is identical to the credentialPublicKey in the attestedCredentialData in authenticatorData"
"Verify that attested contains a TPMS_CERTIFY_INFO structure as specified in [TPMv2-Part2] section 10.12.3, whose name field contains a valid Name for pubArea, as computed using the algorithm in the nameAlg field of pubArea using the procedure specified in [TPMv2-Part1] section 16."
Parts from "Verify that aikCert meets the requirements in § 8.3.1 TPM Attestation Statement Certificate Requirements." are missing such as:
3.1. "Subject field MUST be set to empty.", the subject field is never checked, although you added a boolean.
3.2. "The Subject Alternative Name extension MUST be set as defined in [TPMv2-EK-Profile] section 3.2.9."
3.3. "The Extended Key Usage extension MUST contain the "joint-iso-itu-t(2) internationalorganizations(23) 133 tcg-kp(8) tcg-kp-AIKCertificate(3)" OID."

(from https://w3c.github.io/webauthn/#sctn-tpm-attestation)
Please feel free to correct me if some of these parts are not missing and I just missed them.

I should probably feel ashamed, but I haven't looked at the "verification procedure" section of the spec. I only looked at the signature section :/ to try to have it parsed. Thanks for the feedback, I'll try to push fixes for that.

@fdennis I think I fixed your points 1 and 3, but I'm not too sure I understand how to implement the second one.
Any advise is welcome.
I did not implement ECC keys yet, quite on purpose. I'd prefer to get feedback on the "form" of the RSA verification first, I'd expect ECC to be simple to add once we agree how to proceed.

Whenever I try to use io.BytesIO I run into issues which usually cause me to go with regular array slicing instead (which has it's own, different, issues), and I think you're hitting some of those same problems.

The fact that read(n) can return less than n bytes, requireing length checks.
The fact that you often want to read some bytes, and then struct.unpack a single value from that, resulting in:

a_var = struct.unpack(">I", reader.read(4))[0]
On the other hand, array slicing has the problem of manually keeping track of the offset, and for the amount of values you're reading out I can certainly see why you would opt for io.BytesIO instead.
So, I though that maybe we should "solve" this problem by introducing a new fido2.utils.ByteBuffer class:
class ByteBuffer(BytesIO):
    """BytesIO-like object with the ability to unpack values."""

    def unpack(self, fmt):
        """Reads and unpacks a value from the buffer.

        :param fmt: A struct format string yielding a single value.
        :return: The unpacked value.
        """
        s = struct.Struct(fmt)
        return s.unpack(self.read(s.size))[0]

    def read(self, size=-1):
        """Like BytesIO.read(), but checks the number of bytes read and raises an error
        if fewer bytes were read than expected.
        """
        data = super(ByteBuffer, self).read(size)
        if size > 0 and len(data) != size:
            raise ValueError(
                "Not enough data to read (need: %d, had: %d)." % (size, len(data))
            )
        return data

which would transform this:
data_len = struct.unpack("!H", reader.read(2))[0]
data = reader.read(data_len)
if data_len != len(data):
    raise ValueError("data is too short")

clock = struct.unpack("!Q", reader.read(8))[0]
reset_count = struct.unpack("!L", reader.read(4))[0]
restart_count = struct.unpack("!L", reader.read(4))[0]

into this (assuming you also don't mind skipping the intermediate data_len variable):
data = reader.read(reader.unpack("!H"))

clock = reader.unpack("!Q")
reset_count = reader.unpack("!L")
restart_count = reader.unpack("!L")

What do you think, seem like a good idea? I think that class would be useful in other parts of this project as well.

@dainnilsson I like the idea of our own reader, introduced in the last commit.

@baloo
I just tested your latest commit a1b1ee3 on my surface book 2 with my project and registration and login works fine
👍

I'm still getting none on Huawei MateBook X Windows 10 1903 on Firefox, but it shows tpm on Chrome.
Both work for registration and auth and it used to work from fido2==0.7

I also tested Windows Hello in combination with a AMD fTPM, also works for me with a1b1ee3

The ECC support is still missing. Ideally I'd like to test support for it. I can't find any platform with ECC keys. TPM 2.0 should be able to issue those, but I'm not sure they're used by windows yet. If anyone has platform with ecc keys, I'd be happy to have samples :)

I don't really like the idea of adding the aenum dependency. It doesn't seem to be packaged in a lot of Linux distros which would mean adding it as a dependency will make it more work for others to package this library (compared to enum34 which is available pretty much everywhere).
I think we should stick to IntEnum for now, even if I agree that IntFlag would be better suited.

@dainnilsson how about vendoring aenum? I might be missing something, but I don't see how I can make any use of IntEnum for that usecase :(

alright, yes it looks like that works.

@dainnilsson I believe I'm mostly done with this. I do not have test for ECC keys in TPM (which I would have like to have), but I'm unable to find a platform that use those :(

Great, thanks for your work on this!
Can I get a quick statement from you agreeing that you're contributing this code to the project under the BSD 2 clause license (which you can find in the COPYING file in the root of the repository)?

My employer and I agree to contribute this code under the BSD 2 clause license.

If I may ask, I'd like if you could tag a release with this, that makes it easier for me to release :D

I'll aim to get a new release of this out by the end of the week! I added some minor modifications here: https://github.com/Yubico/python-fido2/commits/tpm-support. Please take a look and let me know if you have any objections, otherwise I think we're good to merge!

@dainnilsson looks good to me, I added a minor fix to the ECC parsing in #73


Deploying with Strongloop Process Manager & SL CLI

We're using this project as the starter template for a set of internal tools.
We've got a PoC done of our first build and we want to set this up on a local server so that simulate a production deployment on one of servers.
Does anyone have any guidance on how to deploy using StrongLoops's ProcessManager and Deploy CLI tools?

Hey did you manage to find a solution? thanks

+1

This is out of the scope of this project.
Please refer to StrongLoop's documentation on how to work with those tools.
That being said, if you found some steps I would welcome them in the README.


Share Plan: Please wait popup does not block main interface

Can initiate new commands while please wait is up.
Note: Please check consistency of blocking behavior for other wait popups.

Also - please wait does not blog while "drag and drop" is in progess.


Dependency error on install with Vagrant 1.9.7 on MacOS Sierra

I upgraded to Vagrant 1.9.7, and now I'm unable to install vbguest.
Here's what I'm getting:
Installing the 'vagrant-vbguest' plugin. This can take a few minutes...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:

conflicting dependencies winrm-fs (= 1.0.1) and winrm-fs (= 0.2.0)
  Activated winrm-fs-0.2.0
  which does not match conflicting dependency (= 1.0.1)

  Conflicting dependency chains:
    winrm-fs (= 0.2.0), 0.2.0 activated

  versus:
    winrm-fs (= 1.0.1)

  Gems matching winrm-fs (= 1.0.1):
    winrm-fs-1.0.1

vagrant-vbguest has no (direct) dependency on winrm-fs, but vagrant has. I suspect you've upgraded from <= 1.9.5 to 1.9.7 - in which case vagrant updated it's internal ruby, which is a usual reason of plugin related issues.
Try:
vagrant plugin list
# note of your installed plugins
rm -rf ~/.vagrant.d/{gems,plugins.json}
# re-install all your plugins

If you are still having problems, please head over to mitchellh/vagrant

For others who might encounter this issue, I just wanted to comment.
Removing plugin files and settings as suggested were not beneficial.  I spent a bunch of time googling and getting into the weeds of ruby, but the eventual fix ended up being pretty easy.
I simply  that I had to uninstall vagrant and reinstall it.  In the process of doing so, it fixed up the dependency problems.
The manual page is here.
Those instructions for OS X are:
rm -rf /Applications/Vagrant
rm -f /usr/local/bin/vagrant
sudo pkgutil --forget com.vagrant.vagrant


Improve /health api returned data structure

If the /api/v1.0/health returns data that has missing fields in the component object, saying "cmsd", the web UI will crash with blank page and error message to check the console for info.
To make it more robust, we want to switch the data structure from an object to an array of objects for "component", so in stead of
{
    "status": "critical",
    "components": {
        "cmsd": {
            "status": "ok",
            "last_update":<PHONE_NUMBER>
        },
        "director": {
            "status": "critical",
            "message": "No director test report received within the time limit",
            "last_update":<PHONE_NUMBER>
        },
    }
}

We might want to return:
{
  "status": "critical",
  "components": [
    {
      "name": "cmsd",
      "status": "ok",
      "last_update":<PHONE_NUMBER>
    },
    {
      "name": "xrootd",
      "status": "critical",
      "message": "No director test report received within the time limit",
      "last_update":<PHONE_NUMBER>
    }
  ]
}

So that we can handle optional component health status.

Closed with #272


Ensure client is authenticated before switching to RESP3

If not done so, the following error will happen (if password is
required):
NOAUTH HELLO must be called with the client already authenticated,
otherwise the HELLO AUTH <user> <pass> option can be used to
authenticate the client and select the RESP protocol version at the same
time

Closes #54

@aembke we're hitting this issue as well, any comment on if this PR is good to merge?


Error: Process completed with exit code 1

ADD ISSUE DESCRIPTION HERE when trying to calculate the grade it's coming back with an Error: Process completed with exit code 1. on run-checks . can someone please look at it
thank you
rafik elsafdi
<EMAIL_ADDRESS>Version: 1.88.1
Commit: e170252f762678dec6ca2cc69aba1570769a5d39
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/<IP_ADDRESS>
Embedder: codespaces

/causedByExtension please report this to the course support channel

This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the marketplace for VS Code. See also our issue reporting guidelines. If you don't know which extension is causing the problem, you can run Help: Start extension bisect from the command palette (F1) to help identify the problem extension.
Happy Coding!


Update json-path to 2.9.0

About this PR
📦 Updates com.jayway.jsonpath:json-path from 2.6.0 to 2.9.0
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.jayway.jsonpath", artifactId = "json-path" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.jayway.jsonpath", artifactId = "json-path" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

updated this PR in https://github.com/nationalarchives/da-tre-fn-court-document-pre-packer/pull/15 as updating and merging Scala Steward PR in one


Nativescript 7

Hi there,
I was attempting to craft a new Nativescript 7 plugin using this plugin seed. However, the upgrade guide supplied here to no avail.
Despite the instructions & upgrading my global Nativescript CLI to Nativescript 7, I couldn't even get the demo to work with the sample code & modifying items per the guide linked above.
The author (TSC) claimed that there would be an update released within 2 weeks of the articles release on August 31, 2020. Is there any update on the status of this? I know there are a lot of developers eager to begin Nativescript 7 development but are concerned because many plugins only support Nativescript <= 6.

https://github.com/phillip389/nativescript-plugin-seed
I upgraded the nativescript-plugin-seed to use Nativescript 7 with a demo

@phillip389 would it be much trouble for you to include an angular demo as well?

@BlueHunter99 Yes, I will make an Angular demo as well.
@dahjelle, I just pulled and ran npm run postclone and it works. Only error I received was Path already exists and is not empty /Users/phillipviau/projects/phillip389/nativescript-plugin-seed-master/demo

This appears to be the new NS7 plugin seed https://github.com/NativeScript/plugin-seed

This appears to be the new NS7 plugin seed https://github.com/NativeScript/plugin-seed

øk Sorry for the delay, had to understand the new structure. The branch has been updated with working demos in both. This is using the plugin seed @jcassidyav mentioned

@BlueHunter99 Yes, I will make an Angular demo as well.
@dahjelle, I just pulled and ran npm run postclone and it works. Only error I received was Path already exists and is not empty /Users/phillipviau/projects/phillip389/nativescript-plugin-seed-master/demo

Can you update issue_template.md from .github folder?


Test create-pull-request fork

Succeeded. https://github.com/kenji-miyake/autoware-github-actions/runs/4990190050?check_suite_focus=true#step:3:819
  Resolving deltas: 100% (211/211), completed with 25 local objects.
  From https://github.com/kenji-miyake/autoware-github-actions
   * [new branch]      tier4/proposal -> tier4/proposal
   * [new branch]      tier4/proposal -> origin/tier4/proposal
  /usr/bin/git checkout --progress tier4/proposal --
  Switched to branch 'tier4/proposal'


Mongoid Document without Country raises error

When I try to save a country within a mongoid Document, and recall it, I got the following:
class Place
  field :country, type: Country // also not working with something like: `default: -> { false }`
  field :name, type: String
end

Place.create(name: "Demo Place")

Place.where(:country.exists => true).count
Place.where(:country.ne => nil).count

Both raises:
ISO3166::Country::BadMongoidTypeError: Given value is neither a valid country object nor a valid alpha2 code
Hopefully someone helps me out
Thank you

@exocode Apologies, would you mind making a simple test repo to reproduce (you have done a great job already).

thank you for your response... I simply updated the gem, and it's working now!


XYPad with ranges + reversed - Test file

http://www.qlcplus.org/forum/viewtopic.php?f=5&t=9599
Added  writeReverseRange() and writeRange() for test XYpad ranges (full, symmetric and asymmetric)
Please use this with the original vcxypadfixture.cpp

Hi, can we close this then ?

Hi Massimo, I followed the directions of janosvitok. This is the PR with the test failing before the fix. If you decide to accept the PR with the fix, I think that this can be closed.


Error with hyprpm update since updating to 0.40.0

Hyprland Version
 System/Version info
Hyprland, built from branch  at commit cba1ade848feac44b2eda677503900639581c3f4  (props: bump version to 0.40.0).
Date: Sat May 4 15:42:32 2024
Tag: v0.40.0, commits: 4606

flags: (if any)

System Information:
System name: Linux
Node name: arch
Release: 6.8.9-zen1-2-zen
Version: #1 ZEN SMP PREEMPT_DYNAMIC Tue, 07 May 2024 22:06:02 +0000

GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 630 [8086:591b] (rev 04) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

Bug or Regression?
Regression
Description
After updating Hyprland to 0.40.0, hyprpm update command started giving the following error:
error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)
error: 5637 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output

I know it's about git, I tried to mess with .gitconfig changing the postbuffer size to huge amounts and changing http version to 1.1 but none of that worked. I tried executing the command on different networks, which I'm pretty sure at least one of them must be stable (altough I know my regular connection is stable), but the result remains same.
How to reproduce

Update Hyprland to 0.40.0 through Arch Linux repo
Execute the command hyprpm update to update plugins & headers
Fails

Crash reports, logs, images, videos
No response

please post the full output of hyprpm update -v

After a couple of reboots to both computer and router it worked again. Maybe there was a problem between Github and me at the time. So I'm closing the issue as it looks like nothing to do with Hyprland.