Update jquery-datetimepicker to 2.5.18

Fixes an eval() CSP violation
includes touch scroll fix from commit #87a7a7 (L909)

closes https://github.com/wagtail/wagtail/issues/4329

Can you explain what you're looking for in terms of what else is included? This bumps up the datetimepicker from 2.3.8 to 2.5.18 (so a minor version bump, which should not impact the API for the datetimepicker, only the stability/internals - the changelog between those two versions is rather large), with the patch that @gasman pointed out needed to be preserved.
Browsers tested: Chrome 64, Firefox Nightly (60.0a1), Edge 41, Vivaldi 1.14 (I do not have access to the full list of browsers the dev docs suggests to test with). All browsers tested on Windows 10 Pro x64.
I mainly tested by clicking "edit" for a variety of class CustomPageType(Page): ... implementations and hitting up the "settings" tab to edit the publish/expiry datetimes for a wagtail instance we're trying to get set up at the Mozilla Foundation.

👌
I see the library has no explicit CHANGELOG, which would be what I'm after in order to know what to look out for when testing. It's a minor version bump but I don't think this tells much – there's still been 3+ years and 20+ versions.
No worries for the browsers you couldn't test on, we'll get through this in further reviews/tests.

Yeah fair - I'll see about reproducing those errors and figure out if they're easily addressed; are any of these things you caught things that can be automated? (mocha/selenium testing for instance?)

Looks like datepicker itself has some silly bugs around touch vs mouse events. I've filed https://github.com/xdan/datetimepicker/pull/654/files to get those resolved.

@thibaudcolas  My PR to datetimepicker landed, and 2.5.19 got released, which should fix all those weird issues by no longer throwing and breaking UX =)
I've updated the PR to use that version instead now if you'd like to re-review.

@Pomax 👏 thank you for taking the time to land a PR there. I'm sure it wasn't easy, it's much appreciated. I'll get on with the review.

It's in 🙂 scheduled for release in Wagtail 2.1
Thank you @Pomax!

awesome, many thanks! I also have another PR up for tackling the same issue but in modal-workflow, replacing the eval() call there a different way to effect the same thing, hopefully that can make it into 2.1 too =)


Allow the user to create new documents via "File>New" submenu.

Copied from OneNote:
"Allow the user to create new documents via "File>New>New Microsoft Word document" menu item. This takes advantage of the command-line args such as "winword.exe /w" detailed here:
https://support.office.com/en-us/article/command-line-switches-for-microsoft-office-products-079164cd-4ef5-4178-b235-441737deb3a6
There should be other document options as well, including Excel and PowerPoint entries. New Outlook emails should also be supported."

"mspub /b" is a new, blank Microsoft Publisher document for at least Office 2010.

Archive of Microsoft's page:
https://web.archive.org/web/20180727041558/https://support.office.com/en-us/article/command-line-switches-for-microsoft-office-products-079164cd-4ef5-4178-b235-441737deb3a6#ID0EAABAAA=Excel

I'm having some trouble with this. I might just wait to do this feature for a while.

winword /w works for Office 2013 to make a new document.

powerpnt /b works in Office 2013 for a new, blank presentation.

excel /m creates a new workbook with a macro sheet for Office 2016, 2013, and 2010.
I might need to add a tooltip to the Excel workbook button so that users know and add some text to the button itself like (with macro sheet).
Microsoft's description of excel /m: "Creates a new workbook that contains a single XLM macro sheet."

outlook /c ipm.note creates a new email and outlook /c ipm.contact creates a new contact in Office 2010, 2013, and 2016, as expected.


Could not log metric

Hi all,
I am having issues logging a metric, and I have exhausted all my resources. Could someone please point me in the right direction?
Here is the cachet-monitor log file:
time="2019-09-17T23:47:00-04:00" level=info msg="Pinging cachet"
time="2019-09-17T23:47:00-04:00" level=info msg="Ping OK"
time="2019-09-17T23:47:00-04:00" level=info msg="Starting Monitor #0: "
time="2019-09-17T23:47:00-04:00" level=info msg="Features: \n - Type: http\n - Name: authentication\n - Method: GET"
time="2019-09-17T23:48:01-04:00" level=info msg="monitor is up" monitor=authentication time="Tuesday, 17-Sep-19 23:48:01 UTC"
time="2019-09-17T23:48:01-04:00" level=warning msg="Could not log metric! ID: 2, err: <nil>"
time="2019-09-17T23:49:01-04:00" level=info msg="monitor is up" monitor=authentication time="Tuesday, 17-Sep-19 23:49:01 UTC"
time="2019-09-17T23:49:01-04:00" level=warning msg="Could not log metric! ID: 2, err: <nil>"
time="2019-09-17T23:50:01-04:00" level=info msg="monitor is up" monitor=authentication time="Tuesday, 17-Sep-19 23:50:01 UTC"
time="2019-09-17T23:50:01-04:00" level=warning msg="Could not log metric! ID: 2, err: <nil>"
time="2019-09-17T23:51:01-04:00" level=info msg="monitor is up" monitor=authentication time="Tuesday, 17-Sep-19 23:51:01 UTC"
time="2019-09-17T23:51:01-04:00" level=warning msg="Could not log metric! ID: 2, err: <nil>"
time="2019-09-17T23:52:01-04:00" level=info msg="monitor is up" monitor=authentication time="Tuesday, 17-Sep-19 23:52:01 UTC"
time="2019-09-17T23:52:01-04:00" level=warning msg="Could not log metric! ID: 2, err: <nil>"
time="2019-09-17T23:53:01-04:00" level=info msg="monitor is up" monitor=authentication time="Tuesday, 17-Sep-19 23:53:01 UTC"
time="2019-09-17T23:53:01-04:00" level=warning msg="Could not log metric! ID: 2, err: <nil>"
time="2019-09-17T23:54:01-04:00" level=info msg="monitor is up" monitor=authentication time="Tuesday, 17-Sep-19 23:54:01 UTC"
time="2019-09-17T23:54:01-04:00" level=warning msg="Could not log metric! ID: 2, err: <nil>"
time="2019-09-17T23:55:01-04:00" level=info msg="monitor is up" monitor=authentication time="Tuesday, 17-Sep-19 23:55:01 UTC"
time="2019-09-17T23:55:01-04:00" level=warning msg="Could not log metric! ID: 2, err: <nil>"
time="2019-09-17T23:56:01-04:00" level=info msg="monitor is up" monitor=authentication time="Tuesday, 17-Sep-19 23:56:01 UTC"
time="2019-09-17T23:56:01-04:00" level=warning msg="Could not log metric! ID: 2, err: <nil>"
time="2019-09-17T23:57:01-04:00" level=warning msg="authentication is now saturated"
time="2019-09-17T23:57:01-04:00" level=info msg="monitor is up" monitor=authentication time="Tuesday, 17-Sep-19 23:57:01 UTC"
time="2019-09-17T23:57:01-04:00" level=warning msg="Could not log metric! ID: 2, err: <nil>"

Here is my cachet-monitor config:
api:
  url: "https://myapi.com/api/v1"
  token: apikey
  insecure: false
date_format: "Monday, 02-Jan-06 15:04:05 UTC"
monitors:
  - name: authentication
    target: https://google.com
    strict: true
    method: GET
    metric_id: 2
    interval: 60
    timeout: 10
    threshold: 80
    expected_status_code: 200

With a curl request to https://myapi.com/api/v1/metrics/ I can see my current metrics:
{
   "meta":{
      "pagination":{
         "total":1,
         "count":1,
         "per_page":20,
         "current_page":1,
         "total_pages":1,
         "links":{
            "next_page":null,
            "previous_page":null
         }
      }
   },
   "data":[
      {
         "id":2,
         "name":"Latency",
         "suffix":"LAG",
         "description":"",
         "default_value":0,
         "calc_type":1,
         "display_chart":true,
         "places":1,
         "default_view":1,
         "threshold":5,
         "order":0,
         "visible":1,
         "created_at":"2019-09-18 03:41:40",
         "updated_at":"2019-09-18 03:51:35",
         "default_view_name":"Last 12 Hours"
      }
   ]
}

The metric id is not valid, can you send a screen of your metrics (/dashboard/metrics)


Spatial.get_global_transform() does not work with autocomplete.

Godot version: Godot v3.1.stable.flathub

**OS/device including version:**Kubuntu 18.10

**Issue description:**get_global_transform() does not show up in the autocomplete menu.

Steps to reproduce:

Create a Spatial node.
Attach a script to it
Open the script
Type 'get_global' and press Ctrl+Space
get_global_transform() does not show up in the autocompletion menu

Minimal reproduction project:

All virtual setters and getters are excluded from autocomplete. Once you define an override for the function it will show up.
Instead of using the setget functions, use the property directly. Spatial.global_transform

I guess this is what you need.

Indeed, getters and setters are excluded from autocomplete when their property is directly accessible, like global_transform. The setting shown by @volzhs can re-enable their autocompletion if you need so.


Bug of twice projection when creating ParquetExec during deserialization

Describe the bug

Bug of twice projection to create ParquetExec during deserialization
To Reproduce

Create a ParquetExec for the scheduler with partial projections, for example [0,1,5]. Then for the executor, it will throw out exception during creating the ParquetExec due to do the projection twice.
Expected behavior

The projection should only be done once.
Additional context

It's fixed from the root cause by #1141.


Add warning when using keyframes on React Native

Helper keyframes cannot be used on React Native, so we should add a corresponding warning.
https://github.com/styled-components/styled-components/pull/2029#issuecomment-423969660

@mxstbr During production building with tools like webpack, all lines with condition process.env.NODE_ENV !== 'production' will be dead code and stripped out from bundle.


Connect Bookstore to API

Connect Bookstore to API
On this branch I:

Refactor all action creators to use async and return data.
Hit Api in the addBook function to post the info of a given book.
Hit Api in the fetchBooks function and display the result.
Hit Api in the removeBook function to delete a book using id.
Update application state depending on these asynchronous operations.

Please note that my initial state is not an empty array; it's populated by two objects.


[AGPUSH-2095][ADD] Add endpoint to show UPS version and scm details

add endpoint in HealthCheck.java to return manifest's attributes
add organization name in aerogear-unifiedpush-server pom
add SCM-URL and SCM-TAG in unifiedpush-server-wildfly pom

