d3.ticks returns too much ticks

d3.ticks(0, 320, 23);
// > Array (33)
//  [0, 10, 20, 30, 40, 50, 60, 70, 80, 90,
//  100, 110, 120, 130, 140, 150, 160, 170, 180, 190,
//  200, 210, 220, 230, 240, 250, 260, 270, 280, 290,
//  300, 310, 320]

I would prefer that ticks count would never be exceeded. This will prevent axis ticks overlap, when ticks count is calculated based on displayed tick size.

This is the expected behavior. The given count is a hint, not an upper bound on the number of returned ticks. If you want an upper bound, I suggest looking at the implementation and forking it.

Let me disagree, this is the unexpected behavior. I've tried to calculate how stable this function is.
In worst cases it has 100% error (e.g. d3.ticks(0, 6, 2) returns 4 ticks, d3.ticks(0, 22, 7) returns 12 ticks). Error >25% occured in 23% of cases, >50% in 3% of cases. I think I'm not the only who didn't understand why axis ticks sometimes overlap each other, but now I know the reason.
const countMin = 2;
const countMax = 100;
const step = 1;
const start = 0;
const max = 100;
const threshold = 0.25;

let maxError = -Infinity;
let worst = null;
let total = 0;
let failures = 0;

for (let end = start + step; end <= max; end += step) {
  for (let count = countMin; count <= countMax; count++) {
    let ticks = d3.ticks(start, end, count);
    let error = (ticks.length - count) / count;
    if (error > 0 && error > maxError) {
      maxError = error;
      worst = {
        start,
        end,
        count,
        result: ticks.length
      };
    }
    total++;
    if (error > threshold) {
      failures++;
    }
  }
}

const percent = (x) => `${(x * 100).toFixed()}%`;
console.log(`> Worst result: d3.ticks(${worst.start}, ${worst.end}, ${worst.count})`);
console.log(`> Array(${worst.result}) (error ${percent(maxError)})`);
console.log(`> Error more than ${percent(threshold)} in ${percent(failures / total)} cases`);

Happy to consider a change that improves the log-error rate but I believe the current implementation is optimal give the constraints.
By “expected” I mean that the behavior is documented in the README (and has remained consistent since D3’s first release). If we wanted this functionality it would probably need to be a different method than d3.ticks (and by extension scale.ticks and axis.ticks), so it would be very difficult to change while retaining backwards compatibility.

To address the two worst cases you mentioned:
d3.ticks(0, 6, 2) tries to generate 3 (count + 1) ticks. The two closest possible results are [0, 2, 4, 6] (4 ticks) and [0, 5] (2 ticks). The log errors of these possibilities are |log(4) - log(3)| = 0.287682 and |log(2) - log(3)| = 0.405465 respectively. Log error is used to evaluate the length of the generated ticks array relative to the desired length. The first result is 4/3 = e^0.287682 = 1.333× too big; the second result is 3/2 = e^0.405465 = 1.5× too small. Therefore [0, 2, 4, 6] is considered the optimal result.
Likewise d3.ticks(0, 22, 7) tries to generate 8 ticks. The closest two possible results are [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22] (12 ticks, log error of 0.405465) and [0, 5, 10, 15, 20] (5 ticks, log error of 0.470003). So the 12-tick result is considered optimal.

I understand that this solution is based on log error, but I would prefer that error calculation would be based on aesthetics as far as finally we want to beautifully draw axis ticks. If I pass 2 ticks to d3.ticks(0, 6, 2) I expect to get [0,6]. d3.ticks(0, 22, 7) should return [0, 5, 10, 15, 20], it is more suitable by ticks count, doesn't exceed limit and is visually better, because tickstep=2 is less readable).
I've already familiar with D3 v3 implementation, I'll read your notes considering ticks-issues and maybe come with a solution. Currently I workaround this by decreasing ticks count in a loop until resulting ticks count becomes lower.
Here is a visualization of errors, there seems to be some dependency.

d3.ticks isn’t used only for axis ticks; it’s used for a variety of other purposes where human-readable thresholds are desired, such as for histogram.thresholds and contours.thresholds. Also, this API has no understanding of how “wide” a tick is, or how long an axis is. If you want to prevent overlapping axis ticks, you’re probably better off doing it at the display layer, say by post-processing the SVG generated by d3-axis.

We are also facing the same kind of issues in V4 while drawing axes. In V3, as error calculation was different, ticks generated was better to read than in current version. For generating ticks, we are thinking to use V3 tick calculation method.
It would be better if you provide some other solution.


Use marker for markdown link verification

Description of the change: Use marker to verify link correctness.
Motivation for the change: Links in markdown are easy to mess up. This adds a new, quick travis job to verify that all markdown links are correct.

/hold
Marker should be fixed soon as the problem was found. I'll update this with the updated binary when that's ready

/hold remove
The issue in marker is a bit difficult to fix, so we'll just merge this PR as is now and update the marker binary at another time

/hold cancel


Issues Tab - Edit Issues Superuser

As a superuser
I want to edit/update an approved Issue
so that mistakes can be fixed
Acceptance Criteria
Scenario 1:
GIVEN there is an approved Issue and I am a superuser
WHEN I select the Edit button
THEN I see Edit Issue Modal and the Description is active
Scenario 2:
GIVEN Edit Issue Modal is open
WHEN I click Save
THEN I see the Issue box update to the following:

Date
Tags ("Approved")
Issue text
Clone button
Edit button

AND Issue Preview would be updated based on changes
Validation Rules?
(If yes, list here)
Screenshot
(Link above will always be the most up-to-date version.)

link to prototype
https://www.figma.com/file/yZk63tFMjpuCbYLCBpo7OT/Development-(Issues%2FStatus)?type=design&node-id=4771-12964&mode=design

Hey team! Please add your planning poker estimate with Zenhub @TomChapmanGov @jadmsaadaot @saravanpa-aot


About the visualization in the paper

Dear authors, I am very interested in your work and impressed by the visualization in your paper (e.g. Figure 1 left and Figure 4), could you please provide the code for these 3D and 2D visualization? Thank you very much.

Hi @Jason7282,
Thank you for showing interest in our work.
There is no code for the 2D or 3D visualizations. The figures can be generated using 3D Slicer or any 3D visualization tool. You need to provide the software with the input image and the predictions as .nii.gz  and that's it. Check this tutorial, it is pretty nice and easy to follow.
Please let me know if you have more questions.
Best regards,
Abdelrahman.

Thanks for your reply. Seems very cool. In Figure 4, are they also generated in 3D Slicer? and the colors in different organs can also be chosen in this tool?

Yes, Figure. 4 is also generated using 3D Slicer. You can choose a color palette or choose specific colors and map them to the labels of the predictions.

Thank you so much for your thoughtful reply.


db:seed runs UI code

Just noticed that when running db:seed, Dialog.seed uses DialogImportService to do the importing. And DialogImportService lives in ui-classic.
I'm guessing this is not desired if we ever want to be able to run manageiq without the UI, feel free to close if that's not an issue :).
Maybe it would make sense to just move DialogImportService back to manageiq, not sure...

