Misuse of wchar_t for UTF-16/32

Even though wchar_t does not have a well-defined size in C or C++, LittleCMS uses it to store UTF-16 strings.
The problem is that on platforms with a 32-bit wchar_t (e.g. Linux, OS X), each UTF-16 code unit (e.g. from a file) is simply cast to wchar_t by _cmsReadWCharArray which doesn't produce a valid UTF-32 sequence. To produce a valid UTF-32 sequence one would have to decode each Unicode code point from one or more UTF-16 code units.
To make things worse _cmsWriteWCharArray just down-casts wchar_t to cmsUInt16Number discarding the upper 16 bits of the UTF-32 code unit. This of course does not convert UTF-32 to UTF-16, as the correct conversion would be to decompose each Unicode code point into one or more UTF-16 code units.
Apart from these problems there is also a minor matter of wasted memory - each 32-bit wchar_t has 16 bits unused.
At the very minimum, I would propose documenting the fact that strings created by LittleCMS functions returning wchar_t arrays cannot be used as valid UTF-32 strings on platforms with a 32-bit wchar_t. Instead the user must do their own conversion, using the lower 16 bits of each value to form a valid UTF-16 sequence. And functions that take wchar_t strings should also be documented to take UTF-16 sequences where each code unit is stored in a wchar_t.
Of course, this behaviour is not intuitive or expected by the user and makes handling textual data with LittleCMS more complex (not to mention resource intensive, as each string conversion may require allocating extra memory). For instance, this confusion can cause issues such as #163.
That is why I also propose deprecating the functions that use wchar_t in favour of new functions that operate on some new cmsU16Character type (always 16-bit, name definitely up for discussion), and explicitly state that strings are encoded as UTF-16 in the native byte order. (I would say, just use char16_t but that would require C11/C++11, so a custom type is probably a better choice for compatibility). The new functions could use a UTF16 postfix.
With these new functions the internals would need to be reworked. Instead of storing Unicode text as wchar_t arrays, it should be stored as cmsU16Character arrays. As an added bonus, this would allow for more efficient I/O functions that could process multiple characters at once instead of a character at a time (with the byte-swapping if-statement needing to be called only once for character block).
The deprecated functions would just do the up/down-casting themselves instead of deferring that to the I/O layer.
Another issue that I see is with the ASCII functions as the conversion from UTF-16 to ASCII (cmsMLUgetASCII) is only valid if the original string has no non-ASCII code points in it. A better way to handle this may be to provide the ability to replace non-ASCII code points with a character of the user's choosing (e.g. ?). Of course this would require handling strings as actual sequences of code points instead of opaque code units. (I'm not 100% sure, but this probably doesn't even require fully decoding the UTF-32 code point from UTF-16, just skipping over some of the UTF-16 code units.)
P.S. I would be glad to create a pull-request with some of the proposed changes if a decision is made to proceed with them.

Thank you  for your comments. As you note, lcms use wchar_t to store utf16 codes and this is the only assumption it does. This is clearly stated in the manual that the char width is 16 bits. See MLU documentation. Utf32 is not supported, nor even mentioned in the documentation. wchar_t was chosen as transport type because at least can hold 16 bits and in some platforms it simplifies string handling. On other platforms, it makes some characters accessible with few effort (those in range 0..65536). In any case it doesnt intend to be a complete solution. I found many compatibility problems with string conversion functions, so I remove all of them for simplicity sake.Lcms2 development is on freeze and no new features will be incorporated right now. Otherwise your suggestions makes a lot of sense and for sure I will have them very present on future developments.Thanks again

Yes, any use of these functions requires a boilerplate to cast those 32-bit characters back to uint16. Otherwise no other library or API will read the strings correctly. Not a big deal but it is pretty unusual.
Not sure how to handle string literals. There is no equivalent in C99 for L"" which gives you 16-bit strings. C11 introduces u"" literals (which are arrays of char16_t).
“the ASCII functions [are] only valid if the original string has no non-ASCII code points in it” → correct. Don't use them if you are not 100% sure there are only ASCII characters.

Would it be possible/easier to solve this using UTF-8 on all platforms?

2.13 has some code to fix this issue. I left it open because it misses the write part, but the engine should now read and convert ICC's utf16 into utf32.


Parsing JSON

Hello,
I am not sure if this is a issue with my code, or a bug. I am getting a JSON response back and I have set:
Request.ResponseFormat = WebFormat.Json

However when I get the response, I can see the JSON in Response.Content, but if I try to access it with Response.Data("user_id") there is nothing.
In the watch window I can also see that Response.Data is empty.
I can however access the data if I use:
Set Json = JsonConverter.ParseJson(Response.Content)
Debug.Print Json("user_id")

Which correctly prints the user_id.
What am I doing wrong with Response.Data - is it a bug or am I missing something?
Ta
AG

There could be an error occurring during parsing. Parsing errors are currently handled internally and are not thrown, but they are logged to the Immediate Window of the VBA Editor (ctrl + g), so I would check that. If there are no parsing errors, I would need to see more of the code in order to diagnose.


Code Cleanup

Run BFG to remove some unnecessary files and refactor code to fit Unity's guidelines.

Latest commit cleans up the Sample scripts 0bd79b272000fde58d5089a15bd6ef3ee4ed5a8e.


Bugs when using bootstrap-wysihtml5 plugin

Your admin template was awesome,
But, there is a bug I found in textarea, when it's using bootstrap-wysihtml5.
You click insert link,
type some link,  then click button insert link,
after that you click link that inserted before and will pop up modal of insert link.
When you click cancel button, the bugs will appeared.
Would you like to solve this one?
Thanks,

Hello,
Please report this on the plugin's repo https://github.com/bootstrap-wysiwyg/bootstrap3-wysiwyg
Thank you for sharing!


Did the tags need to get rewritten during release?

Summary
Fetching origin
Fetching upstream
From github.com:appsody/stacks
 ! [rejected]        nodejs-express-v0.4.6 -> nodejs-express-v0.4.6  (would clobber existing tag)
error: Could not fetch upstream
Fetching kabanero
remote: Enumerating objects: 1, done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 1
Unpacking objects: 100% (1/1), 152 bytes | 152.00 KiB/s, done.
From github.com:kabanero-io/collections
 ! [rejected]        0.2.0      -> 0.2.0  (would clobber existing tag)
error: Could not fetch kabanero

Anyone running into this, delete your local tags and retry the fetch: git tag -d 0.2.0 nodejs-express-v0.4.6

@sam-github What were you trying to do here when you got this error?

% git help f
'f' is aliased to 'fetch --prune --all --tags'

^--- that


Feature Request: Have Muse Stay in Channel

Hi there, loving Muse so far. Would be nice if there was functionality to have it remain in the voice channel even when the queue is currently empty.
Thanks!

Hey Zereah!
There is a command for this
/config set-wait-after-queue-empties 0
This will basically just set it so it never leaves!
Hope it helps!

unfortunately on the current release setting this command with value 0 does not work even after restarting the bot completely. It did work in the past  @Br0mmie

I did it today and it worked perfectly

It is set, but will leave after the queue is empty after about a minute

Sorry mate but that is not whats happening on my end

And here is the proof

Hey Zereah!
There is a command for this /config set-wait-after-queue-empties 0
This will basically just set it so it never leaves!
Hope it helps!

Thanks for the tip! Had no idea that was available in the config (or that there were additional config options to begin with... oops.)


Notes for comparing our tx signing with cardano-sl implementation

Issue Number

#95
Overview

Investigation

[x] Root public keys match
[x] Address public keys match
[x] TxIns match
[x] Unsigned transactions match — Now they do!
[x] Tx hash match
[x] Sign tags / witness payload match
[x] Witnesses match
[x] Binary signed tx match

Action
We need not only to fix the errors, but

[ ] Refine manual test / create other test
[ ] Separate Signing code from CBOR binary encoding. The encoding is now awkwardly split between the two. (ok this might be unavoidable but I could have a look at it)
[ ] Maybe we could add some CBOR helpers (but still avoid replicating cardano-sl)
[ ] Would be nice to do this kind of testing more extensively — might actually be possible

Comments

checking ci

Closing in favour for smaller prs


Use released SDK 1.1 instead of SNAPSHOT

Draft: This will fail CI for a bit until the SDK 1.1 release propagation is finshed.

Codecov Report

Merging #341 (c064c3a) into main (f1d515e) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##               main     #341   +/-   ##
=========================================
  Coverage     88.85%   88.85%
  Complexity      335      335
=========================================
  Files            66       66
  Lines          1184     1184
  Branches         82       82
=========================================
  Hits           1052     1052
  Misses          121      121
  Partials         11       11

Impacted Files
Coverage Δ

...on/SalesforceFunctionsProjectFunctionsScanner.java
77.72% <100.00%> (ø)

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


⚠ Bofrost.de has degraded performance

In 4002f7f, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 2152 ms

Resolved: Bofrost.de performance has improved in 4eb79c7 after 9 minutes.


Add nuance speech provider

Added to:

Speech provider with credentials clientId and secret (the post request works)
Speech Synthesis Vendor with sample mapping of the voices (need your input @davehorton)
Speech Recognizer Vendor (I was not sure about this, please let me know)

Question for No2 above, what values do you need to be saved, @davehorton ? Currently, this is the mapping I used:
  {
    code: "en-US",
    name: "English (United States)",
    voices: [
      { value: "allison", name: "Allison (standard)", model: "standard" },
      { value: "ava-ml", name: "Ava-Ml (enhanced)", model: "enhanced" },
    ],
  },

or should we have voices[0].value" filled with the object like this:
{
	"language": "ar-ww",
	"name": "Laila",
	"model": "standard",
	"gender": "female"
}

Depends on what you need here.

The first mapping you show above looks good.  Let me pull and test this branch and will give more feedback shortly

The way you are showing it in the Applications dropdown looks fine, but under Speech Synthesis I only see choices for Arabic, Basque and English at the moment.  I presume that is because you are waiting for feedback before adding the rest?
However, I realize there is something special that we will need to do for Nuance when it comes to showing voices for speech synthesis and saving them to the server.
On the server, in the Applications table we store only a language and a voice (along with vendor) for the speech synthesis (tts) choice.  For instance
speech_synthesis_language: "ar-WW",
speech_synthesis_vendor:  "nuance"
speech_synthesis_voice: "tarik"

The problem is, with nuance it is possible that they can offer same {language, voice} in both "standard" and "enhanced" model.  So somehow we need to store the model in the DB along with the voice.
I would suggest that when you POST or PUT an update to /Applications you combine the selected voice & model and submit it like this in the payload
speech_synthesis_voice:  "miriam - standard"