Thanks for the PR! Sorry it took so long until we did review it

@diogoalbuquerque thanks mate!

Looks good 👍

@diogoalbuquerque thank you!

I've merged your code, @diogoalbuquerque and also added the try with resources as @ziccardi was suggestion.
Thanks for your patient, and your help on this! Much appreciated! :tada: :balloon:

@matzew No problem, I'm sorry for the delay in fix the try.
You can always count on me, I'm very happy to contribute with this project. 👍
I will check more issues and I will work on them.


Is there a possibility to set available swipe type?

For example, I need my adapter item can swipe right only, but I can't set it to ItemTouchHelperCallback, cause it's private. So can I do it in another way?

From the current SNAPSHOT only (I forgot to mention the new function I do it now).
Call getItemTouchHelperCallback().setSwipeFlags(int flags). See the method comment for more details.

@davideas good job. thanks


Global ini file with defaults

Descript what feature/improvement you would like here.
I would like to have the option to add a global defaults file (say, in the likes of vimrc or bashrc) where I could store my personal preferences for all videos.
Descript how you would use it.
Most times I compress my videos, I use the same --silent_speed, the same --ignore, etc. Would be time-saving if I could store those preferences in a file instead of modifying the source.
Make sure that it is something that YOU need, not that just seems useful.
I would use it every single time I compressed my videos!
(Make sure you're using the latest version)

That already exists! You can edit config.txt to change defaults. It's not in the home directory but you can run auto-editor --debug to see where it exists on your machine.
That being said, I'm a big disappointed no one else pointed that out before I responded.


feat: Improved UI of TrendingTour page and make it responsive

Title and Issue number

Title : Improved UI of TrendingTour page and make it responsive
Issue No. : #1663
Code Stack : Html, CSS, Js
Close #<1663>

Description
I made a NEW TRENDING TOURS PAGE which is polished, professional design aligns perfectly with contemporary web standards, delivering an immersive and visually appealing experience
And YES it's also responsive :) [as shown in image]
Video/Screenshots (mandatory)

Type of PR

[ ] Bug fix
[X]Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Checklist:

[X] I have performed a self-review of my code.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[X] I have gone through the  contributing.md file before contributing
[X] I have Starred the Repository.

Additional context:

##Are you contributing under any Open-source programme?
KWOC 2024

[X] I am contributing under  KWOC 2024

@apu52 I have raised the PR. Now what to do next

now just wait for sometime , I am checking your pr


Block mutating workflow state in a read only context

Block calling most mutating workflow functions in read only context. This includes update validators and side effects.
Note: This does not include queries because queries are not run in a workflow thread

Hmm, the way I imagined in my head this would work is rather than passing this assertReadOnly callback into all the different handlers, you'd instead just wrap the act of inserting into the command buffer, and complain if you're in a readonly context - that way you don't have to pass that callback all over.
Also, for setting/removing the readonly flag, maybe some RAII pattern would be safer than try/finally?
Do either/both of those feel reasonable to you?

Hmm, the way I imagined in my head this would work is rather than passing this assertReadOnly callback into all the different handlers, you'd instead just wrap the act of inserting into the command buffer, and complain if you're in a readonly context - that way you don't have to pass that callback all over.

No,  by the point your going into the command  buffer is too late, we want to  fail  before you even go through interceptors. This is how it works in Python and Go. Also some illegal calls do not insert anything into the command buffer or only conditionally do so It makes the code more confusing and harder to verify correctness IMO since you'd have checks at very  different level.

Also, for setting/removing the readonly flag, maybe some RAII pattern would be safer than try/finally?

Java doesn't really have  RAII, the only other thing we could do it a try-with-resources. I don't think it would improve the  safety much since you just change what you have to remember  from "remember to set back  to false" to "remember to use this wrapper object"

OK - at the end of the day you're failing the WFT still though, so does it really matter at what point you do that? I get the bit about some things not generating commands though.


Update Core to 2.25.

C# support for current domain will be added in a future release, once the C API provides facilities for type validation.


x/build/env/linux-arm64/packet: all builders down

According to https://farmer.golang.org/#health, all the Packet linux/arm64 machines are missing (as of 3 hours ago):

I will be looking into this soon.

sshing into the server times out:
$ ssh -v -i ~/.ssh/id_ed25519_golang1<EMAIL_ADDRESS>[...]
ssh: connect to host <IP_ADDRESS> port 22: Operation timed out

Pinging it times out too:
$ ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3

This appears to be very similar to the last time packet builders had a problem in issue #31112.

I've restarted the server and that fixed the issue (just like in #31112).
It took a few minutes for it to fully restart, but then it became responsive to pings, ssh, and all the packet builders are up and connected now:


Not works for DIVs which are initially invisible

If my div has style "display: none" when page loads, readmore() not works for this div.
Here is the example:
http://jsfiddle.net/samsonbek/hubusf30/

I'm having the same issue.
Essentially, the HTML structure I'm having is similar to a bootstrap nav-bar concept, where a list of links points to different containers.
On those containers, I need to initialise the read-more for long contents rendition.
How did I solve it so far? Initially I'm initialising all read-mores on the DOM, and then on each new selected tab as active event, I need to destroy the instances and rebuild them again.
Probably, a better approach to solve this issue would be to initialise only the ones that are visible (current active tab). But what if I can't predict which element will be visible on the screen?

Got the same issue here with jQuery tabs. Only works on the first visible tab.

With the latest npm package released is working for me.

Not using NPM, just calling the JS from  - is there a fix for this? It collapses content on the other tabs just fine, but the read more/close functionality (links) aren't visible so there isn't a way to expand. Thanks in advance...

I got this to work by initializing Readmore on the index page (as you normally would). Then on my JS code for showing/hiding tabs, I destroy Readmore and start it again (after the new tab content is shown). Probably hack-ish, but works LOL.

If you are using bootstrap something like this works:
$('.collapse').on('shown.bs.collapse', function(){
    // start read moe again
});

I would recommend doing what @zuhloobie is doing.
If the content is hidden at the time Readmore.js is invoked, it won't be able to properly calculate heights.
To expand on @paulcripps' suggestion, something like this should work:
$('.your-selector').readmore({/* your configs */});

$('.collapse').on('shown.bs.collapse', function() {
    $('.your-selector').readmore({/* your configs */});
});

Or, perhaps even this:
$('.your-selector').readmore({/* your configs */});

$('.collapse').on('shown.bs.collapse', function(event) {
    // Limit the elements on which Readmore.js is init'd to the current tab panel
    $(event.target).find('.your-selector').readmore({/* your configs */});
});

YMMV. If you get a working solution, please post it here.


Author Profile

Article checklist
Attention
Our Peer Reviewer and Content Moderator teams do NOT provide any revisions services. All revisions and edits should be completed on your own forked repo (as to not take up room in the queue) in order for our team to review them all in a timely manner.
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.

As a rule of thumb - please be sure to only submit articles (pull requests) that are fully polished and ready to be published. Be sure to go through our resources documents for extra and 3rd party (vetted) resources to help improve overall technical writing.

Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[ ] Have you used the correct folder and file structure? - see Contribution Guidelines

[ ] Is your article properly formatted in Markdown? - see Github Markdown guide

[ ] Have you used our preferred heading structure? - H3 (###) and up

[ ] Does your article follow any of the suggested structure formats? - see example formats

[ ] Is your article over 750 words? - Tool: Wordcounter.net

[ ] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[ ] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[ ] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[ ] Have you included a hero image that is 600x400 pixels, under 300KB in size, and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[ ] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[ ] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[ ] Have you checked your article for readability? - Tool: Hemmingway
[ ] Have you added sources for quotes and images that aren't yours?

Technical checks

[ ] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[ ] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[ ] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #issue-number

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

Have you contributed any articles to section @njokuifeanyigerald? I do not see any.

Am sorry if I wasted ya time
On Tue, May 31, 2022, 2:47 PM Njoku Gerald Chinedum <
@.***> wrote:

I haven't, I just did the author part, I thought I will first of all, do
the author part of it before any other step, like if am accepted as an
author, then I can contribute, that was what I thought
On Tue, May 31, 2022, 2:01 PM WanjaMIKE @.***> wrote:

Have you contributed any articles to section @njokuifeanyigerald
https://github.com/njokuifeanyigerald? I do not see any.
—
Reply to this email directly, view it on GitHub
https://github.com/section-engineering-education/engineering-education/pull/7672#issuecomment-1142106720,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK74B56ZZIHQXXH6CRDSEA3VMYETJANCNFSM5XLFTH3A
.
You are receiving this because you were mentioned.Message ID:
<section-engineering-education/engineering-education/pull/7672/c1142106720
@github.com>

No worries. You can go through the documentation to get started. You are welcome

@njokuifeanyigerald
A Skills section would go a long way for potential employers 🚀


Pressing Tab binds Space key to bring up a submenu

What happened?
DartPad editor becomes unusable
Steps to reproduce problem
Go to https://dartpad.dev/?null_safety=true press Tab key anywhere in the editor.
After that, the Spacebar key will trigger a submenu instead of typing a space.  It becomes totally impossible to
edit anything.
Additional info
Browser
Browser:  Chrome Version 122.0.6261.128 (Official Build) (64-bit)
Version:
Are you using any extensions/plugins that affect website behavior
(particularly those that affect iframes, such as ad blockers)?
No
Are there any warnings or errors in your browser's JavaScript console?
If so, paste them below:
No

Sorry about this current issue and thanks for reporting it!
I'm going to close this issue in favor of https://github.com/dart-lang/dart-pad/issues/2852 where we're tracking the problem.


Blank input port on node creation

Discord username
No response
What type of issue is this?
Permanent – Occurring repeatably
Is this issue blocking you from using Enso?

[ ] Yes, I can't use Enso because of this issue.

Is this a regression?

[ ] Yes, previous version of Enso did not have this issue.

What issue are you facing?
When creating node the input port is blank (layering issue?)

Expected behaviour
port should be filled in and visible
How we can reproduce it?
see video below
Screenshots or screencasts
https://user-images.githubusercontent.com/108271897/235449880-13e8f3ff-515e-48f1-8426-7209740116d4.mp4
Enso Version
2023.5.1 nightly
Browser or standalone distribution
Standalone distribution
Browser Version or standalone distribution
standalone
Operating System
Windows
Operating System Version
Win11pro 22H2 22621.1555
Hardware you are using
12th Gen Intel(R) Core(TM) i9-12900HK / RTX3060 Laptop / Nvidia Drivers 531.68

This is happening when there is a missing space between an operator (like +) and next input port/number i.e. number1 +3

1 +2 expression is parsed as a function application, i.e. the function 1 is called with an argument +2

number1 2 has the same effect


Editions language feature: (pb.go).struct_tag

This request relates to the previous discussion on https://github.com/golang/protobuf/issues/52
Some of the software I maintain would significantly benefit from being able to set custom struct tags for some proto message types when compiled to go. Similar to the many voices in #52, we dream of being able to do this with protoc-gen-go. I noted one of the problems this feature posed was that the proto field meta would only be meaningful only for generated go code.
Lately I found out about protobuf editions and saw that there is explicit support for language-specific features. For example the string_type option for c++. https://protobuf.dev/editions/features/#string_type
I was wondering if the advent of this support for language specific features could possibly allow for a reconsideration of support for setting golang struct tags in protobuf files?
Describe the solution you'd like
Perhaps something like
edition = "2023";

import "google/protobuf/go_features.proto";

message Foo {
  string bar = 6;
  string baz = 7 [features.(pb.go).tags = 'my_tag_name:"my_tag_value"'];
}

Could you explain your use case in more detail?

Sure. I have two use-cases:
We have a gRPC interceptor which will automatically log request content under certain conditions (request failure, latency, etc). We very much like this approach because it's on by default for all our applications (a developer can't forget logging), and it saves us time. However, it's crucial for us that PII or otherwise sensitive information does not get logged. We use struct-tags added to the generated request messages to flag specific fields for masking or to be omitted entirely from logging.
For example, for a given method and request message:
service UserService {
    rpc ProvisionNewUser(ProvisionUserRequest) returns (User);
}

message ProvisionUserRequest {
    string email = 1 [features.(pb.go).tags = 'log:"mask=email"'];
    string org_id = 2;
    string name = 3 [features.(pb.go).tags = 'log:"mask=all"'];
    string password = 5 [features.(pb.go).tags = 'log:"-"'];
}

May produce a log looking something like:
{"msg":"UNKNOWN error while handling request"<EMAIL_ADDRESS>"org_id": "1234-5678", "name": "**********"}}

