Course and Review development roadmap

Hi,
Following @tanaypratap's FB post, I'd like to open a discussion on how we can implement course pages and course reviews sourced from markdown files. Here are a few questions I have:

We can develop these 2 features separately and concurrently. However, don't we need to finish course pages first before we can show the reviews of each course?

Besides, I'm still not sure where we're getting course data.

This is one way I imagine we can go about implementing these:
- src
   - assets
   - components
   - pages
   - ...etc

- data
   - courses
      - course-1
         - index.md  --> course data (description, url, etc)
         - name-1.md --> review data (rating, description, name, avatar, etc)
         - name-2.md
      - course-2
         - name-3.md
         - name-4.md

To submit a course: create a PR under data/courses directory with this structure: course-name/index.md that looks like this:

---
slug: "awesome-course"
name: "Awesome Course"
level: "beginner"
instructor: "Awesome Instructor"
technology: ["html", "css", "js"]
url: "https://youtu.be/link-to-awesome-course"
---

To submit a review: create a PR under data/courses directory with this structure: course-name/username.md that looks like this:

---
username: "username"
name: "Name"
avatar: "https://avatar-url.com"
rating: 5
review: "Good course!"
---

This is just a rough draft. A few things we can discuss further:

The file type does not need to be markdown, especially if we're not taking full advantage of it. It can be JSON or YAML too.
Maybe we can ask users to upload avatar image along with their review instead of remote url.

Would love to hear your thoughts on this.

Folder structure: I think the folder structure is good when it comes to courses. I would however, suggest that reviews are kept outside as a separate folder. We can give each course a unique slug and that can be used to cross reference.

JSON or YAML: Completely agree with these points. For reviews JSON would be good. These reviews could be the first PR of a lot of students, so anything easy to use should work.

Breaking into multiple issues: I see we can break this into three issues and pick them up separately from here.

Read data from JSON file and update graphQL

Component i.e. the view element of reviews. Query from GraphQL and map with a slider.

Course page data and design

What do you suggest? @alexluong

If you agree to this let's create three separate issues from this. I would need your help in mapping out the fields and overseeing work on all three.
As for getting course pages data ready. I can create pages with some data for now.

@tanaypratap
Folder structure
I can see the merits in keeping things separate. How would you feel about this folder structure instead?
- data
   - courses
      - course-1.md --> course data (description, url, etc)
      - course-2.md
   - reviews
      - course-1
         - name-1.json --> review data (rating, description, name, avatar, etc)
         - name-2.json
      - course-2
         - name-3.json
         - name-4.json

Just to reiterate, our course data would be in markdown, and review data would be in JSON.
Issues organization
I think these are the issues we can create to create course pages and show reviews:

Courses:

Source course data from markdown file to GraphQL
Design course page from mock data (a JSON object)
Programmatically create course pages from GraphQL + query data

Issue 1 and Issue 2 can be created separately. Issue 3 will depend on both 1 & 2 to be done.

Reviews:

Source review data from JSON file to GraphQL
Design review component from mock data (a JSON object)
Query review data inside course template

Similar to courses' issues, 4 and 5 can be created separately, and 6 depends on both. On top of that, issue 5 may or may not depend on issue 2.
Other

Let me know what you think about this? If it works for you, I can go ahead and create these issues. I can also work on all of them, but I'd love to let others have a chance to tackle these if anybody's interested.

I'd love to hear your thoughts on Course and Review data structure. If you can just post the GraphQL SDL for them, that would be a good starting point!

And lastly, I think having some sort of design/guidelines would be quite helpful. Do you have some sort of design or can bring somebody on board for that. Just a thought.

@alexluong
Folder Structure
Looks good. I would say send a PR with "Under Construction" Pages. We'll get it merged. This will provide empty pages for anyone working on anything.
Issues Organization
All are good issues, let's create them and we'll pick them one by one. if no one picks those we'll close it. I have been advised by doctor to stay away from screen for sometime. That's the reason behind asking for help online. But we have a lot of people on the FB group. If we can break things into smaller chunks and oversee the work we can involve more people.
If things are dependent on other issues, we can create a project and board. What do you think about that?
Other
Kindly create an issue for Course and Review data structure. I'll work on both of them and get it done.
Design Guidelines If you see the theme/starter in the readme, you'll find this page. We can use these components for creating items. It has almost everything required. They're not in components as I feel this starter is mostly a designer work but we can definitely get the code in better order.


Replace last usages of <() as PalletInfo> in substrate

related https://github.com/paritytech/substrate/issues/7949

bot merge


Change dependabot cadence to weekly

Now that we've caught up on the upgrades, I propose that we change the cadence when dependabot runs from daily to weekly.
We won't miss important updates, and we will have less noise in PRs.
Thoughts?

My two cents... I’ve done the same for my projects  since the daily noise was a distraction after all the updates were done

What about adding an auto-merge label for dependabot PR after they pass CI?

Pinging @BillWagner because it appears this cadence is indeed now weekly and this can likely be closed.


Rename more-dropdown to more-dropdown-links

Migration will happen in the other PR, after the feature is renamed.

Unchecked but I assume it matches the previous code. Merge at will

more-dropdown-links


Feat:Workflow Run to check code formatting

Describe the feature
Please assign me this under hacktoberfest.
Will be adding CI/CD workflow to check formatting of the code.
Add ScreenShots
Here's example:

not formatted code.

formatted code

Record

[X] I agree to follow this project's Code of Conduct
[ ] I'm a GSSOC 23 contributor
[X] I want to work on this issue

Go ahead @MannuVilasara :))


Document plugin using both global and local config data

Currently, the plugin system works like other remap config fields, the config for a rule is used if it exists, or from the outside object if not.
Plugins should be changed to be passed both.
While most plugins probably want to work the same way rules work, for some plugins it may make sense to apply both, or even to prioritize the global.
An example of this is ModHeaders. The header modification plugins should apply both, so it's possible to specify headers to be added to all remaps, as well as headers only added to specific remaps, without the specific having to duplicate the global. This is the reason a duplicate modify_headers_global plugin exists, and fixing this will obviate the need for that.

This is effectively implemented, since the startup hook gets the global config. So, plugins that want to use both can create a startup hook, and put the global config it gets in the Context for use by other hooks.
That behavior should be documented though, so I'm leaving this open until docs exist explaining that.


Resolves #1541

Add missing parameter description
https://github.com/MicrosoftDocs/windows-powershell-docs/issues/1541

Docs Build status updates of commit 1fab1f7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/webapplicationproxy/Set-WebApplicationProxyConfiguration.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/webapplicationproxy/Set-WebApplicationProxyConfiguration.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

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

@dariomws306 @tseward
Peer review needed for this PR. Thanks.

Docs Build status updates of commit 8a51ed9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/webapplicationproxy/Set-WebApplicationProxyConfiguration.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/webapplicationproxy/Set-WebApplicationProxyConfiguration.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


 Sorry

Check in your browser's web debugging tools to see what cookies it has for domain.com / sub.domain.com and what cookies it is sending in the requests. It's possible that a cookie was set with a different domain spec when you were testing a slightly different config, and now oauth2_proxy won't clear or replace the older cookies because it uses a slightly different cookie domain.
If you haven't yet, I'd also suggest getting the simplest configuration working first: no subdomains, no websockets, etc.

I have similar issue:
OAuth2_Proxy: https://oauth2.k8s.mydomain.com
Dex: https://dex.k8s.mydomain.com
Dashboard: https://dashboard.k8s.mydomain.com
Everything went well until user clicked on Dex's confirmation button to grant access.
The page was forwarded back to
_https://oauth2.k8s.mydomain.com/oauth2/callback?code=rvl6owuv6qmetuh7dghkmakin&state=1400fb49b32e37c3acdcb23e441f6446%3A%2F_
LOGS FROM OAUTH2_PROXY POD:
<IP_ADDRESS> - - [06/Dec/2018:16:11:19 +0000] auth.k8s.mydomaincom GET - "/oauth2/callback?code=rvl6owuv6qmetuh7dghkmakin&state=1400fb49b32e37c3acdcb23e441f6446%3A%2F" HTTP/1.1 "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0" 403 334 0.226
2018/12/06 16:11:19 oauthproxy.go:668: <IP_ADDRESS>:57922 ("<IP_ADDRESS>") csrf token mismatch, potential attack
2018/12/06 16:11:19 oauthproxy.go:447: ErrorPage 403 Permission Denied csrf failed
I looked at browser developer's console/network tab and found 2 _oauth2_proxy_csrfs were sent with Http Request
      "cookies": [
        {
          "name": "_oauth2_proxy_csrf",
          "value": "95303367b2f220ab2924792987d984a1"
        },
        {
          "name": "_oauth2_proxy_csrf",
          "value": "1400fb49b32e37c3acdcb23e441f6446"
        }

How to fix this?
Thanks


Fix cinder script

This PR fixes various bugs in the cinder-cfg.py script:

Rendering serviceUser as a list instead of a string
Rendering networkAttachments at the incorrect depth level
Missing extraMounts when we have an RBD backend
Incorrectly determining the default backend driver

Closes: #138

recheck


Add SAC

Resolves #43

Can you resolve the LGTM alerts?

Btw why is it showing Checks passes even though there are LGTM alerts?

Btw why is it showing Checks passes even though there are LGTM alerts?

It just checks code style right? As long as syntax is right, I guess it doesn't give any errors...


Operation level schema example is not getting rendered in the UI

Hi,
I have one Error class which will be returned in case of error. I need to define example to for at each operation.
Initially I have used ISchemaFilter to achieve this. But for all actions it is giving same example.
Then I am using IOperationFilter and setting the example different for different action. When I see the JSON, it has different example for different action. But in UI it is not rendering that specific examples.

To apply operation-level response examples, you'll need to create an Operation Filter that assigns examples conditionally for each operation. See below - also note the structure of the examples - as per the Swagger spec, you need to provide an example per mime type:
// ExamplesOperationFilter.cs
public class ExamplesOperationFilter : IOperationFilter
{
    public void Apply(Operation operation, OperationFilterContext context)
    {
        var methodAndPath = $"{context.ApiDescription.HttpMethod} {context.ApiDescription.RelativePath}";

        switch (methodAndPath)
        {
            case "POST api/products":
                {
                    operation.Responses["400"].Examples = new Dictionary<string, object>
                    {
                        {
                            "application/json",
                            new
                            {
                                Error = "Invalid product",
                                ErrorDescription = "foobar"
                            }
                        }
                    };
                }
                break;
        }
    }
}

// Startup.cs
c.AddSwaggerGen(c =>
{
    ...

    c.OperationFilter<ExamplesOperationFilter>();
}


Document Nested Navigation

I love the library for its simplicity , I hope it keeps that with its updates but there's very little documentation of nested navigation

I added information on nested navigation within the Best Practices section of the README file


Updated examples to use InfernoDOM

Hey,
I was getting Babel working, copy-pasted these examples (which didn't work), and noticed that InfernoDOM was used on the main Inferno page.

Thank you! Updating the readme was on the backlog, thanks for helping us out :)


[Ubuntu] install ODBC before Microsoft repo

Description
Looks like there is a version conflict.
Related issue: n/a
Check list

[ ] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run ubuntu1804,ubuntu2004,ubuntu2204

/azp run ubuntu1804,ubuntu2004,ubuntu2204

Relates to https://github.com/microsoft/linux-package-repositories/issues/39

/azp run ubuntu1804,ubuntu2004,ubuntu2204

/azp run ubuntu1804,ubuntu2004,ubuntu2204


Add resources for developers

You can add MERN stack or relevant resources for contributors working on this project on the README.

Can I  work on this isse?

assigned to @Prajnaprabhu3


Select should more gracefully handle dates as values in options

If a select is set up with the following opts:
const someTimeStampThatIsToday = ts
[
{label: 'Today', value: moment(someTimeStampThatIsToday).toDate()},
{label: 'Tomorrow', value: moment(someTimeStampThatIsToday).add(1, 'days').toDate()}
]
Select is then is bound to a field with the value of moment(someTimeStampThatIsToday).toDate().

The select will not display the 'Today' label as you might expect but rather the date toString. I think this is because the two dates may have the same value but are not == as they are different instances of Date().
Oddly if you then select the 'today' opt, the select will not respect it, because all of a sudden it seems to think the values are in fact the same and its a no op (maybe form is smart about this? guessing...).
If you select tomorrow first, then today you are back in a normal state.

Why aren't we using LocalDate here? Or if it really must be a date then how about a timestamp?
Seems like a lot to expect select to do specialized equals comparisons for date or any other objects.

Actually now that you mention it, LocalDate might fit my needs fine. Glad to add the fix I'm suggesting here (now that I'm assigned), but it seems to me you are arguing for "won't fix" here?

Indeed -- want to make sure I wasn't missing something.  Will do so now.  If it doesn't work with LocalDate, please re-open :-)