Accordingly, when retrieving the tts voice for an application from the db you would need to parse the model from the string and set it based on that, as far as selecting the proper item in the dropdown to select.
Does that make sense?

Also, there is a problem with saving a speech credential.  When we save it, we also test it and currently since you dont have a valid client_id and secret this is going to fail.  Yet see below, the UI incorrectly says the credential is valid

Understood, take a look at the things you tested above.
Is Nuance also a Speech Recognizer? Or it is only AWS, Google and MS and Nuance should not be added there?

Yes, Nuance is also a recognizer so it should offer both stt and tts options (as you currently show it)

also @EgleHelms  can you pull the latest from the feature/nuance-speech for jambonz-api-server for your local testing?  I pushed some fixes there for returning better error info when the tts test fails

so I think I could fix the status check easily, this was just a missed check.

ok, let me know when all of the tts languages are in, I will retest then

I added all the languages to the map, but I am not sure if I will find a way to parse the "allison - standard" voice value today.  Since I am not totally sure where we need this exactly. The parsing should probably be in the place we are sending the data about the voice selected to the vendor. Somehow it seems like something for the backend.

@davehorton I added all the languages to the map, but I am not sure if I will find a way to parse the "allison - standard" voice value today. Since I am not totally sure where we need this exactly. The parsing should probably be in the place we are sending the data about the voice selected to the vendor. Somehow it seems like something for the backend.

Good point.  Let me see what I can do on the back end.

@kitajchuk I would like to merge this PR, could you take a quick look and give a review?

@kitajchuk I would like to merge this PR, could you take a quick look and give a review?

Yes, sorry 😅


Update ModelClassDiagram

Add LoanSequenceDiagram
Add loan feature implementation details to developer guide.
Resolve #125

Codecov Report

Merging #129 (dd1fe91) into master (8d39a3c) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #129   +/-   ##
=========================================
  Coverage     59.14%   59.14%
  Complexity      454      454
=========================================
  Files           104      104
  Lines          1711     1711
  Branches        177      177
=========================================
  Hits           1012     1012
  Misses          631      631
  Partials         68       68

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


Use numerical instead of alphabetical order in the navigation view

Is your feature request related to a problem? Please describe.
Gates in the navigation tree are currently sorted strictly by alphabetical order. This causes sort orders like this:
LUT_1 LUT_10 LUT_11 LUT2 LUT3 [...]
whereas the more "natural" sort order would be:
LUT_1 LUT2 LUT3 [...]  LUT_10 LUT_11
Describe the solution you'd like
The sorting algorithm should detect numbers at the same place in the gate names and sort by number where applicable.
Describe alternatives you've considered
Maybe put a toggle for this in the settings?
Additional context
@devhoffmann Would you consider this for the "new graph views" project?

Closed in #196


Istio v2: Grafana Addon

[x] Ensure Rancher monitoring's grafana can be used.
[x] Ensure that grafana dashboards are being installed/updated and working properly. See new guide, ideally we can bundle that in our installer.

PR available here: https://github.com/rancher/istio-installer/pull/13

rancher/rancher:v2.5-head 0465f04
Chart test, so not needed on master-head

Create a cluster
Deploy a cluster
Enable Rancher monitoring
Enable Istio with ingress gateway
Deploy some demo app and create traffic
Navigate to Grafana from Rancher Monitoring overview page
All new graphs are shown and contain some data -- these graphs come from Istio so did not do excessive testing


update NCBI EGAPx to the latest version

TODO: Please replace this header with a description of your pull request.
Installation sequence for tool-installers

[ ] Test using @galaxybot test this
[ ] Inspect CI output for expected changes
[ ] Deploy using @galaxybot deploy this if test install was successful
[ ] Merge this PR

@galaxybot deploy this


installing

Hi, i'm trying to install ngx-qrcode but when finish to, appears this

after that I try to generate a QR code using ionic app, but I can't

Maybe you're using app is using the old Ionic that uses old version of Angular, try updating your app
https://forum.ionicframework.com/t/guide-how-to-update-to-ionic-3-x/87516

Please try with @mautematico/ngx-qrcode until #15 gets merged.
However, you are going to fall into #10 if you use ng build --prod.

Fixed by #15.
Please check and confirm


I take it this command is just to enter a container without going through the daemon?

Does it set the SELinux label correctly?  Does it drop to the corect Capabilities?  In the future do we want to setup the correct usernamespace and seccomp?

Yes, this is to enter a container w/o going through the daemon. @mrunalp can you answer Dan's other questions?

@rhatdan This uses libcontainer code and so does the right thing w.r.t. capabilities and labels. As we vendor in newer versions, we will get newer features as well.

Awesome.  Is this something we should productise outside of openshift?  Calling it dockerexec might not be the best name...

Yeah, I agree that the name isn't very good. You can try pitching and see if it makes sense to productise it and have a better name :)

containerjoin
cjoin
transporter

ctrenter to add to the mix (similar to nsenter)

/close


[bug] Some GIF images cannot be displayed in the image management interface

Some GIF images cannot be displayed in the picture management interface, while others can. I can't find a pattern among them.

