Laravel Echo Private Channel Authentication

Laravel Version: 5.3
PHP Version: 7
Database Driver & Version: Mysql

Description:
In my application i have two separated sections for users and admins which i used Auth::guard() to authenticate them.
in my dashboard (admin guard) i used Laravel Echo (pusher) to show live notifications. echo tries to authenticate for incoming messages automatically by sending an XHR request to /broadcasting/auth, and it fails, because in PusherBroadcasting.php line 38 you check for authenticated user in request.
the problem is that my dashboard is using token header to send xhr requests to my controllers, and i have my own middleware to check for that. so. as you can see there is no user at $request->user().
i had to remove line 38-42 in order to fix this problem temporarily.

You can pass route parameters to the broadcasting routes:
Broadcast::routes(['middleware' => ['web', 'myMiddleware']]);

I'm having this issue now, but I don't see how middleware would help? I have an admin auth guard, just like the OP but line 39 of Illuminate\Broadcasting\Broadcasters\PusherBroadcaster.php calls $request->user(). There doesn't seem to be a way I can specify a guard for this check?

thanks! but when i want to use it it triggers this error:
Class App\Http\Controllers\Illuminate\Broadcasting\BroadcastController does not exist.
is it possible to change authenticated user for reach guard? i need App\Admin to be logged in for my admin section and App\User for my user panel. is it possible with your solution?

You have to put Broadcast::routes(); into the api.php routes file.

getting error
Class App\Http\Controllers\Illuminate\Broadcasting\BroadcastController does not exist


prettier, linting, and allow executables.

Codecov Report

Merging #141 (bf1cfe5) into master (63dfb7f) will decrease coverage by 0.05%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           master     #141      +/-   ##
==========================================
- Coverage   74.06%   74.01%   -0.06%
==========================================
  Files          51       51
  Lines        3594     3598       +4
  Branches      624      626       +2
==========================================
+ Hits         2662     2663       +1
- Misses        690      691       +1
- Partials      242      244       +2

Impacted Files
Coverage Δ

src/Dimension/index.ts
90.25% <ø> (ø)

src/Logger/index.ts
95.31% <0.00%> (ø)

src/Station/index.ts
74.19% <ø> (ø)

src/utils/System.ts
78.04% <50.00%> (+2.43%)
:arrow_up:

src/MatchEngine/index.ts
83.38% <60.00%> (-0.60%)
:arrow_down:

src/Match/index.ts
83.98% <66.66%> (+0.05%)
:arrow_up:

src/Agent/index.ts
87.31% <96.55%> (+1.06%)
:arrow_up:

src/Tournament/Elimination/index.ts
69.38% <0.00%> (-2.05%)
:arrow_down:

src/Tournament/Ladder/index.ts
67.77% <0.00%> (-0.77%)
:arrow_down:

... and 3 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 63dfb7f...bf1cfe5. Read the comment docs.


Add Go modules update

Remove Gopkg.toml files
Remove .travis.yml file
Update to Go modules
Update /vendor folder
Add GitHub Actions workflow

👀 someone has unarchived their repo I see!


Order Items with zero quantity

This is really a question, not an issue, but I was curious if anyone can shed any light on how an order can come through with some items having zero quantity.
When I have removed or updated an item to have 0 in my cart, I can see it disappear from the OrderItems table, but my site has an instance where an order has come through with 4 different products, 2 of which are fine, 2 have zero quantity.
What I can guess from looking at the different tables is that the person originally added things to their cart on the 28/11 and did not proceed with the order, came back yesterday (19/12) and placed an order. The two items from the 28th are the ones showing 0. One of them was no longer available so that would make sense, but the other one is available.
Does anyone know why an item with zero quantity would still show on the order in the cms?
Thanks

Can you clarify the steps to reproduce this issue? Is it:

Put items in cart (as customer)
Make items no longer available (as admin)
Set quantity of the items in cart to 0 (as customer)

Also, what version of shop are you using?

Closing due to missing feedback.


Add SassDoc for easy documenting on the framework.

Let's add SassDoc (https://github.com/SassDoc/sassdoc) in order to bring an easy way to generate docs for the nuCSS framework.

Hi, I'd like to have a go at helping with this. I've just tried to run the SCSS directory through SassDoc, but SassDoc (from what I can tell) only works with Sass, not Scss. Apologies if there is something obvious I'm missing here.

I got it to work by adding a gulp task and a comment on the grid mixin.
What error did you have ?

[WARNING] SassDoc could not find anything to document.

Yeah, ok. I got this too, which is not really an error.
SassDoc is using comments (http://sassdoc.com/annotations/) to generate the documentation, and in your case it didn't find any. Try adding one in any file and you should be ok.
For now there isn't so many things to document, except the grid system and media queries. I guess you can start with those until we add some new components.
Thanks for your help anyway ;)