We have another, use case which is pretty similar, but stems from an internal auditing component. The system will automatically parse and record request data along with other metadata about the request, in order to produce a searchable audit-trail of actions users take while using our system.
Similar to the way I described the logging interceptor, it is on by default, and is intended to be highly automated so it is reliable but also does not add extra development burden. It has similar PII concerns to the example above, but also has additional requirements regarding flagging particular fields as identifiers, so different requests which are relevant to each other can be associated.

For both of the examples I gave above there isn't really a way to achieve the developer experience we want without changing the generated code. Our current best solution is to generate the protos, then have another application manipulate the generated code to add the struct tags.
I think it's worth noting that these are just the use-cases I have - and there are many, many more that others have raised in #52 including simplifing data access layers (db/sqlx/datastore tags), implementing custom request validation, and more.

For both of the examples I gave above there isn't really a way to achieve the developer experience we want without changing the generated code.

I don't think is true. You can use custom field/message option for this. This also allows you to annotate your proto once and extract the information in all languages not only Go and you can be sure that the information is consistent across languages. Please see https://protobuf.dev/programming-guides/proto3/#options and let me know if this works for you.

Thanks for the reply. I had a stab at implementing what you described, but I ran into some issues. We implement a wrapper around a logging implementation to support the masking, and I guess it would be possible to change our logger implementation to both scan for struct tags and proto reflect. However it had the consequences of our logger now having to type assert everything we log in order to attempt to protoreflect, in addition to scanning struct tags.
Unfortunately I can't think of a way to get the solution you described working for external packages that I don't implement, for example sqlx's db tags and cloud datastore's datastore tags.
Do you know if there's some way to workaround these issues? RE: the original request, would it be possible or appropriate for protoc-gen-go to add a language feature like the ability to set struct tags? If the maintainers are at all open to the idea I would be happy to try and implement it.

In general we moved away from struct tags in favor of protoreflect API. In the deprecated protobuf module we used struct tags to build limited reflection mechanisms. However, this turned out to be insufficient (complex options cannot be represented in struct tags) which is why we moved to the protoreflect API which we have now.
I think if you have other third-party packages that operate on your data, you should either make sure they understand protocol buffers or use an abstraction that you control (e.g. a struct type which you convert your generated protobuf type from and to). The problem is if you don't have an abstraction and these third-party libraries don't understand protobuf, we would need to add more and more features to protobuf to generated struct that are understood by these third-party tools. Today this might only be struct tags in the future these tools might require additional fields or additional interfaces to implement. This is not sustainable.
I want to emphasis that protocol buffers are a language interoperability tools and language specific features should be used sparingly or they might conflict with features that are added to the protobuf spec in the future.
In other words, for now the maintainers are not open to accept such a feature request.

In general we moved away from struct tags in favor of protoreflect API.

Thanks for elaborating on this. I was wondering if it would have been possible to implement the reflection via struct tags instead of methods, but I suspected the problems you described may have copped up.

Today this might only be struct tags in the future these tools might require additional fields or additional interfaces to implement.

I think we could probably argue that struct tags in go are quite stable and cover almost all use-cases. I understand, though, that what you're describing extends beyond go. It would be unfortunate for proto definitions to be filled with varying language specific definitions of the "same" metadata.
At the same time, I'm left with this desire for protoc-gen-go to support more flexible interoperability with the rest of the go ecosystem. I had hoped editions maybe provided a path to providing something along those lines. Thank you for taking the time to highlight the issues that remain.

Also I realized that edition features are not designed for this. While they can certainly be (ab)used for this it is not the intention to use them this way.
From the documentation:

Features are designed to provide a mechanism for ratcheting down bad behavior over time, on edition boundaries. While the timeline for actually removing a feature may be years (or decades) in the future, the desired goal of any feature should be eventual removal....

Unfortunately I can't open your link - it appears to be google internal. The excerpt you posted makes sense though. Would love to be able to read more of that documentation, if it is able to be published.

Oops I thought it was the public documentation. Sorry about that. I expect this to reach the public docs eventually. I'll keep the posted snippet for now but removed the link.

FYI: the documentation is now available publicly: https://protobuf.dev/editions/implementation/

Will close this now as it seems to have reached a conclusion. If anything is left to do or say, please re-open.


operator project-quay (3.12.1)

Add 3.12.1 to community operators

/merge possible

/merge possible


[T2A4][T16-A1]ZhaoDingfan

Ready for review.

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


Filling Range Gaps

error occured loading gpkg file containing polygons same file worked fine with previous versions of fiona failure points to this pyx file extending the ranges to have no gaps would stop error being raised and allow code to run. modulo would be 0 returning unknown rather than unsupported.

----> 7 regions = geopandas.read_file('../Data/Charts/mtv_2557443/mtv_2557443.gpkg', layer='mts_elevation_areas')
      8 regions

~\Anaconda3\lib\site-packages\geopandas\io\file.py in read_file(filename, bbox, **kwargs)
     73             f_filt = features
     74
---> 75         columns = list(features.meta["schema"]["properties"]) + ["geometry"]
     76         gdf = GeoDataFrame.from_features(f_filt, crs=crs, columns=columns)
     77

~\Anaconda3\lib\site-packages\fiona\collection.py in meta(self)
    227         properties."""
    228         return {
--> 229             'driver': self.driver, 'schema': self.schema, 'crs': self.crs,
    230             'crs_wkt': self.crs_wkt}
    231

~\Anaconda3\lib\site-packages\fiona\collection.py in schema(self)
    205         """
    206         if not self._schema and self.mode in ("a", "r") and self.session:
--> 207             self._schema = self.session.get_schema()
    208         return self._schema
    209

fiona/ogrext.pyx in fiona.ogrext.Session.get_schema()

fiona/_geometry.pyx in fiona._geometry.normalize_geometry_type_code()

UnsupportedGeometryTypeError: 3000

relevant error log attached

Coverage remained the same at 82.629% when pulling 9223365ef0838d7e1c01a8e57bd0444d300b8c17 on terminal-w:patch-1 into c66db9d5894f34d1b068bf14acf0136092f80b21 on Toblerity:master.


20170911 typo3 sa september

Fix link to TYPO3-Security Announcement 2017-004

Thanks for the follow-up.


unable to use properties other than number_of_replicas in create/alter statment

CrateDB version:
2.0.7
JVM version:
OS version / environment description:
ubuntu 16.0.4
Problem description:
Issue with properties in create table statement.  The following code produces Invalid property "number_of_shard_copies" passed to [ALTER | CREATE] TABLE statement]  Or whatever property except for number_of_replicas.  What am I doing incorrect with the following:
Steps to reproduce:
CREATE TABLE IF NOT EXISTS foo.data(
...
)
CLUSTERED BY (topic) INTO 10 SHARDS PARTITIONED BY (week_generated)
with (number_of_replicas = 3, number_of_shard_copies = 1);
Use case:
Feature description:

hi @craig8, how does the error manifest? is there an error shown?

@craig8 did you try anything else then number_of_shard_copies because number_of_shard_copies is no real setting. i know this is in the documentation but it's just there to illustrate how many shards are there. (https://crate.io/docs/crate/reference/en/latest/sql/reference/create_table.html#write-wait-for-active-shards)

Yes I tried min_replicas, max_replicas and refresh_interval with the same result.

@craig8, can you please show me the query you run and the corresponding error output? this would really help.

All of the following produce
Error!

SQLActionException[SQLParseException: Invalid property "min_replicas" passed to [ALTER | CREATE] TABLE statement]

CREATE TABLE IF NOT EXISTS foo.data(
  source string,
  topic string primary key,
  ts timestamp NOT NULL primary key,
  -- Full texted search index on the topic string
  INDEX topic_ft using fulltext (topic),
  -- must be part of primary key because of partitioning on monthly
  -- table and the column is set on the table.
  month as date_trunc('month', ts) primary key)