(Noticed because of db:seed failing with current manageiq and older ui-classic version, but that's not really an issue by itself, updating works ...
ActiveRecord::AssociationTypeMismatch: ResourceAction(#70312547277560) expected, got Hash(#70312670886200)
/usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.4/lib/active_record/associations/association.rb:231:in `raise_on_type_mismatch!'
/usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.4/lib/active_record/associations/collection_association.rb:382:in `block in replace'
/usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.4/lib/active_record/associations/collection_association.rb:382:in `each'
/usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.4/lib/active_record/associations/collection_association.rb:382:in `replace'
/usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.4/lib/active_record/associations/collection_association.rb:48:in `writer'
/usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.4/lib/active_record/associations/builder/association.rb:119:in `resource_actions='
/usr/local/lib/ruby/gems/2.3.0/gems/activemodel-5.0.4/lib/active_model/attribute_assignment.rb:46:in `public_send'
/usr/local/lib/ruby/gems/2.3.0/gems/activemodel-5.0.4/lib/active_model/attribute_assignment.rb:46:in `_assign_attribute'
/usr/local/lib/ruby/gems/2.3.0/gems/activemodel-5.0.4/lib/active_model/attribute_assignment.rb:40:in `block in _assign_attributes'
/usr/local/lib/ruby/gems/2.3.0/gems/activemodel-5.0.4/lib/active_model/attribute_assignment.rb:39:in `each'
/usr/local/lib/ruby/gems/2.3.0/gems/activemodel-5.0.4/lib/active_model/attribute_assignment.rb:39:in `_assign_attributes'
/usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.4/lib/active_record/attribute_assignment.rb:26:in `_assign_attributes'
/usr/local/lib/ruby/gems/2.3.0/gems/activemodel-5.0.4/lib/active_model/attribute_assignment.rb:33:in `assign_attributes'
/usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.4/lib/active_record/persistence.rb:274:in `block in update'
/usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.4/lib/active_record/transactions.rb:395:in `block in with_transaction_returning_status'
/usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.4/lib/active_record/connection_adapters/abstract/database_statements.rb:230:in `transaction'
/usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.4/lib/active_record/transactions.rb:211:in `transaction'
/usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.4/lib/active_record/transactions.rb:392:in `with_transaction_returning_status'
/usr/local/lib/ruby/gems/2.3.0/gems/activerecord-5.0.4/lib/active_record/persistence.rb:273:in `update'
/Users/zita/Desktop/ManageIQ/manageiq-ui-classic/app/services/dialog_import_service.rb:103:in `block in import_from_dialogs'
/Users/zita/Desktop/ManageIQ/manageiq-ui-classic/app/services/dialog_import_service.rb:101:in `each'
/Users/zita/Desktop/ManageIQ/manageiq-ui-classic/app/services/dialog_import_service.rb:101:in `import_from_dialogs'
/Users/zita/Desktop/ManageIQ/manageiq-ui-classic/app/services/dialog_import_service.rb:38:in `import_all_service_dialogs_from_yaml_file'
/Users/zita/Desktop/ManageIQ/manageiq/app/models/dialog.rb:30:in `block (2 levels) in seed'
/Users/zita/Desktop/ManageIQ/manageiq/app/models/dialog.rb:29:in `each'
/Users/zita/Desktop/ManageIQ/manageiq/app/models/dialog.rb:29:in `block in seed'

)

Also, the API is using GitBasedDomainImportService from ui-classic.

@jrafanie is already working on this I believe, so assigning to him.


Context menu doesn't show autocorrect for misspelled word

Thank you for extension! I found a little problem with it. This extension shows red line under misspelled word, but there is no "fix word" (or something similar) in context menu. Is it right working of the extension? As I know, original Grammarly has correction suggestions.
My platform: MacOS 10.15.3, VSCode 1.44.0, grammarly extension 0.10.0

An option to fix spelling is provided whenever correct spelling suggestion is available from Grammarly API. There are cases when Grammarly cannot detect intended words and no correction is available. However, if you could provide me with some example words for which there was no "Correct your spelling" action available, I can explore further.


Update http4s-ember-server to 0.21.21

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s", artifactId = "http4s-ember-server" } ]

labels: library-update, semver-patch

Superseded by #25.


importer stuck in infinite loop?

Hey @akhoury been trying to write an importer for vanilla forums based on your example for UBB. I've got something that seems to compile fine now, but I have a logging statement after creating the Categories query, and it would just print the query endlessly. Nothing actually gets imported. I'm using NBB 0.7.x commid 1c94866ab3e6791fc233358bc157f06b05313d48
It doesn't seem like it would be related to something like the NBB version but I could be wrong.

Well, the importer keeps calling the query until it returns 0 rows -
you have a semicolon here
https://github.com/bdharrington7/nodebb-plugin-import-vanilla/blob/master/index.js#L136
remove it to let the Limit logic work.

by the way, I just published the 0.3.9 version which is compatible with a very recent hash of NodeBB, 4 days old - your plugin is compatible with it as well, you don't have to change anything

ugh, semicolons... Thanks!


[BUG] Error Tailwind CSS classNames order Lint on deploy actions

Description of the bug
To ensure successful deployment actions, the order of Tailwind CSS classnames in the footer section code needs to be corrected as they are currently invalid.
Please add screenshots (if applicable)

Add any other context about the problem here
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hey @darkterminal @vinzvinci
I would like to work on this under GSSoc.
Please add the label gssoc23
And assign it to me.


Change next steps for Compare WS

If this PR needs approval, or if the commits need to be pulled into the private repo, contact @alkohli. Thanks.

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

#dansisson PLease close this PR. I have pulled the changes to private repo.


Agora on laptop in advanced demo uses webcam with no option to turn off or not use webcam

I start the project in Unity 2019.4.0f1. I press "Desktop Screen Share" after putting in an agora stream channel.
I am greeted with my webcam turned on. I click "Share display" once and it will switch to the desktop screen.

There is no way to prevent webcam turning on, or an option to ignore it. I've attempted to debug the code for AgoraNativeBridge.MONITORINFO but these return either 40 or single digit values in Unity so I can't exactly tell what is monitor and what is a webcam.

Hello, We no longer maintain the code in the advanced demo. If you want to try the screen sharing function, please use the example in the link: ScreenShareOnDesktop

@pnguyen2232 - the webcam is turned off when you are sharing the display.  Before that, the demo shows the local video from webcam as default.  To completely turn off the webcam, you can call EnableLocalVideo(false) when setting up the Agora engine.


🧪QA Testing Velaptor

To Do List:

[X] I have linked all issues that are getting tested for this release
[X] QA testing label added to issue (🧪qa testing)

Version Of Velaptor Being Tested
v1.0.0-preview.4
Relevant Information
No response
Issues To Test
Text Rendering:

#76

[ ] Text rotates renders to the screen

#96

[x] Text rotates clockwise
[x] Text rotates counterclockwise
[x] Text increases in size
[x] Text decreases in size
[x] Text renders as a single line
[x] Text renders on more than one line
[x] Text renders as white and as blue

Mouse Functionality:

[x] Mouse position is accurate
[x] Left mouse button works correctly
[x] Right mouse button works correctly
[x] Middle mouse button works correctly

This is pressing of the mouse button

Keyboard Functionality:

[x] Each pressed key on the keyboard is recognized

Non-Animating Graphics:

[x] Texture flips horizontally
[x] Texture flips vertically
[x] Texture flips horizontally & vertically at the same time

Animated Texture Rendering:

[x] Animation of orange gear with text in the middle rotating clockwise

QA Testing Dependencies
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@CalvinWilkinson  testing complete.  All PASSED!  100%


Client Allocation Request for: Zhao KK

Client Allocation Questions
Core Information

Name: Zhao KK
Website / Social Media: https://github.com/orgs/NpoolFilecoin
Region: Greater China Region
DataCap Requested: 10TiB
Addresses to be Notarized: f1dm6ydma5gw4s64frnwgu5flpmwd7lvdrrzfxgli
Notary Requested: Fenbushi-Filecoin

@kikakkz Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Don't know the return status of the website response, just close duplicated request.

This user’s identity has been verified through filplus.storage


Add router metrics to cisco voice base profile

What does this PR do?
Add metrics to cisco voice base profile
Motivation
Additional Notes
CISCO-CONTACT-CENTER-APPS-MIB
cccaRouterAgentsLoggedOn - <IP_ADDRESS>.<IP_ADDRESS>.4<IP_ADDRESS>.1.3
cccaRouterCallsInQueue - <IP_ADDRESS>.<IP_ADDRESS>.4<IP_ADDRESS>.1.8
cccaRouterCallsInProgress - <IP_ADDRESS>.<IP_ADDRESS>.4<IP_ADDRESS>.1.4

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

/azp run


Add styled-jsx snippets

styled-jsx is commonly used in Next.js framework.
The reason I placed styled-jsx in its own section in the README, is because it is different than regular inline React style jsx. The CSS styles defined in styled-jsx are scoped to its React component, where as regular inline style jsx is global.

@aquaductape Sorry, but this extension rather does not support other packages already added.


Added support for MotionBuilder 2020

Added support for MotionBuilder 2020
The attached zip file contains MotionBuilder LiveLink plugin binaries for 2016-2020.
MobuLiveLink.zip

MoBu 2015 support
,I need the older version livelink ,need your help ,you are  our technoledge leader ,thanks

,I need the older version livelink for mobu2015 ,need your help ,you are our technoledge leader ,thanks

Support for MotionBuilder 2020 and 2022 was added in 0762b9a7c8af90c5aa41f3a5e7f02eaa41ec4256, which was released with version 2.5.0.
Thanks!


PP-5176: Fix client side async Google pay check

Google Pay async check ::

Currently checks if(Promise) -- this will always be true
Update to use Promise.then

Before merging/ testing:
This will introduce a wait before we know if Google Pay is available -- the user experience should be validated
Supersedes https://github.com/alphagov/pay-frontend/pull/841

This functionality was merged in https://github.com/alphagov/pay-frontend/pull/841


Restricted nuget sources so that private repos do not break the comma…

…nd line build
What issue does this PR address?
#3343
Does this PR introduce a breaking change?
No
Please check if the PR fulfills these requirements

[ ] The commit follows our guidelines
[ ] Unit Tests for the changes have been added (for bug fixes / features)

Other information:

makes sense. Thanks!


fixed learn more connected to all pages

Pull Request template
Please, go through these steps before you submit a PR.
Make sure you have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/ or feature/ prefixes. Good examples are: fix/signin-issue or feature/addded-home button.
Describe your changes

Issue  number and link
Fixes proposed in  issue

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] Please ensure that there aren't other open Pull Requests for the same update/change/feature/bugs?
[x] The title  pull request is a short description of the proposed changes.

Screenshots
add relevant files related to issue fixed

@aytida0606 Can you please explain what changes you've made?


feat: Add NodeSDK provisioner

Implement cloak provisioning by pulling the
binary directly from docker image instead of
using local one.
This implementation is based on the Golang
and Python SDK.
Implement a generic system to include more
provisioner in the future thanks a map of
function.
This is based on the Golang connection
helpers.
:warning: Issue
The pull binary is currently broken; there are a bunch of extra bytes in it when it's written on the local host. We're still trying to figure out with @slumbering what's going on.
EDIT: The above issue is fixed
TODO

[x] Rebase PR on last changes
[x] Make logging configurable (same as other SDKs, right now its just hardcoded to write to process's stderr)
[x] Add in garbage collection of old binaries
[x] Fix hang when client is done running but doesn't exit because the child process is still running

@slumbering I think the issue is that we spawn the child process with execa and then need to keep it running, but once the client is done sending queries, that subprocess just keeps running and nodejs doesn't exit because there's still an unresolved promise. I could be wrong, just my best guess.
How do you think this is best handled? Simplest might be to have a close method on the client object that explicitly kills the subprocess, but is there a better way of cleaning up async background resources like this in nodejs?

Most of my comments can be addressed in follow ups, the only one worth fixing before merge is the one about making the temporary file actually random and I'd be totally okay with the easy solution of just appending the unix nanosecond timestamp to it.
The other comments are significant and should be addressed before we release but they don't need to block this PR IMO, so pre-emptively approving!

Thanks :)