But the first thing to do I think is to add a gulp task, which could be run on build.
I've tried with this one, but I think we can make some improvements :
   return gulp.src('assets/scss/**/*.scss')
     .pipe($.sassdoc());
 });```

Super! I've got it working as you've suggested. I've created a separate sassdoc.js for the sassdoc settings, and added some extra options. Are you OK for me to submit a pull request for this? https://github.com/danmurf/nuCSS/tree/feature/sassdoc

Great job you've done here !
Just one thing though, I think it might be better if the /doc folder was ignored by git, and the sassdoc task run in the build task (set in the gulpfile) which is fired on the npm install.
What do you think about this ?

Good idea. I'll git ignore the /doc folder. I've also set the sassdoc task to run in the build task.

That's great ! Thanks for your input on this project.
Don't hesitate to jump on other issues, or even create one if you think something could be added to this project.

You're welcome and thanks your help :)


edit video tab data

In https://github.com/mitodl/ocw-data-parser/issues/162 we started importing video metadata that appears below the video player.
That content now publishes on the site, but there's no way to edit it. I was expecting it would be a field in the video metadata, but it's not there.
for example, compare the published page: https://ocwnext.odl.mit.edu/courses/cms-930-media-education-and-the-marketplace-fall-2001/resources/personal-media/
with the studio page: https://ocw-studio.odl.mit.edu/sites/cms-930-media-education-and-the-marketplace-fall-2001/type/resource/edit/112255fb-d8d5-7ec1-580d-0f9e30025109/?q=personal
Acceptance Criteria:

[ ] most of this content already works, don't break it.

I think, in ocw-to-hugo we can move
optional_text:          optionalText,
related_resources_text: relatedResourcesText,
optional_tab_title:     media["optional_tab_title"] || "",

from here to/inside video_metadata here while generating front matter in generateResourceMarkdownForVideo
and in ocw-hugo-projects, we can add these fields in video metadata widget here
But since I'm not very sure so if @mbertrand could share his thoughts on this?

That sounds right, but I think ocw-hugo-themes would have to change too here

Maybe a simpler way would be to keep the fields where they are and just change ocw-hugo-projects to conditionally add these fields to the form if a video resource, but outside of the video_metadata section.  However it seems like the video_metadata section is where they logically belong.

I think we should go with the second approach.  An additional consideration is that these fields were brought into ocw-studio using overwrite_ocw_course_content.  I'm unsure if the function supports pulling in a nested field like metadata.video_metadata.optional_text but if we're going to go with the first approach we should make sure that this is supported, as I don't think we can run that with just metadata.video_metadata as it would overwrite video metadata that has been updated by the OCW team.  @abeglova might know more.
Really the "Video Metadata" section is all YouTube metadata anyway.  Maybe we should rename that section to "YouTube Metadata" and create a new section for these other properties called "Additional Video Metadata" or something?  It seems doubtful that this other content (that originally came from the video page in OCW) would ever be directly used in YouTube.  If we put all of these properties under something like additional_video_metadata then we could run the overwrite_ocw_course_content command with metadata.additional_video_metadata and in the starter we could define a separate section for these below the YouTube metadata.  Anyway, that's my thoughts on it.

Can you remind me what the field names are? I don't see them in ocw-hugo-projects (which, perhaps, is part of the problem).

Can you remind me what the field names are? I don't see them in ocw-hugo-projects

if you're talking about these fields:

optional_text
related_resources_text
optional_tab_title

then I don't think these fields are there in ocw-hugo-projects yet as stated here

So far, the few times this has come up, we have simply edited the video "tab data" via the django admin.
There have been no requests to enable this for new videos.


fix(discovery-client): Fix health state latching regression

overview
Bug report + fix
#2206 introduced a regression into the discovery client where as soon as a robot had a known health state, it would be latched, so any change in its /health responses would not be propagated
changelog

fix(discovery-client): Fix health state latching regression

review requests
Can test via the CLI or via the app

Run make -C discovery-client first to rebuild from src
If testing via VS and the CLI: npx discovery -n opentrons-dev -c localhost
If testing via real robot and CLI: npx discovery -n robot-name-here
If testing via app: keep an eye out for your robot

Start discovery via app (or CLI)

[ ] Robot appears (or appears and is healthy in the CLI)

Turn robot off

[ ] Robot disappears (or flips to unhealthy in the CLI)

Turn robot back on

[ ] Robot re-appears (or flips to health in the CLI)

Tested with a real robot in both the app and the DC client and it all looks good


Rocket Icon

Hello,
I just wanted to open this issue because I couldn't find any rocket icons in the lucide package.
I think it would be a great addition because I've seen it quite often in the past months(mostly for deployment related stuff).
Icon Request

Icon name: Rocket
Use case: Deployment
Screenshots of similar icons: 🚀

Thumbs up if you agree. If we can agree that it is useful I could start creating one or leave it to the community ^^

Good one, I think this was already discussed in Feather.

Feather issues   #1062

Created 4 variants, rounded flaps-squared flaps and with-without a window.
Let me know what you think

Almost forget about this issue, sorry guys ^^
@ericfennis I think the bottom left is the best since it fits nicely with the smooth and rounded style of lucide/feather.
I think that both options on the right are a little bit too much and feel a bit "overloaded" with the window.
The top left is also great but I think that the bottom left fits better with the general style of lucide. A side by side comparison with other icons from the package could maybe help to determine what we want to choose but my favourites are the two icons on the left.

@JanTrichter I agree the bottom ones are a bit softer and looks better with the other icons.
Here the rocket from left bottom with some other icons.

@ericfennis agree, looks really good and fits the feather/lucide style 👍🏽


Will there be a Web clipper

Is your feature request related to a problem?
The lack of an web clipper like KEEP
Describe the solution you'd like
A webclipper that has

selection text
page screenshot
select screenshot
save page text
works on firefox.

Additional context
No response

Maybe it should be a extension function. And there is an open source browser extension https://github.com/lmm214/memos-bber. You can request a feature to it.


Add toHaveText assertion

Hello! I took a stab at adding the toHaveText assertion as suggested in issue #23. Hope this helps.

This is awesome! Thanks so much for doing this. There was one other case I was thinking of supporting.
I was thinking if an argument wasn't provided, then it would just check for the presence of text. Maybe I don't care much about what the text is, but just that there is text? Is that worth doing?
Something like
const wrapper = mount(<Fixture />);

expect(wrapper.find('p')).toHaveText(); // truthy
expect(wrapper.find('div')).toHaveText(); // falsy

Is that encouraging a bad testing habit? Should devs always know what text will be put inside their components that we can make it necessary?

Thats a good question. Personally I like to be explicit as possible when testing, but I could totally see situations where I'd just want to check for the presence of text.

Definitely. I say we support it. Doesn't really hurt too much and can make some tests simpler (which is the point of this lib). Would you be willing to update your code to support that?

I agree, sound great! I will update the pull request as soon as I can.
On Thu, May 19, 2016 at 12:13 PM, Blaine Kasten<EMAIL_ADDRESS>wrote:

Definitely. I say we support it. Doesn't really hurt too much and can make
some tests simpler (which is the point of this lib). Would you be willing
to update your code to support that?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/blainekasten/jasmine-enzyme/pull/24#issuecomment-220374583

@tronroy this is looking awesome!

Love it! Thanks so much!

@blainekasten Can you make a new jasmine-enzyme release so we can use this matcher?

Thanks!


PWA-18 add cf bind-service support

One more thing. I will also need you to bump the version in VERSION file.

Updated. Thanks, @kaltepeter!


Graph siteclassification get - Issue 303

Get site classification configuration
command: graph siteclassification get
requires connection to the Microsoft Graph (#10)

Coverage remained the same at 100.0% when pulling 847080bb2bfd8047d0f2457fa8a3f16cd8980b6f on kshsbala:graph-siteclassification-get into 76ae01e9cc16e69f4c64f559000c9f7069eeb629 on SharePoint:dev.

Thank you @kshsbala, I'll have a look at it shortly 👍

Thank you! Merged manually 💪


Gitea not able to handle un-mergable branches' PR

Gitea version (or commit ref): 1.8.0-rc2
Git version: 2.17.1
Operating system: Ubuntu 18.04.2
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes (provide example URL): https://try.gitea.io/rakshith-ravi/test/compare/master...fresh
[ ] No
[ ] Not relevant

Log gist:

2019/04/06 12:48:31 [...routers/repo/pull.go:727 ParseCompareInfo()] [E] GetPullRequestInfo: GetMergeBase: exit status 1
2019/04/06 12:51:03 [...routers/repo/pull.go:727 ParseCompareInfo()] [E] GetPullRequestInfo: GetMergeBase: exit status 1
2019/04/06 12:51:13 [...routers/repo/pull.go:727 ParseCompareInfo()] [E] GetPullRequestInfo: GetMergeBase: exit status 1

Description
When I create a new branch that's orphaned, then try to create a PR to the master branch, it gives a 500. Ideally, it should give a way to rebase it on top of master or at least show that "this is not possible because ......"
On a completely different note, how do you guys usually handle those kinds of PRs to master? Is there an "industry standard" way to handle it? Just curious. Also, is it possible to have gitea rebase an orphan branch on top of master or something like that? That would be really nice.
Screenshots
Irrelevant

Thank you so much @rakshith-ravi for this comprehensive test case. It allowed me to fix put a fix in very quickly.


Add methods to retrieve information about the file

The getFileName() and getFilePath() methods are useful for a custom  deserializer that works with a ResettableFileInputStream. At the moment, there is no way in a Deserializer to find out which file it is processing. The other option is to make the FileInfo available in the Deserializer but imo this looks like the better of the two options.

We don't accept pull requests. Could you please attach the patch to a jira here: https://issues.apache.org/jira/browse/FLUME ? Thanks!

@PieterJanVanAeken  Thanks again for your contribution! Since the source repository/branch seems to be deleted, do you think that this pull request can be closed? If it is, could you please close it?

Can one of the admins verify this patch?

No Jira ticket and source branch is deleted. I am closing this PR. Feel free to reopen if needed.


hover over card description

I cannot for the life of me fine a suggestion place. So sorry for putting this here.
I was wondering if there was away to make the card description window (when hovering over a card) bigger and or moveable? I have a lot of screen real estate and would love to make it huge. Thanks!
gabe

It's unlikely this will be movable, as there's no really great ux to make that happen.  Never say never though.  Do you play with a larger than normal card size set in your profile?  I can make the zoom card scale with those settings I guess?


Routine maintenance needed

This repo needs a few things:

Linting needs to be configured to comply with standard, which should only apply to .js files (not the .jsx);
The dependencies need to be updated.

This repo may be superseded by https://github.com/orbitdb/example-orbitdb-todomvc-updated. If so, should we archive it?

Is there a chance that the dependencies will be updated in the near future? I tried it by myself but I run in several problems.

@aphelionz may know more about how to update those deps; I'm out of the loop.

@martin-v I'd like to incorporate some functional tests for this and then make deployment of new versions here part of CI if possible. Interested in perhaps helping? Otherwise I'll get around to it in the coming weeks.


Update view-components.md

Remove unnecessary word

@dotnet-policy-service agree

Thanks for the contribution. Be sure to check out your name as a contributor about the 3rd of next month on the What's new page in the Community contributors section at the bottom.


Add Tags to protobuf/reflect

Is your feature request related to a problem? Please describe.
Allow attach tags to protoobuf/reflect and have them being injected into final *.pb.go can easily allow inject custom tags.
Describe the solution you'd like

[ ] add tags to FieldDescriptor
[ ] populate tags in generated .pb.go in protoprotocolbuffers/protobuf-go (specifically here)

This allows custom plugins to modify FieldDescriptor tags and wrap protoc-gen-go's GenerateFile thus enables injecting custom tags.
Describe alternatives you've considered
All existing methods of injecting tags end up replacing generated go files.
Additional context
#52 it has being long requested.

Closing as duplicate of #52. There is no need to keep duplicate issues around.


Write telarray_rand.conf.used into output directory

This file is currently written into the simtools root directory by sim_telarray.
Suggest to add a cleanup stage for classes using sim_telarray to move this into the output directory.

Had a look into this issue (which is not such an important issue): the many telarray_rand.conf.used files are produced when running integration tests and almost each time sim_telarray is called (e.g., for tune_psf). telarray_rand.conf.used are not overwritten, but the second file contains the process ID (e.g., telarray_rand.conf.used-2635) .
To solve this requires actually a few more changes, including probably the (recommended) migration from os.system to subprocess.call() or subprocess.Popen (we sometimes use subprocess, and sometimes use os.system).
This is maybe something to do for the future and unrelated to the telarray_rand.conf files: have a core service class doing the handling of the system calls, taking care of crashed jobs, stderr, and files produced we don't want to keep.

This is not an issue anymore, although I can’t remember how it was fixed.
I haven’t seen any telarray_rand.conf.used file since a long time ago.
Marked as ‘Close this’ - please object if you think this is still relevant.

This was fixed in #736. We still get one file I think, but one file is not a real issue so I am closing this issue.


Send client process ID to server on Java 9+

Since we can easily do it in Java 9 and up, we should. If catching NoClassDefFoundError is objectionable, I'm open to other suggestions.
You can validate the behavior by querying sys.dm_exec_sessions when a connection is active:
select * from sys.dm_exec_sessions

/azp run Microsoft.mssql-jdbc.macOS

/azp run Microsoft.mssql-jdbc.macOS

Just curious.. should this call be wrapped under JDBC 43 support check?


keep the package dir name in site-packages as chatie_grpc

When create target chatie_grpc dir, which will display as a package to be installed to the site-packages dir, we should keep it as a package name。
I have found this problems days ago, but try to fix it now.  During this days, I install it with whl file. 😂

This problem arises again.

As I have commented above, I think I have to run command npm version patch & git push.

Yes, we should always include the new (bumped) version in our package.json when we want to publish a new version to our package system.


Carbon Supply charts

This PR needs to be accepted after this condition:

klimadao/celo-bridged-carbon must be deployed from carbon-subgraph project

Added Carbon Supply page:

Resolves #70

A couple minor copy changes:

"On Chain Carbon" => "Digital Carbon" (we're trying to migrate to this verbiage)
"Retired by Klima" => "Retired via KlimaDAO" (more clear language)

A couple minor copy changes:

"On Chain Carbon" => "Digital Carbon" (we're trying to migrate to this verbiage)
"Retired by Klima" => "Retired via KlimaDAO" (more clear language)

This is how it looks after changes:


bitbucket-server PullRequest payload is missing newly supported Draft field

Bitbucket (data center) added support for Draft pull requests in Bitbucket 8.18
It would be nice to add support for this in bitbucket-server/payload.go, but wanted to raise an issue to discuss this, as it could be a breaking change for those who have not upgraded.
https://jira.atlassian.com/browse/BSERV-4262
https://confluence.atlassian.com/bitbucketserver/draft-pull-requests-1354498120.html

Closing this temporarily.


Simplify package.json

Not that important. But it can be simpler. This is how I do it since Sindre told me so :octocat:

Hmm... interesting. Has to read about that.
This totally break the way I detect github repos... :D

I was surprised too. But I believe in Sindre^^
See this PR: https://github.com/mischah/itunes-remote/pull/1


Reproduce problem

Has anyone tried data augmentation like me and still got no good results?

I used oversampling to balance the data on FER2013, but the results did not improve. How did you implement data augmentation?

Hi @ZiJie910811 @zhusiyi601, this link has the FER2013 dataset that was used in this project. Feel free to use this, hope this helps your problem.

Can I ask you about the actual data amplification method? Because I feel that some of the images I see are generated images, not images from the original data set.

Hello @ArnabKumarRoy02 , I checked your data set and found that your training data set seems to contain a test data set and a validation data set. Is the accuracy of the training correct?

Hey @ZiJie910811, can you tell me where exactly did you find a test data set and a validation data set in the training set. Since the dataset was augmented to add more samples. Some of the augmentation techniques used were:

Random rotations
Change in contrast
Adding jitter

And I can assure you that none of the images in the dataset and generated images, those were made using the original dataset itself.

Hello @ArnabKumarRoy02 ,sorry, maybe I misunderstood. I want to say sorry to you.
I used the same data amplification method as you, amplifying all images by 1.35 times (not sure how you did it, but the number has been kept as the same as possible)
However, the generalization and accuracy are not as good as your data set, even worse by more than 20%.


Ensure that when rlinkage is Some, then the static is not extern

In compiler/rustc_codegen_llvm/src/gotoc/operand.rs, for all cases in our regression suite, rlinkage is not Some. Because of this, we have to assume that this means the static is extern. We should verify this is the case.

See https://github.com/model-checking/rmc/blob/main-154-2021-08-02/compiler/rustc_codegen_cranelift/src/linkage.rs#L21


Batch Async SPI Transfers with Bulk Data Exhibit Unreliable Behavior

It seems that Future returns before the SPI transfer has finished.

Bug in async fn transfer_inner()

Added busy-loop waiting to address the issue. This issue will remain open to document the hardware behavior.


docs(tutorial/Tutorial): add a note to explain how to solve problems that arise when running end to end tests using Chrome 65

Add a note to explain how to solve problems that arise when running end to end tests using Chrome 65.

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
docs
What is the current behavior? (You can also link to an open issue here)
When using Chrome 65, errors are thrown due to an old version of chromedriver.
What is the new behavior (if this is a feature change)?
Explain how to update the version of chromedriver being used
Does this PR introduce a breaking change?
No
Please check if the PR fulfills these requirements

[X] The commit message follows our guidelines
[X] Fix/Feature: Docs have been added/updated
[X] Fix/Feature: Tests have been added; existing tests pass

Other information:

I signed it!

We should probably update the tutorial with the correct version instead.

I have a PR to update angular-phonecat (there are some CI/infrastructure issues I need to fix once I get back from vacation, next week): angular/angular-phonecat#430
Once that's merged, everything should work as expected.
(We might also need to update the code snippets in the tutorial text; I will do that once the code changes are merged.)


Use Memcached

Would still like to use Memcached over a Python dictionary in the data tier. At this point we can argue the service interface is working and everything is working, but it would be nice to use something a little more robust.
The plan: add a Memcached container to the docker-compose network, expose port 11211, and utilize it from the Data service. Instead of using the Python dictionary.

Weird. Had to use the bitnami/memcached because the other versions would return a 139 immediately, meaning they'd received a KILL message. Anyway, it all works now!


logclean command removes all logs instead of only logs older than X days

Trying to remove all logs older than 15 days:
% date
Wed 27 Dec 2017 15:46:13 NZDT
% sudo poudriere logclean -j releng_11_1 -n 15
[00:00:00] Looking for builds older than 15 days in /usr/local/poudriere/data/logs/bulk (filtered)... done
[00:00:00] Calculating size for found files... done
[00:00:00] These builds older than 15 days in /usr/local/poudriere/data/logs/bulk (filtered) will be deleted:
releng_11_1-default-server/2017-11-29_10h30m16s
releng_11_1-default-server/2017-11-30_08h06m08s
releng_11_1-default-server/2017-11-30_15h02m00s
releng_11_1-default-server/2017-11-30_15h07m59s
releng_11_1-default-server/2017-12-01_08h05m42s
releng_11_1-default-server/2017-12-02_08h05m18s
releng_11_1-default-server/2017-12-02_13h29m47s
releng_11_1-default-server/2017-12-02_13h36m31s
releng_11_1-default-server/2017-12-02_21h14m08s
releng_11_1-default-server/2017-12-02_21h20m04s
releng_11_1-default-server/2017-12-02_22h10m43s
releng_11_1-default-server/2017-12-02_22h11m49s
releng_11_1-default-server/2017-12-03_08h05m12s
releng_11_1-default-server/2017-12-03_11h59m33s
releng_11_1-default-server/2017-12-04_08h05m16s
releng_11_1-default-server/2017-12-05_08h05m15s
releng_11_1-default-server/2017-12-06_01h47m20s
releng_11_1-default-server/2017-12-06_08h05m14s
releng_11_1-default-server/2017-12-07_08h05m16s
releng_11_1-default-server/2017-12-08_08h05m46s
releng_11_1-default-server/2017-12-09_08h05m16s
releng_11_1-default-server/2017-12-10_08h05m21s
releng_11_1-default-server/2017-12-10_22h26m14s
releng_11_1-default-server/2017-12-11_08h05m13s
releng_11_1-default-server/2017-12-12_08h05m19s
releng_11_1-default-server/2017-12-13_08h05m23s
releng_11_1-default-server/2017-12-14_08h05m15s
releng_11_1-default-server/2017-12-15_08h05m18s
releng_11_1-default-server/2017-12-15_13h03m09s
releng_11_1-default-server/2017-12-16_08h05m16s
releng_11_1-default-server/2017-12-17_08h05m14s
releng_11_1-default-server/2017-12-18_08h05m15s
releng_11_1-default-server/2017-12-19_08h05m49s
releng_11_1-default-server/2017-12-20_08h05m16s
releng_11_1-default-server/2017-12-21_08h05m16s
releng_11_1-default-server/2017-12-22_08h05m16s
releng_11_1-default-server/2017-12-23_08h05m16s
releng_11_1-default-server/2017-12-24_08h05m19s
releng_11_1-default-server/2017-12-25_08h05m16s
releng_11_1-default-server/2017-12-26_08h05m16s
releng_11_1-default-server/2017-12-27_08h05m16s
[00:00:00] Removing these builds older than 15 days in /usr/local/poudriere/data/logs/bulk (filtered) will free: 67.78 MiB
[00:00:00] Dry run: not cleaning anything.
[...]

I've tried running find $logs -type d -mindepth 0 -maxdepth 0 -Btime +15d manually and it lists everything just like poudriere above, could that be an issue related to ZFS and inode creation time?

I'm seeing the same symptoms but for logclean -N10 (count) command:
poudriere-devel-<IP_ADDRESS>00326_2  =   up-to-date with index

[koobs@130-CURRENT-amd64:/usr/ports] ls /storage/poudriere/data/logs/bulk/12amd64-koobs/2020-12-04_0<tab>
2020-12-04_03h12m51s/
2020-12-04_03h28m22s/
2020-12-04_03h30m32s/
2020-12-04_03h32m57s/
2020-12-04_05h12m45s/
2020-12-04_05h18m51s/

Output
[koobs@130-CURRENT-amd64:/usr/ports] poudriere logclean -p koobs -n -N 10 |grep 2020-12
... snip ...
12amd64-koobs/2020-12-04_03h12m51s
12amd64-koobs/2020-12-04_03h28m22s
12amd64-koobs/2020-12-04_03h30m32s
12amd64-koobs/2020-12-04_03h32m57s
12amd64-koobs/2020-12-04_05h12m45s
12amd64-koobs/2020-12-04_05h18m51s

I don't expect any 2020-12-04 directories to be deleted
I see the same output omitting -p koobs as well, which is even more surprising, unless not specifying -p means "all ports trees", which would appear inconsistent with the logclean usage:
    -p tree     -- Specify which ports tree to use for log directories
                   (Defaults to the 'default' tree)

[koobs@130-CURRENT-amd64:/usr/ports] poudriere logclean -n -N 10 |grep 2020-12
12amd64-koobs/2020-12-04_03h12m51s
12amd64-koobs/2020-12-04_03h28m22s
12amd64-koobs/2020-12-04_03h30m32s
12amd64-koobs/2020-12-04_03h32m57s
12amd64-koobs/2020-12-04_05h12m45s
12amd64-koobs/2020-12-04_05h18m51s

Koobs issue is not the same as this; that's using -N and is addressed in #805. This bug is about <days>.
As noted earlier this appears to not be a bug in Poudriere.

I've tried running find $logs -type d -mindepth 0 -maxdepth 0 -Btime +15d manually and it lists everything just like poudriere above, could that be an issue related to ZFS and inode creation time?

I am unable to reproduce the problem with find nor logclean.
~/git/poudriere6 # find /poudriere/data/logs/bulk/exp-head-i386-commit-test/*-*-*_*s -mindepth 0 -maxdepth 0 -type d -exec stat {} +
5405910403312123072 163848 drwxr-xr-x 4 root wheel<PHONE_NUMBER>3709551615 65 "Feb  9 16:41:24 2018" "Mar 23 12:56:29 2021" "Mar 23 12:56:29 2021" "Apr 20 14:21:54 2018" 4608 17 0x800 /poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-04-20_14h21m43s
5405910403312123072 493897 drwxr-xr-x 4 root wheel<PHONE_NUMBER>3709551615 64 "Feb  9 16:41:24 2018" "Jul  9 14:24:10 2018" "Jul  9 14:24:10 2018" "Jul  9 13:41:54 2018" 4608 17 0x800 /poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-07-09_13h41m16s
5405910403312123072 503898 drwxr-xr-x 4 root wheel<PHONE_NUMBER>3709551615 57 "Feb  9 16:41:24 2018" "Jul  9 18:35:40 2018" "Jul  9 18:35:40 2018" "Jul  9 14:24:28 2018" 4096 17 0x800 /poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-07-09_14h24m21s
5405910403312123072 558060 drwxr-xr-x 4 root wheel<PHONE_NUMBER>3709551615 39 "Feb  9 16:41:24 2018" "Jul 10 14:06:54 2018" "Jul 10 14:06:54 2018" "Jul 10 14:06:43 2018" 4096 17 0x800 /poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-07-10_14h06m35s
5405910403312123072 558154 drwxr-xr-x 4 root wheel<PHONE_NUMBER>3709551615 39 "Feb  9 16:41:24 2018" "Jul 10 16:23:25 2018" "Jul 10 16:23:25 2018" "Jul 10 14:28:52 2018" 4096 17 0x800 /poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-07-10_14h28m45s
5405910403312123072 576523 drwxr-xr-x 4 root wheel<PHONE_NUMBER>3709551615 35 "Feb  9 16:41:24 2018" "Jul 10 23:00:46 2018" "Jul 10 23:00:46 2018" "Jul 10 23:00:39 2018" 4096 17 0x800 /poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-07-10_23h00m32s
                                                                                ^^^^^^^ birth

2018-07-10 was 988 days ago from now.
987 days (all expected):
~/git/poudriere6 # find /poudriere/data/logs/bulk/exp-head-i386-commit-test/*-*-*_*s -mindepth 0 -maxdepth 0 -type d -Btime +987d
/poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-04-20_14h21m43s
/poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-07-09_13h41m16s
/poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-07-09_14h24m21s
/poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-07-10_14h06m35s
/poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-07-10_14h28m45s
/poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-07-10_23h00m32s

~/git/poudriere6 # ./poudriere logclean -j exp-head-i386 -p commit -z test -n 987
[00:00:00] Looking for builds older than 987 days in /poudriere/data/logs/bulk (filtered)... done
[00:00:00] Calculating size for found files... done
[00:00:00] These builds older than 987 days in /poudriere/data/logs/bulk (filtered) will be deleted:
exp-head-i386-commit-test/2018-04-20_14h21m43s
exp-head-i386-commit-test/2018-07-09_13h41m16s
exp-head-i386-commit-test/2018-07-09_14h24m21s
exp-head-i386-commit-test/2018-07-10_14h06m35s
exp-head-i386-commit-test/2018-07-10_14h28m45s
exp-head-i386-commit-test/2018-07-10_23h00m32s
[00:00:00] Removing these 6 builds older than 987 days in /poudriere/data/logs/bulk (filtered) will free: 7.77 MiB
[00:00:00] Dry run: not cleaning anything.
[00:00:00] Looking for detached latest-per-pkg logfiles in /poudriere/data/logs/bulk (no filter)... done
[00:00:02] No detached latest-per-pkg logfiles in /poudriere/data/logs/bulk (no filter) to cleanup
[00:00:02] [Dry Run] Would remove broken legacy latest-per-pkg symlinks (no filter)...
[00:00:02] [Dry Run] Would remove empty latest-per-pkg directories (no filter)...

988 days (3 expected):
~/git/poudriere6 # find /poudriere/data/logs/bulk/exp-head-i386-commit-test/*-*-*_*s -mindepth 0 -maxdepth 0 -type d -Btime +988d
/poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-04-20_14h21m43s
/poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-07-09_13h41m16s
/poudriere/data/logs/bulk/exp-head-i386-commit-test/2018-07-09_14h24m21s

~/git/poudriere6 # ./poudriere logclean -j exp-head-i386 -p commit -z test -n 988
[00:00:00] Looking for builds older than 988 days in /poudriere/data/logs/bulk (filtered)... done
[00:00:00] Calculating size for found files... done
[00:00:00] These builds older than 988 days in /poudriere/data/logs/bulk (filtered) will be deleted:
exp-head-i386-commit-test/2018-04-20_14h21m43s
exp-head-i386-commit-test/2018-07-09_13h41m16s
exp-head-i386-commit-test/2018-07-09_14h24m21s
[00:00:00] Removing these 3 builds older than 988 days in /poudriere/data/logs/bulk (filtered) will free: 7.02 MiB
[00:00:00] Dry run: not cleaning anything.
[00:00:00] Looking for detached latest-per-pkg logfiles in /poudriere/data/logs/bulk (no filter)... done
[00:00:01] No detached latest-per-pkg logfiles in /poudriere/data/logs/bulk (no filter) to cleanup
[00:00:01] [Dry Run] Would remove broken legacy latest-per-pkg symlinks (no filter)...
[00:00:01] [Dry Run] Would remove empty latest-per-pkg directories (no filter)...

If this happens again we'll need some stat output on the dirs to see the birthtime.


Is there a way to add an Index.html for the entire bucket.

Hi guys,
Thanks for your great work.
I'm wondering if there is a way to add an Index.html for the entire bucket?
Right now, s3pypi only generates one index.html for each package, is there a way to generate an index.html for the entire s3 bucket?

I have created a pull request, #26, that addresses this issue.

Nice idea for sure.

This would be extremely useful to have this available.

This is a problem for tools that expect a PEP 503 compliant package repo. For example dependabot fails if it can't read the root index.html. It needs this index in order to know which packages are stored in the repo.
While #26 is a good start it no longer merges cleanly. The linked repo (natefoo/s3pypi-root-index) hasn't been updated in two years.
@mdwint @rubenvdb I'm happy to work on getting this functionality into the core project. I would appreciate some guidance on how you think we should approach this before kicking off the work. Should the aim be to update @pdonis' and @natefoo's work so it merges cleanly or would you like to see something different?

The reason #26 did not get merged was that it did not handle concurrent updates.

One concern I have is that the top-level index might get overwritten when trying to upload multiple packages at the same time, since S3 does not provide locking.

Implementing this correctly will require some form of locking. Terraform's S3 backend, for example, solves this using a DynamoDB table. It's unfortunate how this adds a dependency on DynamoDB, since not everyone needs it. If you decide to go this route, I suggest making the feature optional, similar to basic auth in #76.
A simpler solution that was raised in #26 is providing the feature as a separate command, without consistency guarantees, as in natefoo/s3pypi-root-index. I would not be against including such a command in s3pypi, provided that the lack of locking is clearly stated in the documentation.

Come to think of it, adding a DynamoDB for locking might not be such a bad idea, since package-level indexes could benefit from it as well. This could be opt-in, similar to how Terraform does it.

@skwashd If you need a short-term solution, I recommend creating a simple script like natefoo/s3pypi-root-index. We can add a general-purpose solution to s3pypi after #76 is merged, and once the DynamoDB locking idea has been worked out.

@mdwint thanks for the detailed replies.
While I like DynamoDB, it adds another moving part.
Late last year, Amazon made S3 reads after writes strongly consistent. What do you think about making the locking mechanism configurable? I'm happy to explore adding "NONE" and "S3" as possible values initially, then later we could add support for "DYNAMODB".
What are the blockers for merging #76? Should I be basing my work off that branch?

Late last year, Amazon made S3 reads after writes strongly consistent.

Strong read-after-write consistency does not solve the "lost update" problem. Multiple instances of s3pypi could be reading, modifying, and writing the same index file at the same time. The final instance to write its results would overwrite the others just written. Any new packages/versions in those other updates would be lost. This would be a rare occurrence, but common enough to trigger the occasional bug report if used on a big enough scale, especially if we add top-level index pages.

What do you think about making the locking mechanism configurable? I'm happy to explore adding "NONE" and "S3" as possible values initially, then later we could add support for "DYNAMODB".

What would "S3" even entail? I don't think multiple locking implementations are necessary. A CLI option like --lock-indexes could be used toggle it on or off.
To be clear: I don't expect you to solve locking just yet. I'll create a separate issue, and can have a look at this myself.

What are the blockers for merging #76? Should I be basing my work off that branch?

I can merge it in the next few days. If you want to base your work off something, I recommend the develop branch.

Sorry I should have been clearer. I understand it takes time to create the index file. I was proposing that we could store the lock file in the S3 bucket. I know there is a small window where more than one process to perform a lock check, not see the file and write one.
That said, the top level index writing is really only problem where multiple processes are adding new packages to the repo. The file is just a list of links to the package directories in the bucket. I don't think the risk of collisions there is very high, except during bulk migrations.

I was proposing that we could store the lock file in the S3 bucket.

That could work if S3's new consistency model is strong enough, but I'm not sure that is the case. Someone proposed this idea for Terraform as well:

We’ve not yet done any research to see if S3’s new guarantees are sufficient for that model to be safe

Sounds like I give it a shot. If it isn't good enough we can switch to Dynamo.

@skwashd FYI, #76 has been merged. I've also created a starting point for this issue in #80. I'm assuming DynamoDB in this draft, but that can be swapped out for other implementations. From what I've read so far, I don't see this coming together using S3 alone, but I may be mistaken.


Kramdown header location marking

To implement a clean way of editing per section (see https://github.com/gollum/gollum/issues/1000), we need the rendering gem to support sourcemaps (i.e., outputting the position in the markup source of a rendered element in the html), minimally for header elements.
commonmarker has in-built sourcemapping, but for gollum I think we want to stick with kramdown as a default for now (commonmarker uses c-extensions). So:
This experimental PR overrides the default kramdown converter to output the position (linenumber) of a header element in the data-sourcepos attribute of the hX element. Example output (taken from the frontend):

Bilbo Baggins

It is slightly hackish, in so far as updates to kramdown might break this -- but the changes required are fairly minimal, as you can see. Maybe it wouldn't cause too much trouble, assuming that kramdown doesn't end up breaking SemVer. But do let me know if you think it's just too much of a hack.
In the frontend, we could simply pass the value of the data-sourcepos attribute along to the edit view, if it exits, and make the editor jump to that line in the source.
Complication: of course, the render filter is last in the filter chains. So if previous filters extract parts of the markup source, the line numbers generated by kramdown may be incorrect. Could we make it a policy for filters to always substitute back the same amount of lines as they extract?
commonmarker also stores the source position in the data-sourcepos attribute, so we could enable this when commonmarker is used and get the same effect in the frontend. Although the output looks slightly different:
2.4.1 :001 > require 'commonmarker'
 => true
2.4.1 :002 > CommonMarker.render_html("\"'Shelob' is my name.\"", [:HARDBREAKS, :SOURCEPOS])
 => "
"'Shelob' is my name."
\n"

(We only need the starting line number)

I'm really not familiar with data-sourcepos, so I'm having some difficulty understanding the proposal. In general, though, wouldn't kramdown want to support this?

data-sourcepos is just an arbitrary HTML attribute to store the information in. Kramdown already stores the location (=starting line number) for most of its elements, so it's just a matter of making sure it ends up in the rendered HTML.
I also wondered whether this might be accepted as a feature in kramdown (although then it would have to be done for all elements, not just

What do you think of the prospects of keeping the original linenumbering intact in the rest of the filters, though?

Could we make it a policy for filters to always substitute back the same amount of lines as they extract?

I don't think this will play nicely with Macros.

Why the Macros specifically?
I was thinking that what we'd need to ensure is just that the placeholders that get put in in the extract fase span the same number of lines as the snippet that was extracted. What happens after the render fase, e.g. the execution of Macros, is of no concern for making sure the linenumbering matches up with what's shown to the user in the edit view

I was thinking that what we'd need to ensure is just that the placeholders that get put in in the extract phase span the same number of lines as the snippet that was extracted. What happens after the render phase, e.g. the execution of Macros, is of no concern for making sure the linenumbering matches up with what's shown to the user in the edit view

OK, but what about code blocks then? These can span several lines, and the temporary placeholder will only be one line long, right? Similarly with CriticMarkup: it can do a multiline capture with a single-line (temporary) replacement. I might still not be understanding the issue correctly, though. 😄

OK, but what about code blocks then? These can span several lines, and the temporary placeholder will only be one line long, right? Similarly with CriticMarkup: it can do a multiline capture with a single-line (temporary) replacement. I might still not be understanding the issue correctly, though.

No, that's exactly the issue! In order for this strategy to work, we'd have to enforce that the placeholders are as long (in lines) as the snippet they're placeholding for. :) So with the current filters that wouldn't work. I was mostly wondering how doable it would be to enforce this in a clean way.
Maybe we could have a helper method on the Filter class that generates a placeholder for a given snippet, rather than hardcoding the placeholder in each filter's extract method??

Maybe we could have a helper method on the Filter class that generates a placeholder for a given snippet, rather than hardcoding the placeholder in each filter's extract method?

Yes, but this could still easily go wrong with user-provided filters who don't (yet) use the helper. Or what about a filter that reduces superfluous whitespace? That could inadvertently eat up some newlines that the helper has inserted. In short, I'm not sure how viable this would be. As an alternative, isn't the original text exposed to the filters by any chance?

It wouldn't be hard to give the filters access to the original source (although it's not very efficient). How would that allow us to get a robust sourcemap?

How about a SourceMap filter that sits at the very beginning of the chain, does nothing for extract but uses process to generate the sourcemap? It would have access to the processed data. Would that work?

I thought of that, but the problem is that after some extract calls have been done, the markup looks very different from its state before the filters were applied. So the linenumberings for the headers that SourceMap detects doesn't (necessarily) correspond to the linenumbers in the original document. And the source the user is presented with in the editor is the markup in its unaltered, pre-filter shape.
One experimental approach I'm trying is this:

Before executing any filters in the chain, render the document and generate a sourcemap.
Execute the pre-render filters
Execute the render filter, generating a new sourcemap
Compare the headers found in the first and second sourcemaps, based on their anchor names

any headers found in the original one that aren't in the latter one should go (because they were apparently false positives: e.g., a header tag embedded in a code or yaml block).
However, we should use the linenumbers found in the original sourcemap

Then we must handle edge cases. Consider the following markdown:
---
bla
# First header
---

# First header

The original sourcemap will contain:
{'first-header': 3, 'first-header-1': 6}

The second sourcemap will contain:
{'first-header': 2}

Because the YAML has been cut off, it finds first-header at line 2 of the (modified) document. However, first-header in the rendered document should be pointing to line number 6 in the original source. So we must set the line number for first-header (in the second sourcemap) to the value for first-header-1 (in the original sourcemap).
Downside to this entire method: requires an extra rendering step. And it's complicated..

And it's complicated..

I agree. It is complicated and computationally expensive. Since gollum already suffers from slow page loads, I'm not sure we should add additional rendering unless the trade-off is absolutely worth it.

So here is my last attempt at this using JS. It utilizes ace's syntax highlighting to identify markdown header 'tokens' (in ace-speak). This means header markers in codeblocks etc. are correctly ignored.
In gollum.editor.js:
    var session = window.ace_editor.session;
    var num_lines = session.getLength();
    var sourcemap = new Object;
    for (i = 0; i < num_lines; i++) {
      token = session.getTokenAt(i,0);
      if (token != null && token['type'].startsWith('markup.heading.')) {
        if (token['value'].startsWith('#')) {
          line = i;
          header = session.getLine(line).substring(token['value'].length);
        } else { // It's a ==== or ---- style header, header text is on the line below
          line = i-1;
          header = session.getLine(line);
        }
        header = header.trim();
        header = header.replace(/[^a-z0-9_\s]/gi, ' ')
        header = header.replace(/\s\s+/g, ' ');
        header = header.split(/\s/).join('-').toLowerCase();
        if (sourcemap[header] == undefined) {
          sourcemap[header] = line;
        } else {
          var index = 1;
          while (sourcemap[header + '-' + index] != undefined) {
            index++;
          }
          sourcemap[header + '-' + index] = line;
        }
      }
    }
    console.log(sourcemap);

This works only for markdown, but we could define functions such as these on a per-language basis in the language definitions. If no sourcemap function is defined, edit sections functionality is not supported.
The above snippet correctly produced a sourcemap for my markdown document, where the keys are equal to the anchor names that gollum produces, so we can easily match them up with whatever section the user wanted to edit:
Object { "bilbo-baggins-is-home-md-hobbit": 0, hello: 13, "hello-1": 16, test: 19 } # 'hello-1' correctly generated

Edge cases:

this is based on ace's markdown language definition, so header elements in code blocks etc. are ignored. By gollum also supports e.g. plantuml block-level syntax elements (plantuml is the only one I've identified till now), if you add # Header in there ace will consider it as a header.

possible to work around this by extending ace's markdown language definition to include gollum-specific syntax, which is nice anyway.

# Link in a [[Home.md header]] will be rendered in gollum as Link in a header (anchor: #link-in-a-header), but Ace doesn't know about gollum link tags, so it will parse that as Link in a Home.md header (anchor: link-in-a-home-md-header).
Similarly for Macros

I don't know how to deal with the last two edge cases. We could:

Just bork and not produce the sourcemap if we see Macros or link tags in any of the headers
Use Ace to collect all the header tokens and do an Ajax call to gollum, letting gollum render them all, and thus we're guaranteed to get back exactly the anchors that gollum would produce.

requires a partial/fragment route to be added to the app

@bartkamphorst what do you think? Is this viable? If not, I think we should give up on editable sections -- or at leasrt I don't see how it could work

Is this viable? If not, I think we should give up on editable sections -- or at leasrt I don't see how it could work.

I think this is the most viable solution so far. I don't know how to deal with the edge cases either, but then again I also don't really understand how the edge cases would affect the functionality. Is that gollum would show the wrong section? Would it still be "near enough" the intended section?

Link in a [[Home.md header]] will be rendered in gollum as Link in a header (anchor: #link-in-a-header), but Ace doesn't know about gollum link tags, so it will parse that as Link in a Home.md header (anchor: link-in-a-home-md-header).

Just realized this won't be a problem, as we wisely decided not to add the editable class to a header if its content contains a tag placeholder:
https://github.com/gollum/gollum-lib/commit/cde561e06c62fcfe1e2146e672b6c66a2fe4d28d#diff-2645eea806fd1f71019badc6db97ac15R28
i.e. headers with links or other markup in them won't be clickable in the first place.
That leaves the issue of custom block level syntax (UML for sure --- anything else? custom code blocks?), for which this still applies:

possible to work around this by extending ace's markdown language definition to include gollum-specific syntax, which is nice anyway.


Teleporting with Object Broken on 1.14

Teleporting while holding an object is broken on v1.14.  When teleporting, the NVRInteractableItem the player is holding will drop straight down instead of teleporting with the player.
I'm currently using Vive Teleport, Newton VR on Unity 5.5f3

It is likely detaching due to distance.  So I don't think it is actually
purposefully dropping the object, you are just moving the hand away so fast
that you are breaking the connection.
The solution I found is when i teleport the player I calculate how far that
would move the held object, then manually add that to the object transform.
i.e. you have to teleport the object too.
On Tue, Dec 13, 2016 at 12:57 AM, gsurla<EMAIL_ADDRESS>wrote:

Teleporting while holding an object is broken on v1.4. When teleporting,
the NVRInteractableItem the player is holding will drop straight down
instead of teleporting with the player.
I'm currently using Vive Teleport, Newton VR on Unity 5.5f3
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/TomorrowTodayLabs/NewtonVR/issues/98, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AE3l1s9O1HmvfWDA476_HDLps9pKmAgOks5rHl3fgaJpZM4LLewf
.

I'll try teleporting the actual object instead.  Thanks.  I'll close this issue since, as you pointed out, it turns out to be more of a feature request than a bug.


Create index.md file

hello guyssssssss

I made it to h1

$ git init
Initialized empty Git repository in /Users/skills/Projects/recipe-repository/.git/

[x] List syntax is required
[x] This item is complete
[ ] This item is not complete


Add pagination to Rgdc.search

Closes #354, Supersedes #359.
This conflicts with #360, although I was unaware of this PR until now. However, I think my PR addresses slightly more use cases than that one.
Currently, this function will fetch as many results as it can from the server at once, and paginate until the user specified limit is reached. So, for example, if the user specifies a limit of 1200, this function will first just pass that limit to the server, which will only return 1000 results, since that's the silent max. This function will then fetch the remaining 200 results after that.
However, I've also considered modifying this function to always use the server default of 100, and deal with the limit solely in the client. The main reason for this would be to keep individual request times down, as for 1000 results, the requests can take around 20 seconds. This would mean a slightly higher overall time for fetching the same amount of data, but would also allow for a more flexible use of the data. Thoughts @banesullivan @matt-bernstein?

My preferred behavior on the client's end is to do away with the silent max on limit entirely - the default should be to return all results. The user shouldn't need to care or guess how many results there might be by setting limit in all cases, as this is a potential source of errors if they don't check that limit has been reached.
I wouldn't worry too much about having large request times, since after the other duplication issues in #354 are fixed, a typical query would be ~10 entries and a soft maximum would be ~1000. Unless there's some future use case which involves querying the entire globe at once in a single process, which sounds like a bad idea anyway.

My preferred behavior on the client's end is to do away with the silent max on limit entirely - the default should be to return all results. The user shouldn't need to care or guess how many results there might be by setting limit in all cases, as this is a potential source of errors if they don't check that limit has been reached.

I'm a bit confused what you mean by this. There's no way client side to do away with the silent max. Are you saying the limit parameter isn't useful for this function?

On the user's end, if that wasn't clear. As in, if limit=None, all results should be returned, even if search() has to silently make multiple requests and handle pagination to make that work.

On the user's end, if that wasn't clear. As in, if limit=None, all results should be returned, even if search() has to silently make multiple requests and handle pagination to make that work.

Oh, yeah I agree, that's how my implementation currently operates. My concern was more about the size of each indvidivual request when that's the case, but as you indicated I suppose it's not a real issue.

This is the failed test:
def test_datastore_valid():
    """Validates that all entries in the datastore are available for download."""
    for k in datastore.registry.keys():
        assert datastore.datastore.is_available(k), f'`{k}` not available.'

Doesn't seem to have anything to do with this MR? Could just be a random 503 error. Maybe try rerunning the checks.

Rerunning the tests seem to have fixed it.


Quad tree

This is ready for review.

Hey! This is terrific! I would use an image that shows the lines of the quadtree itself as that represents the topic better than just the dots. Something along the lines of:

Let me know if you'd like to add it or if you prefer I merge and update the image afterwards.

For the index image?

Is this OK?

Looks great!


feat(server) Add new /get/:template endpoint implementation

Changes

Implemented /get endpoint for Cicero Server.
Added test cases for /get.

Flags

Documentation will be added later with Swagger UI PR.

Demo

Sample request.body (Does not contain any argument):
{}

Response to sample request:
{
    "result": [
        {
            "name": "<EMAIL_ADDRESS>            "namespace": "org.accordproject.time",
            "content": "/*\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nnamespace org.accordproject.time\n\n/**\n * Months of the year\n */\nenum Month {\n  o January\n  o February\n  o March\n  o April\n  o May\n  o June\n  o July\n  o August\n  o September\n  o October\n  o November\n  o December\n}\n\n/**\n * Days of the week\n */\nenum Day {\n  o Monday\n  o Tuesday\n  o Wednesday\n  o Thursday\n  o Friday\n  o Saturday\n  o Sunday\n}\n\n/**\n * Units for a duration.\n */\nenum TemporalUnit {\n  o seconds\n  o minutes\n  o hours\n  o days\n  o weeks\n}\n\n/**\n * A duration. For example, 6 hours.\n */\nconcept Duration {\n  o Long amount\n  o TemporalUnit unit\n}\n\n/**\n * Units for a time period.\n */\nenum PeriodUnit {\n  o days\n  o weeks\n  o months\n  o quarters\n  o years\n}\n\n/**\n * A time period. For example, 2 months.\n */\nconcept Period {\n  o Long amount\n  o PeriodUnit unit\n}\n"
        },
        {
            "name": "<EMAIL_ADDRESS>            "namespace": "org.accordproject.money",
            "content": "/*\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nnamespace org.accordproject.money\n\n/**\n * Represents an amount of Cryptocurrency\n */\nconcept DigitalMonetaryAmount {\n  o Double doubleValue\n  o DigitalCurrencyCode digitalCurrencyCode\n}\n\n/**\n * Digital Currency codes.  From https://en.wikipedia.org/wiki/ISO_4217\n * https://www.currency-iso.org/en/home/tables/table-a1.html\n */\nenum CurrencyCode {\no AED\no AFN\no ALL\no AMD\no ANG\no AOA\no ARS\no AUD\no AWG\no AZN\no BAM\no BBD\no BDT\no BGN\no BHD\no BIF\no BMD\no BND\no BOB\no BOV\no BRL\no BSD\no BTN\no BWP\no BYN\no BZD\no CAD\no CDF\no CHE\no CHF\no CHW\no CLF\no CLP\no CNY\no COP\no COU\no CRC\no CUC\no CUP\no CVE\no CZK\no DJF\no DKK\no DOP\no DZD\no EGP\no ERN\no ETB\no EUR\no FJD\no FKP\no GBP\no GEL\no GHS\no GIP\no GMD\no GNF\no GTQ\no GYD\no HKD\no HNL\no HRK\no HTG\no HUF\no IDR\no ILS\no INR\no IQD\no IRR\no ISK\no JMD\no JOD\no JPY\no KES\no KGS\no KHR\no KMF\no KPW\no KRW\no KWD\no KYD\no KZT\no LAK\no LBP\no LKR\no LRD\no LSL\no LYD\no MAD\no MDL\no MGA\no MKD\no MMK\no MNT\no MOP\no MRU\no MUR\no MVR\no MWK\no MXN\no MXV\no MYR\no MZN\no NAD\no NGN\no NIO\no NOK\no NPR\no NZD\no OMR\no PAB\no PEN\no PGK\no PHP\no PKR\no PLN\no PYG\no QAR\no RON\no RSD\no RUB\no RWF\no SAR\no SBD\no SCR\no SDG\no SEK\no SGD\no SHP\no SLL\no SOS\no SRD\no SSP\no STN\no SVC\no SYP\no SZL\no THB\no TJS\no TMT\no TND\no TOP\no TRY\no TTD\no TWD\no TZS\no UAH\no UGX\no USD\no USN\no UYI\no UYU\no UZS\no VEF\no VND\no VUV\no WST\no XAF\no XAG\no XAU\no XBA\no XBB\no XBC\no XBD\no XCD\no XDR\no XOF\no XPD\no XPF\no XPT\no XSU\no XTS\no XUA\no XXX\no YER\no ZAR\no ZMW\no ZWL\n}\n\n/**\n * Represents a currency conversion pair and exchange rate\n */\nconcept CurrencyConversion {\n   o CurrencyCode from\n   o CurrencyCode to\n   o Double rate\n}\n"
        },
        {
            "name"<EMAIL_ADDRESS>            "namespace": "org.accordproject.contract",
            "content": "/*\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconcerto version \">= 1.0.0\"\n\nnamespace org.accordproject.contract\n\n/**\n * Contract Data\n * -- Describes the structure of contracts and clauses\n */\n\n/* A contract is a asset -- This contains the contract data */\nabstract asset Contract identified by contractId {\n  o String contractId\n}\n\n/* A clause is an asset -- This contains the clause data */\nabstract asset Clause identified by clauseId {\n  o String clauseId\n}\n"
        },
        {
            "name"<EMAIL_ADDRESS>            "namespace": "org.accordproject.runtime",
            "content": "/*\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconcerto version \">= 1.0.0\"\n\nnamespace org.accordproject.runtime\n\nimport org.accordproject.contract.Contract from https://models.accordproject.org/accordproject/contract.cto\n\n/**\n * Runtime API\n * -- Describes input and output of calls to a contract's clause\n */\n\n/* A request is a transaction */\ntransaction Request {\n}\n\n/* A response is a transaction */\ntransaction Response {\n}\n\n/* An event that represents an obligation that needs to be fulfilled */\nabstract event Obligation identified {\n  /* A back reference to the governing contract that emitted this obligation */\n  --> Contract contract\n\n  /* The party that is obligated */\n  --> Participant promisor optional\n\n  /* The party that receives the performance */\n  --> Participant promisee optional\n\n  /* The time before which the obligation is fulfilled */\n  o DateTime deadline optional\n}\n\n/* A contract state is an asset -- The runtime state of the contract */\nasset State {\n}\n"
        },
        {
            "name"<EMAIL_ADDRESS>            "namespace": "org.accordproject.ergo.options",
            "content": "/*\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nnamespace org.accordproject.ergo.options\n\nconcept Options {\n  o Boolean wrapVariables\n  o Boolean template\n}\n"
        },
        {
            "name": "model.cto",
            "namespace": "org.accordproject.latedeliveryandpenalty",
            "content": "namespace org.accordproject.latedeliveryandpenalty\n\nimport org.accordproject.time.TemporalUnit from<EMAIL_ADDRESS>org.accordproject.time.Duration from<EMAIL_ADDRESS>org.accordproject.contract.Clause from https://models.accordproject.org/accordproject/contract.cto\nimport org.accordproject.runtime.Request from https://models.accordproject.org/accordproject/runtime.cto\nimport org.accordproject.runtime.Response from https://models.accordproject.org/accordproject/runtime.cto\n\n/**\n * Defines the data model for the LateDeliveryAndPenalty template.\n * This defines the structure of the abstract syntax tree that the parser for the template\n * must generate from input source text.\n */\nasset TemplateModel extends Clause {\n  /**\n   * Does the clause include a force majeure provision?\n   */\n  o Boolean forceMajeure\n\n  /**\n   * For every penaltyDuration that the goods are late\n   */\n  o Duration penaltyDuration\n\n  /**\n   * Seller pays the buyer penaltyPercentage % of the value of the goods\n   */\n  o Double penaltyPercentage\n\n  /**\n   * Up to capPercentage % of the value of the goods\n   */\n  o Double capPercentage\n\n  /**\n   * If the goods are >= termination late then the buyer may terminate the contract\n   */\n  o Duration termination\n\n  /**\n   * Fractional part of a ... is considered a whole ...\n   */\n  o TemporalUnit fractionalPart\n}\n\n/**\n * Defines the input data required by the template\n */\ntransaction LateDeliveryAndPenaltyRequest extends Request {\n\n  /**\n   * Are we in a force majeure situation? \n   */\n  o Boolean forceMajeure\n\n  /**\n   * What was the agreed delivery date for the goods?\n   */\n  o DateTime agreedDelivery\n\n  /**\n   * If the goods have been delivered, when where they delivered?\n   */\n  o DateTime deliveredAt optional\n\n  /**\n   * What is the value of the goods?\n   */\n  o Double goodsValue\n}\n\n/**\n * Defines the output data for the template\n */\ntransaction LateDeliveryAndPenaltyResponse extends Response {\n  /**\n   * The penalty to be paid by the seller\n   */\n  o Double penalty\n\n  /**\n   * Whether the buyer may terminate the contract \n   */\n  o Boolean buyerMayTerminate\n}"
        },
        {
            "name": "test.cto",
            "namespace": "org.accord.test",
            "content": "namespace org.accord.test\n\n\nenum Status {\n  o ON\n  o OFF\n}\n\nconcept Child {\n  o String name\n}\n\n/**\n * A test concept\n */\nconcept Foo {\n  o String bar\n  --> Participant p\n  --> Asset a\n  o Double d\n  o Long l\n  o DateTime t\n  o Boolean b\n  o Status s\n  o Integer i\n  o Child child\n}"
        }
    ]
}

Author Checklist

[x] Ensure you provide a DCO sign-off for your commits using the --signoff option of git commit.
[x] Vital features and changes captured in unit and/or integration tests
[ ] Commits messages follow AP format
[ ] Extend the documentation, if necessary
[x] Merging to master from fork:branchname

Coverage increased (+0.03%) to 93.657% when pulling ab7c79b6c9ac6ccbc8bdeefb7546597b70ea1760 on mehmettokgoz:get into 62a2f44c40e26cd417c6502933f63f467e8fa579 on accordproject:master.


A few enhancements going through Layer 1 section of the FAQ

This is awesome work, thanks so much!


no information about IRP_MJ_FILE_SYSTEM_CONTROL

There is no information about IRP_MJ_FILE_SYSTEM_CONTROL in this neither previos section.
[Enter feedback here]

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

ID: 39d4c36b-872d-6454-0525-46876caaa912
Version Independent ID: 381982c3-c5a9-4f38-2a42-3c935fd506fa
Content: Optional Dispatch Routines - Windows drivers
Content Source: windows-driver-docs-pr/kernel/optional-dispatch-routines.md
Product: windows-hardware
Technology: kernel
GitHub Login: @tedhudek
Microsoft Alias: tedhudek

Thanks for the feedback @karolKiedrowski.  Can you provide more detail on what specifically you are trying to accomplish?  I think that will enable me to help you better.

I need an explanation about dispatch routine that is responsible for
processing of given irp message
czw., 12 paź 2023, 01:45 użytkownik Ted Hudek @.***>
napisał:

Thanks for the feedback @karolKiedrowski
https://github.com/karolKiedrowski. Can you provide more detail on what
specifically you are trying to accomplish? I think that will enable me to
help you better.
—
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/windows-driver-docs/issues/3674#issuecomment-1758702804,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUJCPWNRUQFCNND2ORESVMLX64VSVANCNFSM6AAAAAA54IWMDM
.
You are receiving this because you were mentioned.Message ID:
@.***>

What type of driver are you writing?  Is it by any chance a file system driver or a file system filter driver?
You could try asking https://www.bing.com/chat for sample code for a dispatch routine.  I just tried it, and it gave me starter code based on the documentation and sample code it found.

Closing out for now, please reopen if still needed.


Update README.md

Append README.md to link to gist demonstrating how to use these tokens.

Thanks @rainabba for your contribution! I think we could improve the docs here and so I just put together #18 since I think it's better to link to our official documentation rather than an outdated gist. Closing this in favor of that other PR.


Fix out of date man page link

Previously the link redirect to an error page:

Thanks for this, @tnorthcutt. However, there's already a conversation in #847 about how best to fix this in a future-forward manner. Please let me know if you have any additional thoughts there.

@ethagnawl gah, sorry about that! I searched open issues for "man page" and came up empty 🙃


Add testing support

You'll need to enable travis, but this should start getting goenv in a place where we can make changes and actually verify that things work...

Give me a little bit of time to consider whether I want to use specifically Travis.

Thoughts?


GPT-3 model is still being used despite GPT-4 being added in v0.10.0

According to these comments, CoPilot chat should now be powered by GPT-4:
https://github.com/microsoft/vscode-copilot-release/issues/6#issuecomment-1789914587
https://github.com/microsoft/vscode-copilot-release/issues/166#issuecomment-1789923347
However GPT-3 is still being used:

Can confirm the answer quality is still GPT-3 level (far lower quality that using GPT-4 via ChatGPT).

You can't rely on GPT's self-reporting. This is from the API playground, with no system prompt:

Yep I can confirm with 0.10 that GPT-4 is being used via the logs

but the LLM doesn't know that

Yep I can confirm with 0.10 that GPT-4 is being used via the logs
but the LLM doesn't know that

Let me rephrase for the user that opened this, yes it does use gpt 4 but it's definitely not using it for the response cause the quality feels as if you are still talking to gpt 3.5 and it's also proven that it still uses that so it's really confusing for the users and feels like there's no difference.

@outgaze According to this thread, the first response is the GPT-4 powered response to the user prompt. And the second GPT-3.5 response is just the follow up question
https://github.com/microsoft/vscode-copilot-release/issues/6


python3Packages.soco: 0.26.4 -> 0.27.1

Description of changes
https://github.com/SoCo/SoCo/releases/tag/v0.27.1

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 164410 run on x86_64-linux 1

8 packages built:

beets
beetsExternalPlugins.alternatives
beetsExternalPlugins.copyartifacts
beetsExternalPlugins.extrafiles
home-assistant-component-tests.sonos
python310Packages.soco
python39Packages.soco
soco-cli


Bubble positions all wrong

The bubble on the top of the pointer isn't positioned correct until slided all the way to the left.
The position of the left bubble does not dissapear.
The position of the right bubble is outside the container.

This should be fixed with new css styles


Fails to verify contract ( err: Unable to locate a contract with the name )

Environment information

ape and plugin versions:

$ ape --version
0.8.2
$ ape plugins list
Installed Plugins
  etherscan    0.8.0
  hardhat      0.8.0
  infura       0.8.0
  solidity     0.8.0

Python Version: 3.9.5
OS: linux (docker)

What went wrong?
Tried verifying the contract with publish: True, I got error that it's unable to locate a contract.

what command you ran
ape run deploy_cicada --network :sepolia:infura ( This is a script to deploy a contract named PrivateVote under src/PrivateVote.sol )
the code that caused the failure (see this link for help with formatting code)

import click
from ape import project, networks, accounts
from ape.cli import (
    ConnectedProviderCommand,
    network_option,
    ape_cli_context,
)

@click.command(cls=ConnectedProviderCommand)
@ape_cli_context()
@network_option()
def cli(cli_ctx, network):
    """
    Get public parameter of cicada vote instance
    """
    try:
        # custom gas fee
        max_fee = '200 gwei'
        max_priority_fee = '10 gwei'
        # Check network details
        ecosystem_name = networks.provider.network.ecosystem.name
        network_name = networks.provider.network.name
        provider_name = networks.provider.name

        click.secho(f"Selected network: {network_name}", fg="blue")

        account = accounts.load("olas")

        click.secho(
            f"You are connected to network '{ecosystem_name}:{network_name}:{provider_name}'.",
            fg="yellow",
        )
        click.secho(f"Deployer is set to '{account}'.", fg="yellow")

        # Deploy the contract
        click.secho("Deploying the PrivateVote contract...", fg="green")
        project.PrivateVote.deploy(sender=account, publish=True, max_fee=max_fee, max_priority_fee=max_priority_fee)
        click.secho("Contract deployed successfully!", fg="green")
    except Exception as e:
        click.secho(f"An error occurred: {e}", fg="red")

full output of the error you received

Unable to verify. Unable to locate a contract with the name 'PrivateVote.sol:PrivateVote', did you specify the correct Contract Name?

Have attached a txt file that contains the output from terminal for command run with -v DEBUG
debug.txt
How can it be fixed?
Fill this in if you have ideas on how the bug could be fixed.

As an aside, there are some things with your script I want to comment on!

Since 0.7.0, you no longer need to specify @network_option() with ConnectedProviderCommand, you get it automatically and it works better without it
When using ConnectedProviderCommand, you can also accept provider and ecosystem right in the command args,

Here is an example!
@click.command(cls=ConnectedProviderCommand)
@ape_cli_context()
def cli(cli_ctx, ecosystem, network, provider):
         ...
        # No need for lines like `network_name = networks.provider.network.name`
        click.secho(f"Selected network: {network.name}", fg="blue")

(Partially shilling this feature)
And also, for the record, I am looking into the issue now and working on ape-etherscan as a whole

fixed by https://github.com/ApeWorX/ape-etherscan/pull/140

Worked for me
https://sepolia.etherscan.io/address/0xd9aaBA4a0Cf1F087cEc266e2811e8ae5cAb1Faf3#code


Shell Sort in Python

Please assign me this issue

Hey @RaniK27 I can create code and explain graphically as well, please assign this issue to me.


Coursera goes close all courses on old platform ((

Hello!
Coursera goes close up all courses on old platform.
https://reachtarunhere.github.io/2016/06/11/Golden-Age-of-MOOCs-is-over-and-why-I-hate-Coursera/
For now, we can download courses before 30, June. After this date the free downloading has been closed.
We have a plan to do with this issue?
coursera downloader:
https://github.com/coursera-dl/coursera-dl
https://news.ycombinator.com/item?id=11882735

@ol3gart
Well, this is a sad news.
Let's wait until they shut down the old platform and see how many courses of our curriculum will be really affected.
Our first 6 courses are from other course providers, so this will not affect that much instantly, IMO.
Thanks for pointing this out! :pray:


'switch' not matched as '.keyword.control'

From @donaldpipowitch on March 24, 2016 21:0

VSCode Version: 0.10.11 and recent Insiders version
OS Version: Mac OS X

Steps to Reproduce:
function check(n) {
  switch(n) {
    case 1:
      console.log('one');
      break;
    default:
      console.log('other');
      break;
  }

  if (n === 1) {
    console.log('one');
  } else {
    console.log('other');
  }

  return n;
}

check(1);

case, break, default, if, else and return are matched as .keyword.control, but not switch. Tested with JavaScript and TypeScript.
I'd like to fix this myself, but would need some guidance to find the correct code.
Copied from original issue: Microsoft/vscode#4659

It may have not yet been updated in VSCode but the scope of 'switch' is .keyword.control in the most recent TmLanguage repo. Pull request #105.

Seems fine in master :+1:


Pointer and delegation addresses with --network-tag 0 do not generate address with prefix addr_test

Context
With change related to https://github.com/input-output-hk/cardano-addresses/issues/55 we seem to have a bit incoherent situation now. We have payment and stake address that are generated with addr_test or stake_test prefix when using network-tag 0, but pointer and delegation addresses are still using addr prefix:
pointer
cardano-address recovery-phrase generate --size 15 \
    | cardano-address key from-recovery-phrase Shelley > root.prv

cat root.prv \
    | cardano-address key child 1852H/1815H/0H/0/0 > addr.prv

cat addr.prv \
    | cardano-address key public \
    | cardano-address address payment --network-tag 0\
    | cardano-address address pointer 42 14 0
  addr1grq8e0smk44luyl897e24gn6qfkx4ax734r6pzq29zcew032pcqqef7zzu

delegation
cardano-address recovery-phrase generate --size 15 \
    | cardano-address key from-recovery-phrase Shelley > root.prv

cat root.prv \
    | cardano-address key child 1852H/1815H/0H/2/0 > stake.prv

cat root.prv \
    | cardano-address key child 1852H/1815H/0H/0/0 > addr.prv

cat addr.prv \
    | cardano-address key public \
    | cardano-address address payment --network-tag 0 \
    | cardano-address address delegation $(cat stake.prv | cardano-address key public)
  addr1qpj2d4dqzds5p3mmlu95v9pex2d72cdvyjh2u3dtj4yqesv27k...

Perhaps they should be also updated?
Decision

Acceptance Criteria

Development

QA

QA:

Added new test scenarios in for the pointer and delegation commands showing that the prefix is correctly set to addr_test if the base address is a testnet address:
https://github.com/input-output-hk/cardano-addresses/blob/af81451427294b5e8d328a80f725de81c94bb0bb/command-line/test/Command/Address/PointerSpec.hs#L16-L26
https://github.com/input-output-hk/cardano-addresses/blob/af81451427294b5e8d328a80f725de81c94bb0bb/command-line/test/Command/Address/DelegationSpec.hs#L16-L24

LGTM.


Added --save to "npm install @angular/material"

Added --save to "npm install @angular/material" to save the package to the dependencies list in package.json

I signed it!

Can you add the --save to the the install instructions below as well? Here


Good puppeteer tutorial is needed.

Hello friends.
Could someone point me to a good puppeteer tutorial which goes beyond printing PDF of the screen and actually working on Windows 10? Everything I found does not work as advertised.
Thanks,
Vladimir.
sw-eng-kyivATmail.com

Have you replaced phantomjs by chrome driver successfully? If you have done, please list out what are difficulties you are faced. We are in beginning at the same process. It would help us lot. @voleynik

I wrote a modest Puppeteer tutorial here : https://www.aymen-loukil.com/en/blog-en/google-puppeteer-tutorial-with-examples/

I'm currently building an app with puppeteer and am more on the novice side of nodejs programming. My biggest problem that i'm running into is error handling with puppeteer and how to do that. Every tutorial and examples that I find all just assume that puppeteer is going to work with everything its given, however in my case I have no control of the selectors given to my app. And therefore I get errors quite a bit because of bad selector paths. Is there some better way to error handle these instead of having to check every single time page.[method] is successful?


[Feature]  Real-Time Monitoring Implementation

Description
Hello there, @GarimaSingh0109 ,
I propose to work on real-time monitoring where users can input their data, waste type, amount as such, then visual representation of their methods and waste management habits, storing in localstorage for monitoring purposes, alongwith displaying the users with useful tips to follow in order to tackle waste.

Also, converting the features section into an image-slider like content embodied for improved UI.

Motivation
Since the waste management web app primarily focuses on managing our waste effectively, it cannot be ensured without each individual's awareness towards their waste management habits and unless people keep track of these habits, the ignorance may have serious consequences. Hence, through this feature, I aim to help users track and monitor these habits along with providing useful tips for achieving our goal of making a cleaner, greener planet.
Screenshots

Additional Context
No response
Checklist

[X] I have checked the existing issues.
[X] I have read the Code Of Conduct.
[X] The changes don't break the code.
[X] I will attach screenshots and videos of the development work once it is done.

Priority
High

@Nkovaturient Thanks for creating this issue, indeed a great idea! I have assigned u the issue. You can start working on it.

@Nkovaturient Thanks for creating this issue, indeed a great idea! I have assigned u the issue. You can start working on it.

Glad to hear from you. I will start working on it.
Kindly assign the labels as well. 😄🌟🚀

Hello @GarimaSingh0109 ,
I have successfully worked on this feature addition. Kindly review through this demo video:-
https://github.com/user-attachments/assets/b21e987d-7aac-44de-874f-f3e3f933e195
Also, I would like to ensure the following steps before proceeding for a PR since there had been various enhancements in your main repo, hence, to avoid broken reference or ORIG_HEAD(which I faced in an another repo), kindly guide me:-

git add .
git commit -m "add-realtime-monitoring"
git push -u origin "add-realtime-monitoring"
Then, on github, Sync my fork with your main branch
Compare and Pull-request

Looking forward to your guide and support. 😀😺


Run on Lithops AWS

Update test to use Xarray
Write test data to Zarr files and delete at end (outside of timing context)
Add a config file for running on Lithops AWS (commented out for the moment)

I had to install the following packages (Xarray is pinned due to namedarray changes):
pip install pytest-xdist filelock 'xarray==2023.10.0' cubed_xarray lithops rich pydot s3fs

Then I could run some tests on Lithops:
pytest --benchmark -s 'tests/benchmarks/test_array.py::test_quadratic_means_xarray[configs/lithops_aws.yaml-50]'
pytest --benchmark -s 'tests/benchmarks/test_array.py::test_quadratic_means_xarray[configs/lithops_aws.yaml-500]'
pytest --benchmark -s 'tests/benchmarks/test_array.py::test_quadratic_means_xarray[configs/lithops_aws.yaml-5000]'

Note that Pytest -s option enables the Cubed's Rich progress bars, which is helpful when running a computation interactively.
$ duckdb benchmark.db
D select name, duration from test_run where name like '%lithops%';
┌────────────────────────────────────────────────────────────┬────────────────────┐
│                            name                            │      duration      │
│                          varchar                           │       double       │
├────────────────────────────────────────────────────────────┼────────────────────┤
│ test_quadratic_means_xarray[configs/lithops_aws.yaml-50]   │  34.91558289527893 │
│ test_quadratic_means_xarray[configs/lithops_aws.yaml-500]  │ 56.183167934417725 │
│ test_quadratic_means_xarray[configs/lithops_aws.yaml-5000] │  66.49491095542908 │
└────────────────────────────────────────────────────────────┴────────────────────┘

Wait 66 seconds for t_length=5000?! That's the same as the 150GB job in the blog post notebook, which previously took 11 minutes!

Wait 66 seconds for t_length=5000?! That's the same as the 150GB job in the blog post notebook, which previously took 11 minutes!

That's right. This is running on AWS though - I have noticed that GCP can be several times slower (I dont know why), but still a lot faster than when you first ran the benchmarks.

I can go and look into this

Thanks!


Show length of string being edited

Hello,
We are translating strings that are displayed in a 2 lines, 16 characters display.
A nice feature would be to display the string length (in characters) of the translation.
Léo

The best way to get features that are rarely needed by most users, but that you care about, is to submit a PR, even imperfect one. Honestly, I'm unlikely to implement this myself, features useful to the other 99% users take precedence.


Wakatime language identification error

My latex class file(*.cls) was identified  OpenEdge ABL
OpenEdge ABL
~/Documents/MathModels/cumcm2/cumcm_template/thesis/cumcmthesis.cls

~/Documents/latex_template/cumcm_template/thesis/cumcmthesis.cls

my cls file

Didn't want to open a new issue for this, but yeah, it would be really neat, if you could actually specify/modify the language somehow.

Say I'm working with a little-known language, and it would be really neat if I could go into settings and define something like:
*.myfiletype == My Awesome Language

it would be really neat, if you could actually specify/modify the language somehow.

Yep, you can do that with a "Custom Rule" matching the end of the file:
https://wakatime.com/settings/rules

My latex class file(*.cls) was identified OpenEdge ABL

We'll fix this in a future wakatime-cli release, but for now you should use custom rules to fix the language. Let's leave this issue open until the code fix is released.

Oh, my bad, huge thanks for pointing this feature out to me!


fix: textareaのクリックフォーカス領域を修正

やったこと

fix: textareaのクリックフォーカス領域を修正

参考：https://github.com/pixiv/charcoal/pull/399

In this PR text will show in the count region and be overlapped with count during typing/scrolling

The behavior of my PR:

https://github.com/pixiv/charcoal/pull/399#pullrequestreview-1689380713


Add CRUD operation on streams

added structs and methods for operating on streams API
fixed a bug where request() would always wait for timeout before returning
added randomizing tmp directory as store_dir in natsServer.swift

Signed-off-by: Piotr Piotrowski<EMAIL_ADDRESS>

Note: this PR does not contain the stream/mirror external domain shenanigans, if needed I will add this separately.


Couldn't find meta-data for provider...

Hi
I'm trying to get your plugin to work with my webpage :)
The good news is when I click on my picture button your plugin ask me if I want to use the camera or gallery.
But when I choose camera I got this:

I followed (without success) the answer to this thread:
https://stackoverflow.com/questions/56598480/couldnt-find-meta-data-for-provider-with-authority
So I tried to add the "provider" tag to my android/app/src/main/AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.flutter_webview_poc">
   <uses-permission android:name="android.permission.INTERNET"/>
   <uses-permission android:name="android.permission.CAMERA"/>

   <application
        android:label="flutter_webview_poc"
        android:icon="@mipmap/ic_launcher"
        android:usesCleartextTraffic="true">

       <provider
           android:name="androidx.core.content.FileProvider"
           android:authorities="com.example.flutter_webview_poc.provider"
           android:exported="false"
           android:grantUriPermissions="true">
           <meta-data
               android:name="android.support.FILE_PROVIDER_PATHS"
               android:resource="@xml/provider_paths" />
       </provider>

       ...

And I created android/app/src/main/res/xml/provider_paths.xml:
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path
        name="external_files"
        path="." />
</paths>

But I still have the issue.
Hint: there is a third suggestion on the main answer to this stackoverflow's thread
but I think it has to be done on the Kotlin side.
Do you have any idea what's happening here ?
Thanks you

我有同样的问题，相册可以使用，但是拍照无法使用

我的项目是 fileprovider，其中p 是大写，这里是小写，所以出错了，我本地修改一下，重新依赖

replace android:authorities="com.example.flutter_webview_poc.provider" with android:authorities="${applicationId}.fileprovider"

THANKS YOU
It worked
I thought that "applicationId" wasn't defined and so I had to replace it with my app id.
@yy1300326388 did you try to add the "provider" tag to the AndroidManifest.xml file and to create res/xml/provider_paths.xml ?

replace android:authorities="com.example.flutter_webview_poc.provider" with android:authorities="${applicationId}.fileprovider"

THANKS YOU It worked
I thought that "applicationId" wasn't defined and so I had to replace it with my app id.
@yy1300326388 did you try to add the "provider" tag to the AndroidManifest.xml file and to create res/xml/provider_paths.xml ?

Thank you very much, I solved it here


Deletes CMakeCache.txt on file save

Brief Issue Summary
When using VSCode for a C++ project where I use CMake and vcpkg, I run cmake .. from my build directory to configure my CMake build. Then I run cmake --build . to build my project. After this there is a CMakeCache.txt file in my build directory.
Then I go to make a change to my main.cpp file and save it. After saving the changes, the CMakeCache.txt file is gone and trying to run the same cmake --build . to build my project returns the following:
Error: could not load cache

I also get the following pop up in VSCode:

Disabling the extension did stop the problem.
CMake Tools Diagnostics
{
  "os": "win32",
  "vscodeVersion": "1.92.0",
  "cmtVersion": "1.18.44",
  "configurations": [
    {
      "folder": "c:\\Users\\rgeraghty\\Desktop\\AzureSample",
      "cmakeVersion": "unknown",
      "configured": false,
      "generator": "unknown",
      "usesPresets": false,
      "compilers": {}
    }
  ],
  "cpptoolsIntegration": {
    "isReady": false,
    "hasCodeModel": false,
    "activeBuildType": "",
    "buildTypesSeen": [],
    "requests": [],
    "responses": [],
    "partialMatches": [],
    "targetCount": 0,
    "executablesCount": 0,
    "librariesCount": 0,
    "targets": []
  },
  "settings": [
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": null
    }
  ]
}

Debug Log
I'm not using the command pallet build command. I'm just running the cmake build command in the terminal.
I'd like to use the extension of the features it provides when writing my `CMakeLists.txt` file but want to trigger my build via the terminal.

Additional Information
No response

@ronniegeraghty I created a project by myself, following your steps to make changes to the content in the main.cpp file after I build the project, the CMakeCache.txt file in my build folder doesn't disappear automatically, can you provide a simple project that can reproduce the problem so that it will be easier for us to investigate the issue, looking forward to receiving your reply!

This is what I am seeing:

Maybe it's because I don't have the extension configured. I'm just using it for the syntax highlighting in the editor. I don't want to use the command pallet commands in this scenario.

Here's a link to the project it's happening in, but there's not much in it beside a basic hello world C++ program and a basic CMakeLists.txt file.
https://github.com/ronniegeraghty/azure-cpp-sample/tree/CMakeToolsExtensionIssue

@v-frankwang, in your test did you also get the error pop up about the extension not being able to determine what CMake generator to use?

@ronniegeraghty Thank you very much for your reply! I'm very sorry, I don't know why I can't double-click to open your recording, so I can't clearly see what's in the output window and I don't have access to open the project you provided. I can go ahead and create a simple project to reproduce your problem, can you provide a screenshot of the output window?

@ronniegeraghty When I tried on a new virtual machine, I was able to reproduce this problem you mentioned by installing vscode directly without going to install anything else, and when I installed visual studio on the machine (Install the "Desktop development with C++ After installing visual studio on the machine (Install the "Desktop development with C++" workload) and using the Developer Command Prompt for VS to run the command code. to open vscode, and performing the steps to reproduce it again, the problem does not occur.
Actual result：

@ronniegeraghty We usually don't run into this problem in our tests because we open vscode the way I mentioned in the recording so that vscode can use the ninja generator and the C/C++ compiler installed in visual studio.

@ronniegeraghty Does modifying the settings for when we automatically configure for you help the trouble you're facing?
cmake.automaticReconfigure
cmake.configureOnEdit

@ronniegeraghty Does modifying the settings for when we automatically configure for you help the trouble you're facing?
cmake.automaticReconfigure cmake.configureOnEdit

Turning the cmake.automaticReconfigure setting off did not change the behavior and neither did turning off cmake.configureOnEdit.
I'm not opening VSCode by running the code . command from any terminal. I'm opening it just by clicking the shortcut icon on my desktop.
Is this video more clear?
https://github.com/user-attachments/assets/9c51ee8f-afc8-4b87-8491-3a9b47e0e1bc
I've also noticed it's removing the CMakeCache.txt file when I reload the VSCode Window.
Here's a screenshot of the error pop up:

In my project I'm not specifying a specific generator to use. I'm letting CMake find the generator and C++ compiler which it's picking up from MSVC.
Again. In my scenario, I'm not interested in using the command pallet commands from the extension or driving my CMake processes through the editor. I want to do that using CMake terminal commands. I do want the syntax highlighting and auto complete for my CMake files the extension gives. And it seems strange to me that the extension would stop me from doing that.

@ronniegeraghty Thank you very much for your reply, there is a similar issue regarding this issue that our developers are investigating & dealing with, I will update the comment under this issue of yours when this issue :https://github.com/microsoft/vscode-cmake-tools/issues/3834 is fixed.

@ronniegeraghty This issue should be fixed in the most recent pre-release and we hope to do another official release this week. Thanks! I'll close this issue now that we have a version out there with the fix. Please let us know if there are any issues and create a new issue if there is something to be investigated. Thanks!