partitioned by (month)
CLUSTERED INTO 6 SHARDS
with (number_of_replicas = 3, min_replicas = 1);

or
CREATE TABLE IF NOT EXISTS foo.data(
  source string,
  topic string primary key,
  ts timestamp NOT NULL primary key,
  -- Full texted search index on the topic string
  INDEX topic_ft using fulltext (topic),
  -- must be part of primary key because of partitioning on monthly
  -- table and the column is set on the table.
  month as date_trunc('month', ts) primary key)
partitioned by (month)
CLUSTERED INTO 6 SHARDS
with (min_replicas = 1);

or
CREATE TABLE IF NOT EXISTS foo.data(
  source string,
  topic string primary key,
  ts timestamp NOT NULL primary key,
  -- Full texted search index on the topic string
  INDEX topic_ft using fulltext (topic),
  -- must be part of primary key because of partitioning on monthly
  -- table and the column is set on the table.
  month as date_trunc('month', ts) primary key)
partitioned by (month)
CLUSTERED INTO 6 SHARDS
with (number_of_replicas = 3, number_of_shard_copies = 1);

number_of_shard_copies and min_replicas are both invalid table-settings. The error message you're getting is expected.
Did you try those because of the documentation https://github.com/crate/crate/blob/b70eda7cc66c5407d73b96de987453f05c1d2a77/blackbox/docs/sql/reference/create_table.txt#L284 and https://github.com/crate/crate/blob/b70eda7cc66c5407d73b96de987453f05c1d2a77/blackbox/docs/sql/reference/create_table.txt#L242 ?

@craig8 min_replicas and number_of_shard_copies are not valid settings for CREATE TABLE and ALTER TABLE statements. In your DDL statements, only number_of_replicas is a valid setting. Please check the documentation page where you can see all valid settings as light blue section headers.

@mfussenegger Yes that is exactly why I used those.
@matriv I have read that documentation page...I even tried (the blue heading write.wait_for_active_shards) however that didn't work either.

@craig8 can you provide the output when using write.wait_for_active_shards.

hi @craig8, i'm closing this issue for now. feel free to reopen it whenever you can provide the output i asked for and this is still an issue to you.


Third PR about formatting and wording...

I only discovered there other two PRs after I'd already made this one, but the work is done, so here ya go.

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


Build process for the jupyter plugin stops midway (MacOS)

I have been following the build instructions on the Building from source page to build the project. However, during the build process for enabling the jupyter plugin, the build stops at the step of processing the xeus-zmq dependencies. The build does not progress even after waiting for more than 12 hours, so I am seeking support. Below are the environment details and the command I executed.
Environment

OS version: macOS Sonoma 14.2.1
CMake version: 3.26.4
clang version: 17.0.6
OpenSSL version: 3.2.1

Command:
OPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl@3 cmake -S ./codon/jupyter -B ./codon/jupyter/build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DLLVM_DIR=$(llvm-config --cmakedir) \
-DCODON_PATH=install \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON

Progress up to the point of stoppage:
-- The C compiler identification is Clang 17.0.6
-- The CXX compiler identification is Clang 17.0.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/homebrew/opt/llvm/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/homebrew/opt/llvm/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Codon in install
-- Performing Test HAVE_FFI_CALL
-- Performing Test HAVE_FFI_CALL - Success
-- Found FFI: /Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/lib/libffi.tbd
-- Looking for histedit.h
-- Looking for histedit.h - found
-- Found LibEdit: /Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/include (found version "2.11")
-- Performing Test Terminfo_LINKABLE
-- Performing Test Terminfo_LINKABLE - Success
-- Found Terminfo: /Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/lib/libcurses.tbd
-- Found ZLIB: /Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/lib/libz.tbd (found version "1.2.12")
-- Found zstd: /opt/homebrew/lib/libzstd.dylib
-- Found LibXml2: /Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/lib/libxml2.tbd (found version "2.9.4")
-- Downloading CPM.cmake...
  Update your project to the NEW behavior or specify the
  CMakeLists.txt:76 (CPMAddPackage)
-- Detected ZMQ Version - 4.3.4
-- Found PkgConfig: /opt/homebrew/bin/pkg-config (found version "0.29.2")
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Performing Test COMPILER_SUPPORTS_C11
-- Performing Test COMPILER_SUPPORTS_C11 - Success
-- Performing Test CXX_HAS_TAUT_WARNING
-- Performing Test CXX_HAS_TAUT_WARNING - Success
-- Performing Test CC_HAS_TAUT_WARNING
-- Performing Test CC_HAS_TAUT_WARNING - Success
-- Not building draft classes and methods
-- Using builtin sha1
-- Checking for module 'libbsd'
--   No package 'libbsd' found
-- Looking for strlcpy
-- Looking for strlcpy - found
-- Using tweetnacl for CURVE security
-- Looking for kqueue
-- Performing Test HAVE_FLAG_-Wextra - Success
-- Performing Test ZMQ_HAVE_SO_BINDTODEVICE
-- Performing Test ZMQ_HAVE_SO_BINDTODEVICE - Failed
-- Checking whether SO_KEEPALIVE is supported
-- Performing Test ZMQ_HAVE_SO_KEEPALIVE
-- Performing Test ZMQ_HAVE_SO_KEEPALIVE - Success
-- Checking whether SO_PRIORITY is supported
-- Performing Test ZMQ_HAVE_SO_PRIORITY
-- Performing Test ZMQ_HAVE_SO_PRIORITY - Failed
-- Checking whether TCP_KEEPCNT is supported
-- Performing Test ZMQ_HAVE_TCP_KEEPCNT
-- Performing Test ZMQ_HAVE_TCP_KEEPCNT - Success
-- Checking whether TCP_KEEPIDLE is supported
-- Performing Test ZMQ_HAVE_TCP_KEEPIDLE
-- Performing Test ZMQ_HAVE_TCP_KEEPIDLE - Failed
-- Checking whether TCP_KEEPINTVL is supported
-- Performing Test ZMQ_HAVE_TCP_KEEPINTVL
-- Performing Test ZMQ_HAVE_TCP_KEEPINTVL - Success
-- Checking whether TCP_KEEPALIVE is supported
-- Performing Test ZMQ_HAVE_TCP_KEEPALIVE
-- Performing Test ZMQ_HAVE_TCP_KEEPALIVE - Success
-- Checking whether TIPC is supported
-- Performing Test ZMQ_HAVE_TIPC
-- Performing Test ZMQ_HAVE_TIPC - Failed
-- Checking pthread_setname signature
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_1
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_1 - Success
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_2
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_2 - Failed
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_3
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_3 - Failed
-- Performing Test ZMQ_HAVE_PTHREAD_SET_NAME
-- Performing Test ZMQ_HAVE_PTHREAD_SET_NAME - Failed
-- Checking pthread_setaffinity signature
-- Performing Test ZMQ_HAVE_PTHREAD_SET_AFFINITY
-- Performing Test ZMQ_HAVE_PTHREAD_SET_AFFINITY - Failed
-- Checking whether getrandom is supported
-- Performing Test ZMQ_HAVE_GETRANDOM
-- Performing Test ZMQ_HAVE_GETRANDOM - Failed
-- Could NOT find AsciiDoc (missing: ASCIIDOC_EXECUTABLE)
CMake Deprecation Warning at build/_deps/libzmq-src/tests/CMakeLists.txt:2 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Warning (dev) at build/_deps/libzmq-src/tests/CMakeLists.txt:306 (message):
  Test 'test_bind_stream_fuzzer' is not known to CTest.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at build/_deps/libzmq-src/tests/CMakeLists.txt:306 (message):
  Test 'test_bind_ws_fuzzer' is not known to CTest.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at build/_deps/libzmq-src/tests/CMakeLists.txt:306 (message):
  Test 'test_connect_stream_fuzzer' is not known to CTest.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at build/_deps/libzmq-src/tests/CMakeLists.txt:306 (message):
  Test 'test_connect_ws_fuzzer' is not known to CTest.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at build/_deps/libzmq-src/tests/CMakeLists.txt:306 (message):
  Test 'test_socket_options_fuzzer' is not known to CTest.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Deprecation Warning at build/_deps/libzmq-src/unittests/CMakeLists.txt:2 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- CPM: adding package<EMAIL_ADDRESS>(4.9.0)
CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.26.4/share/cmake/Modules/FetchContent.cmake:1282 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  build/cmake/CPM_0.32.3.cmake:700 (FetchContent_Declare)
  build/cmake/CPM_0.32.3.cmake:587 (cpm_declare_fetch)
  CMakeLists.txt:88 (CPMAddPackage)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Detected CPPZMQ Version - 4.8.1
-- cppzmq v4.8.1
-- CPM: adding package<EMAIL_ADDRESS>(1.0.3)

If there are any solutions or alternative approaches you could suggest, I would greatly appreciate it. Apologies for the basic question, and thank you in advance for your help.

I've seen this once... let me try building this and will let you know!

Still no idea... merging this with #152 where we will track the progress of automatic Jupyter builds.


[Feature Request] Download conversations for use case discovery

As a leader who is proceeding with generative AI usage in a company, I would like to discover major use cases from conversations with active users.
For example, I can detect major use case by counting keywords in prompts (such as "please summarize", "please translate", etc). In addition, I could identify heavy users by analyzing frequency. Interviewing them would be the the first step to implement an internal prompt guide or specialized application for their business. We can find sample implementations from generative-ai-use-cases-jp.
As a minimum feature, downloading all the conversation data with the following items will be sufficient (bracket item is optional).

user id
date
inputted prompt
model name
outputted prompt
(instruction)
(hyper parameter)

We're going to implement admin console functionality including downloading all conversation.

@icoxfog417 まだ荒削りではありますが、こちらのリリースで対応したため一旦closeさせていただきますmm


ERROR: Broken @import declaration of "style.css"

cleancss --skip-import -o dist/css/style.min.css dist/css/style.css
What am I doing wrong?
First time using clean-css and I'm just @importing a Google Font.

Still need some help here?

Ah no I don't remember what I was doing here.

Please reopen if needed

How can I use skip-import property in API ?

That's processImport: false - see https://github.com/jakubpawlowicz/clean-css#how-to-use-clean-css-api