Can't be displayed at all or don't play when displayed? And is this in the main gallery or block gallery? (for the most part they should be the same, but the active thumbs setting in the block gallery uses some svelte cod that I don't have as much control over)
If you have an example file that does not work(and you don't mind sharing it) it would help me to troubleshoot the issue.

That's a bug alright. I probably messed up my regex somewhere. Thank you for the info!


[BUG] client.helpers.bulk causes DeserializationError on batches of records with both INSERT and DELETE operations

Error:
I found this bug while using the client.helpers.bulk helper function. When sending a batch of records into the function I was met with the following error: DeserializationError: Unexpected token u in JSON at position 0. This error is the result of trying to use the bulk helper on an array of records with both INSERT and DELETE operations.
Code:
I was able to reproduce my error in the following script using a basic mock client and a simple batch of records as input.
#!/usr/bin/env node

const { Client } = require('@opensearch-project/opensearch');
const Mock = require('@elastic/elasticsearch-mock');

const mock = new Mock();

const client = new Client({
  node: 'http://localhost:9200',
  Connection: mock.getConnection(),
});

mock.add({
    method: 'POST',
    path: '/_bulk',
  }, () => ({
    errors: true,
    items: [
      { index: { _index: index, _id: '1', status: 404 } },
      { delete: { _index: index, _id: '2', status: 404 } },
      { index: { _index: index, _id: '3', status: 404 } },
    ],
  }));

const index = 'TEST_INDEX_NAME';

const testRecords = [
  { id: '1', key: 'test1' },
  { id: '2', key: 'test2', operation: 'remove' },
  { id: '3', key: 'test3' },
];

async function bulkTest () {
  const result = await client.helpers.bulk({
    datasource: testRecords,
    onDocument(doc) {
      if (doc.operation === 'remove') {
        return {
          delete: { _index: index, _id: doc.id },
        };
      }
      return {
        index: { _index: index, _id: doc.id },
      };
    },
    onDrop(doc) {
      console.log(doc);
    },
  });
  return result;
};

(async function() {
    const result = await bulkTest();
    console.log(result);
})();

The output of this script (test.js) is:
$ ./test.js
{
  status: 404,
  error: undefined,
  operation: { index: { _index: 'TEST_INDEX_NAME', _id: '1' } },
  document: { id: '1', key: 'test1' },
  retried: false
}
{
  status: 404,
  error: undefined,
  operation: { id: '1', key: 'test1' },
  document: null,
  retried: false
}
/@opensearch-project/opensearch/lib/Serializer.js:65
      throw new DeserializationError(err.message, json)
      ^
DeserializationError: Unexpected token u in JSON at position 0
    at Serializer.deserialize (/@opensearch-project/opensearch/lib/Serializer.js:65:13)
    at /@opensearch-project/opensearch/lib/Helpers.js:739:34
    at onBody (/@opensearch-project/opensearch/lib/Transport.js:368:9)
    at Class.onEnd (/@opensearch-project/opensearch/lib/Transport.js:285:11)
    ...
  data: undefined
}

Problem:
In the spirit of trying to make fewer but larger bulk calls in order to maximize efficiency, I added a new field (operation) to each 'delete' record in my lambda handler function. This lets me send all records, regardless of their operation, into one client.helpers.bulk call (as can be seen above). However, client.helpers.bulk produces this error for batches of records that contain both types of operations.
Stepping through the code, I was able to pinpoint this error as coming from a nonuniform stride of two arrays, bulkBody and items from Helper.js. In this line, opensearch is trying to create an index (indexSlice) for bulkBody to find a document that corresponds to the current index of items. Since the batch has both index and delete operations, bulkBody is an array of operation objects AND document objects (because indexed records add both to this array, but deleted records only add one). So, you no longer can use just the index of a record in items to find its corresponding document in bulkBody.
In the event of an error, this incorrect indexSlice value causes problems when trying to grab the right document to retry and trying to display the correct OnDrop output, seen here. In my case, the value pulled from the indexSlice + 1 index of bulkBody is undefined (it is out of the scope of the array). Therefore, the value undefined is unable to deserialize here and the DeserializationError occurs.
Solution:
Maybe indexSlice can be calculated correctly by adding some way to count how many records in the array were 'deletes' so far and doing some fancy math!

Would you have a suggestion as to the optimal data structure that should be output?


feat: add scale encode and decode as traits to CurrencyId.

The Pr adds the following things,

[x] scale encode and decode as a trait to CurrencyId, it is a dependency for PR #483, so that Static type wrapping can be avoided for CurrenctId

More details: https://github.com/paritytech/subxt/issues/1040


Unexpected token on version 4.10.0

Since I got the latest version, my webpack build now fails.
Unexpected token: name (len) [./~/asn1.js/lib/asn1/decoders/der.js:58,0][vendor.js:93723,6]
  in undefined

My dependency tree is
`--<EMAIL_ADDRESS>  `--<EMAIL_ADDRESS>    `--<EMAIL_ADDRESS>      `--<EMAIL_ADDRESS>        `--<EMAIL_ADDRESS>          `--<EMAIL_ADDRESS>

I've just tried it with<EMAIL_ADDRESS>and 3.x and it appears to be working... If it might be possible to isolate - would you care to share some code that reproduces the issue?

FWIW, the code at that line looks pretty normal:
  let len = derDecodeLen(buffer,
    decodedTag.primitive,
    'Failed to get length of "' + tag + '"');

I'll see what I can do. Maybe that part of the build doesn't understand es6 constructs...

Not sure but having the same problem, uglify-js is the one who generates the error.

ERROR in js/vendor.876e7517549e49515645.js from UglifyJs
Unexpected token: name (len) [./~/asn1.js/lib/asn1/decoders/der.js:58,0][js/vendor.876e7517549e49515645.js:37953,6]

I can reproduce it too now! Had to use -p flag for webpack to enable uglify. Let's see what's causing it.

Okay, I think I'm going to unpublish the update and do a major bump. It looks like the babel is mandatory now and wasn't mandatory before.

Alright, all is unpublished now. Thank you for reporting. Please let me know if the error persists.

Solved my problems, thanks 👍

Fixed my problem, too. Thanks.


example panics

Hi there,
The provided example starts well and shows the information on the metrics page http://<IP_ADDRESS>:8000/metrics, but then panics at some point:
2023-05-02T09:35:27.129597Z DEBUG hyper::proto::h1::conn: incoming body is empty
thread 'tokio-runtime-worker' panicked at 'new: 0.000110958 >= past: 0.000119583', src/task.rs:272:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
2023-05-02T09:35:27.132073Z DEBUG hyper::proto::h1::io: parsed 12 headers
2023-05-02T09:35:27.132113Z DEBUG hyper::proto::h1::conn: incoming body is empty
thread 'tokio-runtime-worker' panicked at 'new: 0.000110958 >= past: 0.000119583', src/task.rs:272:9
2023-05-02T09:35:27.133559Z DEBUG hyper::proto::h1::io: parsed 12 headers
2023-05-02T09:35:27.133587Z DEBUG hyper::proto::h1::conn: incoming body is empty
thread 'tokio-runtime-worker' panicked at 'new: 0.000110958 >= past: 0.000119583', src/task.rs:272:9
2023-05-02T09:35:27.134570Z DEBUG hyper::proto::h1::io: parsed 12 headers
2023-05-02T09:35:27.134593Z DEBUG hyper::proto::h1::conn: incoming body is empty
thread 'tokio-runtime-worker' panicked at 'new: 0.000110958 >= past: 0.000119583', src/task.rs:272:9
2023-05-02T09:35:27.135544Z DEBUG hyper::proto::h1::io: parsed 12 headers
2023-05-02T09:35:27.135570Z DEBUG hyper::proto::h1::conn: incoming body is empty
thread 'tokio-runtime-worker' panicked at 'new: 0.000110958 >= past: 0.000119583', src/task.rs:272:9
2023-05-02T09:35:27.136488Z DEBUG hyper::proto::h1::io: parsed 12 headers
2023-05-02T09:35:27.136517Z DEBUG hyper::proto::h1::conn: incoming body is empty
thread 'tokio-runtime-worker' panicked at 'new: 0.000110958 >= past: 0.000119583', src/task.rs:272:9
2023-05-02T09:35:27.137841Z DEBUG hyper::proto::h1::io: parsed 12 headers
2023-05-02T09:35:27.137874Z DEBUG hyper::proto::h1::conn: incoming body is empty

This is in debug release.
It panics after sending many requests to /send_email
Also I've noticed that instrumented_count doesn't decrease for "get_user".
# HELP tokio_task_instrumented_count The number of tasks instrumented.
# TYPE tokio_task_instrumented_count gauge
tokio_task_instrumented_count{task="email"} 1
tokio_task_instrumented_count{task="get_user"} 24

Thank you for the feedback. I will try to resolve this issue in the coming days.

About the first issue, I believe I demonstrated an incorrect usage in example/server.rs where a monitor with the same label should not be added repeatedly. This would cause data to overwrite each other.
https://github.com/Hanaasagi/tokio-metrics-collector/blob/fed5eeb184fddf96a86da5111f137e856bc54c50/examples/server.rs#L57-L60
About the second issue, this is indeed a bug where the values were calculated as Counter.
Fixed in https://github.com/Hanaasagi/tokio-metrics-collector/pull/5 and released 0.2.0. If there are any other problems, feel free to reopen this issue.

Thank you @Hanaasagi, will give it a try!

Thanks @Hanaasagi it doesn't crash anymore.


Null object reference in onAnimationUpdate

Thanks for stopping by to let us know something could be better!

PLEASE READ
If you have a support contract with Google, please create an issue in the support console. This will ensure a timely response.
Discover additional support services for the Google Maps Platform, including developer communities, technical guidance, and expert support at the Google Maps Platform support resources page.
If your bug or feature request is not related to this particular library, please visit the Google Maps Platform issue trackers.
Check for answers on StackOverflow with the google-maps tag.

Please be sure to include as much information as possible:
Summary
Maps crashing app randomly with this error
Attempt to read from field 'double com.google.android.gms.maps.model.LatLng.latitude' on a null object reference in method 'void com.google.maps.android.clustering.view.DefaultClusterRenderer$AnimationTask.onAnimationUpdate(android.animation.ValueAnimator)'
  com.google.maps.android.clustering.view.DefaultClusterRenderer$AnimationTask.onAnimationUpdate(DefaultClusterRenderer.java:1173)
  android.animation.ValueAnimator.animateValue(ValueAnimator.java:1653)
  android.animation.ValueAnimator.setCurrentFraction(ValueAnimator.java:775)
  android.animation.ValueAnimator.setCurrentPlayTime(ValueAnimator.java:738)

Expected behavior

no crash/ignore the animation when the marker/point is not available anmyore (or not yet)

Observed behavior
I'm using Google Maps as a 3rd party module in a Titanium SDK app. The problem happens very rarely and I can't reproduce it with code. As far as I see it occurs sometimes when the app is starting and the map is loaded in an off-screen view (different tab).
Using a custom defaultClusterMarker with a simple null check makes it work again.
Environment details

Pixel 7
Android 13
'com.google.android.gms:play-services-maps:18.1.0 and 'com.google.maps.android:android-maps-utils:2.4.0

Steps to reproduce
If you can reproduce using the demo app in the project, it helps us troubleshoot faster.

?

Code example
# example

Stack trace
# example

Following these steps will guarantee the quickest resolution possible.
Thanks!

If you would like to upvote the priority of this issue, please comment below or react with :+1: so we can see what is popular when we triage.
@m1ga Thank you for opening this issue. 🙏
Please check out these other resources that might help you get to a resolution in the meantime:

Check the issue tracker - bugs and feature requests for Google Maps Platform APIs and SDKs
Open a support case - Get 1:1 support in Cloud Console.
Discord - chat with other developers
StackOverflow - use the google-maps tag

This is an automated message, feel free to ignore.


Local development on M1 machine using Intel process

Version:  13.5.1
Target: .net 6 mac arm64 (Mac M1 pro)

Steps to Reproduce:

Start a brand new ASP.NET Core 6 project
Add Electron.NET
Run it on a Mac M1 (electronize start /watch)

It runs fine, but laggy since it's using an Intel process with Rosetta instead of native Apple Silicon

How do I get to run a development envinronment with Apple Silicion process instead of Intel?

I don't think this is yet supported as it needs integration with the Arm version of electron to work correctly


Better solution for generated cover / og images

With the move to App Router, we now have a setup that statically generates cover images for a lot of pages + these get committed to GH so they are not part of the main build process since it takes 1h+. The drawback of this setup is that there's now hundreds of MBs of generated files in the Git repo.
The best solution is probably gitignore them and instead upload them to something like S3, but the nice part about the current setup is that they're still under the main domain.

Quick update on the current situation:
We changed the generation process and moved it back into the build process, so these images are no longer stored in the git repo. But now build time is ~15 minutes average because it regenerates the images every build.
Ideal situation would be that we don't have to store the images elsewhere, but we can somehow make it so that they only get re-generated in the build pipeline IF there are changes in specific files, or if we manually set a flag or something.
The next best thing is to store the images somewhere else (e.g. s3), remove the generation from the "regular" build pipeline, and add a new "build images" pipeline that generates the images + pushes them to s3, which can happen in a GitHub workflow.

Rosco and I discussed this issue and asked ourselves what problem we want to solve. We concluded that we want to mitigate the risk of patching a critical issue and having to wait for the build before the site is patched. Every minute counts, and in that scenario, OG images are not as important. Therefore, we decided to add an environment variable that can be set to skip the OG image generation. This way, a critical patch can go live quickly.


Updated readme

Changed the file name to BAJUKA.md and few other changes

Initially the file name was shravan.md


Setup Code Linting on Pull Requests

Angular/Python

Q: Python formatter: autopep8; black; yapf.

Javascript/HTML/CSS linting is not so feasible.
May revisit in future.


[5.4] DB::setFetchMode(PDO::FETCH_ASSOC) in Laravel 5.4

use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'database',
    'username'  => 'root',
    'password'  => 'password',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
]);

$capsule->setFetchMode(PDO::FETCH_ASSOC);

$capsule->setAsGlobal();
$capsule->bootEloquent();

$capsule->setFetchMode(PDO::FETCH_ASSOC); not working? return object
prompt. is now set FetchMode if the database is used not laravel?

Check out upgrade guide (https://laravel.com/docs/5.4/upgrade):

Fetch Mode
Laravel no longer includes the ability to customize the PDO "fetch mode" from your configuration files. Instead, PDO::FETCH_OBJ is always used. If you will still like to customize the fetch mode for your application you may listen for the new Illuminate\Database\Events\StatementPrepared event:
Event::listen(StatementPrepared::class, function ($event) {
$event->statement->setFetchMode(...);
});

@themsaid @mariomka Of course, I read this documentation
but through this event also does not work
use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'database',
    'username'  => 'root',
    'password'  => 'password',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
]);

$capsule->setFetchMode(PDO::FETCH_ASSOC);

$capsule->setAsGlobal();
$capsule->bootEloquent();

$dispatcher = new Illuminate\Events\Dispatcher;
$dispatcher->listen(Illuminate\Database\Events\StatementPrepared::class, function ($event) {
    $event->statement->setFetchMode(PDO::FETCH_ASSOC);
});

@taylorotwell Please return back $capsule->setFetchMode(...);

 Retarded. Simply retarded, no way around it.

It's not intended for people to try to change this setting anymore.

This does not work for me neither:
$dispatcher = new Illuminate\Events\Dispatcher;
$dispatcher->listen(Illuminate\Database\Events\StatementPrepared::class, function ($event) {
    $event->statement->setFetchMode(PDO::FETCH_ASSOC);
});

Can you put an example of how implement the listener please

Another downside of needing to set the fetch mode via event listener, you lose it when mocking events in unit tests. Currently event mocking is all or nothing, as soon as you want to mock and test one event, your new setFetchMode event will then not be fired.

@GrahamCampbell Can you please expand on why it is no longer intended for people to change the fetch mode?
If we are no longer supposed to, why is it mentioned in the docs that you CAN keep using FETCH_ASSOC if you really want to, you just now have to use an event listener, which is a hacky workaround for something that was totally simple before. In this section of the docs it doesn't say that doing so will break anything, so there must not be any internal reason why you can't use FETCH_ASSOC, but rather a convention you are arbitrarily forcing on people?
You took something simple and flexible, a config value or a public setter, and made it inflexible and problematic (the event listener method breaks when mocking events in tests). Why?