LocalDate is working beautifully for my purposes, thanks again for the nudge!


on kots install failure print better messages

What type of PR is this?

What this PR does / why we need it:
This PR exits several on-pr tests if the kubectl kots install component fails (after printing logs).
It also fixes a comparison in the while loop following that (by wrapping a possibly-empty thing in quotes)
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Does this PR require documentation?

I'm going to rebase this after https://github.com/replicatedhq/kots/pull/2764 is merged as a test


fix: add missing context in webpack.web for Compiler

RequestShortener's constructor which is called in Compiler's constructor will use context.replace, add the missing parameter for avoiding error in webpack.web.

What kind of change does this PR introduce?
bugfix

Did you add tests for your changes?

Does this PR introduce a breaking change?
No

What needs to be documented once your changes are merged?

@ooflorent Cool, thanks, I'll close the ticket.


upgrade the docker version

does not mention how to upgrade the docker engine version on every node.

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

ID: 7010bd58-42b1-5c90-3253-05deed855be8
Version Independent ID: c890efb2-cdaf-a3eb-d54f-0e7ccbd4314d
Content: Upgrade an Azure Kubernetes Service (AKS) cluster
Content Source: articles/aks/upgrade-cluster.md
Service: container-service
GitHub Login: @gabrtv
Microsoft Alias: gamonroy

Thanks for the feedback! We are currently investigating and will update you shortly.

Thanks @gopalvithal
I have assigned this to the content author to review and see if it makes sense to add this information to the doc.

Hi, @gopalvithal. Thanks for reaching out. I chatted with the engineering team on this - we don't provide the steps for upgrading the Docker version as this isn't something we recommend, nor support. If there are specific needs for a given Docker version, the suggestion would be to instead use ACS-Engine, which allows you to use whatever Docker version you need - https://github.com/Azure/acs-engine
@MicahMcKittrick-MSFT For now, #please-close


doc: Add ThingSpeak integration guide

Summary
Adding ThingSpeak webhook integration guide.
Changes
ThingSpeak now has a dedicated endpoint for V3.
Checklist

[x] Scope: The referenced issue is addressed, there are no unrelated changes.
[x] Run Locally: Verified that the docs build using make server
[ ] New Features Marked: Documentation for new features is marked using the new-in-version shortcode, according to the guidelines in CONTRIBUTING.
[x] Style Guidelines: Documentation obeys style guidelines in CONTRIBUTING.
[x] Commits: Commit messages follow guidelines in CONTRIBUTING, there are no fixup commits left.

Why is this not using the webhook templates?

I'll update the doc when I create the webhook template and when it's publicly available.

I'll update the doc when I create the webhook template and when it's publicly available.

Can we do this right from the start, i.e. with a webhook template?

I'll update the doc when I create the webhook template and when it's publicly available.

Can we do this right from the start, i.e. with a webhook template?

Yeah sure, that would be even more straightforward, but the consensus here between @laurensslats and myself was to keep the whole thing, because we have a Custom webhook option and we don't want to hide info from curious users (for example endpoint URL). Do you think we should change this?

Yes, we should change that.
@laurensslats if users are curious, they can go edit the webhook created from the template. There they can see the url, paths, headers, etc.

Yes, we should change that.
@laurensslats if users are curious, they can go edit the webhook created from the template. There they can see the url, paths, headers, etc.

Ok, I'll update then

Yes, we should change that.

This is updated now.


Support standard $ref across whole manifest