Using processImport: false, but getting:
 errors: [ 'Broken @import declaration of "../../src/assets/css/theme/theme-base.css"' ]
Can you please tell how to minify css with with ignore @import rules, but to write them into the bundle in the original form?
Thanks!

@m1neral the processImport option should be enough to get you going. May I know how you run clean-css? Is it directly via API or a gulp/grunt/etc plugin?

@jakubpawlowicz
via API:
var CleanCSS = require('clean-css');

var content = new CleanCSS({ processImport: false }).minify(
    ['../../src/assets/css/theme/theme-base.css',
        '../../src/assets/css/theme/indicators.css',
        '../../src/assets/css/theme/ext-grid.css',
        '../../src/assets/css/theme/leaflet.css',
        '../../src/assets/css/theme/theme-desktop.css'
    ]);

console.log(content);

Log:
me@me-pc-linux:~/development/WebReportsFrontend$ node utils/build/css-helper.js
{ styles: '@import url(../../src/assets/css/theme/indicators.css@shallow);@import url(../../src/assets/css/theme/ext-grid.css@shallow);@import url(../../src/assets/css/theme/leaflet.css@shallow);@import url(../../src/assets/css/theme/theme-desktop.css@shallow);',
  stats: {},
  errors: [ 'Broken @import declaration of "../../src/assets/css/theme/theme-base.css"' ],
  warnings: [] }

Beginning of the file theme-base.css:
@import url(../../../fonts/pt_all.css);
@import url(../../../fonts/digital.css);

body {
    padding-top: 0px;
    padding-left: 0px;
    padding-right: 0px;
}
...

@m1neral I've opened a new issue ^ - fix is coming soon!

@jakubpawlowicz Thank you very much for what you are doing!


multiple box remove all items

hello,
I'm using a multiple select box.
I did not find any function which allows me to remove all items at once...
is there such a function? did I miss anything out?
hope anyone can help! :)

checkout http://stackoverflow.com/questions/41918440/how-to-achieve-select-all-and-unselect-all-functionality-in-ng2-select


switch remaining domain references in code

There were some references to digital.ca.gov in code, time to remove all of these in preparation for launch of site on new domain
This fixes the problem noticed yesterday with social share image from new blog post not showing up because the url was using digital.ca but we are currently only deploying to innovation.ca and we haven't enabled the full site redirect on digital.ca yet

need to merge now to prep for release


_mm256_testc_si256 performance is bad