Added proposal to laravel/internals#546 for some hopeful feedback.

For me the FETCH_ASSOC mode allows for a much simpler and far more resource efficient way to export large chunks of data into Excel.  It's a useful feature, not often used but worth keeping around.

I just want to drop it for this reason.

$capsule = new Capsule();
$capsule->addConnection([
'driver' => 'mysql',
'host' => '',
'database' => '',
'username' => '',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
'prefix' => ''
]);
$dispatcher = new Illuminate\Events\Dispatcher;
$dispatcher->listen(Illuminate\Database\Events\StatementPrepared::class, function ($event) {
$event->statement->setFetchMode(PDO::FETCH_ASSOC);
});
$capsule->setEventDispatcher($dispatcher);
$capsule->setAsGlobal();
$capsule->bootEloquent();

Eloquent is used outside of Laravel. Also, how in the hell is this an issue, why remove something that is common, worked, and obviously affects people?

This is what I do
 $capsule = new Manager();
        $capsule->addConnection($dbConfig);
        $capsule->setAsGlobal();
        $capsule->bootEloquent();
        $connection = $capsule->getConnection();
        $connection->enableQueryLog();
        $dispatcher = new Dispatcher();
        $dispatcher->listen(StatementPrepared::class, function ($event) {
            $event->statement->setFetchMode(PDO::FETCH_ASSOC);
        });
        $dbName = $dbConfig['database'];
        $dispatcher->listen(QueryExecuted::class, function ($event) use ($dbName) {
            $sql = str_replace("?", "'%s'", $event->sql);
            $query = vsprintf($sql, $event->bindings);
            $context = ['connection' => $dbName, 'sql' => $query, 'time' => $event->time];
            Logger::makeLogger()->info('query', $context);
            Log::info('query', $context);
        });
        $connection->setEventDispatcher($dispatcher);
        return $connection;

I don't agree with the author. The setFetchMode is obviously a better way of doing this, which has been removed. read code in illuminate\database\connection.php you will find the answer. this is not a bug, but a personal flavor.

You can use the options parameter to work around stupid.
'driver'   => 'pgsql',
...
'options'  => [
	PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]

Коллеги, вы все ищите решение проблемы, а кто нибудь знает почему был выбран такой режим выборки.

What I don't understand is that there are methods native to Laravel that will reject PDO objects and demand an array.  Specifically class DB.  Why demand array if you are going make it next to impossible to let us give you one.

What I don't understand is that there are methods native to Laravel that will reject PDO objects and demand an array. Specifically class DB. Why demand array if you are going make it next to impossible to let us give you one.

 We're migrating a legacy system into a new project and we're working with very large sets of data and we need to do an extra step to convert that pdo object into an array because DB::insert won't work with objects... a totally unneeded step, for every record we grab from the database.... I roll my eyes every time I think of this....

Theres another option I find to by pass it
Add env DB_FETCHMODE=FETCH_ASSOC
In config/database add for connections.mysql 'fetch_mode' => env('DB_FETCHMODE', 'FETCH_ASSOC'),
In illuminate/datbase/connection.php replace prepared function with
protected function prepared (PDOStatement $statement){     $config = $this->config;    $statement->setFetchMode($config['fetch_mode'] == "FETCH_OBJ" ? 5 : ($config['fetch_mode'] == "FETCH_NUM" ? 3 : 2)); $this->event(new Events\StatementPrepared(             $this,             $statement         )); return $statement; }
This make default FETCH_ASSOC for your application
Then if you want to change it like before,
add config(['database.connections.mysql.fetch_mode' => 'FETCH_OBJ']);
a replacement of DB::setFetchMode(PDO::FETCH_ASSOC);