We currently relying on concise features & / * to be able to link shape of an entity / input to some output field. If we want to deprecate non-standard concise syntax we have to implement support for standard $ref / $def` that would work across whole initial manifest rather than individual subschemas.
References:

https://json-schema.org/understanding-json-schema/structuring
https://github.com/APIDevTools/json-schema-ref-parser

Know your enemy.


fix crash caused by memory misalignment in function fill_usb_buffer

@adminstrator, could u help to close this PR? it moves to #2430.
Thanks very much!


Add Stash Wallet

I have not heard of this wallet @justusranvier are you vouching for them?

@fyookball
Yes, I'm the Lead Architect for Stash.


dsr toParams are ignored on redirection

If the property params is not set to true, dsr is unusable for a dynamic lists since toParams are ignored on the transition.
I have a list of elements and selecting one of them triggers $state.go('list.selected', {id: id}); but after the first time an element is selected on the list selecting different elements will replace the id with the one on the state saved and always showing the details for the same element of the list.
I do not want to set params: true, since I don't want to keep different substates for different elements of the list, so after the user select the tab2 for one element on the list the tab2 selected should be the prefered state instead of a default one.
I was able to fix the issue for my particular use case adding the toParams on the $stateChangeStart event handler: $state.go(redirect.state, angular.extend(redirectParams, redirect.params, toParams)); but I am not sure if makes sense or not from a generic point of view, or maybe it would break some other use cases.
Thanks

So, tell me if this is correct:
You want to pass toParams to the DSR state, and have DSR kick in (sending you back down to DSR.sub.state) but with the toParams applied?
Have you tried $state.go(".", params)?
Adding support to DSR for this scenario is probably possible, but there might be some edge cases that need to be considered.

Thanks for your response, yes that's exactly what I am trying to archive, so far our patch has been working well for our use case. I didn't try $state.go(".", prams), that could work when coming from a child state, but then we will need to add logic on our selection change event on the master grid to go to "." or to the dsr state depending on the current state, and I would like to avoid that.


Hot fixes

The main fix here is shutting down the OB server in the bundled app using the API as opposed to the previous way using taskkill which doesn't allow the server to properly shutdown.
to test:
1.) Compile the latest server source via go build openbazaard.go.
2.) In the client source... in main.js, change the following lines using the path to your server binary in step 1:
// const serverPath = ${__dirname}${path.sep}..${path.sep}openbazaar-go${path.sep};
const serverPath = '/Users/rob/develop/openbazaar/v2/server/';
It's probably not a bad idea to clear your local storage first.

If you try to delete the last server configuration in the configuration manager modal, it throws an unhandled error in Configurations.js on line 106.
Uncaught TypeError: Cannot read property 'remove' of undefined
    at _class.<anonymous> (C:/Users/J/ob/openbazaar-desktop/js/views/modals/connectionManagement/Configurations.js:106:7)

Sometimes when creating a new server I see an unhandled error in configurations.js
Uncaught TypeError: Cannot read property 'get' of undefined
    at _class.<anonymous> (C:/Users/J/ob/openbazaar-desktop/js/views/modals/connectionManagement/Configurations.js:62:23)


Save model does not work

Function uses config.model which does not exist. Need to use config.model_state.generate_model instead?

fixed


Added screen size

The purpose is we want to be able to render the custom size scaled up to window size. (e.g.: 320x180 scaled up to window size 1280x720)

Thank you!


Long boot time because of xenbus_probe_frontend timeout issue

Booting RancherOS 0.4.2 on AWS (AMI ami-53045239) is way slower than it should be.
I captured the following boot log from a t2.micro instance: ami-53045239-boot-log.txt
The problematic point seems to be an issue with xenbus_probe_frontend timeout CoreOS had as well (https://github.com/coreos/bugs/issues/208):
[   10.857105] xenbus_probe_frontend: Waiting for devices to initialise: 25s...20s...15s...10s...5s...0s...
[   35.763142]
[   35.764333] xenbus_probe_frontend: Timeout connecting to device: device/vfb/0 (local state 3, remote state 1)
[   35.768514] xenbus_probe_frontend: Device with no driver: device/vbd/768
[   35.771248] xenbus_probe_frontend: Device with no driver: device/vif/0

That issue is causing the boot to take 25 seconds longer than it should be.

I now also checked RancherOS 0.3.3 (AMI ami-772dee1c) and the issue is present there as well.


Make clear when too slow for lane changes

If you command a lane change under 45mph, nothing will happen. It it should be clear to the user that no lane change can be done because the speed is too low.
Perhaps instead of the message "Steer Left to Start Lane Change" that appears above 45mph something like "Speed too low for lane change"

Maybe we can make a way to show this with an icon or something similar. I feel like an alert would be distracting every time I turn my blinker on under 45mph.

I think a small, one-line alert with no sound should be fine.

True, 1 line alert would be okay

I was looking to solve this , however I saw that, it is already implemented something like this. Isn't this part of code does what you were saying.
https://github.com/commaai/openpilot/blob/367aec54d1c4c5ed8d3f651d0b2f8b80fb0ac0e5/selfdrive/controls/lib/events.py#L179

I saw the unit tests fail for this PR, doesn't the belowSpeed field need to be added to the LaneChangeState enum in openpilot/cereal/log.capnp?
  enum LaneChangeState {
    off @0;
    preLaneChange @1;
    laneChangeStarting @2;
    laneChangeFinishing @3;
    belowSpeed @4
;  }

I saw the unit tests fail for this PR, doesn't the belowSpeed field need to be added to the LaneChangeState enum in openpilot/cereal/log.capnp?
  enum LaneChangeState {
    off @0;
    preLaneChange @1;
    laneChangeStarting @2;
    laneChangeFinishing @3;
    belowSpeed @4
;  }

Thank you sir ! I was looking for this. I created a PR for cereal. https://github.com/commaai/cereal/pull/129

Is this something that you would be interested in? I will make this easier to see if you give the go.

@HaraldSchafer Do you think this is still an issue now that the lane change speed is lowered?

I think it's fine now with the 30mph limit.

I think it;s fine now!


Citation?

Hi! As you may know, we are using your metk codes to implement them and get some statistical results while running DLSCORE, however we couldn't find any DOI to cite you. Do you have any particular way of how we should do it?
Thanks!

Please just provide a link to the github page.  Thanks!


Release should trigger a binary build

so my limited knowledge of gitlab actions tells me that this should have created a binary:
name: SLSA Go releaser
on:
  workflow_dispatch:
  release:
    types: [created]

from https://github.com/rog-golang-buddies/golang-template-repository/blob/main/.github/workflows/go-ossf-slsa3-publish.yml#L17
there is a release but this workflow didn't get triggered. I suspect for this to fire, the release type needs to be published as shown below:
on:
  release:
    types: [published]

Without testing I can't be sure.
On a slightly different note, I'm also not familiar with SLSA Go releaser and that makes me hesitant to provide it as a solution to our user base, as we should have some level of authoritative knowledge to support it. In contrast goreleaser appears to be easy to adopt, well documented and is widely used (https://goreleaser.com/users/).
From a security posture perspective slsa-go might be well worth exploring but I wonder if it is suitable for our first release? perhaps it should be an improvement story. Happy to be corrected but this is my sentiment atm.
CC: @shukra-in-spirit , @pallasite99

Understood @haani-niyaz
My understanding was that this would readily publish a go package here which seems to not be the case.
I will be returning from a short trip on Sunday and I’ll create a new PR with the original intended workflow planned.

@haani-niyaz I've created this PR to delete the SLSA releaser and instead introduce the original intended workflow:
https://github.com/rog-golang-buddies/golang-template-repository/pull/31


Alternative approach to the grid (less code and IE6 support)

Hey. You might be interested in an alternative approach to creating the grid that uses negative margins. Removes the need for all those :first-child margin overrides. It shouldn't be problematic, especially since people should be using the grid classes in isolation, but you might want to kick the tyres a bit. I dropped the !important because I didn't think it was needed, but I might have overlooked something.
Edit: And if you consistently use the column class (replace columns), the CSS could be further simplified.
.row {
    margin: 0 -20px;
    *zoom: 1;
}

.row:after {
    display: table;
    clear: both;
    content: "";
}

/* replace with .row .column */
.row .span1,
.row .span2,
.row .span3,
.row .span4,
.row .span5,
.row .span6,
.row .span7,
.row .span8,
.row .span9,
.row .span10,
.row .span11,
.row .span12,
.row .span13,
.row .span14,
.row .span15,
.row .span16 {
    float: left;
    margin-left: 20px;
    display: inline; /* IE6 double margin bug fix. Harmless, but could be sandboxed with * or _ hack */
}

.row .span1 { width: 40px; }
.row .span2 { width: 100px; }
.row .span3 { width: 160px; }
.row .span4 { width: 220px; }
.row .span5 { width: 280px; }
.row .span6 { width: 340px; }
.row .span7 { width: 400px; }
.row .span8 { width: 460px; }
.row .span9 { width: 520px; }
.row .span10 { width: 580px; }
.row .span11 { width: 640px; }
.row .span12 { width: 700px; }
.row .span13 { width: 760px; }
.row .span14 { width: 820px; }
.row .span15 { width: 880px; }
.row .span16 { width: 940px; }

.row .offset1 { margin-left: 80px; }
.row .offset2 { margin-left: 140px; }
.row .offset3 { margin-left: 200px; }
.row .offset4 { margin-left: 260px; }
.row .offset5 { margin-left: 320px; }
.row .offset6 { margin-left: 380px; }
.row .offset7 { margin-left: 440px; }
.row .offset8 { margin-left: 500px; }
.row .offset9 { margin-left: 500px; }
.row .offset10 { margin-left: 620px; }
.row .offset11 { margin-left: 680px; }
.row .offset12 { margin-left: 740px; }

A side-effect is that it also opens up the ability to accidentally support IE6 (for layout at least). Even the topbar, under certain conditions, could be absolutely positioned at the top of the page in IE6. Probably not something you want to roll in, but any developer who uses Bootstrap as a starting point will have the option to include a few easy IE6 tweaks/accommodations if they need to support that browser, because at least the layout would "just work".

oh my god. 30% ie6 user need this tools

lol @, robert0825, we do this now. chill bro :)

i use bootstrap in my website www.yqqwb.com,the bigest travel journals search engi in china,wait for your ie6 support bootstrap,thanks


Feature: mime types in HTTP headers

Currently, we don't set the mime-type in HTTP headers and have no way to set this.
A workaround is guessing with a new layer of mime-guess, but at last, we need a way to config it.

We can support content type in OpWrite.


Pruned node support

          Fwiw the following rather horrifying hack "works":

let bin_bh: [u8; 32] = hex::FromHex::from_hex("deadbeef...").unwrap();
let mut next = BlockHash::from_raw_hash(sha256d::Hash::from_byte_array(bin_bh));

(replacing the above linked definition of next ; of course you have to add the use statement: use bitcoin::hashes::{hex, sha256d, Hash};)
... where deabeef.. is the big-endian encoding of a block hash. But "works" with caveats:

the block hash used there should be that of the first block in your database, identifiable with bitcoin-cli getblockchaininfo (but I guess it changes over time, so you need to have bitcoind not running)
defining start_height and end_height doesn't work (at least, in my test), because I think with this hack it treats your first block as literally block 1 (or 0, whatever).

Still, it does output the data I wanted from a filter, so, it (barely) passes the bar of at least being worth reporting.
Originally posted by @AdamISZ in https://github.com/RCasatta/blocks_iterator/issues/83#issuecomment-1992684079

For what it's worth, this would indeed be very useful for a project like this one I'm working on, because the idea is that a bunch of users (things like Joinmarket, Lightning perhaps) might want to create snapshots of keysets from the blockchain with generally agreed filters, and then run zero knowledge proofs of token validity w.r.t. that keyset. To do that each user (or let's say "each first class user"!) needs to reconstruct the keyset. Perhaps we could and should just expect all such users to run unpruned nodes, but on the other hand in e.g. Joinmarket that isn't currently needed, and I got the impression from my, quite crude, understanding of how this tool works, that it probably wouldn't be that hard to fix it to work with pruned.


initialOffsetOptions on Event Hub Trigger is not valid on the current Extension Bundle

Functions 2.x and higher supports initialOffsetOptions on host.json. Official document is here.
{
    "version": "2.0",
    "extensions": {
        "eventHubs": {
            "batchCheckpointFrequency": 5,
            "eventProcessorOptions": {
                "maxBatchSize": 256,
                "prefetchCount": 512
            },
            "initialOffsetOptions": {
                "type": "fromStart",
                "enqueuedTimeUtc": ""
            }
        }
    }
}

but initialOffsetOptions is valid from Microsoft.Azure.WebJobs.Extensions.EventHubs 4.2.0.
Current Extension Bundle 2.x contains ver 4.1.1. Upgrade of Microsoft.Azure.WebJobs.Extensions.EventHubs is necessary.
{
        "id": "Microsoft.Azure.WebJobs.Extensions.EventHubs",
        "version": "4.1.1",
        "name": "EventHubs",
        "bindings": [
            "eventhubtrigger",
            "eventhub"
        ]
    },

Any update? Would really appreciate a new release with eventHub4.2.0.


Track active connections as a first-class prometheus gauge

Once this is merged we can pick up https://github.com/itchysats/itchysats/pull/1299 again.

Not sure if we want to keep the pattern, but in maker-metrics I prefixed itchysats metrics with 'itchysats_' which makes it easy to search for in grafana

Good idea! Can we do this through configuration based on where the metric is imported from? Having to do that on every metric seems excessive and makes it harder to write reusable code that comes with metrics but is unaware of which app it will be embedded in.

Not sure if we want to keep the pattern, but in maker-metrics I prefixed itchysats metrics with 'itchysats_' which makes it easy to search for in grafana

Good idea! Can we do this through configuration based on where the metric is imported from? Having to do that on every metric seems excessive and makes it harder to write reusable code that comes with metrics but is unaware of which app it will be embedded in.

Fair. Not sure if this is possible. We can for sure add labels which are also easy to filter for.
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config

Not sure if we want to keep the pattern, but in maker-metrics I prefixed itchysats metrics with 'itchysats_' which makes it easy to search for in grafana

Good idea! Can we do this through configuration based on where the metric is imported from? Having to do that on every metric seems excessive and makes it harder to write reusable code that comes with metrics but is unaware of which app it will be embedded in.

Fair. Not sure if this is possible. We can for sure add labels which are also easy to filter for.
prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config

Based on your other reply, what about adding the label itchysats based on the scrape target?

@bonomat Thanks for the pointer in regards to naming!
I read through https://prometheus.io/docs/practices/naming/ and decided that a more appropriate name would be: p2p_connections_total. What do you think?

@bonomat Thanks for the pointer in regards to naming!
I read through https://prometheus.io/docs/practices/naming/ and decided that a more appropriate name would be: p2p_connections_total. What do you think?

Yea, I think that's a good name for this metric.

bors r+

bors retry


Cannot access blog through Tor browser

Accessing blog.wasabiwallet.io home page usually works in the tor browser.
Accessing a specific url of an article usually does not work.
Please enable cookies.
Error 1001 Ray ID: xxx  2020-08-13 13:07:30 UTC
DNS resolution error
What happened?

You've requested a page on a website (blog.wasabiwallet.io) that is on the Cloudflare network. Cloudflare is currently unable to resolve your requested domain (blog.wasabiwallet.io). There are two potential causes of this:

    Most likely: if the owner just signed up for Cloudflare it can take a few minutes for the website's information to be distributed to our global network.
    Less likely: something is wrong with this site's configuration. Usually this happens when accounts have been signed up with a partner organization (e.g., a hosting provider) and the provider's DNS fails.

Cloudflare Ray ID: xxx  Your IP: xxx  Performance & security by Cloudflare

When I use firefox, but route the traffic through Tor with whonix gateway, then I can access these links.

I think it's a critical bug that the blog cannot be accessed through Tor browser.
Unfortunately, afaik, we cannot do anything about it, as we rely on the ghost.io platform for the infrastructure.

I can reproduce

I reached out to Ghost support and had a few emails with them. They cannot fix this on their side according to the text support and pointed out this issue: https://trac.torproject.org/projects/tor/ticket/32915
@MaxHillebrand can you elaborate on that?

Here is the current ticket https://gitlab.torproject.org/tpo/community/relays-trac/-/issues/32915


Increasing Loss and Validation Loss

Hello Everyone.
I was trying to train the code with all the default set-ups but while training, both of the loss and validation loss are increasing. Anyone else faced this problem and solved it anyhow, please let me know.
Thanks in advance.

@hnahi
have you got any improvements?
I am also having the same issues
my val loss is higher than 49.


MySQL not creating mysqld.sock

The MySQL server installed by "apt-get install mysql-server" does not create any mysqld.sock file under /var/run/mysqld which makes it hard to connect to.

Our support for Unix sockets is not yet complete, and they are currently not properly integrated with the file system. While mysqld does create a socket with the appropriate name and it should be possible to connect to it, it will not be visible in the file system.

I get this error when i try to do mysqladmin ping:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
$
Starting it before seems to work: sudo /etc/init.d/mysql start or sudo service mysql start:
df: Warning: cannot read table of mounted file systems: No such file or directory

Starting MySQL database server mysqld                                         [ OK ]
Checking for tables which need an upgrade, are corrupt or were
not closed cleanly.

$
I couldn't start mysqld out of the box, but had to first fix according to https://github.com/Microsoft/BashOnWindows/issues/143 .
How do you connect to mysqld?

I am facing similar issue. I have tried using the fixes from #143 but still I get the same error. It seems to be an issue with the socket implmentation for WSL. Can someone please provide me with a fix for this as I am unable to start mysql server on my WSL environment.

MYSQL works for me. All I did was apt-get install mysq* or if you want mariadb apt-get install mariadb*

You then sudo service MySQL start

i ran sudo-apt get install mysql-server
E: Can not write log (Is /dev/pts mounted?) - openpty (2: No such file or directory)
I get this error while it is installing
and when i run sudo service mysql start i get the following errors. Did mysql run out of the box for you or did you make some fixes before.
df: Warning: cannot read table of mounted file systems: No such file or directory

Starting MySQL database server mysqld

@abhishek1214 Both of these issues have been fixed internally and will be in a Windows Insider build soon.

@benhillis are you referring to build 14342 or is there a new one coming soon. It would be great to have that as then I can move my dev environment completely to bash.

I don't believe there fixes are in 14342. I'll check and get back to you.

I just recieved the new Build 14352. Has this issue been resolved in the new update?

Just tried it. Doesn't appear to be working yet. :(

Any status update? Doesn't appear to be working on Build 14361

Nope, its not working for me either. It was not mentioned in change log for build 14361, so was not expecting a change either. I wonder when this will be working..?

This was fixed back in build 14342. I've just tried it on the latest insider release and it works fine for me. How are you installing/starting MySQL?

I am installing using the sudo apt-get install mysql-server command. It throws an error which i have mentioned in the above post. its a error related to the sockets implementation for Bash on windows.

Please, if we're doing something wrong when trying to install, let us know how to fix it.

Error during install:
"E: Can not write log (Is /dev/pts mounted?) - openpty (2: No such file or directory)"
Error when trying to run basically anything related to mysql:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

pty and socket failures should be resolved in the last few Windows Insider builds 14361+. Which build are you on? Try upgrading to a newer build.

@ronaldroe - pty and socket failures should be resolved in the last few Windows Insider builds 14361+. Which build are you on? Try upgrading to a newer build.

I'm trying on 14366, but I'm having another issue that's stopping me from trying. I opened another issue for it.

Ok. That issue fixed, the pty error no longer shows up, but I still get the same error when I run mysql:
"ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)"
I get this when I try to manually start the server service:
/lib/lsb/init-functions.d/50-ubuntu-logging: line 5:   711 Aborted
(core dumped) plymouth --ping > /dev/null 2>&1

Starting MySQL database server mysqld
/lib/lsb/init-functions.d/50-ubuntu-logging: line 5:  1445 Aborted
(core dumped) plymouth --ping > /dev/null 2>&1
[fail]

You should check your my.cnf file in /etc/mysql/my.cnf also try uninstalling MySQL and reinstalling it.

Have tried both. No joy.

Oh, it worked for me from day one. Unless I changed something without realising. What does it say in /var/log/mysql/error.txt

I get this multiple times during the install process:
invoke-rc.d: policy-rc.d denied execution of start.
Error log is attached.
error.txt

I recently received the 14367 update and have reinstalled the Linux subsystem with the /lxrun /uninstall /full method after the update. I have stopped getting the previous error but i am getting a new one now. it has some issue connecting to upstart..
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
/lib/lsb/init-functions.d/50-ubuntu-logging: line 5:  1368 Aborted                 (core dumped) plymouth --ping > /dev/null 2>&1

Starting MySQL database server mysqld                                                                                /lib/lsb/init-functions.d/50-ubuntu-logging: line 5:  2088 Aborted                 (core dumped) plymouth --ping > /dev/null 2>&1

@ronaldroe it says this
ERROR: 1064  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ALTER TABLE user ADD column Show_view_priv enum('N','Y') CHARACTER SET utf8 NOT ' at line 1
160519  7:58:32 [ERROR] Aborting

Do you have any MySQL or ports being used in windows not bash since windows can also interfear.

yes i do. should i unistall that?

 That was it. I had the Windows version running. Killing it allowed me to connect without issue. Thank you.

I am still having the same problem i removed mysql from windows and i am still getting the same problem.
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
runlevel:/var/run/utmp: No such file or directory

@abhishek1214 We do not run the upstart init daemon.  Is there something you can configure so you don't attempt to connect to it?  I suspect there is because different versions of Linux use different init mechanisms.

@ronaldroe your welcome.

@abhishek1214 Hi what does it say in /var/log/mysql/error.txt.

i just looked up online and found a solve which sad run atp-get remove upstream.
after that when i ran mysql server it stated working.
but error during the install is still there.
160617 23:42:15 [Note] Server socket created on IP: '<IP_ADDRESS>'.
160617 23:42:15 [Note] Event Scheduler: Loaded 0 events
160617 23:42:15 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.5.49-0ubuntu<IP_ADDRESS>'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)

@SvenGroot - Did you run into this while trying out MySQL? It appeared that it was running fine for you.

Yes i was able to run the server but there are some underlying issues with the implementation
For example: i was running a filter command in my python shell down an object tree and i was throw an error saying this function is not supported on this version of MySQL but i was able to run the commands on my mySQL command line.
Also there are some network issues. I am not able to access the python server to the network port. So that i may access my server from my phone on the same wireless network.
Other than these things are running pretty smooth.

After reading through this thread it looks like things are working as expected. Closing this out.

I simply could fix it with sudo
service mysql start
service mysql stop
service mysql start
It looks like the database tables weren't created properly at the first launch.

I got this error for 1 week when trying to run mysql -u root -p
but when i try to run sudo service mysql start, it works fine

OK I think it has been already answered above but here I go again.
If you have installed mysql on the host Windows machine, the port is taken up by him. When you try to start mysql in WSL that mysql fail to start in the same port.
I uninstalled mysql from host and it all worked. Hope this works for you too!

i got errors while installing mysql-server on nginx server
how to solve this, anybody knows how to setup the mysql-server on the nginx
sudo service mysql start
Job for mariadb.service failed because the control process exited with error code.
See "systemctl status mariadb.service" and "journalctl -xe" for details.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")

In my case it works, if I start mysql with
sudo /etc/init.d/mysql start

## Fix MySQL (MariaDB)
if [ ! -f "/etc/init.d/mysql" ]; then
    cp /usr/share/mysql/mysql.init /etc/init.d/mysql
    chmod a+x /etc/init.d/mysql
    service mysql restart
    mysql_secure_installation
    service mysql restart
fi

For MariaDB 10.4
## Fix MySQL (MariaDB)
if [ ! -f "/etc/init.d/mysql" ]; then
    cp /usr/share/mysql/mysql.init /etc/init.d/mysql
    chmod a+x /etc/init.d/mysql
    service mysql restart
    mysql_secure_installation
    service mysql restart
fi

Thank you so much! 😀

For MariaDB 10.4
## Fix MySQL (MariaDB)
if [ ! -f "/etc/init.d/mysql" ]; then
    cp /usr/share/mysql/mysql.init /etc/init.d/mysql
    chmod a+x /etc/init.d/mysql
    service mysql restart
    mysql_secure_installation
    service mysql restart
fi

This fixes my problem!!!!!
Remember to use SUDO!

For MariaDB 10.4
## Fix MySQL (MariaDB)
if [ ! -f "/etc/init.d/mysql" ]; then
    cp /usr/share/mysql/mysql.init /etc/init.d/mysql
    chmod a+x /etc/init.d/mysql
    service mysql restart
    mysql_secure_installation
    service mysql restart
fi

This fixes my problem!!!!!
Remember to use SUDO!

Worked for me too.

It only took me an hour to find this but THANKS 😃

https://askubuntu.com/a/1194201/1011689

Hi, I know this is an old thread but has somebody come up with a good solution to the problem with custom MYSQLRUN folder creation? Let me explain the situation.
We are running multiple instances of MySQL on a single node using the @ suffix in the config like:
[mysqld@3306]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
[mysqld@3307]
pid-file        = /var/run/mysqld-3307/mysqld.pid
socket          = /var/run/mysqld-3307/mysqld.sock
datadir         = /var/lib/mysql-3307
We use a custom path to the pid file and socket file and this requires us to create the folder (mysql-3307) manually as MySQL has a built in folder creation procedure in /usr/share/mysql-8.0/mysql-helpers. In section verify_ready(). Hardcoded path is used MYSQLRUN=/var/run/mysqld.
Now, we could modify this file to turn it into a variable or we could use ExecStart cmd in the systemd startup file. Either of which we do not want to modify as they are a part of the package and would require reset each time we upgrade,
The only solution for now I see that we rename just the socket and pid file but leave the folder as original. Any other ideas? Thanks.


l10n: Add i18n/l10n framework and some strings

Signed-off-by: Ryan Northey<EMAIL_ADDRESS>

Codecov Report

Merging #331 (6454221) into main (3fe5bdf) will increase coverage by 0.29%.
The diff coverage is 97.05%.

@@            Coverage Diff             @@
##             main     #331      +/-   ##
==========================================
+ Coverage   58.76%   59.05%   +0.29%
==========================================
  Files         132      132
  Lines        3856     3886      +30
==========================================
+ Hits         2266     2295      +29
- Misses       1590     1591       +1

Impacted Files
Coverage Δ

ui/src/app/index.js
100.00% <ø> (ø)

ui/src/index.js
0.00% <ø> (ø)

ui/src/app/playground.js
66.66% <85.71%> (+3.50%)
:arrow_up:

ui/src/event/logging.js
100.00% <100.00%> (ø)

ui/src/network/resources.js
100.00% <100.00%> (ø)

ui/src/proxy/resources.js
100.00% <100.00%> (ø)

ui/src/service/resources.js
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Event data structure

Right now the event data structure specifies: 1) The index of time stamps it is associated with; and 2) the experiment time when it occurs (relative to start of experiment). I envisioned this to be used as a way for the user to specify a time and have methods to collect stamps in some window around this time (for instance, mark all spikes 1 second before to 1 second after the event).Since the spikes are sorted in time, a unitrange, is a nice compact way to store the location of perhaps many spikes in a compact way.
There should probably be more to this data structure though. I was collecting events in an array with rows indicating trials and columns indicating an event type. This is kind of limiting, because in some experiments, trials don't necessarily always have the same number of events, and they don't always occur in the same order.
It might be better for the event type to also contain some kind of ID field to specify the event type, and maybe another field to indicate the trial number, if applicable. Then methods to make something like a PSTH would collect all spikes around the event with a specified ID.

So we add two fields. ID (a string?) and trial number (Int) to the event type and then we have no need for the centre field for SpikeTimes...?

Yeah I think having the ID and trial fields will completely remove any need for the center field (and be much less confusing than what I currently have :) ).
I think we might get better performance with both fields being integers, so that the compiler knows exactly how many bytes each event is, and they can pack together in arrays with no pointers.
We could probably use an optional dictionary interface that will relate event IDs as strings with the Int value stored in the events datatype. So for example you could make a psth with calls like
plot_psth(myspiketrain, event="target_onset")
or equivalently
plot_psth(myspiketrain, event=3)
Maybe this could be stored in the spike train type?

Yep I'm sure your right. Dictionary in SpikeTrain sounds like a good solution. I'll try and get something along those lines working this evening.


WEATHER APP DOES NOT RUN!!

I think the real error is not the macos SDK, but the message after that which is truncated: androidtargetSdkVersion 31 is less than....?
You might want to look into your Android SDK setup and try again!

No response so assuming you figured out how to do this. Closing this now.


Resources not listed : Jersey 2.5 + Swagger on Websphere 7

Hi
I have successfully configured Swagger with our Jax-rs/Jersey 2 application.
Works fine with maven jetty plugin and on Tomcat test server
However, when deploying to Websphere 7, no resources are listed.
The /api-docs resources returns
{"apiVersion":"1.0","swaggerVersion":"1.2"}

My BeanConfig looks like this
 BeanConfig beanConfig = new BeanConfig();
 beanConfig.setVersion(apiVersion);
 beanConfig.setResourcePackage(resourcePackage);
 beanConfig.setBasePath(basePath);
 beanConfig.setDescription("EK resources");
 beanConfig.setTitle("EK API");
 beanConfig.setScan(true);

(apiVersion, resourcePackage and basePath are defined in a properties file and injected by Spring)
Not sure how to get past this.
We would like to have our APIs documented when running in our production and qa environments
Dependency in pom.xml
<groupId>com.wordnik</groupId>
<artifactId>swagger-jersey2-jaxrs_2.10</artifactId>
<version>1.3.12</version>

The beanConfig.setScan(true); line is the one kicking off the scanning.
I realize it works on Jetty/Tomcat, but obviously something is slightly different in the WebSphere environment.
Two suggestions:

Can you try setting the resourcePackage explicitly just for the sake of testing (that is, use the string rather than load it from an external resource)? This may not be relevant if your apiVersion is indeed 1.0 in your spring configuration as well (that's another way to test, change the value in the spring config and see if it changes in the /api-docs).
The other option is that the BeanConfig is not being loaded properly or at the right time. How did you set it up to run?

I have tested setting an explicit path.
And if I change the apiVersion, that is reflected in the json. So the correct values are injected.
Setup is
@Component
public class SwaggerConfiguration {

    @Value("${swagger.resourcePackage}")
    private String resourcePackage;

    @Value("${swagger.basePath}")
    private String basePath;

    @Value("${swagger.apiVersion}")
    private String apiVersion;

    @PostConstruct
    public void init() {

        BeanConfig beanConfig = new BeanConfig();
        beanConfig.setVersion(apiVersion);
        beanConfig.setResourcePackage(resourcePackage);
        beanConfig.setBasePath(basePath);
        beanConfig.setDescription("EK resources");
        beanConfig.setTitle("EK API");
        beanConfig.setScan(true);

        ScannerFactory.setScanner(beanConfig);
    }

}

This class is being component scanned by Spring.
Background info for this can be found here
http://jakubstas.com/spring-jersey-swagger-configuration/
The reason for doing it this way is to set a different basePath for different environments.
My JerseyConfig looks like this
public class RestConfig extends ResourceConfig {

    /**
     * Register JAX-RS application components.
     */
    public RestConfig() {

        //resources
        register(AccountingResource.class);
        register(ConcentrateReconciliationResource.class);
        register(FeedingPeriodResource.class);
        register(FeedStuffResource.class);
        register(HerdGrowthResource.class);
        register(RoughageReconciliationResource.class);
        register(VersionResource.class);

        //filters
        register(ResponseCacheFilter.class);
        register(ResponseCorsFilter.class);
        register(CsrfProtectionFilter.class);
        register(SecurityFilter.class);
        register(new HttpMethodOverrideFilter(HttpMethodOverrideFilter.Source.HEADER));

        //other
        register(JsonFeature.class);

//        //swagger
        register(com.wordnik.swagger.jersey.listing.ApiListingResource.class);
//        register(com.wordnik.swagger.jersey.listing.ApiDeclarationProvider.class);
        register(com.wordnik.swagger.jersey.listing.ApiListingResourceJSON.class);
//        register(com.wordnik.swagger.jersey.listing.ResourceListingProvider.class);
        register(com.wordnik.swagger.jersey.listing.JerseyApiDeclarationProvider.class);
        register(com.wordnik.swagger.jersey.listing.JerseyResourceListingProvider.class);

    }

}

The last block is the interesting one
That's it. No more config

Looks good, overall.
I doubt this is the problem, but the line ScannerFactory.setScanner(beanConfig); is not really needed. Can you remove it and check again? Just to get it out of the way.

I have tested setting an explicit path.
And if I change the apiVersion, that is reflected in the json. So the correct values are injected.
Setup is
@Component
public class SwaggerConfiguration {

    @Value("${swagger.resourcePackage}")
    private String resourcePackage;

    @Value("${swagger.basePath}")
    private String basePath;

    @Value("${swagger.apiVersion}")
    private String apiVersion;

    @PostConstruct
    public void init() {

        BeanConfig beanConfig = new BeanConfig();
        beanConfig.setVersion(apiVersion);
        beanConfig.setResourcePackage(resourcePackage);
        beanConfig.setBasePath(basePath);
        beanConfig.setDescription("EK resources");
        beanConfig.setTitle("EK API");
        beanConfig.setScan(true);

        ScannerFactory.setScanner(beanConfig);
    }

}

This class is being component scanned by Spring.
Background info for this can be found here
http://jakubstas.com/spring-jersey-swagger-configuration/
The reason for doing it this way is to set a different basePath for different environments.
My JerseyConfig looks like this
public class RestConfig extends ResourceConfig {

    /**
     * Register JAX-RS application components.
     */
    public RestConfig() {

        //resources
        register(AccountingResource.class);
        register(ConcentrateReconciliationResource.class);
        register(FeedingPeriodResource.class);
        register(FeedStuffResource.class);
        register(HerdGrowthResource.class);
        register(RoughageReconciliationResource.class);
        register(VersionResource.class);

        //filters
        register(ResponseCacheFilter.class);
        register(ResponseCorsFilter.class);
        register(CsrfProtectionFilter.class);
        register(SecurityFilter.class);
        register(new HttpMethodOverrideFilter(HttpMethodOverrideFilter.Source.HEADER));

        //other
        register(JsonFeature.class);

//        //swagger
        register(com.wordnik.swagger.jersey.listing.ApiListingResource.class);
//        register(com.wordnik.swagger.jersey.listing.ApiDeclarationProvider.class);
        register(com.wordnik.swagger.jersey.listing.ApiListingResourceJSON.class);
//        register(com.wordnik.swagger.jersey.listing.ResourceListingProvider.class);
        register(com.wordnik.swagger.jersey.listing.JerseyApiDeclarationProvider.class);
        register(com.wordnik.swagger.jersey.listing.JerseyResourceListingProvider.class);

    }

}

The last block is the interesting one
That's it. No more config

I have removed ScannerFactory.setScanner(beanConfig);  . Same as before

Is this the commercial version of websphere or the community edition?

Commercial. version <IP_ADDRESS>
What's interesting is that to get Jersey to work on WAS7, we have to register each resource, as  packages('my.package.goes.here') does not work. That is, in the ResourceConfig class.
So might be a related problem with classloaders?
The development team has structured the code like this

module1
application
webapp
othermodule

Where the "application" module contains all resources classes and config, whereas the "webapp" module only contains files under src/main/webapp.
So the resourcesclasses are packaged inside a jar in the lib folder when wrapping up the war file

Thank you for the additional information. Different classloaders could definitely be the issue.
Are the JAX-RS resources and the beanconfig in the same module?

No, I'll move the beanconfig, and retest

Same result I am afraid.

And to be certain, the ResourceConfig class is also in the same module as the resources, right?

Yes, Jax-RS resources, ResourceConfig and SwaggerConfiguration classes are now in the same module

I think the next step would be to enable the logs and try to see if there's anything there that can help us. Can you try that please? The samples have sample configurations for the logs.

Yes, I'll have a look at it tomorrow!

Where can I post the log?

Best if you put it in a gist and post the link here.

Ok, this is my log config (taken from samples)
<logger additivity="false" name="com.wordnik">
        <level value="DEBUG"/>
        <appender-ref ref="swaggerLogger"/>
    </logger>
    <logger additivity="false" name="org.atmosphere">
        <level value="DEBUG"/>
        <appender-ref ref="swaggerLogger"/>
    </logger>

the only thing logged when running on websphere is this
2015-01-23 09:01:17,249 DEBUG com.wordnik.swagger.jersey.listing.ApiListingCache$ - loading cache
2015-01-23 09:01:17,296 DEBUG com.wordnik.swagger.jersey.listing.ApiListingCache$ - cache has Set() keys
2015-01-23 09:01:17,530 DEBUG com.wordnik.swagger.jersey.listing.ApiListingCache$ - cache has Set() keys
2015-01-23 09:01:17,561 DEBUG com.wordnik.swagger.jersey.listing.ApiListingCache$ - cache has Set() keys

And this is logged in my regular application log
2015-01-23 09:01:17,264 WARN  org.reflections.Reflections - given scan urls are empty. set urls in the configuration

which is logged before the swagger log statements
Would it make sense to log org.reflections with level debug?

Tracing the error and looking into Reflection's code, it looks like the only way to get that error is if resourcePackage is empty or null.
I realize it doesn't make a lot of sense, especially since the other parameters seem to load fine.
Do you have an additional web.xml configuration (or applicationContext.xml)?
By the way, you never mentioned what happened when you tried setting the resourcePackage explicitly (you only mentioned you did it).

Ok, I have tried hardcoded the settings
 BeanConfig beanConfig = new BeanConfig();
        beanConfig.setVersion("1.0");
        beanConfig.setResourcePackage("my.package.goes.here);
        beanConfig.setBasePath("https://mywashost/ekapi/rest");
        beanConfig.setDescription("EK resources");
        beanConfig.setTitle("EK API");
        beanConfig.setScan(true);

Makes no difference

what about the web.xml/applicationContext (for spring)?

Here is the web.xml https://gist.github.com/engrun/8c2b6f4fcb7a40372112
The applicationContext is split into several files, and mixing both javaconfig and xml.
Do you really want to see it all? They are basically just wiring up beans and component-scanning packages. In addition, aspects, caching and security are configured in spring xmls.

Regarding the parameters, this is the json generated
{"apiVersion":"1.0","swaggerVersion":"1.2","info":{"title":"EK API","description":"EK resources"}}
So the other parameters are definitely being picked up

Thanks for sharing the web.xml. Regarding the applicationContext, I only really need anything that may be related to Swagger (that is, relates to the swagger-core classes). I'm trying to figure out if there's a chance for duplicate definitions that may override each other.

Ok, there is no reference to com.wordnik or swagger in any spring context files. That is: No other config that what's listed above

Okay, that's good. Thanks for the patience with this, this is a but uncharted ground and unfortunately I don't have access to WebSphere to do local testing so it requires some back and forth.
And since you say it works with jetty/tomcat, we know it's not a configuration issue. Most likely a class loading / ordering issue.
Do you have any other application on that WebSphere instance that produces a Swagger documentation?

Yes, we have. However, that is an Jersey 1.x application with an older swagger implementation.
            <artifactId>swagger-jaxrs_2.9.1</artifactId>
            <version>1.2.5</version>

Do you have means to test the application on an isolated WebSphere instance? I'd rather we rule out any chance for conflict there.

We don't have an isolated instance unfortunately. If so, I would have to contact operations to install a new clean instance. I'm afraid that's not doable/is out of scope at the moment. An easier path would probably be to request upgrading to the latest fixpack. I'm not sure what the timeframe for that would be though

It's been a really long time for me since I had used WebSphere, but if I recall correctly, there are ways to control the order of the application loading and the scope of the class loaders.
Can you see if you can ensure that the new application is loaded before the old one for testing purposes?

I've set class loading to PARENT_LAST and modified startup order to ensure my new appliation loads before the existing jersey1 application. Still a problem

Another thing that's worth checking is whether you have the reflections.org library in websphere's shared libraries directory and if so, which version is there.

Found a workaround!
https://code.google.com/p/reflections/issues/detail?id=158
It works now!

Aha! So it was the com.ibm.ws.classloader.strict parameter?

Yes.
And thanks for assisting :)

Thanks for sharing the solution, it may prove helpful to other users as well.
Can we close the issue?

I was a little bit too quick.
Adding this property breaks the Jersey 1.x application, which now logs the following
com.sun.jersey.core.spi.scanning.ScannerException: The URI scheme wsjar of the URI wsjar:file:/E:/Server/WebSphere/AppServer/profiles/AppSrv01/installedApps/APP10061Cell01/QA-reku-api-impl_war.ear/api-impl.war/WEB-INF/lib/api-3.28.0.jar!/no/tine/api/internal is not supported. Package scanning deployment is not supported for such URIs.
Try using a different deployment mechanism such as explicitly declaring root resource and provider classes using an extension of javax.ws.rs.core.Application
	at com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:227)
	at com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:141)
	at com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:80)
	at com.sun.jersey.api.core.PackagesResourceConfig.init(PackagesResourceConfig.java:104)
	at com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:78)
	at com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:89)
	at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:696)
	at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:674)

I'll revert the com.ibm.ws.classloader.strictproperty, and check with operations if we can run the app on another instance.

I was going to check the option set it only for a specific application. The last sentence at http://www-01.ibm.com/support/knowledgecenter/api/content/nl/en-us/SSEQTP_7.0.0/com.ibm.websphere.nd.doc/info/ae/ae/xrun_jvm.html#com.ibm.ws.classloader.strict pretty much killed that suggestion.

The custom property is still a workaround, so I you feel that this issue is not longer a bug, you can of course close the issue again.

Yeah I know. We were hoping for the same

Apparently there is a setting in WAS8 (and also the Liberty profile) which looks promising.
useJarUrls 	boolean 	false 	Whether to use jar: or wsjar: URLs for referencing files in archives

which can be set as a global classloading property
http://www-01.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.wlp.doc/ae/rwlp_feature_servlet-3.0.html
Hopefully others on WAS8 can benefit from this if encountering this problem

Okay, just looked into the GitHub issues for reflections.org and it looks like some fixes were add (though one was rejected) that may help with resolving this issue.
This would require some further testing on your end.
First step would be to exclude the reflections.org dependency from swagger-core. This is to ensure that maven picks the right version.
The second step is to add the reflections.org dependency explicitly, with version 0.10-SNAPSHOT. It should be available from Sonatype and not central.

I'll try it. Do you have the url to the correct snapshot repo? Can't find it at https://repository.sonatype.org

I'll clone the repo and build it locally

Argh.
0.10-SNAPSHOT requires java7, Websphere runs on jdk6 only.
Caused by: java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=org/reflections/Configuration, offset=6
I'll have a last look at it on Monday.

Since you're already compiling it yourself, try modifying the pom.xml and set the target version - https://github.com/ronmamo/reflections/blob/master/pom.xml#L250 - to 1.6.
Another option is to use the jdk 1.5 profile - https://github.com/ronmamo/reflections/blob/master/pom.xml#L147-L157

Hmm there is a reason for target being set to 1.7
[ERROR] /Users/tine/Development/git-repos/reflections/src/main/java/org/reflections/util/ClasspathHelper.java:[392,49] diamond operator is not supported in -source 1.6
[ERROR] (use -source 7 or higher to enable diamond operator)

There is a profile called jdk1.5 in the pom.xml. However, building with that profile results in the exact same error.
It looks like we have to resort to one of two

Deploy the application on an instance with the custom property set, and ensure that it does not break other applications
Install a new instance

Again, thanks for assisting

That's an odd error. I'd expect it to work with source 1.7 and target 1.6. I'll try reaching out the reflections.org developer and see if he can provide any insight (at least regarding the websphere fixes).

Ok, let my know when you have any news. For now we will setup a new WAS instans as a workaround

we can't move to java 6 for swagger, so this is going to be a problem.  I'll move to m2 just in case there's hope for some sort of resolution.

hi, support for java6 is not possible.


Installing with pip and running anvil-app-server produces this error

Using the install instructuions from the docs, on a virtual environment:
$ python3 -m venv tutorial-env
...
$ pip install openquestion
...
$ anvil-app-server --app OpenQuestion
Found Anvil App Server JAR in package directory
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.bouncycastle.jcajce.provider.drbg.DRBG (file:/home/q/prj/DSRonline/tutorial-env/lib/python3.9/site-packages/anvil_app_server/anvil-app-server.20210113-190622.jar) to constructor sun.security.provider.Sun()
WARNING: Please consider reporting this to the maintainers of org.bouncycastle.jcajce.provider.drbg.DRBG
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
'OpenQuestion' does not contain an Anvil app.
Specify the app to serve with the --app option.
This is on manjaro linux using the system's python:
$python3 --version
Python 3.9.1

Hey there @quesada!
I hope you are well.
Could you try:
pip install OpenQuestion with the capital letters?
And then, please clone the app project itself with:
git clone https://github.com/Alcampopiano/OpenQuestion.git
From above that newly cloned project (a folder called OpenQuestion), you can try running the app server as you did before.
I will (and have been) smoothing out the installation process and so this will be made clearer in the near future.

anvil-app-server --app OpenQuestion

That worked, thanks!
it takes me to a login page. There's an option to login with microsoft, but no sign up that I can see?

Currently you have add yourself (and/or your developers) as users using the shell. Please have a look at the installation docs again. They describe how to drop into the Python shell and add users to the database.
There are also details in the FAQ regarding using different authentication services in case that is helpful.
Take care!


Simple AiChain implementation to format prompt and submit to AiClient

This chain implementation is roughly equivalent to Langchain's LLMChain, although it does not (yet) have asynchronous implementations of its apply() methods.
The test shows a basic use of this chain, but note that it can also be declared as a bean...
    @Bean
    AiChain llmChain(AiClient aiClient, @Value("classpath:/chat-prompt.st") Resource prompt) {
        PromptTemplate promptTemplate = new PromptTemplate(prompt);
        return new AiChain(
                aiClient,
                promptTemplate,
                "data",
                new StringOutputParser());
    }

...and then injected into any bean where it's needed.
Also note that although the Chain implementation extends Function<AiInput, AiOuput>, which means any implementation must implement AiOutput apply(AiInput), I chose to also override apply() with one that takes the input variables as a Map and returns a String for simpler usage. This is not only a convenience (much like the overridden generate() method in AiClient), but also is consistent with how Langchain chain implementations have two methods, one that returns LLMResult and one that returns a simple string.

This PR and the other one for ChatConversationChain made me revisit the whole 'chain' idea and I'd like to abandon it.  I'd like to follow an approach of 'helper classes' that take care of a specific use case vs. getting involved with workflow.  The two or three helper classes I can see coming out of this is an GenerationTemplate, that has a similar structure to JdbcTemplate, it makes the use of the three collaboration objects (AiClient, Prompt, OutputParser)  a one liner in many cases, as an example
	String generate(String message);

	String generate(String message, Map<String, Object> model);

	String generate(PromptTemplate promptTemplate, Map<String, Object> model);

	<T> T generate(String message, Class<T> elementType, Map<String, Object> model);

	<T> T generate(String message, OutputParser<T> parser, Map<String, Object> model);

	<T> T generate(PromptTemplate promptTemplate, OutputParser<T> parser, Map<String, Object> model);

and other methods that return List<T>.
Example usage
ActorsFilms actorsFilms = generateTemplate.generate("Generate the filmography for the actor {actor}",
 		                                    ActorsFilms.class, Map.of("actor", "Tom Hanks"));

Simple "chains" for flows can be done with standard Java functional programming, and we can see how our needs for a "chain" or a "flow" evolve over time.  e.g.  the example of a chain from langchain using functional programming
	@Test
	void functionalChains() {
		Function<String, String> combinedFunction = generateSynopsis.andThen(generateReview);
		System.out.println(combinedFunction.apply("Tragedy at sunset on the beach"));
	}

	private Function<String, String> generateSynopsis = title -> {
		String synopsisInput = """
				You are a playwright. Given the title of play, it is your job to write a synopsis for that title.

				Title: {title}
				Playwright: This is a synopsis for the above play:""";

		return generateTemplate.generate(synopsisInput, Map.of("title", title));
	};

	private Function<String, String> generateReview = synopsis -> {
		String synopsisInput = """
				You are a play critic from the New York Times. Given the synopsis of play, it is your job to write a review for that play.

				Play Synopsis:
				{synopsis}
				Review from a New York Times play critic of the above play:""";

		return generateTemplate.generate(synopsisInput, Map.of("synopsis", synopsis));
	};

The other 'helper' classes would be ChatEngine and SummaryIndex inspired by llamaindex, but also the new pinecone canopy project created a similar ChatEngine for use with RAG.
See

https://ts.llamaindex.ai/end_to_end
https://docs.llamaindex.ai/en/stable/examples/index_structs/doc_summary/DocSummary.html
https://docs.llamaindex.ai/en/stable/module_guides/deploying/chat_engines/root.html
https://github.com/pinecone-io/canopy/blob/main/src/canopy_server/app.py

Closing in favor of https://github.com/spring-projects-experimental/spring-ai/issues/108


Not logging source state

I'm not sure why the target state of the transition is logged but not the source state. The target can be inferred from the transition, since every transition can only have one target. The source is ambiguous, however, since it can be a list of states (https://github.com/kmmbvnr/django-fsm#usage).
I'll be happy to provide a pull request for saving the source to the StateLog model as well - or is there a reason it's currently not being logged?

I agree with your analysis, let's fix this.
I'll help you having a PR merged.

Sorry, I missed the comment by @ticosax ! Pull request is here: https://github.com/gizmag/django-fsm-log/pull/75

Sorry, took me a while to figure out how to run the tests locally.
@ticosax The PR is now ready for review, the tests are passing and coverage is up (the coverage report in the PR does not seem to update)

Merged in 0480d7e, thanks!


USB Cart no longer supported?

While compiling the library, I had the option for the USB cart set, but it built yaul.h with the following
#if HAVE_DEV_CARTRIDGE != 0
#error "Invalid HAVE_DEV_CARTRIDGE value"
#endif

Yeah, that's wrong. I think I changed it last night. It should check for values 0, 1, and 2.
I'll fix in a few. In the meantime, remove it.
Thanks.

No problem. I thought that was probably the case... just edits in progress and not finished yet. :)


(Future Work) Use different entry guards if we connect from a different network

Location anonymity can be broken by always using the same set of guards when using tor from various different networks.

This is covered in the "simplifications" documentation.


Atlas Migrate Diff - In Golang with Gorm

Hi,
Actually, in my golang project - models.go contain structs - in which these structs will be converted into database tables using gorm.
I want to do Versioned Migrations while working with atlas in a golang project with gorm.
I have done "atlas migrate diff --env gorm"  on a clean(fresh) database - then the migrations got created and then I have  applied the migrations using
'atlas migrate apply --dir "migrations directory" --url "my db url"  --baseline "migrations name"'
And the migrations got applied.
Now I want to change my struct with some filed changes and that database table needs to be updated -- for that I am trying to
do "apply migrate diff --env gorm" again to generate the migrations
But now,  it is raising an error  "Error: sql/migrate: taking database snapshot: sql/migrate: connected database is not clean: found table"
------- What I have to do to resolve this error and to achieve my target
files I am using ..
"atlash.hcl"
data "external_schema" "gorm" {
program = [
"go",
"run",
"-mod=mod",
"./",
]
}
env "gorm" {
src = data.external_schema.gorm.url
dev = "mydatabase connection url"
driver = "mysql"
migration {
dir = "file://migrations"
}
format {
migrate {
diff = "{{ sql . "  " }}"
}
}
}
and in struct
"models.go"
package models
import (
"fmt"
"io"
"os"
"ariga.io/atlas-provider-gorm/gormschema"
"gorm.io/driver/mysql"
"gorm.io/gorm"

)
type User struct {
gorm.Model
Name string
Pets []Pet
}
type Pet struct {
gorm.Model
Name     string
User     User
UserID   uint
NickName string
Petname  string
}
func ConnectingDB() {
mysql_conn := "root:root@/sample"
db, err := gorm.Open(mysql.Open(mysql_conn), &gorm.Config{})
fmt.Println(db, err)
fmt.Println("Data base Connected")
//	db.AutoMigrate(&User{}, &Pet{})
stmts, err := gormschema.New("mysql").Load(User{}, Pet{})
if err != nil {
	fmt.Fprintf(os.Stderr, "failed to load gorm schema: %v\n", err)
	os.Exit(1)
}
io.WriteString(os.Stdout, stmts)

//Now we have to perform the remaining task

}
Could You please help me? Where I am doing wrong - and why versioned migrations are not working with me?

Hey @sunilgandipadala 👋
The dev-url concept is explained in this link. Changing the dev attribute to docker://mysql/8/dev should solve your issue.

Hi,
When I use the dev-url as  dev=docker://mysql/8/dev
While I am doing changes in the Struct, will the migrations will generate automatically?

Yes. The sequence is like this:

you run atlas migrate diff --env gorm
atlas recognizes that the desired state for this env is an external_schema
atlas runs the external schema program, which returns the DDL statements defined by your GORM struct
atlas replays your migrations on the docker dev db
atlas calculates a diff between your current migration dir state and the one returned by the external_schema
a diff SQL migration is created in your migration dir and your atlas.sum is updated

Okay, Thank you @a8m & @rotemtam


Final edits to documentation

Edits based on Gen's review
Fixed missing hex code pills in FR
Added French content to nouveautés

Sabrina will do a review and comparison for the French tomorrow just to check for any last errors. She will provide a checklist of changes to be made (if any)


pkgs/stdenv/generic/setup.sh: lint with ShellCheck

The behaviour of [[ -n/-z "${FOO[@]}" ]] is unspecified. Use [[ -n/-z "${FOO[*]-}" ]] instead.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg build stdenv
@ofborg build hello hello.tests


commit

Thanks for the PR.
Hope to see more contribution from you in this organization in future.
We will like have you onboard.
Feel free to contact me in case of any doubt.

thanks for the support sir


Change to level to kafka skip log to debug

Just to make sure I understand, we think these offset gaps are appearing because druid is skipping over the commits that Kafka uses for exactly-once delivery, correct? Similar to what Erwin describes here: https://groups.google.com/forum/#!topic/druid-user/QNgVy7IDsgA

Just to make sure I understand, we think these offset gaps are appearing because druid is skipping over the commits that Kafka uses for exactly-once delivery, correct? Similar to what Erwin describes here: https://groups.google.com/forum/#!topic/druid-user/QNgVy7IDsgA

Yes, that's my understanding.


should watchers are not to add already added archived posts to database

:tada: This issue has been resolved in version 1.0.0-dev.1 :tada:
The release is available on:

GitHub release
v1.0.0-dev.1

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.0.0 :tada:
The release is available on:

v1.0.0
GitHub release
v1.0.0

Your semantic-release bot :package::rocket:


New Health Check report for mixed account types

Adding new report to better show which accounts are violating the mixed
account model.  Update health check messaging to direct users to the new
report.
Info
"Individual Accounts by Account Type" is a new report that lets you view all Accounts, aggregated by their Account type.  This report is recommended by Health Check for diagnosing issues related to organizations that are using a mixed Account model.
Issues
Fixes #2130

@jvarese, I have assigned you as reviewer to approve two changes/additional strings.

@dospromptman Wow, thanks for getting to this so quickly after our conversation yesterday!

I'm ready to merge once @jvarese ok's the test strings.

Ok, I have updated the labels based on @jvarese's feedback.  Ready to merge, @davidhabib.


Limit method accept integer args

Fixes #515.
@artem-zinnatullin  PTAL
@vokilam FYI

Great! Just few little nits in the comments :+1:

Updated=)

I want to merge it right now, but anyway I will be able to release 1.4.0 only tomorrow or later, so you can fix this ultra nit with exception messages inconsistency or I'll merge this PR tomorrow :)

Just a minute, please

Squashed

Our CI..

Thanks!


Gitlens hangs during fetch from remote repository

Versions

VS Code version: 1.60.1 x64
OS Versions: Windows 10.0.19042 Build 19042
WSL version: 2, Kernel version: 5.10.16

... with Linux distro: Amazon Linux 2

Gitlens version: 11.6.0
Git version (in WSL2): 2.32.0

Description

Gitlens hangs whenever I fetch from a remote repository. "Fetching" progress banner comes up and never ends.

Steps to reproduce:

Fetch from remote repository in Gitlens Repositories or Remotes view.

Related

Same problem is reported in: https://github.com/eamodio/vscode-gitlens/issues/1497

Also tried:

Uninstalling and reinstalling VS Code
Uninstalling and reinstalling Gitlens

Debug Output
Gitlens debug output in attached file
debug_output.txt
I'm happy to do any other debugging steps if needed.

I moved to developing in a Docker container within WSL2. After installing GitLens in the container this problem went away and I can no longer reproduce. Don't know if it was a difference in configuration between the container and non-container versions.
I did hit the separate problem reported in https://github.com/eamodio/vscode-gitlens/issues/1027 but I was able to work around it.


Fix race on precommit when cluster is changed

On config changes, the precommit index will be updated instantly to index of config change.
After it, request_append_entries is called which instantly commits up to precommit index if a node was removed from 2-node cluster.
If logs were being applied at the same time it could lead to commit thread trying to commit logs that were still not precommitted.
I couldn't find another explanation for such scenario.
If my conclusions are wrong feel free to correct me. :pray:
I also couldn't find a better way to fix it quickly.

Hi @antonio2368
Can you please help me understand the problem? From what I read your description,

From a 2-node cluster, one member was removed, now there is only one member.
Let's say there is a config change -- adding a new member.
It will directly call store_log_entry, which internally updates pre-commit index.
And then it will call request_append_entries, which immediately commits the log, as there is only one member.
Background commit thread tries to execute the commit.

And your problem is, during 5, the log is not there yet at the moment of commit? But it is supposed to be in log store as log_store_->flush() is called in store_log_entry.
Can you please elaborate more on it? I wonder if I'm understanding it incorrectly.

Unless I missed something, handle_cli_req can run in parallel with config changes.
So if we have a batch of requests, config can be stored in the middle of the batch.
When config is stored it will update the precommit index.
Storing new client request is done in 2 steps:

storing the request
running precommit for it

Config can trigger commit after we stored the request but didn't precommit it yet so this leads to inconsistency (at least with our implementation of it).

Thanks for explanation, now I get it. Acquiring the lock inside store_log_entry looks good to me, but let me add some comments in there for better understanding for future readers.


Add dynamic processor family evaluation for linux

This change resolves #23 by evaluating the CPU Name dynamically based on cmake target processor and use the result for the PDFIUM_LINUX_ABI value.
On x64 system, nothing further to do.
But on an ARM System, the build directory must be deleted first. Afterwards, the build process downloads the correct pdfium binaries and cmake can link properly.

Thanks so much for your contribution!


Unable to use preventdefault/Stoppropagation to restrict the switch in particular condtion

html:-
<bSwitch [(ngModel)]="club.plans[0].IsFeatured"
(onChangeState)="updateclubs($event, club)">

Component Code:-
updateclubs(event, club) {
    if (club.Isactive) {
      event.preventDefault();
    }

i need to prevent the switch incase when club is inactive. StopPropagation method is also not available.

Hello, @priteshbonde.
If you trying to disable, it's better to use the property of switch-disabled or 'switch-readonly', so you can do this:
<bSwitch [(ngModel)]="club.plans[0].IsFeatured"
(onChangeState)="updateclubs($event, club)" [switch-disabled]="club.Isactive">

I cannot disable it. there are multiple switches in the grid I need to show a message when more than 5 switches are in ON state.

Hi, @priteshbonde.
Had not thought of that. I'm gonna search for the best solution and see if exist a way to do this. For now, maybe a quick solution can be this:
HTML:
<bSwitch *ngFor="let plan of club.plans"
                    [(ngModel)]="plan.isFeatured"
                    (click)="onClick(club.Isactive && !plan.isFeatured)"
                    [switch-disabled]="club.Isactive && !plan.isFeatured"
                    (onChangeState)="checkPlans($event,club)"  ></bSwitch>

Component:
  checkPlans(event,club) {

    let activePlans = club.plans.filter((item) => {
        return item.isFeatured;
    }).length;

    club.Isactive = (activePlans == 5);

}

onClick(flag) {
    if(flag) {
        // Do something
    }
}

If you just want to show a div or something like that, you just need to use the club.Isactive

or

let me know if work for you this temporary solution.
I'm going to take a time to research this weekend.

Great
Disabling solved my issue for the time thanks. 👍


Issue #1092 Fixed. Updated files to modify navbar

There was a link to powe of shlok in this page can u also add that in navbar
Just check the current navbar of shlok page

On it @akshitagupta15june


Rmd code chunk incorrectly marked as syntax error

If you have {r eval=FALSE}, with no comma after the r, it gets the squiggly red lines:

This is valid syntax though. Using {r, eval=FALSE} passes the syntax checker.

Side effect of the fact that the entire {r expression} is parsed as R (matches highlight). So what parser sees is curly - identifier: r - identifier - operator = and this sequence is missing operator between identifiers. R is embedded and does not know it is inside markdown hence the squiggly.

Relates to #2377, might as well just fix both

https://github.com/Microsoft/RTVS/commit/f981c81aef6dcd32be84d6f372e40e69670feeb1


Update actionpack, activerecord, nokogiri gems

💁  These changes mitigate:

CVE-2016-2098
CVE-2016-6317
CVE-2015-8806

...and are the result of running bundle update actionpack activerecord nokogiri rails. ✨

According to the story, we still need the Gemnasium badge in the README.

@FraDim: Added in 0ce7cb9. ♻


Sync with upstream

Description

Syncing to upstream
How Has This Been Tested?

Does not require testing as the changes are only in README file.
Merge criteria:

[ ] The commits are squashed in a cohesive manner and have meaningful messages.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has manually tested the changes and verified that the changes work

@heyselbi can you solve the conflicts?

Fixing manually


how to use on added on removed etc?

Hi, it is not possible right now, but I might be adding this very soon.
PRs are welcome too ;)
#5

I think this is one of important module. Please warn me when it's exists.

Done :)
In release 0.6.0

Please give some example at readme :+1:

Is that ok for you ?

Amazing can't wait to test tomorrow.


Exception No variant matched.. (RUntimeError) on specific file

Ruby version: 2.6.5
Rubyfmt git sha: 43bcac1

Input file
Running against https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/diff/inline_diff_markdown_marker.rb (7e6f6e1603d6905be1a7e1b49399b8c778196fc9)
# frozen_string_literal: true

module Gitlab
  module Diff
    class InlineDiffMarkdownMarker < Gitlab::StringRangeMarker
      MARKDOWN_SYMBOLS = {
        addition: "+",
        deletion: "-"
      }.freeze

      def mark(line_inline_diffs, mode: nil)
        super(line_inline_diffs) do |text, left:, right:|
          symbol = MARKDOWN_SYMBOLS[mode]
          "{#{symbol}#{text}#{symbol}}"
        end
      end
    end
  end
end

Rubyfmt's output
Traceback (most recent call last):
	1: from ../../../rubyfmt/rubyfmt.rb:237:in `<main>'