@jbapple  I test the blocked bloom filter (which is https://github.com/FastFilter/fastfilter_cpp/blob/master/src/bloom/simd-block.h version) in my codes. The vtune result shows that Find  avx2 implementation's _mm256_testc_si256 opcode's performance is bad.

So, do we have other tricks to improve it ?  Maybe a prefetch will help ?

To be clear, at my test, the bloom filter hash value test totally elapsed 5.5s , the vptest instruction code takes 4.94s, the vptest occupies the largest performance.

How large was your filter? What processor were you using?

I runed the tpch-300 Q7,  the vtune result is captured by running the Q7 circularly.The result shows that the chocke point is the vpptest. The largest filter size is 1048576(calculated by 1ull << (_log_num_buckets + LOG_BUCKET_BYTE_SIZE)). My processor is intel skylake. The cpu cache size is 33792 KB.

Yes, I think pre-fetching might help, if you're doing a lot of lookups in bulk. I can take that as a feature request.
What DBMS are you using?

alicloud's hologres

I've tested out prefetching and I can't seem to get a performance benefit on my machine from filters as small as 1MiB, though it's close for larger filters.

@jbapple  https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm256_testc_si256&ig_expand=7216  the doc shows that vptest has a high latency at the skylake architecture cpu.

what about replace it with two operations: a bitwise-and operation and then a popcount operation

I implemented the prefetch logic,got a minor performance improvement.

I implemented the prefetch logic,got a minor performance improvement.

Great! Can you show me how you did it, since our results differed? I'm wondering if I did something slow.

I am pleasure to share. But the prefetch is implemented outside this lib and is related to my own codes. Basic logic is to hold  32 number of hash values which are prefetched first(a prefetch is to prefetch a bucket), then to do the actual test of the held hash values. If you share what you wrote ,I can point it out.


Refactor SearchInput to no longer be controlled

👀 Overview
A lot of work has been done around filtering in the app, as a result there has been a need to control the Search Input, either to clear it or update it from the app.
💬 Description
I have removed the local state and exposed it's API. It is now going to be controlled through the props instead.
This will be a minor version update.
✅ Checklist

[x] Tests written
[x] Browser tested
[ ] Added to documentation
[x] Added to storybook

Nice, but do we not need to update the test / storybook also?

So all the tests passed when I ran yarn test, and they pass in the CI. But when I run them through the webstorm test runner the SearchInput ones run and fail...
This is similar to the issue we were having last week, I'm close to renaming this whole component & tests

@DavidHollins6 that's disturbing, I wonder how long that's been happening. Do the others know about that also? CC @altaudio @kyleharper @AmeeMorris
@amee It does introduce breaking changes, hence the minor version, but I think @DavidHollins6 will fix those in the app with the release 👍

@DavidHollins6 the UI is used;

account dashboard
old content hub release archive items (turn your flag off to see)
new content hub

The new content hub you have sorted (with the work you mentioned) but what about the others? 🤔

@DavidHollins6 the UI is used;

account dashboard
old content hub release archive items (turn your flag off to see)
new content hub

The new content hub you have sorted (with the work you mentioned) but what about the others? 🤔

This PR should have all of that in: https://github.com/gathercontent/app/pull/1925


provide deep links to Proteome effects of genome-wide single gene, perturbations

We can now add external links for this dataset
Should we put it in the "Expression " section
Text "protein level changes resulting from the individual knockout"
@manu does that text sound clear?
==
We now implemented both, the 'How to' page as well as gene specific URLs that can be integrated in pombase if you want:
https://butterlab.imb-mainz.de/SpProtQuant/?data=KOLibrary&data2=searchByKOStrain&KOStrain=SPBC2D10.18 would lead you direcly to the data of the SPBC2D10.18 KO strain.
The second link https://butterlab.imb-mainz.de/SpProtQuant/?data=KOLibrary&data2=searchByProtein&protein=SPBC2D10.18 leads directly to the expression of SPBC2D10.18 across all KO strains.

@manulera can do with?
https://github.com/pombase/website/issues/1942

I can do this one, yes. For the legends I would say:

Changes in the protein level of this gene product resulting from deletion of other protein coding genes.
Proteomic changes resulting from the deletion of this gene.

Addressed in https://github.com/pombase/website/issues/1942, will close automatically if @kimrutherford approves merge

It looks like this is done.

I guess it would not close automatically! I thought I had added one of those commit messages that makes the issue close

Should those links be announced?

I will do it tomorrow!
Best,
Manu


(Bug) Whitelisted account: can not buy maximum amount of tokens

Step to reproduce:

Create crowd-sale with whitelisted account, define min and max allowed amount.
I tested with parameters:
"whitelisting":true,
"mincap": 1,
"rate":100,
"supply": 200,
"whitelist":[
{
"address":"0x40cAa4BF6893dF91638305cFCf98CB8E7Fa8D17F",
"min":2,
"max":10
},
Open crowdsale page as Investor, set whitelisted account in MetaMask and try to buy max amount (10 tokens).
Expected result : should be allowed to buy max amount (10 tokens).
Actual result: I could buy total only 7.6 tokens (2.1 in first transaction and 5.5 in second)
When I tried to buy total less than 10 tokens (2.1+7) I got message:"transaction failed"
Expected result: Total allowed amount should be 10

Reproduced 3 times.
If you are reporting a problem with Token Wizard, please include the following information:
Which network did you use? (Mainnet, Kovan, Rinkeby, etc.)
Rinkebuy
If you were able to create it, what is the URL of your crowdsale?
https://wizard.poa.network/invest?addr=0x22eedf995Da8CC23D9eD2a62E52603Efa0B068E7&networkID=4r
Do you have screenshots showing the problem?

file:/home/d/WebstormProjects/TetsingWizardPOA/results1518228315525/screenshoot1518228338405.png
Do you see errors in the dev console? If yes, please include a screenshot
To open the dev console in Google Chrome, press F12, or go to View -> Developer -> Developer Tools, and open the Console tab
If you see errors, please right click on them and "Save as..". Zip saved file and attach it to the Issue.
No

Dennis also, please clarify how many decimals were in your token?

Decimals=3

Reproduced issue right now
I was able to buy : first transaction 10+second transaction 80=90
Wasn't allowed to buy more.
https://wizard.poa.network/invest?addr=0x7f830e8C17aC96AD4100d9d56E54DEa4425Cbc00&networkID=4
Input file
{ "account": "0xF16AB2EA0a7F7B28C267cbA3Ed211Ea5c6e27411",
  "privateKey": "03c06a9fab22fe0add145e337c5a8251e140f74468d72eab17ec7419ab812cd0",
  "networkID":4,

  "name": "T1RnWy02/10/18 00:00am",
  "ticker": "MSCqj",
  "decimals": 3,
  "reservedTokens":[
    {

    },
    {

    }],
  "walletAddress":"0xF16AB2EA0a7F7B28C267cbA3Ed211Ea5c6e27411",
  "gasprice": 40,
  "mincap": 1,
  "whitelisting":true,
  "tiers":[
    {
      "name":"###1",
      "allowModify": true,
      "startDate": "02/10/2018",
      "startTime": "00:15am",
      "endDate":"02/10/2018",
      "endTime":"00:29am",
      "rate":100,
      "supply": 200,
      "whitelist":[
        {
          "address":"0x40cAa4BF6893dF91638305cFCf98CB8E7Fa8D17F",
          "min":10,
          "max":100
        },
        {
          "address":"0x42f0143F2E9Ab64CA3811bbA08E40D798C18E7f4",
          "min":8,
          "max":55
        }]
    }]

}

Manage page.
Min=0, max=10
Should be: min-10, max=100
https://wizard.poa.network/manage/0x7f830e8C17aC96AD4100d9d56E54DEa4425Cbc00


⚠ Shakedown Social - Homepage has degraded performance

In 15a9105, Shakedown Social - Homepage (https://shakedown.social) experienced degraded performance:

HTTP code: 200
Response time: 28584 ms

Resolved: Shakedown Social - Homepage performance has improved in 48f18cc after 2 minutes.


visitComponentTree method not found in @vue/devtools package

Version
6.0.0-beta.6
Browser and OS info
Not browser environment
Steps to reproduce
Hi guys, i'm using vue3 and  vue-remote-devtools for development, it seems that vue-router-next is using function  visitComponentTree
https://github.com/vuejs/vue-router-next/blob/master/src/devtools.ts#L89
while in the lastest version of @vue/devtools , i can't find any declaration related with this function.
So, there is an error occur : api.on.visitiComponentTree is not a function
How do i resolve this problem ?
What is expected?
error not occur
What is actually happening?
an error occur : api.on.visitiComponentTree is not a function

I checked release note, found that this function only support in 6.0.0-beta.7


more examples

Hi.
I wish there were more complicated examples and full working ones. like a simple game with simple authentication gateway.
it's a little confusing for me.
how to have authentication gate?

thanks @lonnng for the nanoserver. that's amazing


Compatibility with java 21 and 22

The base of essential changes is the @LIshy2 pull request which code was initially compatible only with Java 21. By modifying build dependencies and HandleBoiler which is responsible for the MemoryHandle source code generation, I achieved the possibility to choose the compatible with the corresponding Java version MemoryHandle implementation within the build process.
According to the description above, the MemoryHandle was forked to the file containing the compatible with the Java 21 implementation and the file with the compatible with the Java 22+ implementation; these files were moved to memory/v21/main/scala/alien/memory/handle and memory/v22/main/scala/alien/memory/handle respectively

Review in Arcadia

Review in Arcadia

Кажется, надо на этот pr натравить бота https://github.com/apps/robot-magpie

LGTM

LGTM


Can't play Podcasts

I can't play Spotify's Podcasts on librespot. When playing in the desktop app, librespot based clients would be visible in the "Devices Available" list, but greyed out. And when a librespot based client is active, I can't start playback of podcasts.
Trying to play a podcast to librespot wouldn't log anything in librespot, not even in verbose mode. I must assume that Spotify wouldn't send any data for whatever reason.

Doesn't seem to be problem of librespot alone:
https://www.google.de/search?q=spotify+connect+problems+podcast

To support Podcasts, one has to add "audio/episode" into the supported methods, beside eg. "audio/track".
Once done, the tracks sent by Spotify have not "gid" but an "uri" instead.
Right now I have no idea how to handle them, maybe some more investigation via the sniffing-tools can bring light on this.


Issue with RPi Bullseye and/or newer version of Python

Hey great work on this! Using the previous coachproxy RV-C versions on my Entegra, now excited to try adding support for NMEA2000 PGN's for the boat.
I'm not a Linux guy and I don't know Python (yet), so I'm kinda stuck, here are the details, thanks!:
pi@ervinosn2k:~ $ rvc2mqtt.py
Connecting to CAN-Bus interface: can0
Traceback (most recent call last):
File "/usr/bin/rvc2mqtt.py", line 295, in
bus = can.interface.Bus(channel=args.interface, bustype='socketcan_native')
File "/usr/local/lib/python3.9/dist-packages/can/interface.py", line 101, in new
kwargs = load_config(config=kwargs, context=context)
File "/usr/local/lib/python3.9/dist-packages/can/util.py", line 192, in load_config
bus_config = _create_bus_config(config)
File "/usr/local/lib/python3.9/dist-packages/can/util.py", line 211, in _create_bus_config
raise CanInterfaceNotImplementedError(
can.exceptions.CanInterfaceNotImplementedError: Unknown interface type "socketcan_native"
Changed line 296 socketcan_native to socketcan (as per this: https://issueantenna.com/repo/spanni26/pyhpsu/issues/52) and it gets past that but then hangs:
pi@ervinosn2k:/etc $ rvc2mqtt.py
Connecting to CAN-Bus interface: can0
Loading RVC Spec file /etc/rvc/rvc-spec.yml.
Processing start...
pi@ervinosn2k:~ $ python - version
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.

Raspberry Pi 4B
pi@ervinosn2k:/proc/device-tree $ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 11 (bullseye)
Release:	11
Codename:	bullseye

@myervin I know it's been over two years, but were you ever able to resolve this issue?

Hi, yes I believe so. I forgot what the solution was tho. Couldn't have been too difficult...Thanks,Rob
-------- Original message --------From: Ashley Grant @.> Date: 12/27/24  1:14 PM  (GMT-06:00) To: linuxkidd/rvc-monitor-py @.> Cc: myervin @.>, Mention @.> Subject: Re: [linuxkidd/rvc-monitor-py] Issue with RPi Bullseye and/or newer version of Python (Issue #7)
@myervin I know it's been over two years, but were you ever able to resolve this issue?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


upgrade thumbor to 6.2.1

This fixes an issue where GIFv results could not be stored by the tc-aws plugin.

OK. we are building the new version in the branch 6.2.1


Settings should be in the ControlPanels Settings Tab

TW now allows us to create new tabs in the CP -> Settings area. I've implemented it for one of my plugins: link-to-tabs
If you import this plugin to tiddlywiki.com you can see how it is implemented and you can use the tab-link-icon to open the different tiddlers to see the details.
$:/tags/ControlPanel/SettingsTab is the tag for tiddlers to show up in the CP -> Settings area
$:/tags/ControlPanel/WikiLabs ... That will be the tag for my plugins, to creates "sub-tabs" under "WikiLabs"

Hi @pmario and thanks for the first issue!
Yes the settings should go there, I agree.

It will take some time until I have addressed all my outstanding issues with this plugin - then I'll add a ControlPanel thingy

Hi @pmario - I've now added the settings in the ControlPanel > Settings > TiddlyFlex


(YU-RIS) Inserting translation breaks names format

This a continuation of the issue closed here:
https://github.com/arcusmaximus/VNTranslationTools/issues/109
The game doesn't break anymore however some of the characters's names are getting reinserted in the dialog box rather than in the "character names" box when they use parenthesis. This also doesn't happen all the time just on some lines.
Here is an image of how the dialog should look (non translated version):

Here is an image of how it looks when translated:

I'll leave here a piece of our current progress on the translation. Some of the rows on the excel file are not even formatted correctly.
script.xlsx

Just like YU-RIS only supports 「」 as quotes by default, it only supports full-width （） as parentheses. The translation uses half-width (), which the game won't detect as dialogue (making it treat those lines as narration instead).

Some of the rows on the excel file are not even formatted correctly.

Please be more specific - the file has thousands of lines, and "some rows" doesn't really tell me where the problem is.

Just like YU-RIS only supports 「」 as quotes by default, it only supports full-width （） as parentheses. The translation uses half-width (), which the game won't detect as dialogue (making it treat those lines as narration instead).

Some of the rows on the excel file are not even formatted correctly.

Please be more specific - the file has thousands of lines, and "some rows" doesn't really tell me where the problem is.

Please refer to sheet yst00109 and go to row 69 of  script.xlsx.
The name and dialog is shown in the same cell.
スィーリア　共同生活がはじまって三日目
私はなかなか寝付けない夜をむかえていた。

Looks like this particular game also registers the full-width space as a name separator then. This is not a YU-RIS default, and as such, I won't add it to the default VNTextPatch source code (because it might end up doing wrong splits in other games).
If there are many lines like this, you can customize VNTextPatch to add this separator yourself (see https://github.com/arcusmaximus/VNTranslationTools/blob/main/VNTextPatch.Shared/Scripts/Yuris/YurisScenarioScript.cs#L83).


Add number entities for Parameter.Inverter.AcALim and .WMax

This is an PR to implement feature from issue #5. It adds two more number entities to control the maximum current and or the maximum power charged to your car.

Just installed it into my HA and something is now broken with all number entites. I can not figure out what's the problem right now. Will look into it soonish.

Thanks @jastBytes!
I changed the default visibility of the two parameters to False as I consider them as advanced features (one could easily violate the regulations of the grid provider if the values are set to high). The entities can be enabled in the device settings at any time.


Default to Next CFP closing date and add sort by Next CFP start data

Resolves Issue #16

@mattstauffer I have modified the conference index page sort order such that conferences with past CFP end date will sort to the bottom, conferences with with a null CFP end date will sort in the middle, and conference with future CFP end date will sort to the top.  In addition, conferences with a null or past CFP end date will now sort by the conference start_at, within their respective grouping.

@mattstauffer This is ready for your review after making your recommended changes.

@mattstauffer I just updated this branch to ensure sorting by date and closing_next works as expected.

@mattstauffer I simplified the default sort and this is ready for your review.


Debounce progress bar updates

Change progress bar to only update on integer changes, this prevents excessive database writes.

@pieceofsummer we are using this in production with a forked build of this project, do you see any issues with this PR, or could we get this merged into upstream? It is a major performance improvement, we had a job that was iterating over a collection with millions of entries so it went from millions of db writes in the extension method to a hundred or fewer,  no matter the collection size..

I think there's a more elegant solution, by providing a configurable precision value used for rounding here:
https://github.com/pieceofsummer/Hangfire.Console/blob/a1fea1356c46fe70b0a9df1785cf5c138aa18ae0/src/Hangfire.Console/Progress/DefaultProgressBar.cs#L38
So you don't need to track it manually elsewhere.


Prepare release v3.14.0-dev.0

https://github.com/palantir/tslint/commit/2e1c9242d68aa009dd164778f6d74cebdd0378c0 may be related

Can we get this published to NPM? The definition-tester project needs this for the types-2.0 branch

It's available on NPM on tslint@next -- do you need a @latest release?

Ah, didn't see that. @next is sufficient, thanks!


Chrome tab crashing whilst doing bonfires

I haven't been able to make entirely sure this isn't caused by the user's environment, but it seems I'm not the only one experiencing crashes whilst doing bonfires, perhaps this is an issue within FCC's code?

Your code contains an infinite loop and that is why your tab is crashing

I've written infinite loops on purpose to test this, and every time I do, it catches it and prevents a crash.

So when have you experienced this issue? There is a know problem with recursion but other than that it's down to computer power. If your browser runs out of local resources before the editor catches it then the browser crashing makes sense. There's no real way to compensate for this as well as to make it "Safe" on every device will really bottleneck performance for others. All the bofires that aren't bugged can be passed it's just that if you lack local power your code needs to be more efficient than the code of someone who has a lot of power in their computer.

I've figured out one cause, I ran an if comparing values with var1 != var2, this causes a crash, using !== works.

What specs, os and browser are you using? This is an issue I've never heard of so I'm curious to see if there's any connection to any local influences

My laptop is running W8.1 64bit with the latest chrome browser.
Specs:
Core i7 2.20Ghz (8 core)
16GB RAM

Okay so that's that ruled out. What challenge are you testing that on?

Bonfire: Diff Two Arrays is the one that's been crashing for me all day, with all kinds of different code. So it's hard to pin it on something specifically.

That doesn't cause any issues for my Diff Two Arrays is solid for me! Do you have any extensions running?

None that should really interfere, I'll work in an incognito window from now on, see if the issue returns, if not it will have been an extension. completely forgot about that.

Please do and if you had time to investigate if it's a certain extension we'd love to hear if there is an extension that may interfere with our code

I'll certainly do some more in depth research on what plugin could cause it once I've established I experience no unexplained crashes in incognito.

Thanks for the help that's awesome!

So far I have experienced no crashes in either incognito or normal mode. I'll have some time the coming two days to properly stress  test this a bit further.

Ok, report time.
So far so good, no crashes whatsoever in incognito mode, which points to a plugin/extension issue.
I've started with disabling adblock on FCC, I haven't seen any ads being blocked to begin with, but it was first on the list. As of yet (48 hours) I have yet to experience ANY crashes. Whereas before I disabled adblock I'd have at least 2 every day or so.


Fixed value for Plural-Forms to match other language files

Issue introduced in https://github.com/ManageIQ/manageiq/pull/21115
Fixes issue mentioned in https://github.com/ManageIQ/manageiq-ui-classic/pull/7677

@chessbyte Please review.

Backported to lasker in commit 1c77e2e0756d9973af314aaec73318c34ed846ea.
commit 1c77e2e0756d9973af314aaec73318c34ed846ea
Author: Oleg Barenboim<EMAIL_ADDRESS>Date:   Thu Mar 25 09:21:46 2021 -0400

    Merge pull request #21119 from h-kataria/locale_file_fix

    Fixed value for Plural-Forms to match other language files

    (cherry picked from commit 22fe4300bc87c4bd1677ebea4286f66f44c0f1db)


Test results can make the SQLite DB explode in size

A workspace storage DB I got from @egamma was 30 MB in size and the culprit is a single key called testResults. I can only speculate that we store all test results as workspace state?
I think we need to be careful and use a file based approach if the data can potentially be very large.
The data looks like this:
[{\"id\":\"38ac242f-c375-4837-9651-f66b148964b2\",\"completedAt\":1614615858564,\"items\":[{\"parent\":\"ms-vscode.vscode-selfhost-test-provider/Arrays\",\"providerId\":\"fc829c73-72f1-44c3-8714-382253696c7e\",\"item\.........

I think this is some old data -- I noticed the problem a while ago and since then have only stored ID and size in sqlite, with results stored in separate file:
https://github.com/microsoft/vscode/blob/da144f6280c47e908fd9f57099a6de1f5380fc39/src/vs/workbench/contrib/testing/common/testResultStorage.ts#L49-L53

Oh cool thanks!


Seams in skybox & shadows under traffic

I only noticed the skybox one on the Canyon level, might not affect every level. I tried without AA or AF as well since I know it can cause seams. I'm not sure if the other versions are affected but even if they are this could be a good enhancement for the high IQ of the PC version.

Common issue with low res assets when they're seen in a very high res, I don't think there's a solution unless somebody updates ALL background and shadow graphics.

Does disabling the transparency AA & adding DX/ANTIALIASING = 0 to outrun2006.ini make any difference? IIRC MSAA can cause some issues like that because of the weird DX9 half-pixel offset.
Maybe DXVK could make some difference too.

It's still there

Switching the shadow texture at runtime shows there's a couple that have that issue, we could just force it to one of the ones that don't have it, but that's make the shadows not match the type of car properly..
Seems the shadow textures do get dumped under obj_vshadow_pmt, doesn't look like any of the textures are broken, shadow goes right up to the edge of it - wonder if adding extra pixel to the width could help.

Huh, I never noticed the seam on canyon's. Then again, the skybox texture is really low res and ugly so I try not to look at it. Both Sunny Beach and Canyon have rectangular textures, but that might not be related. Comparing the texture to the in-game skybox, it's hard to make sense of which parts go where. The skybox warps the texture all over the place.
I replaced the sky with a white texture, so I think this might just be a modeling mistake.


Update command example on getting started page.

We should update the example for creating a new extension on the following page:
https://extension.js.org/n/getting-started/create-your-first-extension/#step-1-create-the-extension
The example, for creating a extension, shows:
npx extension@latest github-search --template=init

I believe, it should be:
npx extension@latest create github-search --template=init

@cmwhitehead1 good catch! I'll update the page

https://github.com/cezaraugusto/extension.js.org/pull/1

fixed by https://github.com/cezaraugusto/extension.js.org/pull/1. thanks for reviewing, @cmwhitehead1!


test(e2e): Exam Components/finish-exam-modal

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #51705

camperbot cant code

Looks like I have no "pnpm run seed:exams" on ci and can not click on the Start exam button
https://discord.com/channels/692816967895220344/715074489422970962/1159520223645409321

Blocked by #51841

Please review

@naomi-lgbt please take a look


Organization with blocks of methods

Is there a simple way, to organize the methods with blocks for code folding, organization, etc?
What I'm thinking of using a short version of the example in the README, but wrapping methods and blocks in group blocks:
module Twitter
  class API < Grape::API
    version 'v1', using: :header, vendor: 'twitter'
    format :json
    prefix :api

    resource :statuses do
      group :public_timeline do
        desc 'Return a public timeline.'
        get :public_timeline do
          Status.limit(20)
        end
      end

      group :home_timeline do
        desc 'Return a personal timeline.'
        get :home_timeline do
          authenticate!
          current_user.statuses.limit(20)
        end
      end

      group :status do
        desc 'Return a status.'
        params do
          requires :id, type: Integer, desc: 'Status id.'
        end
        route_param :id do
          get do
            Status.find(params[:id])
          end
        end
      end
    end
  end
end

I'm finding the only way I can get this right now is to use Ruby's open classes, and then having a separate definition for each one. It feels weird for desc and params to not be block based, but rather order based.

I'm also interested in this as it seems pretty messy to have these separated.

We've always thought of desc or params as "annotations". What would be a better syntax?

See also: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/6330/diffs
You end up with things like this:
module API
  # Projects variables API
  class Variables < Grape::API
    before { authenticate! }
    before { authorize! :admin_build, user_project }

    resource :projects do
      desc 'Get project variables' do
        success Entities::Variable
      end
      params do
        requires :id, type: Integer, desc: 'The ID of a project'
        optional :page, type: Integer, desc: 'The page number for pagination'
        optional :per_page, type: Integer, desc: 'The value of items per page to show'
      end
      get ':id/variables' do
        variables = user_project.variables
        present paginate(variables), with: Entities::Variable
      end

      desc 'Get specific variable of a project' do
        success Entities::Variable
      end
      params do
        requires :id, type: Integer, desc: 'The ID of a project'
        requires :key, type: String, desc: 'The key of the variable'
      end
      get ':id/variables/:key' do
        key = params[:key]
        variable = user_project.variables.find_by(key: key.to_s)

        return not_found!('Variable') unless variable

        present variable, with: Entities::Variable
      end

      desc 'Create a new variable in project' do
        success Entities::Variable
      end
      params do
        requires :id, type: Integer, desc: 'The ID of a project'
        requires :key, type: String, desc: 'The key of the variable'
        requires :value, type: String, desc: 'The value of the variable'
      end
      post ':id/variables' do
        variable = user_project.variables.create(key: params[:key], value: params[:value])

        if variable.valid?
          present variable, with: Entities::Variable
        else
          render_validation_error!(variable)
        end
      end

      desc 'Update existing variable of a project' do
        success Entities::Variable
      end
      params do
        requires :id, type: Integer, desc: 'The ID of a project'
        optional :key, type: String, desc: 'The key of the variable'
        optional :value, type: String, desc: 'TNew value for `value` field of the variable'
      end
      put ':id/variables/:key' do
        variable = user_project.variables.find_by(key: params[:key].to_s)

        return not_found!('Variable') unless variable

        attrs = attributes_for_keys [:value]
        if variable.update(attrs)
          present variable, with: Entities::Variable
        else
          render_validation_error!(variable)
        end
      end

      desc 'Delete existing variable of a project' do
        success Entities::Variable
      end
      params do
        requires :id, type: Integer, desc: 'The ID of a project'
        requires :key, type: String, desc: 'The key of the variable'
      end
      delete ':id/variables/:key' do
        variable = user_project.variables.find_by(key: params[:key].to_s)

        return not_found!('Variable') unless variable
        variable.destroy

        present variable, with: Entities::Variable
      end
    end
  end
end

Without careful spacing it's not immediately obvious which descriptions/parameters are related to one another.

@connorshea That's exactly my problem. I've got a pretty big codebase, and it gets messy like that quickly.

To be clear, I don't want it to modify the path (like an additional resources block would do). I just want something that would wrap everything in a relatively meaningless block for organization, code folding, etc.

Exactly the same for me, would be ideal to have a wrapper block to organize things together.

We have created a directory structure that avoids the big block mess and has worked quite well for us. We put each discrete endpoint in its own file and include that into a main API file (e.g. api/v1/samples.rb. See this gist for a closer look.
The directory structure is something like the following. We currently have 14 categories of endpoints (e.g. apples, bananas, and samples in the tree below), each with their own set of discrete actions for a mostly RESTful API. This organizational structure supports nested resources as well as top-level resources. The biggest file we have within this structure is 175 lines long (including blank lines for visual queues) -- that file is a helpers.rb for an endpoint that has a lot of customizable behavior. As far as the endpoint files themselves, the average number of lines is 49, the min is 27 lines, and the max is only 73 lines.
Our params and desc blocks don't get out of control, and (as @dblock mentions) we see them basically as annotations.
I think this type of organization helps with code reading, maintenance, consistency, and a small host of other things. As for code folding, well the file browser of your favorite editor will essentially do that for you. I hope this helps.
(Disclaimer: the names of (most) files and directories have been altered to protect the guilty.)
.../api
├── base.rb
└── v1
    ├── apples.rb
    ├── bananas.rb
    ├── authentication.rb
    ├── base.rb
    ├── concerns
    │   ├── apples
    │   │   ├── helpers.rb
    │   │   └── listing.rb
    │   ├── bananas
    │   │   ├── creating.rb
    │   │   ├── fetching.rb
    │   │   ├── helpers.rb
    │   │   ├── listing.rb
    │   │   └── updating.rb
    │   ├── samples
    │   │   ├── creating.rb
    │   │   ├── deleting.rb
    │   │   ├── fetching.rb
    │   │   ├── helpers.rb
    │   │   ├── listing.rb
    │   │   └── updating.rb
    │   └── zoinkable.rb
    ├── defaults.rb
    ├── error_formatter.rb
    ├── ...
    └── samples.rb

Both @tibbon and @connorshea raise valid concerns. Also @connorshea should contribute to "who uses grape" at http://www.ruby-grape.org/users/ :)
I do like what @jason-uh is doing. I prefer mount to a block.
That said, I am open to a meaningless block that doesn't modify path, if we can find a good name for it. I suggest endpoint do ... Note that you can try it by just adding a method to Grape::API that yields and see how it feels.

@dblock we're already listed under Examples, should we do both? :)

It doesn't hurt thanks @connorshea! I wonder if we should combine examples and users or reference one to another.

@tibbon any progress/thoughts on what'd work best as a name for these blocks?

I like the group do syntax, since delete path/to/endpoint do is kind of repetitive of an endpoint block.
Another solution might be to put the description and params inside the method block, though I can understand why you wouldn't (or couldn't?) want to do that.

On the GitLab-CE issue tracker we've discussed this too, as @connorshea mentioned. We were thinking about a block called endpoint but we'd love to have an official block, probably whatever its called :)

endpoint sounds ok to me, but naming is hard :)

Hi @dblock
Is there any progress? :slightly_smiling_face:
Is there anything I can do to help get this issue done? :slightly_smiling_face:

Feel free to implement and PR something, @blackst0ne.


[FEATURE] Combine two classes into one

Description
I am wondering that if there is a way to combine two classes into one. I have two classes: MovingCameraSlide and MovingCameraSlide3D, I want to render each other one by one firstly and then combine them together.
I think this is important when we develop a relatively huge project, and develop different kinds of scenes separately. Thx a lot!!
Screenshots
No response
Additional information
No response

Hello @semikernel!
On the Manim side, unfortunately, you cannot easily concatenate two scenes.
E.g., manim render example.py BasicExample ThreeDExample will generate two separate videos, one for each scene. You could create a super class in Python that construct each function after the other, but you will have some issues when mixing different kinds of scene, see how and why here: https://github.com/ManimCommunity/manim/pull/2957.
However, Manim Slides totally allows playing multiple scenes in a sequence:
manim-slides present BasicExample ThreeDExample will work as expected.
If you convert your slide to HTML, PowerPoint, or else, then manim-slides convert BasicExample ThreeDExample ... will convert into one file.
One downside of this approach is that you need to type the name of the scenes in the order you want to play them, every time.
Did I help you?

Hello @semikernel!
On the Manim side, unfortunately, you cannot easily concatenate two scenes.
E.g., manim render example.py BasicExample ThreeDExample will generate two separate videos, one for each scene. You could create a super class in Python that construct each function after the other, but you will have some issues when mixing different kinds of scene, see how and why here: ManimCommunity/manim#2957.
However, Manim Slides totally allows playing multiple scenes in a sequence: manim-slides present BasicExample ThreeDExample will work as expected.
If you convert your slide to HTML, PowerPoint, or else, then manim-slides convert BasicExample ThreeDExample ... will convert into one file.
One downside of this approach is that you need to type the name of the scenes in the order you want to play them, every time.
Did I help you?

Yes that's it! It's a very useful fuction. You did a brilliant job!

Nice! Closing this now as this seems to be answered.


Modals are broken

Modals dont open anymore since 0.100.1.
See JSfiddles (both should open the modal):

0.99.0 https://jsfiddle.net/fb6u00ts/
0.100.1 https://jsfiddle.net/xhrhn23d/

Exception
jQuery.Deferred exception: this.M_Modal is undefined t.fn.modal/<@https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.1/js/materialize.min.js:6:67443
each@https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js:2:2713
each@https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js:2:1001
t.fn.modal@https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.1/js/materialize.min.js:6:67422
window.onload/<@https://fiddle.jshell.net/_display/:59:2
j@https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js:2:29997
g/</k<@https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js:2:30313
 undefined

https://jsfiddle.net/vd1xpyd7/
See: https://github.com/Dogfalo/materialize/blob/master/CHANGELOG.md#v01000-july-19th

The changelog is too terse, im using code from the docs, see:
http://materializecss.com/modals.html#!

We are aware of that and we will update the documentation soon. https://github.com/Dogfalo/materialize/issues/5009

thank you.
Forgive me for reporting issues that are apparently already reported, but I dont expect a release when the docs havent been updated accordingly yet


Fix grammatical issues in README.md and some ISSUE_TEMPLATES, Create .whitesource file, and Update expect.txt

[X] I have signed the Contributor License Agreement.
[X] This pull request is related to #4789.

Summary of the PR
Welcome to Mend Bolt for GitHub (formerly WhiteSource). This is an onboarding PR to help you understand and configure settings before Mend starts scanning your repository for security vulnerabilities.
:vertical_traffic_light: Mend Bolt for GitHub will start scanning your repository only once you merge this Pull Request. To disable Mend Bolt for GitHub, simply close this Pull Request.

What to Expect
This PR contains a '.whitesource' configuration file which can be customized to your needs. If no changes were applied to this file, Mend Bolt for GitHub will use the default configuration.
Before merging this PR, Make sure the Issues tab is enabled. Once you merge this PR, Mend Bolt for GitHub will scan your repository and create a GitHub Issue for every vulnerability detected in your repository.
If you do not want a GitHub Issue to be created for each detected vulnerability, you can edit the '.whitesource' file and set the 'minSeverityLevel' parameter to 'NONE'.

:question: Got questions? Check out Mend Bolt for GitHub docs.
If you need any further assistance then you can also request help here.

Microsoft Reviewers: Open in CodeFlow

I'll need to have an engineer check Mend Bolt out before merging this PR.

URL for (Mend Bolt)[https://www.mend.io/free-developer-tools/bolt/]

We already have internal infrastructure that handles the same type of reporting that Mend Bolt appears to be doing, and it is required that we leverage it.  I would prefer not to add a 3rd party action (mild risk) that does the same (no apparent gain).

But after using Mend Bolt for some time with other apps like Mend Bolt, I feel like Mend Bolt is better and is best out of all.

@skanda890 I can appreciate the familiarity with other tools and the things they provide. Rather than adding another layer of complexity which comes with potential performance limitations (5 calls / day with Mind Bolt) and the potential for other complex interactions, I'd ask what Mind Bolt is doing that we're not doing with our internal tooling to see if we can cover differences that way.
Given the response from our engineering team, I would not merge this PR and add Mind Bolt.

What service do you use? If I get this I can compare the features between them.

It's an internal set of tools. They are designed to ensure we're complying with all of our company policies. The bigger question I'd ask is what value does the tool you proposed provide? Let's assume the software vulnerability detection is handled by the tooling we use today.

Okay, leave that, what about the other things?

@skanda890 PRs should focus on a "single" change or request. That means keeping them to "one" logical topic and have a single issue they resolve. Continuing to modify the PR causes churn.
I'd also suggest making PRs as draft until they are actually ready for review to be merged.
The images for the icons will not be accepted as these are the official images. Any changes run the risk of changing how they are displayed as the image formats are not lossless.
We love the enthusiasm and welcome improvements, but it's hard to reason about unrelated changes. Smaller PRs are easier to fully understand and review, which means they are more likely to get merged.

@skanda890 PRs should focus on a "single" change or request. That means keeping them to "one" logical topic and having a single issue they resolve. Continuing to modify the PR causes churn.
I'd also suggest making PRs as drafts until they are ready for review to be merged.
The images for the icons will not be accepted as these are the official images. Any changes run the risk of changing how they are displayed as the image formats are not lossless.

We love the enthusiasm and welcome improvements, but it's hard to reason about unrelated changes. Smaller PRs are easier to understand and review fully, making them more likely to merge.

There are only 4 files changed.

Done.

/azp run

🌟 Ode to My PR Mishap 🌟
Oh, tangled branches of my git tree,
How thou dost vex me with thy entwined changes!
Forgive me, dear reviewer, for my folly,
As I seek redemption in separate PRs.
Let each branch stand alone, proud and distinct,
Like constellations in the midnight sky.
And may our codebase sing harmoniously,
Free from the cacophony of tangled diffs.
@Trenly, grant me this chance—
To untangle my commits, like a patient weaver,
Crafting a quilt of elegance and clarity.
In this digital realm, where bits converge,
Let our apologies be sincere, our PRs pristine.

This is the first PR poetry I've ever heard of!

Do you guys have any tips on where to contribute  or any open repositories where I can contribute?

It really depends on what your "goal" is. It could be better to go a bit deeper into code on a smaller number of projects rather than to scatter across a larger number of projects. Every project is going to have its own community and set of standards. There are lots of different ways to contribute as well. Sometimes just doing work on documentation adds massive value, other times it might be fixing bugs or adding features. It just depends on why you're wanting to contribute.

It really depends on what your "goal" is. It could be better to go a bit deeper into code on a smaller number of projects rather than to scatter across a larger number of projects. Every project is going to have its own community and set of standards. There are lots of different ways to contribute as well. Sometimes just doing work on documentation adds massive value, other times it might be fixing bugs or adding features. It just depends on why you're wanting to contribute.

My goal is to contribute to an open repository.