Waiting for every tests, then the PR is ready to be merged. 🚀


⚠ Bofrost.at has degraded performance

In 2b225d7, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 944 ms

Resolved: Bofrost.at performance has improved in e5b182d.


Empty response on detectIntent with audio

Environment:
Node v8.14.0
npm 6.4.1
dialogflow-web 0.7.0
With the following code, I get an empty response like such:
[ { responseId: '',
    queryResult:
     { fulfillmentMessages: [],
       outputContexts: [],
       queryText: '',
       speechRecognitionConfidence: 0,
       action: '',
       parameters: null,
       allRequiredParamsPresent: false,
       fulfillmentText: '',
       webhookSource: '',
       webhookPayload: null,
       intent: null,
       intentDetectionConfidence: 0,
       diagnosticInfo: null,
       languageCode: 'en' },
    webhookStatus: null },
  undefined,
  undefined ]

on any audio file I use, I pass it the filename of an opus audio file. I have no problems with text input with a slightly different function and I can't find the problem. Dialogflow itself works fine,  I based the code on the examples given in the dialogflow docs.
Here's the code, what am I doing wrong?
audioQuery: async (audio, languageCode) => {
	const readFile = util.promisify(fs.readFile);
	return readFile(audio)
		.then(inputAudio => {
			const request = {
				session: sessionPath,
				queryInput: {
					audioConfig: {
						audioEncoding: encoding, //'AUDIO_ENCODING_OGG_OPUS'
						sampleRateHertz: sampleRateHertz, //16000, also tried 48000 which is the value given in media players for the file
						languageCode: languageCode, //'en'
					},
				},
				inputAudio: inputAudio.toString("base64"), // tried also without converting
			};
			return sessionClient.detectIntent(request)
				.then(responses => {
					const result = responses[0].queryResult;
					if (result.intent) {
						return result.fulfillmentText;
					} else {
                                                // always goes here
						return 'No intent matched';
					}
				})
				.catch(err => {
					console.error('ERROR:', err);
				});
		});
}

Hi, did you try following this sample? Are your text and audio request content the same? (E.g. both say "Hello")
https://github.com/googleapis/nodejs-dialogflow/blob/master/samples/detect.js#L128-L167
I believe you should not convert the audio bytes.

Here's how i solved it
let audioQuery = async (audio, lang, options, sessionId) => {
	const sessionPath = sessionClient.sessionPath(config.projectId, sessionId);
	const request = {
		session: sessionPath,
		queryInput: {
			audioConfig: {
				audioEncoding: options.audioEncoding, // always AUDIO_ENCODING_LINEAR_16
				sampleRateHertz: options.sampleRateHertz, // got it from the file
				languageCode: lang,
			},
		},
		queryParams: {
			contexts: options.contexts,
		},
		inputAudio: audio, // wav as b64 string
		outputAudioConfig: {
			audioEncoding: 'OUTPUT_AUDIO_ENCODING_MP3',
		},
	}

	return sessionClient.detectIntent(request)
		.then(async responses => {
			let options = {
				audioResponse: true,
				languageCode: lang,
			}

			return buildResponse(responses, options);
		})
		.catch(err => {
			console.error('ERROR:', err);
		});
}

Basically I had to use wav files, converted to base64 strings and not read as a file, any other format was not working.
@nnegrey I was referring to a slightly different function, detectIntent on just text had no problem, with this solution everything works, I get the transcript in the response as expected.

Hi @mateuszNohup I'm facing a similar issue. Problem is that I do all your steps and still receive an empty object.
Can you tell me what do you use to record the sound in the client's browser?
thx

We're using the RecordRTC library @severcolhon, our issue was with the format of the audio used with the Dialogflow API and not with the recording itself. The API docs don't exactly help much there, you should try various configs for the encoding of the request and the response.

Here's some info the about the Audio Encodings supported by Dialogflow: https://cloud.google.com/dialogflow-enterprise/docs/reference/rpc/google.cloud.dialogflow.v2#google.cloud.dialogflow.v2.AudioEncoding

Thanks for the response @mateuszNohup.
Could you please post the config used by RecordRTC and the audioConfig used to send the request to Dialogflow?
I think I tried all possibilities without success.

RecordRTC options config
{
	type: 'audio',
	numberOfAudioChannels: 1,
	checkForInactiveTracks: true,
	mimeType: "audio/ogg",
	recorderType: RecordRTC.StereoAudioRecorder,
	desiredSampRate: 16000,
	disableLogs: true,
	timeSlice: 50,
}

Request config
{
	session: sessionPath,
	queryInput: {
		audioConfig: {
			audioEncoding: 'AUDIO_ENCODING_LINEAR_16',
			sampleRateHertz: 16000,
			languageCode: lang,
		},
	},
	queryParams: {
		contexts: options.contexts,
		payload: require('./structjson').jsonToStructProto({
			queryType: "audio"
		}),
	},
	inputAudio: audio,
	outputAudioConfig: {
		audioEncoding: 'OUTPUT_AUDIO_ENCODING_MP3',
	},
}

Hope you find it helpful @severcolhon

Thanks @mateuszNohup! You are my hero!
RecordRTC only fails the second time I do a recording, but I'll try a workaround.
Nevertheless, the request to Dialogflow works perfectly now.

@mateuszNohup According to the RecordRTC comments here: https://github.com/muaz-khan/RecordRTC#configuration
...specifying a mimeType of "audio/ogg" is only possible in the Firefox browser (not Chrome).
Is this accurate? Or did you somehow manage to get the audio recorded into an "ogg" container (from the microphone, while in-browser), even in Chrome?


Fix for failing tests on Windows platform

https://github.com/terkelg/tiny-glob/issues/15

Bench tests are broken with the latest commit. Working on it.

Hi @mubaidr. There's too much going on here. First of all I don't want all code to be reformatted, not a huge fan of prettier. There's no need to include eslint or eslint for JSX and React.
"eslint-config-airbnb": "^16.1.0",
"eslint-config-prettier": "^2.9.0",
"eslint-friendly-formatter": "^4.0.1",
"eslint-plugin-import": "^2.11.0",
"eslint-plugin-jsx-a11y": "^6.0.3",
"eslint-plugin-node": "^6.0.1",
"eslint-plugin-promise": "^3.7.0",
"eslint-plugin-react": "^7.7.0",
"eslint": "^4.19.1"

That being said the it looks like the Windows build is still failing?


compile error in Android NDK

I want to compile OpenSSL as static Library, but there was some error in compile processing.
the error is below:
..../toolchains/x86-4.9/prebuilt/darwin-x86_64/bin/i686-linux-android-ld: error: cannot find -lgcc
..../toolchains/x86-4.9/prebuilt/darwin-x86_64/bin/i686-linux-android-ld: error: cannot find -lgcc
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [libcrypto.so] Error 1
make: *** [all] Error 2
And I can found it has been created the static library in dir.
the NDK Version I used is r18b.
the OpenSSL Version is 1.1.1 release.
the issue exists in the arm-linux-androideabi platform.
can you give me some idea for this issue? Thanks!

@mattcaswell ok, the steps that I was referenced to https://wiki.openssl.org/index.php/Android

Download setenv-android.sh file from OpenSSL site
Change ANDROID_NDK_ROOT in setenv-android.sh, I used r18b version.
The Configure parameters
./Configure android-armeabi shared no-ssl2 no-ssl3 no-comp no-hw no-engine --openssldir=`pwd`/output
./Configure android-x86 shared no-ssl2 no-ssl3 no-comp no-hw no-engine --openssldir=`pwd`/output

Command line:
$. ./setenv-android.sh
$./Configure android-armeabi shared no-ssl2 no-ssl3 no-comp no-hw no-engine --openssldir=`pwd`/output
or
$./Configure android-x86 shared no-ssl2 no-ssl3 no-comp no-hw no-engine --openssldir=`pwd`/output

$make depend
$make all

Those steps are out of date and are for older versions of OpenSSL (I just made an edit to that wiki page to make that clearer). For OpenSSL 1.1.1 you should read the INSTALL guide and the NOTES.ANDROID file:
https://github.com/openssl/openssl/blob/OpenSSL_1_1_1-stable/INSTALL
https://github.com/openssl/openssl/blob/OpenSSL_1_1_1-stable/NOTES.ANDROID

@mattcaswell thanks,
I use the steps that reference from NOTES.ANDROID file, but the issue still exists. I use the command line below:
$export ANDROID_NDK= my NDK path
$PATH=${ANDROID_NDK}/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin:$PATH
$./Configure android-arm -D__ANDROID_API__=21
$make

and it would stop the compile process and print the error info after a while.
so could you please help me to take a look at it? thanks!

I just tried out the r18b NDK release on my linux machine and was able to get openssl to successfully build. However, according to the notes on the NDK download page, gcc support has been removed so I had to adjust my PATH to use clang instead:
$ export ANDROID_NDK=/path/to/my/install/of/android-ndk-r18b
$ export PATH=/path/to/my/install/of/android-ndk-r18b/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
$ ./Configure android-arm -d__ANDROID_API__=21
$ make

@mattcaswell ok, thanks. I get it, I think it's probably that I used MacOS.
I use the command like your:
$ export ANDROID_NDK=/path/to/my/install/of/android-ndk-r18b
$ export PATH=/path/to/my/install/of/android-ndk-r18b/toolchains/llvm/prebuilt/darwin-x86_64/bin:$PATH
$ ./Configure android-arm -D__ANDROID_API__=21 no-shared no-hw no-engine --prefix=`pwd`/output --openssldir=`pwd`/output
$ make