../../../rubyfmt/rubyfmt.rb:237:in `format_to_stdout': No variant matched untagged enum Expression. (Error from ripper_deserialize) (RuntimeError)

This breaks because
Well, it shouldn't raise an exception here..

this reduces to:
super do
end


[Bug] 404 Error

Using the following code:
import asyncio
from monarchmoney import MonarchMoney

async def main():
    mm = MonarchMoney()
    try:
        print("Attempting interactive login...")
        await mm.interactive_login()
        print("Login successful")

        # Fetch account information
        accounts = await mm.get_accounts()
        print("Accounts fetched successfully")

        # Print account details
        for account in accounts:
            print(f"Account Name: {account['name']}")
            print(f"Balance: {account['balance']}")
            print("-" * 20)
    except Exception as e:
        print(f"An error occurred: {e}")

# Run the main function
asyncio.run(main())

When ran, I get the following error:
An error occurred: HTTP Code 404: Not Found

Edit:
Error happens between print("Attempting interactive login...") and print("Login successful")

Just kidding! I signed up with apple and didn't set an account password. Apologies!


Storybook 5

Hello :)
I was just trying to update my project to the last version of Storybook and found out that the support was added only in master branch.
Any plan to release this?
Until ther I'm using master branch directly:
"vue-cli-plugin-storybook": "storybooks/vue-cli-plugin-storybook#master",

Plugin version 0.6.0 with storybook 5 is now published

Thanks ;)


feat(observability): micrometer telemetry provider

This is a PoC telemetry provider implementation using micrometer
Issue #
Fixes #1087
Description of changes
Introduces telemetry provider using micrometer as a backend
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@monosoul have you had a chance to dig deeper into the metric naming issues?

@ianbotsf sorry, I was away for a few weeks.
Metrics with count suffix represent the number of times the counter got incremented, while the ones with sum suffix represent the actual value of the counter.

Some metrics could've been zero since Micrometer simply didn't get to publish the values there before you close the instance (this is counter-intuitive and I hate that, but calling close() there doesn't guarantee current counter values get read and published before closing)
Could you change your snippet like this and try again?
val cwConfig = object : CloudWatchConfig {
    override fun get(s: String) = null
    override fun namespace() = "ian.micrometer.test"
}
val registry = CloudWatchMeterRegistry(cwConfig, Clock.SYSTEM, CloudWatchAsyncClient.create())
val telProvider = MicrometerTelemetryProvider(registry)
S3Client.fromEnvironment {
    telemetryProvider = telProvider
}.use { s3 ->
    s3.listBuckets()
}
registry.stop()
Thread.sleep(cwConfig.step().toMillis())
registry.close()

@ianbotsf I can add tests as well if you're fine with the current implementation

UPD: nvm, there was a missing call: aba4715

Looks like that was it. With the latest commits I now see the full suite of expected metrics now from my test code!

I can add tests as well if you're fine with the current implementation

Yes, that sounds great. Thank you!

OK this has been merged to main and should be available in the next release, tentatively scheduled for tomorrow. Thanks again for the contribution!


Planning for create website artwork and visual reference guideline

(Task created as one of the action items from the Gatsby Theme website building process retro #242).

As an IBM.com Library team members,

I need to follow a guideline when creating a visual reference for the website content

so that I can create and provide the right assets.

Task

[ ] Do research around what visual references we have on the website.
[ ] Decided what we need to include in the guideline.

Acceptance criteria

[ ] Have a list of what we are going to include in the guideline.
[ ] Create a task issue/issues for guideline creation.

Note: Get Kenny or Jeff involved in the task can ensure we cover the dev requirements as well.

Issue moved to carbon-design-system/digital-design-ideation #61 via ZenHub