what we talk about earlier is how to achieve the goal whithout modifying the library code
------------------ Original ------------------
From: Debanjan Ganguly<EMAIL_ADDRESS>Date: Tue,Oct 1,2019 1:52 PM
To: laravel/framework<EMAIL_ADDRESS>Cc: Frost Wong<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [laravel/framework] [5.4] DB::setFetchMode(PDO::FETCH_ASSOC) in Laravel 5.4 (#17557)
Theres another option I find to by pass it
Add env DB_FETCHMODE=FETCH_ASSOC
In config/database add for connections.mysql 'fetch_mode' => env('DB_FETCHMODE', 'FETCH_ASSOC'),
In illuminate/datbase/connection.php replace prepared function with
protected function prepared (PDOStatement $statement){ $config = $this->config; $statement->setFetchMode($config['fetch_mode'] == "FETCH_OBJ" ? 5 : ($config['fetch_mode'] == "FETCH_NUM" ? 3 : 2)); $this->event(new Events\StatementPrepared( $this, $statement )); return $statement; }
This make default FETCH_ASSOC for your application
Then if you want to change it like before,
add config(['database.connections.mysql.fetch_mode' => 'FETCH_OBJ']);
a replacement of DB::setFetchMode(PDO::FETCH_ASSOC);
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Theres another option I find to by pass it
Add env DB_FETCHMODE=FETCH_ASSOC
In config/database add for connections.mysql
'fetch_mode' => env('DB_FETCHMODE', 'FETCH_ASSOC'),
In illuminate/datbase/connection.php replace prepared function with
protected function prepared (PDOStatement $statement){ $config = $this->config; $statement->setFetchMode($config['fetch_mode'] == "FETCH_OBJ" ? 5 : ($config['fetch_mode'] == "FETCH_NUM" ? 3 : 2)); $this->event(new Events\StatementPrepared( $this, $statement )); return $statement; }
This make default FETCH_ASSOC for your application
Then if you want to change it like before,
add config(['database.connections.mysql.fetch_mode' => 'FETCH_OBJ']);
a replacement of DB::setFetchMode(PDO::FETCH_ASSOC);

@lovelock If laravel official don't return it back to us, we have to bypass it. And how should you do it without modifying library code a little. What I did was just passing PDO fetch method to config data and achieve the same thing dynamically

We can use event listener as I metioned before. The problem of modifying the library code is upgrading the packge. What I don’t understand is why there is nobody send pr to this issue 😂
------------------ Original ------------------
From: awesomedeba10<EMAIL_ADDRESS>Date: Tue,Oct 1,2019 2:00 PM
To: laravel/framework<EMAIL_ADDRESS>Cc: Frost Wong<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [laravel/framework] [5.4] DB::setFetchMode(PDO::FETCH_ASSOC) in Laravel 5.4 (#17557)
@lovelock If laravel official don't return it back to us, we have to bypass it. And how should you do it without modifying library code a little. What I did was just passing PDO fetch method to config data and achieve the same thing dynamically
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Any news for Laravel 6
On Tue, Oct 1, 2019 at 1:33 AM Frost Wong<EMAIL_ADDRESS>wrote:

We can use event listener as I metioned before. The problem of modifying
the library code is upgrading the packge. What I don’t understand is why
there is nobody send pr to this issue 😂
------------------ Original ------------------
From: awesomedeba10<EMAIL_ADDRESS>Date: Tue,Oct 1,2019 2:00 PM
To: laravel/framework<EMAIL_ADDRESS>Cc: Frost Wong<EMAIL_ADDRESS>Mention <
<EMAIL_ADDRESS>Subject: Re: [laravel/framework] [5.4] DB::setFetchMode(PDO::FETCH_ASSOC)
in Laravel 5.4 (#17557)
@lovelock If laravel official don't return it back to us, we have to
bypass it. And how should you do it without modifying library code a
little. What I did was just passing PDO fetch method to config data and
achieve the same thing dynamically
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/laravel/framework/issues/17557?email_source=notifications&email_token=AKPGZDPWIZOXZQEDNQGAJTDQMLVMZA5CNFSM4C5YUNJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAAEPVY#issuecomment-536889303,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKPGZDKSMRQIY7WWIQ6PTJTQMLVMZANCNFSM4C5YUNJA
.

@JustinLawrenceMS actually its still same as of laravel 6, and the code I provide, it was in laravel 6.0.4 latest as of now

Can anyone tell the reason why setFetchMode is removed from laravel?

Hi any update?

This is what I’m doing to get my associative array.
$x = DB::select($sql);
$assoc = json_decode(json_encode($x), true);
dd($assoc);
On Wed, Sep 16, 2020 at 2:57 AM kmacute<EMAIL_ADDRESS>wrote:

Hi any update?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/laravel/framework/issues/17557#issuecomment-693241457,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKPGZDIFN3YILDJBC52TXTTSGBVYNANCNFSM4C5YUNJA
.

Hey everyone,
I'm locking this issue because it either has gone off-topic, become a dumping ground for things which shouldn't be in an issue tracker or is just too old. Please try to discuss things further on one of the below channels:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC


missing routes/quazar.php

i get this error when traying to run php artisan vendor:publish
App\Providers\RouteServiceProvider::App\Providers\{closure}(): Failed opening required '/home/u432927737/public_html/taspagrafer _site/routes/quazar.php' (include_path='.:/opt/alt/php71/usr/share/pear')
i can't find routes/quazar.php in my routes folder.

This package is undergoing some large changes and is being rebranded, the release is coming soon


ordering for lifecycle listeners, fix equality in SafeLifecycleListener

LifecycleManager uses a HashSet for discovered LifecycleListeners, providing unpredictable invocation order for callback methods.  Changed over to LinkedHashset so that LifecycleListener callbacks are called in same order as the listeners were added.
Added reverse-ordering for calling LifecycleListener.onStopped(), to ensure that listeners have best opportunity to 'tear down' any changes made in LifecycleListener.onStarted().

LGTM.  had just one small nit :)

found some opportunities on Friday while making the change you'd suggested.  There was an issue with @PreDestroy not getting invoked for instances that had been @PostConstruct'd, if any of the LifecycleListeners threw an exception from OnStarted.  That's been fixed.
Also worked on exception handling, so that the thrown exception won't be wrapped in an InvocationTargetException if it can be avoided.  This allows the unit test 'LifecycleModuleTest' to work again, in cases where it expected specific failure types like AssertionError or RuntimeException.  That unit test was expanded to cover both RuntimeExceptions and Errors thrown from each of the lifecycle methods: PostCreate, OnStarted, OnStopped, and PreDestroy.
Lastly, I made some logging changes after looking at the unit test output.  LogManager now reports its starting, started, and stopped state changes; LifecycleListeners indicate when / which exception is responsible for an onStopped invocation; some work was done to prevent exceptions from being logged multiple times (i.e., by each LifecycleListener).   A good portion of that work is subjective improvement, please let me know what you think...


[dynamic-shapes] Ensure that the axis_size_env is passed to sub contexts

I did not add new tests, these were discovered with the jax2tf primitives tests when run with --jax-dynamic-shapes.


Fix some (potential dead)locks

See individual commits.

FYI, travis is failing due to https://github.com/dashpay/dash/pull/1979

Rebased to incorporate #1979 and re-trigger Travis, no other changes.
Old commits for the reference:
3afb87a Avoid locking cs_main in CMasternode/Ping/Broadcast  …
4ed5a5e Ensure consistent locking order (cs_main, cs_wallet, mempool.cs, cs_i…  …
5565991 Add missing locks in wallet
0f7e84f Add missing locks in governance
https://github.com/dashpay/dash/pull/1977/commits/aa4fefcec6515eebb9ced9dde02bc27388b2dd39 Fix cs_vPendingMasternodes vs cs_main potential deadlock  …

Wine build timed out which is ok-ish and no-wallet/debug build is ok now. Merging.


kotlin data classes

Hello, the wiki says that kotlin data classes can be entities but there is no syntax example. Can you provide one or point me towards one?
Thanks!

I thought kotlin data classes could not be extended...

I didn't think so either but last I looked at them the language was in beta. The wiki does claim its possible though.

I made Kotlin my language No.1 and sadly it's currently not possible. When you try to make a data class non-final it says Modifier 'data' in incompatible with 'open'. Used version 1.0.4.
I saw in some discussion it will be available in a future version but I don't remember the source.

Dang thats too bad, I wonder if you can mix the google's autovalue with a
regular kotlin class to achieve the same goal. I guess its not a huge
hassle to just use java models but everything kotlin is just more fun :)
On Thu, Sep 15, 2016 at 10:19 AM, Eugen Pechanec<EMAIL_ADDRESS>wrote:

I made Kotlin my language No.1 and sadly it's currently not possible. When
you try to make a data class non-final it says Modifier 'data' in
incompatible with 'open'. Used version 1.0.4.
I saw in some discussion it will be available in a future version but I
don't remember the source.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/requery/requery/issues/287#issuecomment-247359215,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA2ZBZOyDRUpXtP3is3sIK6xywJMCOubks5qqWITgaJpZM4J9L4h
.

--
Nathan Schwermann
785-312-0080

Hi yes an example of this will be added. requery doesn't extend the data class but generates another separate class containing the entity information. It's treated the same as an immutable java class (e.g. like AutoValue) and has the limitations stated here.

It seems like using a data class isn't required. If you use a kotlin interface and make all of the properties values rather than variables the end result gives an immutable class with hash and equals implemented.

@npurushe Would you be able to publish a quick example using data classes ? Currently I am facing a few issues when using data classes.

The name of the generated class name is the same as the original kotlin data class.
The generated class builder build method passes the params in reverse order to the constructor.

I think your issue is the class needs to be in its own kotlin class file
not a script file
On Nov 10, 2016 4:22 PM, "carlospaulino"<EMAIL_ADDRESS>wrote:

@npurushe https://github.com/npurushe Would you be able to publish a
quick example using data classes ? Currently I am facing a few issues when
using data classes.

The name of the generated class name is the same as the original
kotlin data class.
The generated class builder build method passes the params in
reverse order to the constructor.

[image: screen shot 2016-11-10 at 6 21 24 pm]
https://cloud.githubusercontent.com/assets/625538/20196786/ae4fc44a-a772-11e6-99a4-1d059d89488e.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/requery/requery/issues/287#issuecomment-259825344,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA2ZBV7KaiODVxlppNZ1pP82QsjXuoyuks5q85k-gaJpZM4J9L4h
.

@schwiz I am not following. My kotlin class its own class not a script file. The screenshot that I posted above is from the class generated by requery
@io.requery.Entity
data class RequestStatus constructor(@SerializedName("Id") val id: String,
                                     @SerializedName("Name") val name: String,
                                     @SerializedName("IsClosed") val closed: Boolean) : Persistable

My mistake
On Nov 10, 2016 5:22 PM, "carlospaulino"<EMAIL_ADDRESS>wrote:

@schwiz https://github.com/schwiz I am not following. My kotlin class
its own class not a script file. The screenshot that I posted above is from
the class generated by requery
@io.requery.Entity
data class RequestStatus constructor(@SerializedName("Id") val id: String,
@SerializedName("Name") val name: String,
@SerializedName("IsClosed") val closed: Boolean) : Persistable
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/requery/requery/issues/287#issuecomment-259837538,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA2ZBXj41mY4PUSzM8Wu1gjALUd3gvXKks5q86cZgaJpZM4J9L4h
.

The parameter ordering is a problem because kapt doesn't given the parameter names to the annotation processor so this is something has to be worked around


Releasing 0.4.1

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #148 into master will increase coverage by 5.19%.
The diff coverage is 77.94%.

@@           Coverage Diff            @@
##           master   #148      +/-   ##
========================================
+ Coverage    82.8%    88%   +5.19%
========================================
  Files          90     91       +1
  Lines        2367   2375       +8
  Branches      231    230       -1
========================================
+ Hits         1960   2090     +130
+ Misses        362    243     -119
+ Partials       45     42       -3

Impacted Files
Coverage Δ

emukit/quadrature/interfaces/base_gp.py
75% <ø> (ø)
:arrow_up:

emukit/quadrature/kernels/integral_bounds.py
100% <ø> (+30%)
:arrow_up:

...benchmarking/loop_benchmarking/benchmark_result.py
100% <ø> (+100%)
:arrow_up:

emukit/__version__.py
0% <0%> (ø)
:arrow_up:

emukit/quadrature/loop/quadrature_loop.py
47.36% <0%> (ø)
:arrow_up:

...loops/cost_sensitive_bayesian_optimization_loop.py
85.71% <0%> (ø)
:arrow_up:

emukit/core/parameter_space.py
89.65% <0%> (ø)
:arrow_up:

emukit/quadrature/kernels/quadrature_kernels.py
82.14% <100%> (-1.2%)
:arrow_down:

emukit/samplers/__init__.py
100% <100%> (ø)

emukit/core/loop/user_function.py
66.66% <100%> (+9.52%)
:arrow_up:

... and 21 more

Continue to review full report at Codecov.

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


Server does not propagate Type Aliases properly

Of the form:
TypeAlias = Union[First, Second]

Is the issue about tooltip? Upcoming LS does this

Related #682


Ensure appropriate padding is provided to allow section heading to be seen when you click on Labour Market Status visualisation on dashboard landing page

Dashboard landing page: https://data.youthfuturesfoundation.org/
When click below two visualisations (picture 1), currently see this (picture 2)
Picture 1

Picture 2

What we wish to see is shown in Picture 3 (from https://data.youthfuturesfoundation.org/dashboard/neet/#all_young_people)

Related tickets (i.e. similar actions but different pages)

#244
#245


A  responsive movie website

🛠 Issue (#890)
Description
Created a responsive movie website with links to the movies section that also shows the trailer.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (swiper.js)
[x] Breaking change (Redirecting to every movie trailer page)

Checklist:

[x] I have made this from my own
[x] I have taken help from some online resourses
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] The title of my pull request is a short description of the requested changes.

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK

@TusharKesarwani  @harshit-paneri kindly review my pull request for the issue #890

@TusharKesarwani this is one project only, the index.html is the file and other HTML files are just anchor files that is when you click a movie under movies bar it will redirect to a page.

@TusharKesarwani Uploading it on any other source might create some issues if someone tries to play it.
Can you recommend a place where I can upload them?

@TusharKesarwani Uploading it on any other source might create some issues if someone tries to play it. Can you recommend a place where I can upload them?

You can create another repository and upload all mp4 files there
And link those files here

@TusharKesarwani I have deleted the video files and used google drive for the process, kindly check it.


virtctl image-upload should create DataVolumes instead of PVCs

Signed-off-by: Michael Henriksen<EMAIL_ADDRESS>
What this PR does / why we need it:
DataVolume use should be encouraged.  So let's create a DataVolume when uploading.
The tool will still support uploading to a PVC created out of band, though.
Along the way, I was able to clean up the code that waits for uploadserver pods to be ready.  Rather than DIYing it, rely on an annotation set by the upload controller.
I also added exclusions/ignores for .history folder created by VS Code.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

virtctl image-upload creates DataVolumes instead of PVCs

/retest

/lgtm

/retest

@rmohr please take another look.

/override pull-kubevirt-e2e-os-3.11.0-crio
we don't run this suite anymore.

/test pull-kubevirt-e2e-k8s-1.16.2


Outref and byref are not "no different"

Summary
This PR adds implicit tuple construction for outrefs where byrefs have no equivalent.

closing and reopening for a fresh build.


Installers: Remove PPC64LE for JDK21+35 RHEL & SUSE

Remove PPC64LE for JDK21+35 RHEL & SUSE to allow release of x64 and arm64
Also correct issue with lowercase U in spec files.

/merge

/approve

/approve


Make polling time for pending GCP compute ops configurable

The formerly fixed timeout of three minutes and maximum interval of
eight seconds which the Google plugin uses for polling the completion of
pending compute operations are now configurable in the plugin's
google.conf file. The default file preserves the original hardcoded
values.

@bhavanki — since we now have Travis CI enabled for PRs courtesy of @andreisavu, would you mind manually squashing your commits (since one of them is a fix to the tests) and repushing via git push -f so that we can see that the tests are now passing with this change?
Thanks!

Sure thing @mbrukman ! It's done.

Thanks, @bhavanki!


bug:

lol I'll assume this is unintentional, or maybe it's a placeholder for all the bugs we haven't found? maybe closing will fix them all


How to setup SAP HANA, express edition and SAP Vora, developer edition to enable them to connect to each other

Hello,
I found an confusion here.
Document:
https://www.sap.com/developer/how-tos/2017/04/sda-hana-vora.html
Step 3: Install the SAP HANA Spark controller
For the Configure hanaes-site.xml section, here was my configuration:
<property>
    <name>sap.hana.es.server.port</name>
    <value>7860</value>
    <final>true</final>
    <description>Port of the host for HANA</description>
</property>

The description is confusing. It should be "Port number for Spark controller to listen." instead of "Port of the host for HANA", shouldn't it?

Hi,
you are right this should be described as the port used by HANA to communicate with the Spark controller.
This extract is coming form the official documentation:
https://help.sap.com/viewer/6437091bdb1145d9be06aeec79f06363/<IP_ADDRESS>/en-US/fcd6d2d26e6c4904a09b7e0c0d4719ba.html
I have submitted your comment using the feedback button ther.
I'll adjust the content in the meantime. (commit  e8eac2e)


Removing warnings

Removed two of the warnings surrounding integer precision loss.
I was unsure what the intended behaviour was for the sectionIndex value so I just made the best assumption.

I think upstream changes have made this obsolete. @ScrimpyCat, please rebase if you feel otherwise.


is it a bug in model/rl.py

hi, i think there is a bug in model/rl.py class PtrScorer.forward function,
where the lstm states (h, c) never update in for loop.

Thanks for pointing this. I will investigate this.


autogrow appears to not work when used through template.$ (versus global $)

i'm seeing an issue where this fails:
Template.PostsFull.onRendered(function(){
  this.$("textarea[name='body']").autogrow();
});

but this works fine:
Template.PostsFull.onRendered(function(){
  $("textarea[name='body']").autogrow();
});

there is only one textarea being rendered. when i use this.$, there is no response when entering newlines in the textarea, but when pressing delete i get this error:
jquery.js:1463 Uncaught TypeError: Cannot read property 'ownerDocument' of null
Sizzle.contains @ jquery.js:1463
jQuery.extend.clone @ jquery.js:5510
(anonymous function) @ jquery.js:5838
(anonymous function) @ jquery.js:141
jQuery.extend.map @ jquery.js:503
jQuery.fn.jQuery.map @ jquery.js:140
jQuery.fn.extend.clone @ jquery.js:5837
s @ autogrow.js:34
jQuery.event.dispatch @ jquery.js:4665
jQuery.event.add.elemData.handle @ jquery.js:4333

any idea what the issues is? i can work around it, but it seems like the top example should work.
thanks, Neil.

@nrser I also meets this issue. Did you solved it?

no... i am still using $ instead of template.$ as a work-around.

@jasli2 if you're still having problems, i think i ran into the same issue again (though using react now, so not sure) and was able to solve it by supplying the element as context like:
var $textarea = $(domElement);
$textarea.autogrow({context: $textarea});

that might help in your situation too.


Popup components add ESC Keyboard operation

This function solves the problem (这个功能解决的问题)
Popup components add ESC Keyboard operation
Expected API (期望的 API)
Popup components add ESC Keyboard operation

Popconfirm 也一样

This will be a great addition, right now I'm doing this manually all the time

Dialog & Modal already support it.
Popconfirm wip.


Test Preferences section disappear when the android app is reloaded in offline mode

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

[ ] Android / native

Version Number: v1.2.49-0
Reproducible in staging?: y
Reproducible in production?: y
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/210907080-3ba817f3-7c6e-4abf-9108-84a09a69c290.mp4
https://user-images.githubusercontent.com/43996225/210907138-3370cd0b-5b0c-4bd7-ad2c-555c4c7067bb.mp4
Expensify/Expensify Issue URL:
Issue reported by: @adeel0202
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1672903057105979
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01cb1e08ff6673c342
Upwork Job ID:<PHONE_NUMBER>127200768
Last Price Increase: 2023-01-25

I can work on this

I'll take a look at this today!

Got caught up with the deploy and the mobile fire. I'll get to this tomorrow!

Bug0 Triage Checklist
Note: see this SO for more information.

[ ] The "bug" is actually a bug
[ ] The bug is not a duplicate report of an existing GH.

If it is, close the GH and add any novel details to the original GH instead

[ ] The bug is reproducible, following the reproduction steps.

[ ] If the GH doesn’t have steps to reliably reproduce the bug and you figure it out, then please add them.
[ ] If you’re unable to reproduce the bug, add the Needs reproduction label.
[ ] Comment on the issue outlining the steps you took to try to reproduce the bug, your results and tag the issue reporter and the Applause QA member who created the issue. Ask them to clarify reproduction steps and/or to check the reproduction steps again. Close issue.

[ ] The GH template is filled out as fully as possible

The GH body and title are clear (ie. could an external contributor understand it and work on it?)

[ ] The GH was created by an Expensify employee or a QA tester
[ ] If the bug is an OldDot issue, you should decide whether it is widespread enough to justify fixing or it is better to wait for reunification. If it’s better to wait, close the GH & provide this justification
[ ] If there's a link to Slack, check the discussion to see if we decided not to fix it
[ ] Decide if the GH should be resolved by an External contributor or Internal engineer, add the appropriate label

Marking this as Internal accordingly

I've been prioritizing other issues, so I'll make this external!

Root Case
In android we are checking build is in beta or not with GitHub url
betaChecker.isBetaBuild()
           .then((isBeta) => {
               environment = isBeta ? CONST.ENVIRONMENT.STAGING : CONST.ENVIRONMENT.PRODUCTION;
               resolve(environment);
           });

 src/libs/Environment/betaChecker/index.android.js

function isBetaBuild() {
 return new Promise((resolve) => {
     fetch(CONST.GITHUB_RELEASE_URL)
         .then(res => res.json())
         .then((json) => {
             const productionVersion = json.tag_name;
             if (!productionVersion) {
                 resolve(false);
             }

             // If the current version we are running is greater than the production version, we are on a beta version of Android
             const isBeta = semver.gt(pkg.version, productionVersion);
             resolve(isBeta);
         })
         .catch(() => {
             resolve(false);
         });
 });
}

When we are offline fetch request failed and its resolve promise with false value. In this case we are setting env as production.
environment = isBeta ? CONST.ENVIRONMENT.STAGING : CONST.ENVIRONMENT.PRODUCTION;

Due to current env set as production in PreferencesPage TestMenus will be not display.
{_.contains([CONST.ENVIRONMENT.STAGING, CONST.ENVIRONMENT.DEV], props.environment) && <TestToolMenu />}
Proposal
We can store the last fetched value and can use it whenever we are offline. In proposal I have returned last stored value when request failed we can even make it more specific for offline only.
diff --git a/src/ONYXKEYS.js b/src/ONYXKEYS.js
index f38f281b89..2c6d0ee650 100755
--- a/src/ONYXKEYS.js
+++ b/src/ONYXKEYS.js
@@ -179,4 +179,7 @@ export default {

    // Whether we should show the compose input or not
    SHOULD_SHOW_COMPOSE_INPUT: 'shouldShowComposeInput',
+
+    // Is release in beta version
+    IS_BETA: 'isBeta',
};
diff --git a/src/libs/Environment/betaChecker/index.android.js b/src/libs/Environment/betaChecker/index.android.js
index 3b38f37bcb..bfcce9dbda 100644
--- a/src/libs/Environment/betaChecker/index.android.js
+++ b/src/libs/Environment/betaChecker/index.android.js
@@ -1,6 +1,14 @@
import semver from 'semver';
+import Onyx from 'react-native-onyx';
import CONST from '../../../CONST';
import pkg from '../../../../package.json';
+import ONYXKEYS from '../../../ONYXKEYS';
+
+let lastBetaValue = false;
+Onyx.connect({
+    key: ONYXKEYS.IS_BETA,
+    callback: value => lastBetaValue = value,
+});

/**
 * Check the GitHub releases to see if the current build is a beta build or production build
@@ -15,14 +23,16 @@ function isBetaBuild() {
                const productionVersion = json.tag_name;
                if (!productionVersion) {
                    resolve(false);
+                    Onyx.set(ONYXKEYS.IS_BETA, false);
                }

                // If the current version we are running is greater than the production version, we are on a beta version of Android
                const isBeta = semver.gt(pkg.version, productionVersion);
+                Onyx.set(ONYXKEYS.IS_BETA, false);
                resolve(isBeta);
            })
            .catch(() => {
-                resolve(false);
+                resolve(lastBetaValue);
            });
    });
}

Currently calling Onyx.set directly we can create new action file or can move it on another actions file.

@jatinsonijs any idea why this is not reproducible in iOS? Both android and iOS seem to share the same logic

@luacmartins isBetaBuild implementation is different for android and iOS that's the reason its working fine in iOS. In iOS we have testflight which provider us a way to check environment locally.
iOS
/**
 * Check to see if the build is staging (TestFlight) or production
 *
 * @returns {Promise}
 */
function isBetaBuild() {
    return new Promise((resolve) => {
        NativeModules.EnvironmentChecker.isBeta()
            .then((isBeta) => {
                resolve(isBeta);
            });
    });
}

Thanks for the extra context @jatinsonijs! @0xmiroslav do you have any concerns about this proposed solution?

@0xmiroslav have you reviewed https://github.com/Expensify/App/issues/14047#issuecomment-1407328257 ?. Plz let me know if you have any suggestion.

@0xmiroslav I have used env staging, as it cannot occur on dev env

I think we should show Test Preference in offline mode also, but if not want to show we can hide on all platform by adding withNetwork in PreferencePage and isOffline condition in {props.network.isOffline && _.contains([CONST.ENVIRONMENT.STAGING, CONST.ENVIRONMENT.DEV], props.environment) && }

I think that we should always show test preferences in staging, no matter if you are online or offline.

Yeah @0xmiroslav, it should be isBeta, Sorry forgot to update it

@0xmiroslav should I post new proposal with action in AppUpdate ?

Updated Proposal
diff --git a/src/ONYXKEYS.js b/src/ONYXKEYS.js
index f38f281b89..01fefe9dac 100755
--- a/src/ONYXKEYS.js
+++ b/src/ONYXKEYS.js
@@ -179,4 +179,7 @@ export default {

     // Whether we should show the compose input or not
     SHOULD_SHOW_COMPOSE_INPUT: 'shouldShowComposeInput',
+
+    // Is app in beta version
+    IS_BETA: 'isBeta',
 };
diff --git a/src/libs/Environment/betaChecker/index.android.js b/src/libs/Environment/betaChecker/index.android.js
index 3b38f37bcb..dd1149a427 100644
--- a/src/libs/Environment/betaChecker/index.android.js
+++ b/src/libs/Environment/betaChecker/index.android.js
@@ -1,6 +1,15 @@
 import semver from 'semver';
+import Onyx from 'react-native-onyx';
 import CONST from '../../../CONST';
 import pkg from '../../../../package.json';
+import ONYXKEYS from '../../../ONYXKEYS';
+import * as AppUpdate from '../../actions/AppUpdate';
+
+let lastBetaValue = false;
+Onyx.connect({
+    key: ONYXKEYS.IS_BETA,
+    callback: value => lastBetaValue = value,
+});

 /**
  * Check the GitHub releases to see if the current build is a beta build or production build
@@ -14,15 +23,17 @@ function isBetaBuild() {
             .then((json) => {
                 const productionVersion = json.tag_name;
                 if (!productionVersion) {
+                    AppUpdate.setIsAppInBeta(false);
                     resolve(false);
                 }

                 // If the current version we are running is greater than the production version, we are on a beta version of Android
                 const isBeta = semver.gt(pkg.version, productionVersion);
+                AppUpdate.setIsAppInBeta(isBeta);
                 resolve(isBeta);
             })
             .catch(() => {
-                resolve(false);
+                resolve(lastBetaValue);
             });
     });
 }
diff --git a/src/libs/actions/AppUpdate.js b/src/libs/actions/AppUpdate.js
index 1ba2f5fb83..c198c0e1ad 100644
--- a/src/libs/actions/AppUpdate.js
+++ b/src/libs/actions/AppUpdate.js
@@ -5,7 +5,14 @@ function triggerUpdateAvailable() {
     Onyx.set(ONYXKEYS.UPDATE_AVAILABLE, true);
 }

+/**
+ * @param {Boolean} isBeta
+ */
+function setIsAppInBeta(isBeta) {
+    Onyx.set(ONYXKEYS.IS_BETA, isBeta);
+}
+
 export {
-    // eslint-disable-next-line import/prefer-default-export
     triggerUpdateAvailable,
+    setIsAppInBeta,
 };

Scenario 2:
User keeps the app open and minimize the app in background (without killing)
After some time, user maximize the app again and app becomes active state.
Now user still sees Test Preferences because it's not re-fetched.

@0xmiroslav this seems like the existing logic we have here, right? But the only difference is that we'd actually have environment set?

I think that's fine and more of an edge case. Meanwhile, I think being able to see Test preferences when going offline is useful, but I don't really see a way of doing both since Google doesn't have an API to check if the current version is in the internal test track. So let's go ahead with the solution above.

📣 @jatinsonijs You have been assigned to this job by @luacmartins!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

PR is ready for review
cc @0xmiroslav

PR merged!

Reviewing label has been removed, please complete the "BugZero Checklist".

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.2.68-0 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/14897

If no regressions arise, payment will be issued on 2023-02-17. :confetti_ball:
After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

[ ] External issue reporter
[ ] Contributor that fixed the issue
[ ] Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

Merged PR within 3 business days of assignment - 50% bonus
Merged PR more than 9 business days after assignment - 50% penalty

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] [@0xmiroslav / @luacmartins] The PR that introduced the bug has been identified. Link to the PR:
[ ] [@0xmiroslav / @luacmartins] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[ ] [@0xmiroslav / @luacmartins] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[ ] [@jatinsonijs] Propose regression test steps to ensure the same bug will not reach production again.
[ ] [@greg-schroeder] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

Sent offers to issue reporter, contributor, and C+ - please accept and I'll take care of payment after the hold period.

Not sure should add regression test or not because this issue cannot happen on production it is related to staging only
Regression Test

Go to the home page.
Make sure STG badge is showing on header after the Chats label.
Open the Preferences page by navigate to Settings -> Preferences.
Check Test Preferences is showing.
Turn off network and kill the app.
Open the app again and navigate to Settings -> Preferences.
Check Test Preferences is showing.


chore: Elm theme improvement on Course Discussions

Description:
Jira Ticket: LEARNER-10162
Config PR: https://github.com/edx/edx-mobile-config/pull/184
This PR adds some color improvements in the discussion module and changes the button corner style throughout the app.
https://github.com/user-attachments/assets/6220099f-9609-4e7d-88d3-a4faaafee71c
https://github.com/user-attachments/assets/faa70436-1e94-49c1-847f-65f23e68b1fe

Ok to move everything to the same round avatar. Thanks!


Retire this package?

The original intention of this package was to vendor and freeze the code as it was when we removed these components from Ember, and then just leave it mostly untouched. It seems like, between needing to tweak things in order for it to work outside of core, and ongoing maintenance to keep up with ecosystem changes, the plan didn't work out as well as we had hoped. I was going to publish a new version but it appears that things (lint, types, etc) are in a broken state on main. In the meantime I published an alpha version as a compromise.
Is it time to retire this package? As far as components are concerned, these components aren't that complicated and there isn't a ton of code. At this point it would probably be better for those who still need it to vendor their own version that they can tweak as much as they need?
Thoughts?

The only reason IMO this may be needed, it's used in ember-engines and there is no direct replacement.
We could copy-paste needed code for <LinkTo /> component to ember-engines` and drop dependency on this addon though.

I think that would probably be better. Engines need to customize it anyway so they may as well do it more directly and maintain their own tests. The tests from ember was supposed to be carried over but didn’t end up making it. So anyone using this package is using untested code. If the code was actually frozen you could make the argument that it’s “safe by proxy of having existed for so long”, but that aren’t even true anymore

I also don’t know that engines actually need to support the whole suite of legacy api in the link component (classNames, tagName and all that). I think really people’s expectations is a version of LinkTo that works like the one in Ember but works with engines. At this point they should just do a breaking change release and align with the LinkTo api in recent Ember imo

@chancancode sounds like a plan! I'll try to work on that

If you are planning on it being a breaking change anyway, you may want to make it a @glimmer/component and base the code off of https://github.com/emberjs/ember.js/blob/main/packages/%40ember/-internals/glimmer/lib/components/link-to.ts instead of the version vendored here. Ember core couldn't use the actual glimmer components and tracked properties (at the time at least), but you can, so you can probably make it much simpler

(You should also decide if you really need to support other random things like @current-when 🤷🏼)

@chancancode I agree this package should be retired
I also think in the interest of trying to keep as many people in a 'working state' we should still release a few cleanup prs
some changes from me have already been merged that will immediately help anyone using engines with embroider especially
happy to put forward a plan for this + engine work and act on that to get both packages in a better state especially for embroider world and less wacky for the rest of the ecosystem upgrading to ember-source versions
roughly what I see left on here would be to add guidance when we detect you're on an engines version that doesn't need this anymore and try and get people to remove the package
for now if we could release a major with the landed changes then I can progress work on engines side to get that lined up and come back here with a minor release after to get it ready for retirement


fixing short dump

hmm, where exactly does the dump occur?
we have spent quite a lot of time removing the aliases, https://github.com/abapGit/abapGit/pulls?q=is%3Apr+remove+alias+is%3Aclosed

hmm, where exactly does the dump occur?

heh, did not think it was in use, anyhow, thats a fix to https://github.com/abapGit/abapGit-Plugins

Oh, I see. It is deprecated. Let me remove it from the system.


Fix   bug] open results button showing wrongly #441

Fixes Issue
My PR closes #issue_number_here
👨💻 Changes proposed(What did you do ?)
fixed the bug
✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title and description of the PR is clear and explains the approach.

Note to reviewers

📷 Screenshots

@franxxu this won't be merged until the compliance bot stops complaining

I saw the complaint, which had nothing to do with my changes.  What should be done?
On Sunday, August 27, 2023 at 08:32:04 AM EDT, Dunsin @.***> wrote:
@franxxu this won't be merged until the compliance bot stops complaining
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

I saw the complaint, which had nothing to do with my changes.  What should be done? On Sunday, August 27, 2023 at 08:32:04 AM EDT, Dunsin @.> wrote: @franxxu this won't be merged until the compliance bot stops complaining — Reply to this email directly, view it on GitHub, or unsubscribe.  Also your PR fixes the problem and creates a new one, the button doesn't show anymore unless the user uses the gradient text button, and this wasn't meant to just fix the issue for gradient text but all generators

i see, will dig into it.!
Sent from Yahoo Mail for iPhone
On Sunday, August 27, 2023, 08:37, Dunsin @.***> wrote:
I saw the complaint, which had nothing to do with my changes.  What should be done? On Sunday, August 27, 2023 at 08:32:04 AM EDT, Dunsin @.> wrote: @franxxu this won't be merged until the compliance bot stops complaining — Reply to this email directly, view it on GitHub, or unsubscribe.  Also your PR fixes the problem and creates a new one, the button doesn't show anymore unless the user uses the gradient text button, and this wasn't meant to just fix the issue for gradient text but all generators
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Ok, this time i think it should be fixed.  What should i do now?
On Sunday, August 27, 2023 at 08:37:29 AM EDT, Dunsin @.***> wrote:
I saw the complaint, which had nothing to do with my changes.  What should be done? On Sunday, August 27, 2023 at 08:32:04 AM EDT, Dunsin @.> wrote: @franxxu this won't be merged until the compliance bot stops complaining — Reply to this email directly, view it on GitHub, or unsubscribe.  Also your PR fixes the problem and creates a new one, the button doesn't show anymore unless the user uses the gradient text button, and this wasn't meant to just fix the issue for gradient text but all generators
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


ApiParam allowableValues string with spaces is not supported

Hi,
APiParam annotation has a parameter allowableValue.
This takes a comma separated string. But if i have a space in one of the values, it is stripping it off.
Which is not good. I can pass a string with spaces from the browser url. So i should be able to pass it from swaagger UI as well.
I think the issue is with this line
I found the below line in class "ApiModelProperties"
String trimmed = allowableValueString.trim().replaceAll(" ", "");  // line 67
This issue was already discovered in previous versions (Issue number #1211) and was fixed for version 2.6.0 and in some future versions the bug was recreated.
I'm currently using version 2.8.0.
Thanks

@uriparush since you've researched the issue a bit would you be able to submit a PR?

I've created a PR that should resolve this

@dilipkrish sorry for not handling I was on vacation, next time I will create a PR.
Thanks


#132 - Improving validator to display violations in constraint strings

This test adds validation required for the changes in #132
Note: this restricts version constraints accepted in this repository.
Note: will fail on the PR branch (on purpose) with an output like following:
codeigniter/framework/2015-10-31-1.yaml
    Version constraint "<3.0.3'" is not acceptable.
doctrine/doctrine-bundle/2015-08-31.yaml
    Version constraint "<1.5.2'" is not acceptable.
thelia/thelia/2015-04-13-1.yaml
    Version constraint ">=2.1.0-beta1" is not acceptable.
zendframework/zendframework1/ZF2010-03.yaml
    Version constraint "<1.8.5'" is not acceptable.

Once merged into master, it shouldn't report any failures.

Well, it doesn't fail as Travis runs the build on the merge commit. :)

Meh, reverting to [WIP] state - I'm too sleepy to understand what I'm doing wrong.

Zis be readi for merce.

:+1:

Thanks @Ocramius, that's much appreciated.


Omit "gets or sets"

Is it possible to have an option to omit "gets or sets" text from model properties? Our documentation is not in English so having "gets or sets" text with them looks weird.

From what I can tell, the only code generated with the text "gets or sets" is https://github.com/Azure/autorest.csharp/blob/feature/v3/src/AutoRest.CSharp/Mgmt/Generation/ResourceWriter.cs#L47 (There are 2 usages in CodeGenModelAttribute which is shared code and one internal to autorest.csharp).
That makes this a Mgmt bug - FYI @m-nash

@deastr could you help to provide more information or samples?

I haven't worked with AutoRest for a while but AFAIK it was something like this: if your properties are non-English they look like "Gets" when  they are generated. I was asking if it's possible to generate without the Gets/Sets prefix.

The AutoRest is not intended to handle globalized text, and we expect that property / variable names will be in English.
So close this issue as by design.


Can't reproduce result of harmony

It a wonderful computational tool!!  When I test the PBMC pair dataset(https://uniport.readthedocs.io/en/latest/examples/PBMC/pbmc_integration.html) with harmony, I can't reproduce result displayed in your paper.
I run code with
rm(list=ls())
library(Seurat)
rm(list=ls())
suppressPackageStartupMessages({
  library(SummarizedExperiment)
  library(ggplot2)
  library(Seurat)
  library(SeuratWrappers)
  library(patchwork)
  library(cowplot)
  library(harmony)
})

options(repr.plot.width = 12, repr.plot.height = 5)

data_seurat = readRDS("../../dataset/PBMC_pair/PBMC_pair_raw.rds")

print("===================Normalize SeuratObject=======")
data_seurat <- NormalizeData(data_seurat, verbose = FALSE)
print("===================Find HVG=====================")
data_seurat <- FindVariableFeatures(data_seurat, selection.method = "vst", nfeatures = 2000, verbose = FALSE)
print("===================scale Data===================")
data_seurat <- ScaleData(data_seurat, verbose = FALSE)
print("===================Running PCA===================")
data_seurat <- RunPCA(data_seurat, npcs = 30, verbose = F)

data_seurat <- data_seurat %>% RunHarmony("domain_id", plot_convergence = F,max.iter.harmony=50)

print("========================Running UMAP==================")
data_seurat <- RunUMAP(data_seurat, reduction = "harmony", dims = 1:30, verbose = F)
print("========================Visulize UMAP=================")
p1=DimPlot(data_seurat, reduction = "umap", group.by = "domain_id", label.size = 10)+ggtitle("Integrated Batch")
p2=DimPlot(data_seurat, reduction = "umap", group.by = "cell_type",label.size = 10)+ggtitle("Integrated Celltype")
p= p1 + p2
print(p)

I get the result

It seems that the integration of harmony is very bad, which is different with the result

I also run harmony with python, whose result is very similar to harmony's result in R,
import scanpy.external as sce
import scanpy as sc
import pandas as pd
labels = pd.read_csv('../UniPort/uniPort-main/PBMC/meta.txt', sep='\t')
celltype = labels['cluster'].values
print(labels.shape)
print(celltype.shape)

adata_rna = sc.read('../UniPort/uniPort-main/PBMC/rna.h5ad')
adata_atac = sc.read('../UniPort/uniPort-main/PBMC/atac_meastro.h5ad')
print(adata_rna)
print(adata_atac)

adata_atac.obs['cell_type'] = celltype
adata_atac.obs['domain_id'] = 0
adata_atac.obs['domain_id'] = adata_atac.obs['domain_id'].astype('category')
adata_atac.obs['source'] = 'ATAC'

adata_rna.obs['cell_type'] = celltype
adata_rna.obs['domain_id'] = 1
adata_rna.obs['domain_id'] = adata_rna.obs['domain_id'].astype('category')
adata_rna.obs['source'] = 'RNA'

adata = adata_atac.concatenate(adata_rna, join='inner', batch_key='domain_id')
adata.obs["celltype"]=adata.obs["cell_type"].copy()
adata.obs["BATCH"] = adata.obs["domain_id"].copy()

sc.pp.normalize_total(adata,target_sum=10000)
sc.pp.log1p(adata)
sc.pp.highly_variable_genes(adata, n_top_genes=2000, inplace=False, subset=True)
sc.pp.scale(adata)
sc.tl.pca(adata)
# sc.pp.neighbors(adata)
# sc.tl.umap(adata)
# sc.pl.umap(adata,color=["BATCH","celltype"],ncols=1)
# print(adata)
sce.pp.harmony_integrate(adata, 'BATCH')
sc.pp.neighbors(adata,use_rep="X_pca_harmony")
#sc.tl.louvain(adata,resolution=3.0)
sc.tl.umap(adata)
sc.pl.umap(adata,color=['BATCH','celltype'],ncols=1)

result is below

I felt confused with this problem, could you give me some suggestions?

Hi, thanks for your words. It seems that you didn't use the common var.genes before using Harmony. You can refer to the PBMC benchmarking codes in R process. Thank you!

Hi, thanks for your interest. It seems that you didn't use the common var.genes before using Harmony. You can refer to the PBMC benchmarking codes in R process. Thank you!


Start changelog afresh

Versionist doesn't work with an existing CHANGELOG.md file, complaining that it can't find the corresponding git ref:

Omitting v0.102.1. No valid git reference was found.

This commit blows away the changelog that was copied (up to v0.102.1) from the previous repo so versionist can do its thing. The original log can still be viewed at the source.

@balena-ci I self-certify!


Command Result: can't extract record information after executing a command

OrientDB Version: v2.2.16
Java Version: Version 8 Update 111
OS: Windows 10 64-bit
Expected behavior
When creating a server function within OrientDB Studio, I use the database.executeCommand method. If I return the result, I get:
{
  "result": [
    {
      "@type": "d",
      "@rid": "#41:1",
      "@version": 1,
      "@class": "AccountGrain",
      "Username": "John_Doe",
      "Password": "$2a$10$td1u3MG8Bi6wvvr3pJvwK.EKHiGClENXNc/MpwHJjNtjLZHlN7hzG",
      "Email"<EMAIL_ADDRESS>      "GrainId": "0ee72306-9cdb-401f-8d60-c9e5e3af8230"
    }
  ]
}

I expected to be able to access the found records data like so: result.Username or result["Username"]
Actual Behavior
Instead, if I return result.Username or result["Username"] I get nothing. How do extract data out of the result?
Steps to Reproduce

Call query or executeCommand and attempt to extract the record's data.

Hi @snarlynarwhal
Could you please report the exact statement you are using?
Thanks
Luigi

I couldn't find an example in the documentation so I executed the command like so:
var result = db.executeCommand("select...");

Then returned result and result[0] which both gave the same result (mentioned above). However, calling result.Username or result[0].Username returned nothing.

hi @snarlynarwhal
the result of the db.command should be a list of ODocument (Java) that is not compatible with JSObject. You should use the api .field in order to the the field value
result[0].field("Username")

Ahhh, I see - thank you very much!


request Content-Type suppression

$ curl -vv -X POST http://a:b@localhost:8123 --data 'CREATE DATABASE test';
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying <IP_ADDRESS>:8123...
* Connected to localhost (<IP_ADDRESS>) port 8123 (#0)
* Server auth using Basic with user 'a'
> POST / HTTP/1.1
> Host: localhost:8123
> Authorization: Basic YTpi
> User-Agent: curl/7.88.1
> Accept: */*
> Content-Length: 20
> Content-Type: application/x-www-form-urlencoded
>
< HTTP/1.1 200 OK
< Server: Werkzeug/3.0.1 Python/3.8.10
< Date: Thu, 02 Nov 2023 21:23:48 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 2
< Connection: close
<
* Closing connection 0
Ok

$ curl -vv -X POST http://a:b@localhost:8123 --data 'SHOW DATABASES';
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying <IP_ADDRESS>:8123...
* Connected to localhost (<IP_ADDRESS>) port 8123 (#0)
* Server auth using Basic with user 'a'
> POST / HTTP/1.1
> Host: localhost:8123
> Authorization: Basic YTpi
> User-Agent: curl/7.88.1
> Accept: */*
> Content-Length: 14
> Content-Type: application/x-www-form-urlencoded
>
< HTTP/1.1 200 OK
< Server: Werkzeug/3.0.1 Python/3.8.10
< Date: Thu, 02 Nov 2023 21:24:21 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 2
< Connection: close
<
* Closing connection 0

The database doesn't get created because of Content-Type: application/x-www-form-urlencoded in the request.
On the other hand clickhouse server doesn't rely on content-type.
 Implemented as suggested https://github.com/chdb-io/chdb-server/commit/63e22545864fb375918124c38f5566383bc2a57a


Latest Geckodriver no longer allows negative value for timeouts.

See issue details, geckodriver v16 now requires an unsigned 64-bit integer.

Fixed by 549006e7355212501e353a7df98ac805d093f44b.


Retry module download on read timeout

Users with poor internet connections are likely to experience read timeout when downloading artifacts from remote module repositories. This could happen at any point when getting the HTTP response,
Currently CMR just immediately gives up. It would be nice if it automatically retired a configurable number of times, before giving up entirely.

Duplicate of #6092

Thanks! Can you tell I have a vested interest in this feature?

Users with poor internet connections are likely to experience read timeout duplicate requests

;)


ACS event updates

Fixes https://github.com/Azure/azure-sdk-for-net/issues/19603

LGTM - It might be nice to put a little more detail in the commit message about what the problem was and how we decided to fix it (not changing the names of the properties but changing their values, because we didn't want to introduce a break), which may be helpful for folks down the line who notice the inconsistency, run and run git blame to try to figure out why things are the way they are.
Very cool that you had that test that failed when we forgot to add the event to the mapping table, great job on that.

Sure updated - for things like this I usually end up needing to look at the PR that made the change, but any additional breadcrumbs we can add should help as well.

/azp run net - eventgrid - tests

/azp run net - eventgrid - tests


ctrl + s does not work with text entry in combo box

ctrl + s does not work with text entry
hard to finish rename


fix: Handle empty decoding values for Status

When the TypeDecoder decodes the Status type it returns dummy values. Within the decode method of Status, if verifies that the values returned by the decoder are valid and if they are not it throws. This means that the TypeDecoder does not complete. In order to solve this issue, if the value given by the TypeDecoder is a blank string then we create a valid one.

Codecov Report

Merging #6 into master will decrease coverage by 4.14%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master       #6      +/-   ##
==========================================
- Coverage   91.39%   87.25%   -4.15%
==========================================
  Files           3        3
  Lines          93      102       +9
==========================================
+ Hits           85       89       +4
- Misses          8       13       +5

Flag
Coverage Δ

#Health
87.25% <66.66%> (-4.15%)
:arrow_down:

Impacted Files
Coverage Δ

Sources/Health/Protocols.swift
80.59% <66.66%> (-5.61%)
:arrow_down:

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 8b745a1...82045c1. Read the comment docs.


iOS 5: search field doesn't work

Another issue with the new iOS 5. The search field doesn't work. It doesn't slide up and it's impossible to write inside the field.
Can you confirm? Any fixes?

Thanks for reporting. It does indeed break.
I will look into it.


Cask 3 settings do not save

Hey there, I’m trying to use the bootstrap with the “Cask 3” tweak but it seems like changing the settings for this tweak refuse to save.

You can find a working .deb file in the RootHide Discord server, it's confirmed to work.

Closing, as its outside the scope of this repository. The tweak will need to be patched (and has) or properly updated to support new paths.