and it caught other error and some undefined reference error.
.../ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: apps/libapps.a: no archive symbol table (run ranlib)
.../ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: ssl: no archive symbol table (run ranlib)
.../ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: crypto: no archive symbol table (run ranlib)
anyway, it can create the static library in the directory.

cucbin wrote:
Dear reporter, I would like to suggest you to test current master or
1.1.1 branch  - see below.

@mattcaswell ok, thanks. I get it, I think it's probably that I used
MacOS.
I use the command like your:
$ export ANDROID_NDK=/..../android-ndk-r18b
$ export PATH=...

gcc is removed from NDK >= r18 .
You could set extra variables (
https://github.com/openssl/openssl/pull/7179#issuecomment-431477861 ) to
ensure "pure" clang build.
Let me know if those variables resolve you issue.
Remark: current build system sets those variables and this will be in
next release.
Regards,
Roumen Petrov

@petrovr Thanks for your comment, I've pulled the latest commit, and it seems no problem in the build process.
@mattcaswell Thanks for your help in this issue, I think your team will release the code in the next release. so I think we can close this issue. You are really a very good team.
Final, thanks all.


If the network speed is too slow, the login button will fail to click.

Describe the feature
I'm in China, using a VPN to access OpenAI. So my Internet is slow.
The login button is clicked before the ChatGPT login page is loaded. As a result, the click fails. I have to click on it myself.
The following code seems to be relevant, but I don't know the language.
// click login button and wait for navigation to finish
await Promise.all([
  page.waitForNavigation({
    waitUntil: 'networkidle2',
    timeout: timeoutMs
  }),

  page.click('#__next .btn-primary')
])

Can you add some logic to make the login button click successfully when the Internet speed is slow?
Thank you!

Ahh good call; we can definitely add a waitForSelector here to help mitigate this issue.

Thank you very much. That's great news！

Hopefully the changes by @fuergaosi233 will resolve this. Please upgrade to https://github.com/transitive-bullshit/chatgpt-api/releases/tag/v3.3.9 and let us know.


Playfair Cipher Implementation

Playfair Cipher
Describe the solution you'd like
I would like to implement it in all 4 languages.
Approach
1). Generate the key Square(5×5): The key square is a 5×5 grid of alphabets that acts as the key for encrypting the plaintext. Each of the 25 alphabets must be unique and one letter of the alphabet (usually J) is omitted from the table (as the table can hold only 25 alphabets). If the plaintext contains J, then it is replaced by I.
The initial alphabets in the key square are the unique alphabets of the key in the order in which they appear followed by the remaining letters of the alphabet in order.
2). Algorithm to encrypt the plain text: The plaintext is split into pairs of two letters (digraphs). If there is an odd number of letters, a Z is added to the last letter.
Additional context
Playfair cipher is an encryption algorithm to encrypt or encode a message. It is the same as a traditional cipher. The only difference is that it encrypts a digraph (a pair of two letters) instead of a single letter.

@Kumar-laxmi assign this to me under SSOC'23

Assigned!
@tarunvyshnav777 : C, C++, Python and Java

What is your status on this issue?

@Kumar-laxmi need one more day! Have others things to manage


Delete disabled subcharts when applying a chart

How to categorize this PR?
/area control-plane
/kind enhancement
/priority normal
What this PR does / why we need it:
Enhances the Chart Apply method do delete disabled subcharts when applying a chart. Needed in order to fix https://github.com/gardener/gardener-extension-provider-azure/issues/218.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Tested this change successfully with https://github.com/gardener/gardener-extension-provider-azure/pull/223.
Release note:
The `Apply` method of `chart.Interface` now includes one additional `client.Client` argument. This is needed in order to delete the disabled subcharts when applying a chart.
The type of the `SubCharts` field in the `chart.Chart` type has been changed to the new type `chart.SubChart` in order to add a `Condition` field that is only relevant for subcharts.

/cc @ialidzhikov

So my proposal would be to not introduce this change in the Chart in g/g and rather solve gardener/gardener-extension-provider-azure#218 by deploying the remedy controller via a ManagedResource, just like gardener does for the refeference-resources and also some extensions controllers do for other controllers running in the control plane.
WDYT @stoyanr?

Do you mean here to use a ManagedResource for applying the controlplane chart in the genericactuator - ref https://github.com/gardener/gardener/blob/v1.14.0/extensions/pkg/controller/controlplane/genericactuator/actuator.go#L285-L296?
-> If that is the case, I think @stoyanr had some concerns that it will be a PR that would affect all provider extensions. But yeah, I tend to agree that this is the cleaner approach. If @stoyanr does not have free capacity, then we can pick this. @rfranzke do you recall why the genericactuator.Actuator is using the chartApplier? I guess this is because of legacy reason and we can switch to a ManagedResource?
Or you have in mind a separate ManagedResource for the remedy-controller? I see that the existing ValuesProvider interface is not very suitable for it as it only returns chart values and delegates the chart creation to the generic actuator. However this is probably achievable with an Actuator that is deploying the ManagedResource and is calling the genericactuator.Actuator?

Closed this PR and also https://github.com/gardener/gardener-extension-provider-azure/pull/223 that depends on it because I would not like to introduce fundamental, time consuming changes just to fix a minor issue.
My intention with the above change was to introduce a minor correction to an existing mechanism. There are good (albeit "non-obvious") reasons why this mechanism exists, I would not like to discuss them here. It's historically older than ManagedResources so at the time it was introduced there was no alternative. If the desire is to get rid of the mechanism altogether and replace it with something else, I am fine with this, however, I would not do this as part of this PR.
If for whatever reason you decide to merge this PR with its current design, let me know.

Or you have in mind a separate ManagedResource for the remedy-controller?

I had this in mind actually, but your other idea with using MRs in general for the generic controlplane actuator might also be an option.

Closed this PR and also gardener/gardener-extension-provider-azure#223 that depends on it because I would not like to introduce fundamental, time consuming changes just to fix a minor issue.

You can still choose to do the migration to a MR for the remedy-controller in provider-azure, if you want. That shouldn't be too time-consuming.
Nevertheless, I agree, that this is a minor issue, and it could also be tackled later on with some general clenaup if we agree on that (I see @ialidzhikov already agreed, that the MR is the cleaner approach here).

You can still choose to do the migration to a MR for the remedy-controller in provider-azure, if you want. That shouldn't be too time-consuming.

If you take a look at the code, you will see that the remedy-controller is deployed just as yet another controlplane chart, relying on existing mechanisms in the genericactuator. I don't think I would be able to deploy only the remedy controller as a MR without substantially reworking the genericactuator. Or even if I could, it would still be time-consuming enough while being much less "clean" from my perspective.
As I said, this was supposed to be a small change and this was the only reason I undertook doing it at this point. As it's not small anymore, but the issue it's fixing itself is relatively minor, I would rather focus on other, higher value tasks.


Append ApplicationName and RelativePath doesn't make sense for types from class library in ResourceManagerStringLocalizerFactory

See:
https://github.com/aspnet/Localization/blob/dev/src/Microsoft.Extensions.Localization/ResourceManagerStringLocalizerFactory.cs#L72
It is useful to append _applicationEnvironment.ApplicationName, _resourcesRelativePath to baseName only for types from the main application assembly. It makes impossible to use this factory for resources shared in class library assemblies.

this is kind of a bad bug, only solution at the moment is to fork ResourceManagerStringLocalizerFactory and change the logic, wondering why this is backlog, thought it would be fixed in rc2 but backlog suggests it won't even be fixed in RTM
For example if I have a class library with a FooController like this:
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Localization;
namespace WebLib.Controllers
{
	public class FooController : Controller
	{
		public FooController(
			IStringLocalizerFactory localizerFactory
			)
		{
			_localizer = localizerFactory.Create("MyResources.Controllers.FooController", "WebLib"); ;
		}

		private readonly IStringLocalizer _localizer;

		public IActionResult Index()
		{
			ViewData["Title"] = _localizer["Foo"];
			ViewData["Message"] = _localizer["Greetings ya'll"];

			return View();
		}
	}
}

and in the project.json I embed the MyResources folder which contains Controllers.FooController.fr.resx

"buildOptions": {
    "embed": [ "Views/**", "MyResources/**" ]
},

It works if the main web app is configured like this:
services.AddLocalization();

but as soon as the web app decides to use this configuration:
services.AddLocalization(options => options.ResourcesPath = "Resources" );

It breaks the localization in FooController even though I'm using the factory and asking for exactly the correct name of my resource

and a further note, it is currently not possible in a class library to get a working IStringLocalizer like this:
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Localization;

namespace WebLib.Controllers
{
    public class OtherController : Controller
    {
        public OtherController(
            IStringLocalizer<OtherController> localizer
            )
        {
            _localizer = localizer;
        }

        private readonly IStringLocalizer _localizer;

        public IActionResult Index()
        {
            ViewData["Title"] = _localizer["Otherwise"];
            ViewData["Message"] = _localizer["this is the other one"];

            return View();
        }
    }

}
seems like with this approach there should at least be a convention where to put my resx files and how to name them so they work, but currently it just cannot work at all, so at the moment it is not possible to localize a controller that lives in a class library using IStringLocalizer, unless you fork the factory and change the logic
If it is not intended to work and we are supposed to do localization differently in a class library then it should be documented as such

so I implemented a PatchedResourceManagerStringLocalizerFactory with changes to get both broken examples working. To use:
IStringLocalizer<OtherController> requires a convention to add the resx file as embedded in the root of the class library named without the root namepace like Controllers.OtherController.fr.resx

I'm not sure if this is the same way the team would fix this but here is my full implementation:
	using System;
using System.Collections.Concurrent;
using System.IO;
using System.Reflection;
using System.Resources;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Options;

namespace Microsoft.Extensions.Localization
{
	/// <summary>
	/// An <see cref="IStringLocalizerFactory"/> that creates instances of <see cref="ResourceManagerStringLocalizer"/>.
	/// </summary>
	public class PatchedResourceManagerStringLocalizerFactory : IStringLocalizerFactory
	{
		private readonly IResourceNamesCache _resourceNamesCache = new ResourceNamesCache();
		private readonly ConcurrentDictionary<string, ResourceManagerStringLocalizer> _localizerCache =
			new ConcurrentDictionary<string, ResourceManagerStringLocalizer>();
		private readonly IHostingEnvironment _hostingEnvironment;
		private readonly string _resourcesRelativePath;

		/// <summary>
		/// Creates a new <see cref="ResourceManagerStringLocalizer"/>.
		/// </summary>
		/// <param name="hostingEnvironment">The <see cref="IHostingEnvironment"/>.</param>
		/// <param name="localizationOptions">The <see cref="IOptions{LocalizationOptions}"/>.</param>
		public PatchedResourceManagerStringLocalizerFactory(
			IHostingEnvironment hostingEnvironment,
			IOptions<LocalizationOptions> localizationOptions)
		{
			if (hostingEnvironment == null)
			{
				throw new ArgumentNullException(nameof(hostingEnvironment));
			}

			if (localizationOptions == null)
			{
				throw new ArgumentNullException(nameof(localizationOptions));
			}

			_hostingEnvironment = hostingEnvironment;
			_resourcesRelativePath = localizationOptions.Value.ResourcesPath ?? string.Empty;
			if (!string.IsNullOrEmpty(_resourcesRelativePath))
			{
				_resourcesRelativePath = _resourcesRelativePath.Replace(Path.AltDirectorySeparatorChar, '.')
					.Replace(Path.DirectorySeparatorChar, '.') + ".";
			}
		}

		/// <summary>
		/// Creates a <see cref="ResourceManagerStringLocalizer"/> using the <see cref="Assembly"/> and
		/// <see cref="Type.FullName"/> of the specified <see cref="Type"/>.
		/// </summary>
		/// <param name="resourceSource">The <see cref="Type"/>.</param>
		/// <returns>The <see cref="ResourceManagerStringLocalizer"/>.</returns>
		public IStringLocalizer Create(Type resourceSource)
		{
			if (resourceSource == null)
			{
				throw new ArgumentNullException(nameof(resourceSource));
			}

			var typeInfo = resourceSource.GetTypeInfo();
			var assembly = typeInfo.Assembly;

			// Re-root the base name if a resources path is set
			string baseName;
			if (assembly.FullName.StartsWith(_hostingEnvironment.ApplicationName))
			{
				baseName = string.IsNullOrEmpty(_resourcesRelativePath)
				? typeInfo.FullName
				: _hostingEnvironment.ApplicationName + "." + _resourcesRelativePath
					+ TrimPrefix(typeInfo.FullName, _hostingEnvironment.ApplicationName + ".");
			}
			else
			{
				var appName = TrimOnFirstComma(assembly.FullName);
				baseName = appName + "." +  TrimPrefix(typeInfo.FullName, appName + ".");
			}

			return _localizerCache.GetOrAdd(baseName, _ =>
					new ResourceManagerStringLocalizer(
						new ResourceManager(baseName, assembly),
						assembly,
						baseName,
						_resourceNamesCache)
						);
		}

		/// <summary>
		/// Creates a <see cref="ResourceManagerStringLocalizer"/>.
		/// </summary>
		/// <param name="baseName">The base name of the resource to load strings from.</param>
		/// <param name="location">The location to load resources from.</param>
		/// <returns>The <see cref="ResourceManagerStringLocalizer"/>.</returns>
		public IStringLocalizer Create(string baseName, string location)
		{
			if (baseName == null)
			{
				throw new ArgumentNullException(nameof(baseName));
			}

			location = location ?? _hostingEnvironment.ApplicationName;

			if(location.StartsWith(_hostingEnvironment.ApplicationName))
			{
				baseName = location + "." + _resourcesRelativePath + TrimPrefix(baseName, location + ".");
			}
			else
			{
				baseName = location + "." + TrimPrefix(baseName, location + ".");
			}

			return _localizerCache.GetOrAdd($"B={baseName},L={location}", _ =>
			{
				var assembly = Assembly.Load(new AssemblyName(location));
				return new ResourceManagerStringLocalizer(
					new ResourceManager(baseName, assembly),
					assembly,
					baseName,
					_resourceNamesCache);
			});
		}

		private static string TrimPrefix(string name, string prefix)
		{
			if (name.StartsWith(prefix, StringComparison.Ordinal))
			{
				return name.Substring(prefix.Length);
			}
			return name;
		}

		private static string TrimOnFirstComma(string name)
		{
			return name.Substring(0,name.IndexOf(","));
		}
	}
}

one more thing I noticed that I thought I should mention, maybe it is normal/intended but seemed a little weird to me. When I plug in my PatchedResourceManagerStringLocalizerFactory and I sett a breakpoint in the else of this method:
    public IStringLocalizer Create(Type resourceSource)
    {
        if (resourceSource == null)
        {
            throw new ArgumentNullException(nameof(resourceSource));
        }

        var typeInfo = resourceSource.GetTypeInfo();
        var assembly = typeInfo.Assembly;

        // Re-root the base name if a resources path is set
        string baseName;
        if (assembly.FullName.StartsWith(_hostingEnvironment.ApplicationName))
        {
            baseName = string.IsNullOrEmpty(_resourcesRelativePath)
            ? typeInfo.FullName
            : _hostingEnvironment.ApplicationName + "." + _resourcesRelativePath
                + TrimPrefix(typeInfo.FullName, _hostingEnvironment.ApplicationName + ".");
        }
        else
        {
            //breakpoint here
            var appName = TrimOnFirstComma(assembly.FullName);
            baseName = appName + "." +  TrimPrefix(typeInfo.FullName, appName + ".");
        }

        return _localizerCache.GetOrAdd(baseName, _ =>
                new ResourceManagerStringLocalizer(
                    new ResourceManager(baseName, assembly),
                    assembly,
                    baseName,
                    _resourceNamesCache)
                    );

    }

if I set that breakpoint before starting the app in the debugger, I notice 2 times that method and else clause are invoked and the type being passed in is CultureInfo. I'm not sure where the calling code that does that is, I don't think it is part of my application code. After startup I don't see that happening anymore, just the 2 times at initial startup
maybe there is a good reason for that, but it seemed unexpected to me so thought I should mention it

figured out that the 2 times when CultureInfo is passed in as the type is happening because I'm using the language selector partial view from the Localization.StarterWeb sample
when I remove that from my _Layout I no longer see those invocations. But looking at the partial view I don't see where IStringLocalizer is being requested, maybe it is being requested implicitly somehow
@using Microsoft.AspNetCore.Builder
@using Microsoft.AspNetCore.Http.Features
@using Microsoft.AspNetCore.Localization
@using Microsoft.AspNetCore.Mvc.Localization
@using Microsoft.Extensions.Options
@inject IViewLocalizer Localizer
@inject IOptions<RequestLocalizationOptions> LocOptions

@{
    var requestCulture = Context.Features.Get<IRequestCultureFeature>();
    var cultureItems = LocOptions.Value.SupportedUICultures
        .Select(c => new SelectListItem { Value = c.Name, Text = c.DisplayName })
        .ToList();
}

<div title="@Localizer["Request culture provider:"] @requestCulture?.Provider?.GetType().Name">
    <form id="selectLanguage" asp-controller="Home" asp-action="SetLanguage"<EMAIL_ADDRESS>method="post" class="form-horizontal" role="form">
    @Localizer["Language:"] <select name="culture"<EMAIL_ADDRESS>asp-items="cultureItems"></select>
    </form>
</div>

If the fixes in my PatchedResourcManagerStringLocalizerFactory look correct, I would be glad to submit a PR on ResourceManagerStringLocalizerFactory

ProTip! Annotate your fenced code blocks with the language you're using, so it's easier to parse the code.
Or even better; create a gist and link to it. Right now, it's looks like a wall of text.
Example:
```csharp
public static void Main() { }
```

@khellang thanks for the tip, I'm kind of a noob when it comes to the finer points of markdown. I've wrapped my code as you suggested mostly, but wasn't sure whether the razor code is csharp so left that one alone. for me the formatting looked fine in the web browser even before wrapping like that so I was not aware it looked like a wall of text for anyone

for anyone else blocked by this bug or if you want to be able to localize class library web components by dropping resx files into the main web app please take a look at my new project here:
https://github.com/joeaudette/cloudscribe.Web.Localization

@ryanbrandenburg please make sure we have appropriate test coverage in this area as well.

This is not a scenario which the current system supports, however we did a little refactoring of ResourceManagerStringLocalizerFactory to make it easier to subclass and implement this behavior yourself. An example of what that might look like can be found at aspnet/Entropy#159.
@joeaudette this is essentially what you had done, but now you shouldn't have to duplicate any code, just subclass ResourceManagerStringLocalizerFactory and override GetResourcePrefix to suit your needs.


voldemort-env.sh - Configurable options for voldemort

Create a separate file , voldemort-env.sh , present in config directory by default, that can be overridden by applications to suit the local environment.
Eg:

JAVA_HOME -> to point to the appropriate jdk
VOLD_OPTS -> options passed to JDK

Also, log4j.properties for voldemort comes from the config directory of voldemort  , instead of src/java/log4j.properties , as before.

I think its a good idea to check for JAVA_HOME and use the corresponding binaries. However, defining a separate file for this seems like an overkill. In my experience, most deployments define all sorts of environment variables in a separate layer (and not service specific).

The intention of this new file is not just about JAVA_HOME, but to maintain a separate voldemort.env that contains a bunch of custom settings , separate from the installaton of voldemort, that we can source independently.
vinothchandar,
The java path was not hardcoded.  It was just commented out,  to indicate an example to be overridden.


x/vuln: vulncheck should not surface vulnerabilities in fixed version

Moved from golang/vulndb#991 (reported by @dev-gto):
Hi, while running the latest govulncheck
go: downloading golang.org/x/vuln v0.0.0-20220912202342-0ed43f12cb05
on a system with golang 1.18.6, it is actually reporting the following
Vulnerability #1: GO-2022-0969
HTTP/2 server connections can hang forever waiting for a clean
shutdown that was preempted by a fatal error. This condition can
be exploited by a malicious client to cause a denial of service.
Call stacks in your code:
  {stripped line here} calls net/http.Server.Serve

Found in<EMAIL_ADDRESS>Fixed in<EMAIL_ADDRESS>More info: https://pkg.go.dev/vuln/GO-2022-0969
However, I believe that this vulnerability affects versions 1.18.5 (included) and below, as well as 1.19.0
Therefore, 1.18.6 should not be affected.
https://pkg.go.dev/vuln/GO-2022-0969

This is tracked in #55035, so I will close it here for now.


Feature Request: Smart Search

I subscribe to a lot of feeds, and it would be nice to have the ability to have a feature whereby I can create a filter for the articles that come in by a word or phrase (e.g. "AAPL"), regardless of feed it appears.
Theoretically I should be able to create multiple smart searches and have them saved on the left-side navigation bar in its own section.

A Search bar for the iOS app would immensely improve my use/flow of the app.
Case: you add a new RSS but accidentally pick the wrong folder, and you have 10-20 folders that it could be in.

Duplicate of #217


🚀 [Feature]: Add support for both Version with PreRelease and Build parameters

Description

Added test to validate the new parameter combination.

Type of change

[ ] 📖 [Docs]
[ ] 🪲 [Fix]
[ ] 🩹 [Patch]
[ ] ⚠ [Security fix]
[x] 🚀 [Feature]
[ ] 🌟 [Breaking change]

Checklist

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas

Closing as a stale feature request. Use the existing set of params for now to cover the scenario.


remove _App._tag_to_object

This is #922 all over again but this time after lots of test and fixing.
The point of this is to remove as much state as possible from the _App class so that we can remove it later (probably by splitting it first).

This is failing integration tests, which is concerning. Will try to add a client test that reproduces the failure and merge it separately before I attempt this again.


getDistance not working

Hi all,
I was trying to using the permission and the method getDistance unfortunately the permission is not asked, just the permission for the steps, so neither the value is visible and usable

@IronTony Did you manage to get it working?

@geekmidas nope, I used another package rn-apple-healthkit for iOS and react-native-google-fit for Android

You can try react-native-permissions but I preferred to go the other way. Best of luck

@IronTony I tried using react-native-google-fit but it was the same issue on my side, it did not ask for permissions as well

@geekmidas mmmm strange.
I did this:
onst googleFitFlow = useCallback(async () => {
    await GoogleFit.checkIsAuthorized().then(() => {
      GoogleFit.authorize(googleFitOptions)
        .then((authResult) => {

and it is working fine.
Just a quick hint, I think that this is not the right place to talk about another package 😉

@IronTony Thanks for the hint. Do you mind if I contact you privately on the email you have on GitHub?

@geekmidas sure no problem

Thanks man @IronTony I sent you an email.


build: upgrades

upgrade scodec to 1.8.1 and thereby shapeless to 2.2.4.

upgrade scodec-scalaz to 1.1.0 in order to match
scodec upgrade.

fix DescribeSpec wrt. casing error.

bump travis jdk version.

@timperrett @stew Could we also get a release if/when this gets in? :)

weird errors coming from travis CI:
[error] /home/travis/build/oncue/remotely/examples/src/main/scala/Protocol.scala:25: exception during macro expansion:
[error] java.lang.ClassNotFoundException: java.nio.charset.StandardCharsets

I don't believe that has anything doing with this PR.

Perhaps clearing the cache on travis solves this, see this: http://docs.travis-ci.com/user/caching/#Clearing-Caches

@ahjohannessen this doesnt even compile for me locally. I get the following:
[error] /Users/timperrett/sandbox/scala/ahjohannessen-remotely/examples/src/main/scala/Protocol.scala:25: exception during macro expansion:
[error] java.lang.ClassNotFoundException: java.nio.charset.StandardCharsets
[error] 	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
[error] 	at java.security.AccessController.doPrivileged(Native Method)
[error] 	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[error] 	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
[error] 	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
[error] 	at scodec.codecs.package$.<init>(package.scala:452)
[error] 	at scodec.codecs.package$.<clinit>(package.scala)
[error] 	at remotely.codecs.package$.<init>(codecs.scala:48)
[error] 	at remotely.codecs.package$.<clinit>(codecs.scala)
[error] 	at remotely.Codecs$.<init>(Codecs.scala:46)
[error] 	at remotely.Codecs$.<clinit>(Codecs.scala)
[error] 	at remotely.Protocol$.<init>(Protocol.scala:56)
[error] 	at remotely.Protocol$.<clinit>(Protocol.scala)
[error] 	at __wrapper$1$a107ea65e29d4e0897dbed66118eca35.__wrapper$1$a107ea65e29d4e0897dbed66118eca35$.wrapper(<no source file>:25)
[error] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[error] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[error] 	at java.lang.reflect.Method.invoke(Method.java:597)
[error] 	at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl$ToolBoxGlobal$$anonfun$compile$1.apply(ToolBoxFactory.scala:271)
[error] 	at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl.eval(ToolBoxFactory.scala:436)
[error] 	at scala.reflect.macros.runtime.Evals$class.eval(Evals.scala:16)
[error] 	at scala.reflect.macros.runtime.Context.eval(Context.scala:6)
[error] 	at remotely.GenServer$.impl(GenServer.scala:47)
[error] @GenServer(remotely.Protocol.empty.codec[Int].specify1("fac", Field.strict[Int]("in"), Type[Int]))
[error]  ^
[error] /Users/timperrett/sandbox/scala/ahjohannessen-remotely/examples/src/main/scala/Protocol.scala:30: exception during macro expansion:
[error] java.lang.NoClassDefFoundError: Could not initialize class remotely.Protocol$
[error] 	at __wrapper$1$1f0d05e367554422b5b1348a671df812.__wrapper$1$1f0d05e367554422b5b1348a671df812$.wrapper(<no source file>:30)
[error] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[error] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[error] 	at java.lang.reflect.Method.invoke(Method.java:597)
[error] 	at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl$ToolBoxGlobal$$anonfun$compile$1.apply(ToolBoxFactory.scala:271)
[error] 	at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl.eval(ToolBoxFactory.scala:436)
[error] 	at scala.reflect.macros.runtime.Evals$class.eval(Evals.scala:16)
[error] 	at scala.reflect.macros.runtime.Context.eval(Context.scala:6)
[error] 	at remotely.GenClient$.impl(GenClient.scala:40)
[error] @GenClient(remotely.Protocol.empty.codec[Int].specify1[Int,Int]("fac", Field.strict[Int]("in"), Type[Int]).signatures)
[error]  ^
[error] /Users/timperrett/sandbox/scala/ahjohannessen-remotely/examples/src/main/scala/Protocol.scala:44: value environment is not a member of remotely.examples.FacServer{val fac: Int => remotely.Response[Int]}
[error]   lazy val env = facServer.environment
[error]                            ^
[error] three errors found
[info] Compiling 1 Scala source to /Users/timperrett/sandbox/scala/ahjohannessen-remotely/test/target/scala-2.10/classes...
[info] Compiling 12 Scala sources to /Users/timperrett/sandbox/scala/ahjohannessen-remotely/core/target/scala-2.10/test-classes...
[warn] /Users/timperrett/sandbox/scala/ahjohannessen-remotely/core/src/test/scala/SSLSpec.scala:213: discarded non-Unit value
[warn]       an[Exception] should be thrownBy fact.run
[warn]                                             ^

@timperrett that is really strange :/ What kind of JDK and OS do you have there? Compiles fine here for 2.10 and 2.11, I am on OS X Yosemite and have JDK8.

@timperrett could you try now to compile and run tests locally, that strange error should be gone now. I bumped to scodec 1.8.1 that depends on shapeless 2.2.4. Note, I have force pushed in order to get travis to build the PR, you probably need to delete the PR branch and fetch again if you have one still.

btw, Travis CI is a bit flaky.

ping @timperrett :)

@ahjohannessen my bad, had an old JDK on the mac i used before.

@timperrett it would be nice with a new remotely release :)

@ahjohannessen sure, i'll update the build and push one out

@ahjohannessen so the project tests no longer pass for some reason? I cant look into it right now, but perhaps you have some cycles? The failing test is below - i've also updated the build to match our other projects in order to streamline the release process.
[info] ! Remote.roundtrip[Double]: Exception raised on property evaluation.
[info] > ARG_0: List()
[info] > ARG_1: Map()
[info] > Exception: java.lang.IllegalStateException: Pool not open
[info] + TupleCodec.tupele2Codec works: OK, passed 100 tests.

@timperrett That is odd, I do not get that specific error locally. This commit passes both on 2.10 and 2.11 for me, but current master code gives me some issues in tests with regards to an error being thrown. Not sure what is going on.

If I downgrade ScalaCheck back to 1.11.6 then current master passes all tests in 2.10 and 2.11 and no error is being thrown.

@ahjohannessen its released :-) do note the change in group-id and artifact id:
"oncue.remotely" %% "core" % "1.4.0"

@timperrett super! :)


Superadmin permissions are not correct for meals, maybe other old classes

Superadmin should be able to see meals in any community
Originally created by Tom Smyth at 2018-08-29 09:24, migrated from redmine-#8821

Status changed from New to Closed

By Tom Smyth at 2018-12-05 14:28

Version set to 6.2

By Tom Smyth at 2018-12-16 23:06


SSL error when certificate has wildcard (e.g. "*.mydomain.com")

Rust 1.44, hyper 0.13.7 (using reqwest 0.10.7), running on Ubuntu 19.10.
The URL I am testing is https://code_cube.gitlab.io/audio-bench/index.html, which loads fine in a web browser. Inspecting the certificate with Firefox shows that it is registered for the domain *.gitlab.io. Loading it with reqwest results in an error due to the domain name not matching the one in the URL.
Code to reproduce:
// main.rs

fn main() {
    if let Err(err) = reqwest::blocking::get("https://code_cube.gitlab.io/audio-bench/index.html") {
        println!("{:#?}", err);
    }
}

# Cargo.toml

[package]
name = "bug-cert-glob"
version = "0.1.0"
authors = []
edition = "2018"

[dependencies]
reqwest = { version = "0.10", features = ["blocking"] }

Error it produces:
reqwest::Error {
    kind: Request,
    url: "https://code_cube.gitlab.io/audio-bench/index.html",
    source: hyper::Error(
        Connect,
        Ssl(
            Error {
                code: ErrorCode(
                    1,
                ),
                cause: Some(
                    Ssl(
                        ErrorStack(
                            [
                                Error {
                                    code: 337047686,
                                    library: "SSL routines",
                                    function: "tls_process_server_certificate",
                                    reason: "certificate verify failed",
                                    file: "../ssl/statem/statem_clnt.c",
                                    line: 1919,
                                },
                            ],
                        ),
                    ),
                ),
            },
            X509VerifyResult {
                code: 62,
                error: "Hostname mismatch",
            },
        ),
    ),
}

Using {} instead of {:#?} gives the following error: error sending request for url (https://code_cube.gitlab.io/audio-bench/index.html): error trying to connect: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:../ssl/statem/statem_clnt.c:1919: (Hostname mismatch).
A NodeJS project has experienced the same issue, so maybe it is a problem with a dependency? However, the discussion on the linked issue seems to go back and forth on whether or not wildcards were actually the cause of the problem.

My initial guess turned out to be wrong, the site https://square.github.io/ also uses a cert with a wildcard (*.github.io) but loading it in the same manner as above does not cause an error. I'm not sure what difference between the two certificates could be causing the problem. I've attached the information Firefox shows for each certificate.
github.pdf
gitlab.pdf

It's not the certificate, it's the underscore in the hostname. reqwest works okay if you switch to the rustls backend, so I guess either the native-tls backend isn't being given the correct name or it doesn't handle underscores.

Thanks, that workaround works! To be specific, the test code is now:
fn main() {
    if let Err(err) = reqwest::blocking::ClientBuilder::new()
        .use_rustls_tls()
        .build()
        .unwrap()
        .get("https://code_cube.gitlab.io/audio-bench/index.html")
        .send()
    {
        println!("{}", err);
    }
}

And the feature rustls-tls is enabled for reqwest. I'll open an issue for rust-native-tls.


Help

Description
[Insert description of issue here]
Detailed Information
Is available here
.

You need to give one group a setting of "default: true".  This is for the group into which all users are placed when they first join the server.  Then the error you're receiving will stop. :-)

/pex group <group> set <option> <value>
/pex group Gracz set default true

How to do it?

I've already done this and still is:
groups:
Gracz:
permissions:
- essentials.tpa
- essentials.warp
- essentials.warp.list
- essentials.warps.sklep
- essentials.warps.bunnge
- essentials.warps.craft
- essentials.warps.Enchant
- essentials.warps.mieso
- essentials.warps.balon
- essentials.warps.klata
- essentials.warps.*
- essentials.spawn
- essentials.home
- essentials.sethome
- essentials.kits.drewno
- essentials.kits.start
- funnyguilds.player
- essentials.home
- essentials.helpop
- essentials.spawn
- essentials.msg
- essentials.tpdeny
- essentials.kit
- essentials.tpaccept
- drop_old.stone
- karolekdrop.executors.stone
- karolekdrop.diament
- buffshop.cmd
options:
default: 'true'

When you start the server, copy all of the text printed on the server console and paste it on Pastebin.  Leave the link created by Pastebin in this thread.

https://pastebin.com/g1ByGchX

I don't want to see the error, I want to see the entire server console log.

https://pastebin.com/bSNLBmJp

[20:20:59] [Server thread/WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
PermissionsEx will never function correctly in offline mode unless you're running a Bungeecord server network.  (And you don't have Bungeecord installed on your server.)
You will need to change the server.properties file setting online-mode=false to online-mode=true.

Already

Jeśli nie zmienisz tego ustawienia w pliku, PermissionsEx nigdy nie będzie działał na Twoim serwerze. Jeśli nie zmienisz tego i kłamesz, że zmieniłeś to, mimo że to co robimy, aplikacje PermissionsEx nadal nie działają na Twoim serwerze.

I did, but now I can not get on the server because it says: Access: token can not be null or empty.

http://www.minecraftforum.net/forums/support/server-support/1886258-access-token-cannot-be-null-or-empty

Seems like you need to reinstall Minecraft or migrate your account to the new system.

That's not a PEX issue though, sorry.

It's online mode

The token error can only be fixed by uninstalling Minecraft and reinstalling it, or by logging into the Minecraft website and going through their migrate process.  I can't do anything about that here.

After you get your Minecraft client fixed, feel free to come back if you need additional help with PermissionsEx.  :-)


readme has typo in workflow

(https://github.com/datastax/astra-cli/actions/workflows/go.yaml/badge.svg)]
should be
(https://github.com/datastax-labs/astra-cli/actions/workflows/go.yaml/badge.svg)](

fixed in this PR: https://github.com/datastax-labs/astra-cli/pull/38


Add ':scriptencoding utf-8'

It seems you have included hangul (non-ascii) characters in source code.
If you use non-ascii characters in source code, you would be better to specify :scriptencoding
because it might cause unexpected interpretation in Windows.

This is a problem I did not think of. Thank you.


Poor performance with the web-frameworks benchmark

Kitura with Kitura-NIO seems to performs badly on the web-frameworks benchmarks
Reported over slack. Copied from there:

Language (Runtime)
Framework (Middleware)
Average
50th percentile
90th percentile
99th percentile
99.9th percentile
Standard deviation

swift (4.2)
perfect (3.1)
22.11 ms
21.81 ms
26.35 ms
33.46 ms
56.41 ms
3607.00

swift (5.0)
vapor (3.3)
65.25 ms
27.59 ms
49.31 ms
1354.51 ms
3496.16 ms
228498.67

swift (5.0)
kitura (2.6)
35.61 ms
33.10 ms
48.56 ms
74.07 ms
647.15 ms
26 433.67

swift (5.0)
kitura (2.7)
62.88 ms
61.14 ms
83.65 ms
115.44 ms
533.98 ms
21219.00

swift (5.0)
kitura-nio (2.7)
177.09 ms
65.25 ms
115.28 ms
3343.02 ms
6831.05 ms
555543.00

Language (Runtime)
Framework (Middleware)
Requests / s
Throughput

swift (4.2)
perfect (3.1)
44599.00
41.93 MB

swift (5.0)
vapor (3.3)
32438.67
54.37 MB

swift (5.0)
kitura (2.6)
28 626.67
53.09 MB

swift (5.0)
kitura (2.7)
15597.00
29.04 MB

swift (5.0)
kitura-nio (2.7)
13049.00
24.67 MB

@pushkarnk this looks like some kind of stall to me. On the 50th percentile (median) kitura/kitura are pretty much the same, but the standard deviation is huge! So either the machine that was running the tests was super busy at some point when running kitura-nio or something stalled/got stuck for a while?

FYI -> docker is in use on above results, then metrics are not very useful (could vary by ~40% )
I'm working on https://github.com/the-benchmarker/web-frameworks/pull/632 to use an isolated droplet  and therefore to reduce docker noise
PS : If I can also have sponsored machine from IBM, I'll be happy to run Kitura benchmarks on :heart:

oh docker with networking i/egress networking?

In the future, it will be on dedicated VM with a 2 GB/s link

FYI, we can replicate a gap between Kitura-NIO and Kitura-net, and that definitely needs investigation.  Previous investigations have shown Kitura-NIO to scale better than Kitura-net, but it's more CPU hungry so slower at lower CPU counts - we need to find out where that CPU is being burnt.
However, @helenmasters and I couldn't replicate the general slowness of Kitura vs. Vapor running the benchmark on a bare-metal Ubuntu 16.04 server, once we removed the Ubuntu version penalty (https://github.com/the-benchmarker/web-frameworks/pull/1346).  We limited the Docker containers to a subset of CPUs to emulate the 8-cpu environment, and Vapor and Kitura came out similar in performance (I don't have the results to hand, we can re-run if necessary).
Perfect did show a lead over the others in our environment, similar to the one reported here, so the puzzle is why our local results for Kitura are substantially better than the ones published above.


refactor: Simplify single quotes escaping

It also ~4x faster

Codecov Report

Merging #1677 (82e20dd) into master (e0919ec) will decrease coverage by 0.32%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##           master    #1677      +/-   ##
==========================================
- Coverage   98.97%   98.66%   -0.32%
==========================================
  Files          98       98
  Lines        7717     7712       -5
  Branches     1586     1586
==========================================
- Hits         7638     7609      -29
- Misses         48       64      +16
- Partials       31       39       +8

Impacted Files
Coverage Δ

src/schemathesis/models.py
99.11% <100.00%> (-0.01%)
:arrow_down:

src/schemathesis/_compat.py
57.50% <0.00%> (-20.00%)
:arrow_down:

src/schemathesis/extra/pytest_plugin.py
94.28% <0.00%> (-5.72%)
:arrow_down:

src/schemathesis/cli/callbacks.py
98.84% <0.00%> (-1.16%)
:arrow_down:

src/schemathesis/utils.py
96.93% <0.00%> (-0.77%)
:arrow_down:

src/schemathesis/specs/openapi/loaders.py
98.66% <0.00%> (-0.67%)
:arrow_down:

src/schemathesis/runner/impl/core.py
96.51% <0.00%> (-0.47%)
:arrow_down:

src/schemathesis/cli/output/default.py
98.89% <0.00%> (-0.28%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


data download should specify the mission

Now that TESS has observed the Kepler field Lightkurve will return a single target as two targets, one in KIC and one in TIC. Lightkurve will then complain that you have to select two targets.

Fixed in PR #191


Height of date/time picker too small

Describe the bug
For some reason the date/time picker is not fully showing up when clicking on the input box.  When I inspect the css they are there but they are cut off.  Screen shot below:
To Reproduce
I followed the simplest steps to install:

npm install @vuepic/vue-datepicker
registered the component in a local file:

<template>
  <VueDatePicker v-model="date"></VueDatePicker>
</template>

<script setup>
import { ref } from 'vue';
import VueDatePicker from '@vuepic/vue-datepicker';
import<EMAIL_ADDRESS>
const date = ref();
</script>

Expected behavior
The full length of the calendar with time icon and buttons should appear.
Screenshots

Desktop & mobile (please complete the following information):

Browser chrome
Library version 5.4.0

Nevermind!  FIXED!
For anyone that might have the same issues: I had this inside a v-sheet that was making it so it would not be 100% visible and grow with the space.
I deleted the v-sheet and made the component height=100% and it fixed the chopped off issue.


⚠ Samsung has degraded performance

In 2bad9c5, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2549 ms

Resolved: Samsung performance has improved in 11dc0c0.


ion-slides vertical not working v4

Bug Report
Ionic version:

[x] 4.x
Current behavior:

When I set the slide direction to vertical the slider breaks and shows all content. only works if set to horizontal.
@ViewChild('mySlider', { read: IonSlides })
slides: IonSlides;  slideOptions = {direction: 'vertical'};
<ion-slides [options]="slideOptions" #mySlider (ionSlidesDidLoad)="slidesDidLoad(mySlider)">
Expected behavior:

expect it to slide verticaly.
Steps to reproduce:

Related code:

insert short code snippets here

Other information:

Ionic info:

Ionic:

   ionic (Ionic CLI)             : 4.9.0 (/usr/local/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.0.0
   @angular-devkit/build-angular : 0.7.5
   @angular-devkit/schematics    : 0.7.5
   @angular/cli                  : 6.1.5
   @ionic/angular-toolkit        : not installed

Cordova:

   cordova (Cordova CLI) : 8.1.2<EMAIL_ADDRESS>   Cordova Platforms     : ios 4.5.5
   Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 2.2.3, (and 4 other plugins)

System:

   Android SDK Tools : 26.1.1 (/Users/Wallstudios/Library/Android/sdk)
   ios-deploy        : 1.9.2
   ios-sim           : 5.0.4
   NodeJS            : v10.14.2 (/usr/local/bin/node)
   npm               : 6.4.1
   OS                : macOS High Sierra
   Xcode             : Xcode 10.1 Build version 10B61

Any news on this?

Same issue here

Same here... why is this not fixed already?

Same issue here !

I can't reproduce this issue:
See https://codepen.io/juanmiguelbesada/pen/bGdezWq

I can't reproduce this issue in ionic 4.11.10 and @latest versions (dind't test on angular version)
https://codepen.io/juanmiguelbesada/pen/bGdezWq

As a workaround for this issue, setting the height of the slides to 100% should work:
ion-slides {
  height: 100%;
}

Here's a Codepen for this: https://codepen.io/brandyscarney/pen/jOPyGPE
I can look into adding this by default, but can anyone verify whether or not this solves their problem?

I've submitted a PR for this here: https://github.com/ionic-team/ionic/pull/20603
What this does is default the ion-slides height to 100%, but the height can still be overridden if desired, it just needs to be set to something in order to work properly.
There's a dev build here if anyone would like to test it:
# vanilla JS
npm i<EMAIL_ADDRESS>
# angular
npm i<EMAIL_ADDRESS>
# react
npm i<EMAIL_ADDRESS>npm i<EMAIL_ADDRESS>
Please let me know if you see any issues with this, thanks!


dUSD Factor of 1.2 is used on the Payback Screen

What happened:

dUSD Factor of 1.2 is also added to the USD value if paying back a loan

What you expected to happen:

the factor isn't added

How to reproduce it (as minimally and precisely as possible):

take a dUSD loan
payback loan and check collateral ratio on the payback screen vs. the real ratio after paying back

Thanks for opening a ticket, we'll look into this.


Add more tests

Testing is very slim right now. At minimum a test for the following should be added:

[ ] FF installation and usage
[ ] Connect only, with browserless.io
[ ] Taking screenshot with path option

I spent some hours debugging why Firefox wasn't working inside Docker today. My conclusion: Make sure that the user has a home directory, otherwise Firefox just hangs.


JS and TS files are duplicates

I know Typescript is a superset of Javascript, but we can add subtle differences that are typical of both langs. The JS file could use while (1) or while (Infinity) loops. The Typescript file could use a statically-typed bool variable set to true, and a string var with the value 'a'. This would add "personality" and uniqueness to both files

I don't see why that's needed? It's just coincidental that they're the same. Going out of the way to use intentionally bad practices (while (1), while (Infinity), typed bool variable) isn't something I see any point to.

while (1) isn't that bad, but I understand it may not be a good idea. The main purpose of my suggestion is that they should be at least slightly different (in any way). It doesn't need to be exactly what I said about loops


Upload messages are written into stderr 'az storage blob upload-batch'

Environment summary
Install Method: MSI
CLI version
azure-cli (2.0.27)
acr (2.0.21)
acs (2.0.26)
advisor (0.1.2)
appservice (0.1.26)
backup (1.0.6)
batch (3.1.10)
batchai (0.1.5)
billing (0.1.7)
cdn (0.0.13)
cloud (2.0.12)
cognitiveservices (0.1.10)
command-modules-nspkg (2.0.1)
configure (2.0.14)
consumption (0.2.1)
container (0.1.18)
core (2.0.27)
cosmosdb (0.1.19)
dla (0.0.18)
dls (0.0.19)
eventgrid (0.1.10)
extension (0.0.9)
feedback (2.1.0)
find (0.2.8)
interactive (0.3.16)
iot (0.1.17)
keyvault (2.0.18)
lab (0.0.17)
monitor (0.1.2)
network (2.0.23)
nspkg (3.0.1)
profile (2.0.19)
rdbms (0.0.12)
redis (0.2.11)
reservations (0.1.1)
resource (2.0.23)
role (2.0.19)
servicefabric (0.0.10)
sql (2.0.21)
storage (2.0.25)
vm (2.0.26)
Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\E0460598.azure\cliextensions'
Python (Windows) 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)]
OS version : Windows 10 Enterprise
Shell Type : cmd.exe
Description:
Our VSTS build definition contains an Azure CLI task (to upload templates to Azure). The whole task is marked as failed because az storage blob upload-batch command writes info messages into stderr stream.
For example: "WARNING: uploading C:\xxxxxxx\AzureDeployment\Templates\demo.parameters.json"
The flag --no-progress disables the progress bar, but still info messages are written into stderr stream.
Could you write into stdout stream instead ? Or if --no-progress flag is used don't report at all.
The behavior can be simulated locally as well. Let's create a simple console app which starts a process and redirects the standard error stream of application.

We generally only write to stdout the output of the command being run (ussually some json payload).
To check the success/failure of a command, you should check the exit code, not the presence of information in stderr.

I see this behavior when running az storage blob upload from PowerShell ISE. For some reason it writes progress messages to stderr. However, it works fine from PowerShell console.


Working with MySQL 8 geometry types

Related Issues: 1172

Introduction
I have a model based on a MySQL table with a "point" type column. Retrieving rows works fine, since the point data converts to an object with an x and a y. Saving, though, does not work, whether I try to save an object with an x and y property or a string like this: "POINT(36.34, 33.4)". Is there a way to set up my model to save coordinate points without dropping down into the Knex raw SQL?
A sample of what I'm trying to achieve:
SET coordinates = POINT(36.34, 33.4) where id = 15;

What have you tried?

This is an out of the blue guess, but maybe using format you could return a { coordinates: knex.raw('POINT(?, ?)', [36.4, 36.4]) } object before it's persisted to database.
E.g:
class MyModel extends bookshelf.Model {
  format (attrs) {
    return {
      ...attrs,
      coordinates: bookshelf.knex.raw('POINT(?, ?)', [
        attrs.coordinates.x, attrs.coordinates.y
      ])
    }
  }
}

That works perfectly. Thank you!


[azopenai] removing two tests that were checking for an error code that wasn't official

/azp run go - azopenai