Add support for messaging via mqtt

At the moment there are various supported ways how to use messaging. It would be nice if you could add mqtt as well. This would allow to easy integrate with other software that could just subscribe to a topic.

What kind of "messaging"?

This one https://docs.evcc.io/docs/reference/configuration/messaging

I see. That would mean adding a custom push device. Not a priority, but happy to take a PR. Doing so it would also be nice to remove the script device- it can already be implemented using the script plugin.
/cc @GrimmiMeloni in case you're interested

Yeah for now I just use the script stuff with mosquito_pub

Yeah, about time for me to contribute something again. ;)
@normanmaurer what would an MVP look like? Does simply configuring a broker + a topic to publish to suffice?

@GrimmiMeloni yes 🎉

Spannend ist noch wie wir mit title und msg umgehen. Vllt. Lassen wir bei den custom Integrationen einfach den title weg?

Or we could also use json for the payload

Like it. Could be an option on the custom messenger.

I am wondering why we are talking custom here? I was planning to just add an mqtt flavor to the list of supported messaging services (shoutr, telegram, ....)

I just thought we have custom everywhere and script already is a custom integration. Why not make it fully flexible before the next user wants http?

OK. But if we already have a custom solution via script, then what is actually missing here? Sorry for being "stupid", but I still don't understand the actual ask. Can you maybe show an example of the configuration you expect, or some other fragment that explains what the difference between script and custom would be?

Sorry, just have seen this issue. By accident, I've implemented a type 'mqtt' in #17278 which is just reusing the existing MQTT client.

Just read through this issue, my thoughts here:

For MQTT the "title" can IMO be mostly ignored. For JSON payloads I just added the title with a field "title" within this payload.
I wonder whether multiple MQTT endpoints are required or if the single MQTT endpoint that is also used by plugins is good enough. It shouldn't be hard to either add MQTT config to the service configuration or allow multiple MQTT Broker instances (that then would be configured in a list)

Here is an example, how the title is treated in #17278 with JSON (otherwise its ignored):
# MQTT Broker Configuration
mqtt:
  broker: broker.mqtt:1883
  user: evcc
  password: s3cr3t

# Send lifecycle events via MQTT
messaging:
  events:
    connect:
      # Title is added later to JSON. Just omit it if not needed
      title: "Car connected"
      # Use template to create JSON payload
      msg: '{"car": "${vehicleTitle}", "mode": "${mode}", "event": "connect"}'
  services:
  - type: mqtt
    topic: 'evcc/events'

This will result in payloads that look like
{
  "car": "Ioniq 6",
  "mode": "PV",
  "title": "Car connected"
  "event": "connect"
}

Is there anything in the suggested PR that prevents this pattern?

nope, the PR is great.
I just wanted to add some more color to the issue. +1 for selecting #17211 over #17278 if some documentation on how to concretely implement the MQTT use case with custom plugins for messaging can be achieved. Also, I've added some ideas on how to deal with title and msg in the payload (added it as comments to the PR), as I think it should be started small (just copying over the msg as payload, ignoring the title), and extended if more format variations would be needed (but I don't really see any concrete use case right now beside raw/JSON payloads)

if some documentation on how to concretely implement the MQTT use case with custom plugins for messaging can be achieved.

Exactly identicial to any other custom evcc device.

Exactly identicial to any other custom evcc device.

Yes, true, but for newcomers like me it would be very helpful to have (nearly) full examples how to implement certain use cases, like requested in this issue. I opened https://github.com/evcc-io/docs/pull/665 which somewhat touches this. In the context of this issue, it would be super helpful to have a full example of how to use custom plugins in the messaging.service section, as this has already caused some confusion here on how to do it.
While the current documentation is good (thanks a lot for your efforts!), I still think it can be improved by more use-case-driven documentation, including fully working snippets (not only parts of the yaml schema where you have a hard time finding out where to put it into etc.yaml). Not all custom plugins need to be touched, but describing one concrete example (mqtt or HTTP) should be good enough for ppl being able to map it to other custom devices.


TypeError: db.info is not a function

Whenever I try creating a database or performing actions that require authentication that I don't have, instead of the server returning an unauthorized message, it never responds and I get this error:
(node:4599) UnhandledPromiseRejectionWarning: TypeError: db.info is not a function
    at /home/penguinsnail/Documents/FRC/StrangeScout/server/node_modules/express-pouchdb/lib/routes/db.js:31:10
    at /home/penguinsnail/Documents/FRC/StrangeScout/server/node_modules/promise-nodify/index.js:22:7
    at processTicksAndRejections (internal/process/next_tick.js:81:5)
(node:4599) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:4599) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:4599) UnhandledPromiseRejectionWarning: [object Object]
(node:4599) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)

However, with proper authorization no error occurs and the request completes and responds successfully.
My code is here:
const express = require('express');
const PouchDB = require('pouchdb');
const path = require('path');

// winston for logging
const winston = require('winston');
const expressWinston = require('express-winston');

// define database prefix
const db = PouchDB.defaults({prefix: path.join(__dirname, 'dbs/')})

const app = express();
const port = 80;

// listener
app.listen(port, () => console.log(`listening on port ${port}`));

// logging (https://github.com/bithavoc/express-winston#request-logging)
app.use(expressWinston.logger({
	transports: [
		new winston.transports.Console()
	],
	format: winston.format.combine(
		winston.format.json()
	),
	meta: false,
	msg: "HTTP {{req.method}} {{req.url}} {{req.method}} {{res.responseTime}}ms",
	expressFormat: false
}));

// static files at root
app.use('/', express.static(path.join(__dirname, 'static')));
// pouchdb-server
app.use('/db', require('express-pouchdb')(db));

Looks like line 30 of express-pouchdb/lib/routes/db.js anticipates a synchronous function call for req.PouchDB.new. In reality this is a promise...
var db = req.PouchDB.new(name, utils.makeOpts(req));

I've create a pull request that I believe fixes it. #433

so, I looked @benbenbenbenbenben's implementation, and he's right. One catch, it's not ALWAYS a promise.
Using  pouchdb-authentication with express-pouchdb you have a couple scenarios of users:

User asking for/creating a DB without proper authorization.

DB is a promise, need to resolve (this is @benbenbenbenbenben's case above)

User is asking for db with proper authorization

DB is a promise

User is an ADMIN, creating a db with proper authorization. This should be successful, but if you use the above code, it doesn't work. Because the db returned is a db object, not a promise.

So, i let it resolve if it is a promise, and if its not, resolve will pass the db through anyway. My solution is as follows:

Replace app.put('/:db ...    with
`app.put('/:db', utils.jsonParser, function (req, res) {
var name = cleanFilename(req.params.db);
req.PouchDB.allDbs(function (err, dbs) {
if (err) {
return utils.sendError(res, err);
}
if (dbs.indexOf(name) !== -1) {
return utils.sendJSON(res, 412, {
'error': 'file_exists',
'reason': 'The database could not be created.'
});
}
// PouchDB.new() instead of new PouchDB() because that adds
// authorisation logic
var check_resolve = req.PouchDB.new(name, utils.makeOpts(req));
Promise.resolve(check_resolve).then(function(db) {
db.info(function (err) {
if (err) {
// temoperary workaround for leveldb adapter, see
// https://github.com/pouchdb/pouchdb/issues/5668
// when removing this code, also remove mkdir
// from dependencies in package.json
if (err.name === 'OpenError') {
var path = db.__opts.prefix ? db.__opts.prefix + name : name;
       mkdirp(pathResolve(path), function (err) {
         if (err) {
           return utils.sendError(res, err, 412);
         }

         db = req.PouchDB.new(name, utils.makeOpts(req));
         db.info(function (err) {

           if (err) {
             return utils.sendError(res, err, 412);
           }
           utils.setLocation(res, name);
           utils.sendJSON(res, 201, {ok: true});
         });
       });
       return;
     }

     return utils.sendError(res, err, 412);
   }
   utils.setLocation(res, name);
   utils.sendJSON(res, 201, {ok: true});
 });

})
.catch((err) =>  {
console.error("err: ", err);
return utils.sendError(res, err, 412);
})
});
});`

I then used patch-package to save these changes to my project express-pouchdb. It was the easiest since this is a monorepo and hard to install via git in npm if i forked pouch-db server.
I might make a pull request but. From the looks of it, it will sit stale.

I'm also going to note, this error, should have been properly wrapped anyway. right now it will fail and the WHOLE express app will stop functioning. So, kind of problematic. i don't know why this hasn't come up or people are just not using pouchdb-authentication at all

This bug was reported Feb 2019, it's now nearly 3 years later.
I did this with CURL
C:\Users\fluff>curl -X PUT localhost:26501/somedatabase
curl: (56) Recv failure: Connection was reset
Server Did This
C:\Users\fluff\AppData\Roaming\npm\node_modules\pouchdb-server\node_modules\express-pouchdb\lib\routes\db.js:31
db.info(function (err) {
^
TypeError: db.info is not a function
Conclusion
This is all it takes to crash the server due to this bug, it's not a bug it's a VOLNURABILITY!
Literally, if the database does not exist and someone tries to call it even without a username and password, boom server dies!
This software is ABANDON WEAR and should not be used because no one fixes security issues such as these in anywhere near a timely fashion!
I just wated 7 hours come find out I need to delete this and find a windows based CouchDB alternative..


vim modeline does not work?

In my repo, vim modeline does not work to highlight files.
bashrc with vim modeline:
https://github.com/wkentaro/dotfiles/blob/vim-modeline/_bashrc
bashrc with emacs modeline:
https://github.com/wkentaro/dotfiles/blob/emacs-modeline/_bashrc

Looks like when we require a matching pair of in the Vim regex although I'm not sure why.
This basically means that this doesn't match:
# vim: set ft=sh:

...whereas this does:
/* vim: set ft=sh: */

As the author of the modeline functionality I'm :hand: to fix this. @bkeepers @pchaigno @larsbrinkhoff I'm planning to just remove the  /* .... */ part of the regex here. Sound good?

I defer to the Vim experts.

As the author of the modeline functionality I'm :hand: to fix this. @bkeepers @pchaigno @larsbrinkhoff I'm planning to just remove the /* .... */ part of the regex here. Sound good?

:+1:

Thanks.
2015年5月13日水曜日、Arfon<EMAIL_ADDRESS>
Closed #2389 https://github.com/github/linguist/issues/2389 via #2394
https://github.com/github/linguist/pull/2394.
—
Reply to this email directly or view it on GitHub
https://github.com/github/linguist/issues/2389#event-303892825.

--
和田 健太郎 / Kentaro Wada
http://wkentaro.com http://www.wkentaro.com


add new branching endpoints for listing / creating

Closes #2082
This PR will add basic endpoints for creating and listing branches for a given repo.
Still a WIP, but wanted to get it up for feedback.
Listing works, but need to figure out why create is firing as a GET call instead of a POST.

Going to hold on merging this until @dwalkr has had a chance to weigh in.

Going to hold on merging this until @dwalkr has had a chance to weigh in.

Looks good to me too! One thing that we might consider changing is when creating a branch you mass in a query param called branch, would baseBranch make more sense?


Sample clips can save images

Topic: sample_clips_save_images

Reviews in this chain:
└https://github.com/riffusion/riffusion/pull/95 Sample clips can save images

#
head
base
diff
date
summary

0
accfffc3
b4591070
diff
Jan 16 7:37 AM
1 file changed, 26 insertions(+), 1 deletion(-)


token-manager-registry: ABI for performing managed token transfers

Problem
With many different token metadata / royalty standards, it becomes very difficult for marketplaces to figure out how to move tokens. #3888 does a great job at summarizing the issue.
Solution
This is a POC of how a unified system could work between all metadata standards.  TLDR

centralized registry says which program manages the mint
manager program implements GetTransferAccounts and UnifiedTransfer with the precise ABI. In this example, GetTransferAccounts is instruction data of just [8], and UnifiedTransfer is [9, <amount_as_little_endian_u64>]
marketplace uses registry + GetTransferAccounts + UnifiedTransfer to move any token

There exists a centralized (yay) token manager registry, where the mint authority registers that their mint is managed by a certain program. This simply writes the program id of the managing program. So if someone uses this with spl-managed-token for mint A, the PDA(mint A, token manager registry) will have the pubkey for spl-managed-token.
A marketplace wants to transfer an A token.
First they fetch the managing program id by looking at the data stored at PDA(mint A, token manager registry), and they see that it's spl-managed-token.
Next, they simulate a transaction with GetTransferAccounts on spl-managed-token, providing the mint and one more account given by PDA(mint, spl-managed-token). The return data on this transaction gives the account metas required on top of the source, mint, destination, and owner.
Last, they call UnifiedTransfer with the source, mint, destination, owner, amount, and additional account metas.
You can see the whole flow at success_with_unified_transfer. It's a little goofy, but I think it conveys the core ideas. All of this is totally open to more changes, your feedback is very appreciated!
cc @jnwng @jpbogle please tag everyone who might be interested

instead of dynamic dispatch, why doesn't the dapp just coerse the program into one that supports the same interface as Token?  It just needs to registry to tell the caller that the callee supports the token instructions.

i think we might need more than just transfer interface, example is escrowless listings, "approve" and some higher order of "freeze" are nice to have to have as part of the unified interface.

@joncinque I think i understand this helps makes managed-token into somewhat of an interface - so to summarize you register the token in the registry, and then any program can implement GetTransferAccounts and UnifiedTransfer? and this example provides an implementation of that in the spl-managed-token program? In this example, unified_transfer requires a signature from upstream_authority so if you want that to be a PDA it has to call - because wallet would just view get_transfer_accounts as opaque, the upstream authority doesnt have to be a signer necessarily right if it wasnt a signer in return data
If i understand this correctly the flow wallets that want to support "managed" tokens, AND non-managed tokenKeg tokens AND non-managed token22 tokens would be

check the registry program (hard coded address) at PDA(mint_id) for data

If data is present, deserialize the programID from that data, simulate getTransferAccounts on that programID to see the return data and then call unifiedTransfer on that data

return data includes token program in the accounts so this works with any token program already as well since the return data can check the token program it should

If data is NOT present

look at the owner of the token account to see if its owned by TokenKeg or Token22
call "transfer" (or transfer_checked) on the "owner" program of the token account (will work on either tokenKeg or token22)

@aeyakovenko

instead of dynamic dispatch, why doesn't the dapp just coerse the program into one that supports the same interface as Token? It just needs to registry to tell the caller that the callee supports the token instructions.

I think the reason something like GetTransferAccounts that tells client additional accounts to pass it is required because otherwise if its just coerced, it means the only accounts that can be used are the same ones in token program so it cant really do much different than existing token program instructions

i think we might need more than just transfer interface, example is escrowless listings, "approve" and some higher order of "freeze" are nice to have to have as part of the unified interface.

@nothing0012 I'm not sure I understand what you're suggesting. approve and freeze work directly on the tokens, right? in that case, shouldn't they just use the tokenkeg / token22 instructions? Or are you imagining some other use case where these instructions get routed through another program?

@nothing0012 I'm not sure I understand what you're suggesting. approve and freeze work directly on the tokens, right? in that case, shouldn't they just use the tokenkeg / token22 instructions? Or are you imagining some other use case where these instructions get routed through another program?

@joncinque approve and freeze don't work directly on the tokens because the tokens are frozen (in order to restrict transfer) so thats why to actually approve, it has to unfreeze, approve, refreeze

It looks like you understand the whole thing perfectly! Given what I'm proposing, how does it work for Cardinal's use cases? Keeping in mind that this is just a proposal, so everything is changeable. We can add more accounts and instructions as needed.

This should work ya. I am curious what the comparisons or thoughts of an approach like this one are https://github.com/solana-labs/solana-program-library/pull/3888
Just because this approach with consistently frozen tokens renders token-program essentially useless, but the goal is really to just restrict transfer, in token22 extension approach, approve and revoke would still work as is. Another big difference is that the entrypoints for wallets would always be token22 and require no additional network calls.
With the registry approach here, the entrypoint isnt the token program and in theory the token program could never be called at all i think by the implementing program so not sure if thats considered a pro vs a con?

Closing in favor of the transfer hook interface implemented in #4147


error_payload exposes :template

I don't know if it is intended but :error_payload returns also the template to the client
  def create(arg1, arg2, arg3) do
    {:ok, error_payload([%ValidationMessage{field: :email,
                                            code: "not found",
                                            template: "Something horrible has happened",
                                            message: "does not exist"}])}
  end

returns this result
{
  "data": {
    "createUser": {
      "successful": false,
      "result": null,
      "messages": [
        {
          "template": "Something horrible has happened",
          "message": "does not exist",
          "field": "email",
          "code": "not found"
        }
      ]
    }
  }
}

What is the purpose of having both template and message and returning them both? Is there any way preventing :template from being available to the client?

I have read the code and documentation better and indeed it is not an issue


0.3.1

Description
Update to version 0.3.1

Codecov Report

Merging #22 (c944e30) into master (eefe2cd) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #22   +/-   ##
=======================================
  Coverage   99.64%   99.64%
=======================================
  Files          19       19
  Lines         281      281
  Branches       43       43
=======================================
  Hits          280      280
  Misses          1        1

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 eefe2cd...c944e30. Read the comment docs.


proposal: cmd/go: invalidate cache entries for test runs using different timeouts

In the resolution to #22633, we started explicitly ignoring the test timeout when computing its cache key:
https://github.com/golang/go/blob/32b6eb80fc727b852965b17a63c83b4c5dab2973/src/cmd/go/internal/test/test.go#L1285-L1287
The use-case there was to be able to run a set of tests with a short timeout, and then increase that timeout in case of failure without re-running all of the tests.
However, that behavior seems incorrect to me: a test can today vary its behavior based on its timeout by using flag.Lookup("test.timeout") or examining os.Args directly. We have a pretty comprehensive test that checks for cache invalidation for all kinds of esoteric-but-observable behaviors, such as accessing files or environment variables — it's very surprising for one particular input to escape that check.
In https://github.com/golang/go/issues/34707#issuecomment-539019076, I even suggested a situation in which a test might want to explicitly vary its behavior based on the timeout: a test using randomized inputs and running with a short timeout might want to check only a few cursory inputs, while a very long (or even unlimited!) timeout might imply a much more exhaustive search.
We do have a tracing hook that checks whether the test happens to observe external environment variables. Something like that might be reasonable for os.Args, but we don't have that today.
I propose that we revert the special case for -test.timeout, and if that proves to be too unpleasant we should add explicit tracking for access to the flag package and/or os.Args so that we only ignore -test.timeout for tests whose behavior verifiably does not depend on the timeout.
CC @jayconrod @rogpeppe @matloob

Have you found any case where this behaviour is an issue currently? I tend to think that it's probably right that adjusting the timeout doesn't invalidate existing cached tests. When tests take a long time, it's frustrating to have them run again needlessly. If a test varies its behaviour based on the timeout, I think it probably deserves what it gets.

I wrote a bunch of regression tests for #32471 and they failed because the tests were being cached when I didn't expect them too.
It may be annoying to re-run tests when you change flags, but the general solution to that is to not request those tests when you know you're changing flags...

In the past, I've worked a lot on projects that had very slow tests. Often there would be one or two packages that timed out and required a -test.timeout flag, so when running tests from the top level you'd use that flag. But within other subdirectories (still slow but not slow enough to time out), you wouldn't need that flag.
If this proposal was accepted, you could run all the tests from the top level with go test -timeout 20m ./... but then when running tests in subdirectories with just go test ./..., the cache wouldn't apply and all those tests would need to be run again. Speaking for myself, I think I'd find that quite frustrating.

In #34707 (comment), I even suggested a situation in which a test might want to explicitly vary its behavior based on the timeout: a test using randomized inputs and running with a short timeout might want to check only a few cursory inputs, while a very long (or even unlimited!) timeout might imply a much more exhaustive search.

That doesn't seem like a good idea to me. I'd suggest that it would be better to have an environment variable or a flag that controls that behaviour - I think it would be deeply unintuitive for a test to take longer when the timeout is increased.
For your regression tests, perhaps a better solution might be for a test to be able to explicitly mark itself as non-cacheable.

Often there would be one or two packages that timed out and required a -test.timeout flag […]. But within other subdirectories (still slow but not slow enough to time out), you wouldn't need that flag.

It seems to me that GOFLAGS already addresses that use-case reasonably well: if you know that many of the tests you will be running require -timeout 20m, you can set GOFLAGS=-timeout=20m to apply that globally. If the behavior of the tests really does not depend on the timeout flag, then they will produce the same results either way.
(And you can always terminate the faster tests earlier by sending them SIGINT or SIGQUIT if you believe they're hung, or run them with an explicitly-shorter timeout while you're iterating on them.)

For your regression tests, perhaps a better solution might be for a test to be able to explicitly mark itself as non-cacheable.

That is #23799. (But see specifically https://github.com/golang/go/issues/23799#issuecomment-433090627.)

Another problem with ignoring -timeout for tests is that it hides test failures.
If I know that my CI system runs with -timeout=5m, and I run go test -timeout=5m ./... and the tests all report as passing, then I will be very surprised when I commit the change and push it to CI and discover that it consistently times out.
That suggests, at the very least, a much more subtle caching policy: a passing test with a shorter timeout generally implies passing with a longer timeout too, and a passing test with a long timeout should continue pass with any timeout shorter than its observed running time, but a passing result for -timeout=10m should not imply a passing result for -timeout=10s, because the test would not necessarily pass if run in that configuration with a clean cache.

@bcmills, what do you think we should do here?

I think we should revert the special-case for the -test.timeout flag, so that different -timeout values result in fresh runs of the test. That's a simple change to make, and it's easy to adapt it to very long tests by setting GOFLAGS=-timeout=20m or similar.
(Then we can see if there are any remaining cases where the GOFLAGS approach does not suffice, and if so whether they merit the additional complexity of flag tracking and timeout comparisons for more precise cache invalidation.)

This is about a subtle corner case in the test caching implementation.
I don't believe it needs to be a proposal.
I would say make the change now and let's give it the rest of the cycle to soak and find out what breaks or gets noticeably worse.


v0.3.1-alpha: isolate env setup

Given that there is a hard need for manual setup step (= BubbleGun) if the environment is not online, the env setup should be isolated as a separate rule to run or similar; i.e., this shouldn't require a complete config specification etc.

As mentioned in #42, the bubblegun step is vestigial, and references to it will be removed in a future version of the pipeline


fix: godoc naming to match the function

Description
Fix naming to make godocs happy

Need more context? Why godoc? I guess this is for https://pkg.go.dev/go.mongodb.org/atlas-sdk


Fix device specs

#285  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @rbro112 and the rest of your teammates on  Graphite


Customisable Farming Timer Tab

The farming timers are great, and I love the idea, but I was wondering if there was a way you could have a customised tab where you can add 1 of each crop e.g 1 cactus patch, 1 hardwood patch, 1 fruit tree patch.
If it was user customisable, different farmers using different sets of farming runs could have a single page with various timers on that doesn't include the plants they're not actively farming and at the same time helps them keep track of what they're supposed to be farming
I'm farming stuff from all over the timer sets for the pet which is why I ask
thanks for reading :)
Clem

Duplicate of #3056


Generating multiple R.generated.swift files in multiple targets

Hi,
I'm using R.swift in my library (framework) for my localized strings and I wanted to start using R.swift in my main target for other resources like images, colors and other files that I would be generating from there.
The issue I'm encountering is when I generate a R.swift.generated file in my main target (and include it in the project) it overrides the R.swift.generated file from my framework and I'm getting build errors in places where I'm using R.swift for localizations in my main target saying that
Type R has no member string
Type R has no member localization
My question would be is it possible to somehow generate a file that has a Resources struct instead of R struct so that the compiler can distinguish between the two files?
Maybe as a help, this type of thing is possible with SwiftGen, I know this since I'm transferring the resource handling from SwiftGen to R.swift :)

Did you find solution? Maybe change a name R.generated in the second target?

No I haven't, tried changing the file name but it didn't help. The issue isn't the file name but the generation itself and the class and struct names that are generated. Since it is not possible to change those the problem stays.

Yeah, I mean struct name

For me it works if I do this:
Create new file and add only this
`
import struct SubWorkspace.R
typealias SubWorkspaceR = SubWorkspace.R
`

As mentioned, the supported method is to use the fully qualified name from the library.
import MyLibrary

...

MyLibrary.R.string.settings.title()


fix: allow i18n in placeholder & confirmDelete

I'm unsure about this PR, but this could allow use translated strings in Editor.
This issue is linked to TorstenDittmann/OmniaWrite#93

Hey :-)
Your fix works, but I would prefer to have all language strings in one place. So it is fine to remove the placeholder and confirmdelete variable and use the translation object.
At here:
https://github.com/TorstenDittmann/omnia-editor/blob/master/src/Editor.svelte#L110
do
placeholder={translation.placeholder}
and
https://github.com/TorstenDittmann/omnia-editor/blob/master/src/Editor.svelte#L116
 content.removeBlock(0, false, translationconfirmDelete)}
At this point it is okay to introduce breaking changes so 👍

Done. I didn't know about Svelte variable assignment, nice to learn a new things today :)

@all-contributors please add @dennistobar  for code


research data source requirements

User story

As a Product Owner
I need to know the requirements associated with the data sources
So that the LLM methods can be evaluated and the training data generation can be planned

Acceptance criteria
documentation containing the following information or estimations as bullet points is created

requirements for document types
requirements to data sources (Confluence, Google Drive, Slack)
requirements from data sources (Confluence, Google Drive, Slack)
other requirements
comments
links / sources

Definition of done (DoD)

Acceptance criteria are met.
Work products are uploaded to the Github repository.
A pull request is created for each related branch.
The work products in the pull requests are reviewed.
The corresponding branches are merged and closed.
The bill of materials section of the planning documents is updated.
All defined conventions are complied with.

DoD general criteria

Feature has been fully implemented
Feature has been merged into the mainline
All acceptance criteria were met
Product owner approved features
All tests are passing
Developers agreed to release

not relevant any more


Improve the cucumber-js report.

Current behaviour
Individual report generated by the plugin cannot be imported successfully into Cucumber for Jira
After I merge all the individual json files into a big one the import works.
But even then only the status is updated, no duration or marking which step exactly failed.

Desired behavior

I want to be able to generate a cucumber-js report that is imported correctly into Cucumber for Jira
Test code to reproduce

Report generated by your example repo.

Versions

Cypress version: 6.4.0
Preprocessor version:4.0.1
Node version: LTS

Nobody here has time to research into the requirements of other parties' software, such as a Jira-plugin. Unless you can provide us with exact information as to what they require, this will unfortunately not be fixed.

Allow me to elaborate a little bit on this. The reason for which research is likely required, is because the JSON-format is inherently unspecified by Cucumber themselves, which means we have nothing to work with. Furthermore, the JSON-format is going away from Cucumber and likely here as well.

Hi this issue can be closed. I understand your point @badebal, so I ended up talking with the guys that manage the jira plugin.


[Solidity Assembly Yul support] storage coverage

Problem
The Hedera network supports smart contracts as part of EVM equivalence.
Occasionally items have shown up that surfaced inequivalence at the language or opcode layer.
Solidity supports inline assembly usage of the Yul language.
However, it may not be clear what coverage the Hedera Smart Contract Service 2.0 has for them
Solution

Add solidity contract example that utilize storage-coverage options for assembly using Yul

Add a contract under contracts/yul/storage-coverage and tests under respective directories

Ref: https://docs.soliditylang.org/en/latest/yul.html#evm-dialect
Alternatives
No response

duplicated #520


Roll out release for Kotlin 2.0.0

Hey, I just discovered this project and saw that there were a few commits to support Kotlin 2.0.0. I was wondering if there are other bugs fixes that need to be done before a release or if we should be expecting a release pretty soon? I just saw this library but I'm on Kotlin 2.0.0 for my project and can't use it yet. Great job with the work you've done!

How does Kotlin version stop you from using the library?

@blakelee If you get missing resources error, delete build folder in your project. I am using kotlin 2.0.0 and compose multiplatform 1.6.10.

It looked to be an issue with some code generation strangely enough. I reimported the library and now it seems to be working 🤷
I'll reopen if I can reproduce it and see which iOS component it is.


[$500] Workspace name in Distance request flow is wrong color

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

Version Number: v1.4.22-0
Reproducible in staging?:  yes
Reproducible in production?: yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @shawnborton
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1704218630440349
Action Performed:
Create a distance request, send it to a workspace
Expected Result:
The workspace name under the "To" label should use our standard text color.
Actual Result:
The workspace name under the "To" field uses our supporting text color
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~015105603136672151
Upwork Job ID:<PHONE_NUMBER>739854848
Last Price Increase: 2024-01-18

Proposal
Please re-state the problem that we are trying to solve in this issue.
Workspace name in Distance request flow is wrong color
What is the root cause of that problem?
Because that workspace is disabled here
So Workspace name in Distance request flow is wrong color
What changes do you think we should make in order to solve the problem?
Option1: We can make isDisabled as false for workspace.
Option2: we can keep isDisabled as true for workspace and only change disable color of workspace as default text color
What alternative solutions did you explore? (Optional)

.

Proposal
Please re-state the problem that we are trying to solve in this issue.
The workspace name in the Distance request flow is the wrong color
What is the root cause of that problem?
The following condition is true because the participant.accountID is zero.
https://github.com/Expensify/App/blob/5b0ceb25e746e9d7f2952cad8c6fa367b3638489/src/components/MoneyTemporaryForRefactorRequestConfirmationList.js#L441
Therefore, the OptionRow component applies the isDisbaled style to the displayNameStyle. Hence, any workspace will look different from the rest of the items on the menu.
https://github.com/Expensify/App/blob/5b0ceb25e746e9d7f2952cad8c6fa367b3638489/src/components/OptionRow.tsx#L131
What changes do you think we should make in order to solve the problem?

Just like how IOURequestStepConfirmatio uses the value of participant.isPolicyExpenseChat to get the policyExpenseChat, we should replicate it in MoneyTemporaryForRefactorRequestConfirmationList for consistency.
https://github.com/Expensify/App/blob/5b0ceb25e746e9d7f2952cad8c6fa367b3638489/src/pages/iou/request/step/IOURequestStepConfirmation.js#L138
Therefore, we can change the line to bring the issue to something similar to the code below.
isDisabled: !participant.isPolicyExpenseChat && ReportUtils.isOptimisticPersonalDetail(participant.accountID)

What alternative solutions did you explore? (Optional)
We could also use the prop isPolicyExpenseChat,  instead of using !participant.isPolicyExpenseChat. It is already passed to the MoneyTemporaryForRefactorRequestConfirmationList component by IOURequestStepConfirmation
** Result **

Yeah, something to consider is that I don't think we need to make the workspace name appear disabled.

@ntdiary Thanks for reviewing my proposal.
I have seen your good comments on my proposal but have not accepted it.
Is there anything I to add or change to my proposal?
Thanks

@ntdiary Thanks for reviewing my proposal. I have updated my proposal. Kindly, have a look.

Thanks for reviewing my proposal and also for the feedback, @ntdiary.
I have retested and updated my proposal based on your comments from https://github.com/Expensify/App/issues/33976#issuecomment-1881122160.
It works like a charm. Thank you. 😄

Proposals and on-going discussion still in progress.

Hey @ntdiary, I updated my proposal to try to solve the back button issue.
However, I would appreciate it if you could answer these two questions.

Did you suggest removing the shouldNavigateToTopMostReport prop from the HeaderWithBackButton component and handling it from the ReportDetailsPage and FlagCommentPage?

When a user tries to make a new money request, should the app navigate the user to the previous money request or delete it and create a new one?

Hey @ntdiary, I updated my proposal to solve the back button issue.
However, I would appreciate it if you could answer these two questions.

Are you suggesting removing the shouldNavigateToTopMostReport prop from the HeaderWithBackButton component and handling it from the ReportDetailsPage and FlagCommentPage?

When a user tries to make a new money request, should the app navigate the user to the previous money request or delete it and create a new one?

Still discussing proposals

@Tony-MK, nope, I'm just considering removing this line of code because it has a higher priority, it would prevent us from navigating back to the confirmation page:

I updated the proposal to determine whether the backTo route parameter is available and sets shouldNavigateToTopMostReport to false.

I'm not exactly sure how this problem might impact the solution. Could you provide further clarification?

This is because if the user navigates the workspace ReportDetailsPage he/she can still press the "+" button and create another split or money request.
How will we handle this case?
Should we navigate the user back to the MoneyTemporaryForRefactorRequestConfirmationList?.
Is that clear? 🤔
If this is not clear enough, I can provide a video demonstration?

@Tony-MK, nope, I'm just considering removing this line of code because it has a higher priority, it would prevent us from navigating back to the confirmation page:

@ntdiary, I updated the proposal to determine whether the backTo route parameter is available and sets shouldNavigateToTopMostReport to false.

I'm not exactly sure how this problem might impact the solution. Could you provide further clarification?

This is because if the user navigates the workspace ReportDetailsPage he/she can still press the "+" button and create another split or money request.
How will we handle this case?
Should we navigate the user back to the MoneyTemporaryForRefactorRequestConfirmationList?
Is that clear? 🤔
If this is not clear enough, I can provide a video demonstration.

My apologies, @ntdiary, I misunderstood.
Do you think this is a reasonable fix?
shouldNavigateToTopMostReport={!props.route.params.backTo}
onBackButtonPress={() => {
 Navigation.goBack(props.route.params.backTo, !props.route.params.backTo)}
}

Also, instead of doing the above change in the ReportDetailsPage,  should we change the HeaderWithBackButton because it will prioritize the backTo over shouldNavigateToTopMostReport, hence regressions in different scenarios are unlikely.

In my expectation, the return behavior for the workspace detail page and the personal detail page should be similar. Not sure why they can still click the + button, so it would be great if you could also provide a video demonstration. 😂

My apologies, @ntdiary. I think I misunderstood something.

We also need remove this line of code as well, because it also prevent us from returning to the confirmation list page after clicking the back button.

Do you think this is a reasonable change for ReportDetailsPage?
const backTo = props.route.params.backTo;
...
shouldNavigateToTopMostReport={!backTo}
onBackButtonPress={() => {Navigation.goBack(backTo, Boolean(backTo))}}

Should we change the HeaderWithBackButton because it will prioritize the backTo over shouldNavigateToTopMostReport, hence regressions in different scenarios will be less likely?
Result
https://github.com/Expensify/App/assets/22982173/3a1f4cb8-8a0e-484c-91da-91f7f5e9a59e

stop melvin

Hey, @ntdiary, the PR is now ready to review.
Please let me know if you have any questions regarding this.
Thank you.

Hey, @ntdiary, the PR is now ready to review.
Please let me know if you have any questions.
Thank you.

How are we looking on this one @Tony-MK @ntdiary ? Looks like one outstanding question and a merge conflict now. Can we get this ready for final review / merge on Monday or Tuesday? Thanks!

@dangrous, I believe we can finalize it before Tuesday. 👍

Alright, so circling back on this one. Payment summary as follows:

Contributor: @Tony-MK $500
Contributor+: @ntdiary $500

I'm not seeing any issues with regressions, so @ntdiary please fill out the BZ checklist above and we can get this checklist closed out.

Even though it's small I think it's pretty quick to check, it would just be adding a line confirming the color to whatever existing test creates the workflow. I think it's worth adding!
If you want to do a  quick test, I'm sure QA can roll it in to what they already have and simplify

@ntdiary Let's use the Slack thread to align on next steps, I just commented there. I'm going to close this issue for now, though I can re-open if you need to be paid via Upwork.


docs pass on version names and urls

make sure the docs refer to varnish 1 and 2 properly in varnish-demo

done


2connection on the same MTAPIPort

Hello,
This is just a question.
If 2 independent thread, connecting the the same mtapiclient on the same port.
Is that possible, or is it, only 1 port pr thread pr mtapi EA.
Thanks in advance
KG

Hi.
Yes, it is possible.
You can create several mtapi clients connected to the same port. This clients can be located in same application or in separate applications.
Also it is possible create several mtapi clients connected to different ports on MetaTrader (defined via MtApi.ex property "Port").
MtApi was designed to be flexible for connections.

Hi Demidyuk,
Thank you very much
Best regards
Karim
On Sat, May 4, 2019 at 9:46 AM Vyacheslav Demidyuk<EMAIL_ADDRESS>wrote:

Hi.
Yes, it is possible.
You can create several mtapi clients connected to the same port. This
clients can be located in same application or in separate applications.
Also it is possible create several mtapi clients connected to different
ports on MetaTrader (defined via MtApi.ex property "Port").
MtApi was designed to be flexible for connections.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/vdemydiuk/mtapi/issues/156#issuecomment-489304288,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AL5CCLGNGKUISTP5S3QE7GLPTU5MXANCNFSM4HJ74AOQ
.

Hello, so what about 2 MtApi terminals to be connected by 1 MtApi client at the same time? if possible, do the 2 MtApi terminals have to be with different port?


[FLINK-33736][Scheduler] Update default value of exponential-delay.max-backoff and exponential-delay.backoff-multiplier

What is the purpose of the change
See FLIP-364: Improve the exponential-delay restart-strategy . This PR  includes the subtask1 of FLIP-364.
Brief change log

[FLINK-33736][Scheduler] Update default value of exponential-delay.max-backoff and exponential-delay.backoff-multiplier

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): yes
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? Java doc and config doc are updated.

Thanks @RocMarshal for the quick review! Merging~


Require restricted business checkbox on CompanyStep

Details
This PR adds a check to ensure the user can't continue on the Company Step of the VBA flow if the checkbox isn't checked.
Fixed Issues

Follow up PR to the issue found here: https://github.com/Expensify/App/pull/4479#issuecomment-896160707
cc @kevinksullivan
Tests/QA

Navigate to the company step in the VBA flow: <baseURL>/bank-account/company.
These are the fields that need to be filled out in order for the "Save & Continue" button to be enabled. Verify that the button is disabled if any of these fields aren't filled out. You don't need to input a valid value, any value will suffice as long as it isn't empty:

Legal Business Name
Company Address
City (for company address)
State (for company address)
Zip Code (for company address)
Company Website
Tax ID Number
Incorporation Date
Incorporation State
Industry Classification Code
Expensify Password
Checkbox at the bottom

Tested On

[x] Web
[x] Mobile Web
[x] Desktop
[x] iOS
[x] Android

Screenshots

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @NikkiWines in version: 1.0.83-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @isagoico in version: 1.0.85-9 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Fix ENet incorrectly binding to wildcard.

Values were not properly initialized, and wildcard would evaluate to true in most cases.
Fixes #29790

Thanks!

Cherry-picked for 3.1.2.

Cherry-picked for 3.0.7.


dag-service

Still working this branch, do not merge yet, ready now

[x] finish dag service
[x] tests
[x] create a cycle test where a go-ipfs marsheled node is cycled to through our code and make sure the original and end result didn't create any mutation
[x] method descriptions

@dignifiedquire @richardlitt could you review this PR? Well, actually, the whole module when it comes to API? The parallel on go-ipfs lives on https://github.com/ipfs/go-ipfs/tree/master/merkledag
@vijayee this is ready to merge :) Can I get your :+1: ?

Looks fine to me from looking over the code, but I'm not sure about running it.

Looks good to me.

sweet! :+1:  thank you


Settings sync -LocalTooManyRequests (UserDataSyncError) undefined: Too many requests.

Testing #98962
When the LocalTooManyRequests occurs we are writing an undefined object into the logs.
_

[2020-06-02 15:56:57.315] [userDataSync] [error] LocalTooManyRequests (UserDataSyncError) undefined: Too many requests. Allowed only 100 requests in 5 minutes.
at w.request (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:527:747)
at e.request (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:525:102)
at async e.manifest (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:523:528)
at async e.doSync (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:514:300)

_

Good catch


Infinite Resursion on pages where used material-tailwind components

I replaced MUI components with material tailwind component, Intially Error (RangeError: Maximum call stack size exceeded
) started popping on one directory where i've used materal tailwind components, other routes are working fine.

Same issue here


ANSI support

Hello!
How do we use this with an ANSI database?
Thanks,
Dean

I am not sure if it need any specific configurations. Microsoft's ODBC documentation does not specify anything about it. Have you tried to see if it wors out of the box? To my knowledge the driver should be able to handle the encoding by itself.
If you have already tried, are you facing any issues?

Thanks for the reply, I believe the issue I was running into was the fixed size of 256 which would cause an exception in the ODBC driver when accessing a stored image.  Thoughts on querying the column data size and allocating memory accordingly?
Thank you.
https://github.com/SL-Pirate/dart_odbc/blob/af18a40429ad860d0ba4306225ed5ce7560aacf8/lib/src/dart_odbc_base.dart#L285
      final columnName = calloc.allocate<Uint16>(sizeOf<Uint16>() * 256);
      tryOdbc(
        _sql.SQLDescribeColW(
          hStmt,
          i,
          columnName.cast(),
          256,
          columnNameLength,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
        ),
        handle: hStmt,
        onException: FetchException(),
      );

Yes, this could definitely be the issue. I have an idea how I could expose the ability to allocate memory accordingly and I will implement it in my next release. In the meantime can you verify if your issue is fixed by increasing the memory allocation?

Yes it definitely could be. I will expose a way to provide column size. In the mean time please try if you can fix the issue by giving a higher value final columnName = calloc.allocate<Uint16>(sizeOf<Uint16>() * 256); here than 256.

@dweberlj I updated the package to version 2.0.0+1
Please provide the column type to the execute method and set the size of the column to the required value and see if it fixes your issue. Keep me posted on your progress.
For more information refer to the updated documentation.


Fixes for grid interface aggregation support with spreadfn

Fixes small bug and adds test for aggregation with spreadfn.

Looks good and the tests have passed. Merging.


Add PyPI Automation

Add automation and PYPI_TOKEN repo secret so this package can be included in requirements

closed by #10


Updated sidebar labels

Added IBM Cloud Private.
Modified AWS Sidebar title
Arranged cloud platforms in an alphabetic order.

Signed-off-by: Murat Karslioglu<EMAIL_ADDRESS>

Hi @muratkars , we are combining all the platforms into one file as the platform specific changes for OpenEBS are not too many.
We will have a separate sidebar section called Integrations where we can put OpenEBS, IBM Cloud, StackPointCloud, MayaOnline, Rancher etc.

Here is the updated bar

Updated the sidebar as suggested by @muratkars .


Improve user info test cases

Public Issue : https://github.com/wso2/product-is/issues/21313
Current test user admin for authorization which is unnecessary, we should use business user.
Current suite lacks some negative cases which is using Invalid token access to get user info.
Apart from this fix will introduce test cases for

POST request
validate user info for M2M token

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/11339689447

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/11339689447
Status: success

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/11359450939

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/11359450939
Status: success


[BUG] - cardano-cli query ledger-state and protocol-state dump binary data

Internal
Area
Other   Any other topic (Delegation, Ranking, ...).
Summary
The cardano-cli query ledger-state and cardano-cli query protocol-state dump binary data when --out-file is specified. When --out-file is not specified and output is printed to stdout, the data is JSON-like as expected.
Steps to reproduce
Steps to reproduce the behavior:

run cardano-cli query protocol-state --mary-era --testnet-magic 42 --cardano-mode --out-file protocol_state.log and inspect the "protocol_state.log" file.

Expected behavior
Text JSON-like data instead of binary data.
System info (please complete the following information):

OS: Fedora 33
cardano-node 1.25.0 - linux-x86_64 - ghc-8.10
git rev 99e678c008405426f4af774f16f4f132539622f5

I agree this is irritating, but the CLI code is a bit tricky here, and the design/implementation should be looked at as a whole to see what simplifications could be made.
A workaround is to redirect the standard output to a file.  Then --out-file is not needed.
cardano-cli query protocol-state --mary-era --testnet-magic 42 --cardano-mode > protocol_state.log
Longer term, it might be good to add a new flag that was specific to file output:
--binary-format

The workaround no longer works for me on my laptop, since my OS kills the process due to memory consumption. it would be really great to have the JSON back.

If we use --out-file flag and it writes binary then what are the tools, or command lines that can be used to decode the file? Could we produce the file dump on a node and then decode it offline on another computer?

On testnet using cardano-cli version 1.29.1, my Docker container gets killed if I limit memory to 1 GB and try to dump the ledger-state as a JSON file. It passes if I increase the memory limit to 2 GB.
Using --out-file to save the file in binary format is fine IMHO, but it means we need to have a new off-chain tool to decode this binary data. @JaredCorduan I started looking at the Cardano CLI source code and see where this type of feature can be plugged. I will update if I get something running.

If we still want to write the whole of the ledger state we can still use Aeson but be smarter about it. Rather than convert the whole ledger state struct to JSON and then write that out, an approach that will work when ledger state is really huge is to
manually pull apart the ledger state and covert smaller chunks to JSON and then write them out individually, making sure the same JSON is written.

@shawnim what you've done is translate the CBOR directly to JSON. which, as you can tell, is not nearly as human readable as the JSON produced by the CLI. The CLI converts the CBOR into a Haskell in-memory representation, which it then converts into JSON.
For example, a stake credential in CBOR might look like [0, BYTES], but is rendered something like { "type": "keyhash", "value": HEX } by the CLI. The 0 indicates a key hash (as opposed to 1 which indicates a script hash).
We have a CBOR specification for all the data that is transmitted on the wire (see here for Alonzo), but this does not include the entire ledger state.

Closing this. If this is still relevant please reopen.

Still relevant.


Decision logic on which polyfills are added to vendor/autoload.php?

Hi,
when compiling PHPStan this is how the resulting vendor/autoload.php looks like:
<?php

// @generated by Humbug Box

// autoload.php @generated by Composer

require_once __DIR__ . '/composer/autoload_real.php';

$loader = ComposerAutoloaderInite6b4a7db1c3ec772ea250147bc81c6b7::getLoader();

// Aliases for the whitelisted classes. For more information see:
// https://github.com/humbug/php-scoper/blob/master/README.md#class-whitelisting
if (!class_exists('Throwable', false)) {
    class_exists('_HumbugBoxf40854076254\Throwable');
}
if (!class_exists('JsonException', false)) {
    class_exists('_HumbugBoxf40854076254\JsonException');
}
if (!class_exists('Stringable', false)) {
    class_exists('_HumbugBoxf40854076254\Stringable');
}
if (!class_exists('ValueError', false)) {
    class_exists('_HumbugBoxf40854076254\ValueError');
}

// Functions whitelisting. For more information see:
// https://github.com/humbug/php-scoper/blob/master/README.md#functions-whitelisting
if (!function_exists('uv_signal_init')) {
    function uv_signal_init() {
        return \_HumbugBoxf40854076254\uv_signal_init(...func_get_args());
    }
}
if (!function_exists('uv_signal_start')) {
    function uv_signal_start() {
        return \_HumbugBoxf40854076254\uv_signal_start(...func_get_args());
    }
}
if (!function_exists('uv_poll_init_socket')) {
    function uv_poll_init_socket() {
        return \_HumbugBoxf40854076254\uv_poll_init_socket(...func_get_args());
    }
}
if (!function_exists('fdiv')) {
    function fdiv() {
        return \_HumbugBoxf40854076254\fdiv(...func_get_args());
    }
}
if (!function_exists('preg_last_error_msg')) {
    function preg_last_error_msg() {
        return \_HumbugBoxf40854076254\preg_last_error_msg(...func_get_args());
    }
}
if (!function_exists('str_contains')) {
    function str_contains() {
        return \_HumbugBoxf40854076254\str_contains(...func_get_args());
    }
}
if (!function_exists('str_starts_with')) {
    function str_starts_with() {
        return \_HumbugBoxf40854076254\str_starts_with(...func_get_args());
    }
}
if (!function_exists('str_ends_with')) {
    function str_ends_with() {
        return \_HumbugBoxf40854076254\str_ends_with(...func_get_args());
    }
}
if (!function_exists('get_debug_type')) {
    function get_debug_type() {
        return \_HumbugBoxf40854076254\get_debug_type(...func_get_args());
    }
}
if (!function_exists('get_resource_id')) {
    function get_resource_id() {
        return \_HumbugBoxf40854076254\get_resource_id(...func_get_args());
    }
}
if (!function_exists('setproctitle')) {
    function setproctitle() {
        return \_HumbugBoxf40854076254\setproctitle(...func_get_args());
    }
}

return $loader;

The project also has symfony/polyfill-php73 but those functions like is_countable and hrtime aren't added to the autoload.php file.
What decision logic box and php-scoper have for this? Looks like they take into account the PHAR is compiled on PHP 7.3 but that seems a bit counter-intuitive as I target PHP 7.1+.
And actually, my ideal situation would be:

Do not add any of these functions to vendor/autoload.php as they mess up PHPStan's analysis itself (see https://github.com/phpstan/phpstan/issues/3431#issuecomment-643086151)
If any src/ and vendor/ code uses these functions, prefix their usage as they are prefixed in their source code.

Can this be achieved? WDYT?

Looks like at least part of the problem can be solved with 'whitelist-global-functions' => false and 'whitelist-global-classes' => false but that leaves calls to is_countable inside Symfony code unprefixed. PHP-Scoper might be confused about whether is_countable is internal to PHP or not, but that might just be a different manifestation of the "compiled on PHP 7.3, but can run on PHP 7.1" problem.

PHP-Scoper checks if the function is internal or not and if not will mark it to append it to the autoload. So it depends on:

Which PHP version you are on
What version of PHPStorm stubs are used
What is fit in PHP-Scoper's Reflector

Being able to tell what versions has which symbol been added on would be really nice and solve your issue, but I suspect it would be quite hard to achieve in a reliable way

What version of PHPStorm stubs are used

What's this one? How can I force it?
phpstorm-stubs use the @since annotation: https://github.com/JetBrains/phpstorm-stubs/blob/eff2ef85adf6be7aea7f84882f2df174208a4cf5/standard/standard_5.php#L317
So if Scoper filtered the symbols by this annotation and you could tell it you intend to use it on PHP 7.1, it could do something with that.
I do this in the scope of BetterReflection library already: https://github.com/ondrejmirtes/BetterReflection/commit/8cc773644db20b22c9db9f13ea58797b80b7b74b#diff-acc4fc64b69196c0bfd65b95b4130601
The current solution with 'whitelist-global-functions' => false is dangerous because the functions do not get prefixed even if the polyfill is available (and prefixed). So I kind of rely on those paths with newer PHP functions not to be executed in vendor...

What's this one? How can I force it?

This is from the stub dependency installed via Composer hence the one shipped in the PHAR. There is no hard constraint there in terms of Composer version so it's more about when I update it and update the PHAR.

So if Scoper filtered the symbols by this annotation and you could tell it you intend to use it on PHP 7.1, it could do something with that.

There is two reasons I'm not keen (but it might be necessary) to go down that path:

It's far from being a trivial amount of work – also keep in mind I'm using the stubs generated map only, so no parsing of the stubs is being done in PHP-Scoper so either it will result in a much slower solution or the stubs should be adapted to provide that since version in a more convenient way
I don't know how reliable they are

The current solution with 'whitelist-global-functions' => false is dangerous because the called functions do not get prefixed even if the polyfill is available (and prefixed). So I kind of rely on those paths with newer PHP functions not to be executed in vendor...

Yes I think the global function whitelist should be enabled.
But since PHP-Scoper does rely on the autoloaded code to perform its work, the PHP version you currently execute has an influence, hence ideally you want to match that PHP version with the version you target.

I recently moved the PHAR compilation to PHP 7.2 but I haven't seen any changes to is_countable call. What should happen in your opinion?

I recently moved the PHAR compilation to PHP 7.2 but I haven't seen any changes to is_countable call. What should happen in your opinion?

I think if it's in the stubs it will be considered as internal... Damnit

Reviewing this.
On Box side, or to be more accurate the RequirementChecker side, it will list all the required extensions based on the composer.lock and filter out the ones covered by polyfills (which are documented via the composer replace setting).
But I assume this issue is more about what is added in vendor/autoload.php by PHP-Scoper. In which case this depends on two things:

Whether global symbols are exposed
Whether a global function alias was registered. More details can be found here in the documented exception (and why).

TL:DR; it is to avoid to have broken cases and allow polyfills to work out of the box, although it does mean a bit of a polluted vendor/autoload.php (which I think is a fair tradeoff unless someone comes up with an amazing idea/PoC).


Added HasIndexer property to BoundAttributeDescriptor

Issue - https://github.com/aspnet/Razor/issues/1087
@NTaylorMullen

Right now we don't do any null check shenanigans in Razor because we only need to use IsIndexerNameMatch(). The reaction for this will only be in Mvc https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNetCore.Mvc.Razor.Host/ViewComponentTagHelperPass.cs#L152

🆙 📅


Old links to projects don't work anymore

Current behavior
URLs of this form: https://beta.metaculus.com/project/aibq3 don't work anymore
Expected/desired behavior
They should

This should be as easy as re-pruting project to tournament.
Also, if you are in the metaculus team please auto-label these as "approved" + add feature or bug


Added 480p to SD labels

Link to related issue (if applicable)
Sumary of proposed changes
Updated the control.js file to add a SD label to sources with a 480 value on the size attribute
Task list

[X ] Tested on supported browsers
[ X] Gulp build completed

Cheers 👍


Added Added luxon library

@lieut-data Please inform me if I have missed somethiing. I hope I was able to add little value to it.

Fixes https://github.com/mattermost/mattermost-server/issues/18589

/check-cla

Node 16 / NP

Oh Okie I am updating and fixing the issue right now...

The difference in the package-lock.json is because of NPM versions. Could you update NPM to version 7 and re-run npm install to update that? You might have to revert the changes to the package-lock first for that to reduce the number of changes.

@void-hr would you mind updating to Node 16 / NPM 7 and re-run as Harrison suggested?

I have updated but now npm install isn't working....

I have updated but now npm install isn't working....

What sort of error(s) are you getting?

@calebroseland I have resolved the issue but I have made another PR you can close this one and check the following. Thankyou
https://github.com/mattermost/mattermost-webapp/pull/9107


Throw Runtime Exception instead of NullPointer Exception when gapfill…

… selector does not have the column from timeseries clause.
Instructions:

The PR has to be tagged with at least one of the following labels (*):

feature
bugfix
performance
ui
backward-incompat
release-notes (**)

Remove these instructions before publishing the PR.

(*) Other labels to consider:

testing
dependencies
docker
kubernetes
observability
security
code-style
extension-point
refactor
cleanup

(**) Use release-notes label for scenarios like:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

Codecov Report

Merging #9744 (4edf2d5) into master (2f640ff) will decrease coverage by 32.86%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master    #9744       +/-   ##
=============================================
- Coverage     70.08%   37.22%   -32.87%
+ Complexity     4980      199     -4781
=============================================
  Files          1951     1951
  Lines        104561   104564        +3
  Branches      15836    15837        +1
=============================================
- Hits          73279    38920    -34359
- Misses        26155    62412    +36257
+ Partials       5127     3232     -1895

Flag
Coverage Δ

integration1
25.44% <0.00%> (+<0.01%)
:arrow_up:

integration2
24.74% <0.00%> (+0.11%)
:arrow_up:

unittests1
?

unittests2
15.67% <0.00%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ache/pinot/core/query/reduce/GapfillProcessor.java
0.00% <0.00%> (-90.87%)
:arrow_down:

...in/java/org/apache/pinot/spi/utils/BytesUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/spi/trace/BaseRecording.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/spi/trace/NoOpRecording.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/config/table/FSTType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/config/user/RoleType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/data/MetricFieldSpec.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/stream/StreamMessage.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/common/tier/TierFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...a/org/apache/pinot/spi/config/table/TableType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1011 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[poll] Anime fan or not?

please write down your names, those who "nah" 🙂

Rem is definitely best girl, but Megumin comes very close!

name


Can't set defaultCharset for the response

From<EMAIL_ADDRESS>on May 30, 2013 16:41:53
What steps will reproduce the problem? 1. Use an IDE with non UTF-8 encoding
2. Receive an UTF-8 response with special chars from your API
3. Use Response.asString() on it
-> Obviously there are encoding problems.
The Response.asString() can't take a Charset as parameter and there is no way to specify the default charset used for byte/stream to String conversions in RestAssuredConfig, except the system property "-Dfile.encoding"
I would expect in this method:
com.jayway.restassured.internal.RestAssuredResponseImpl#findCharset
That we can set a default body decoding charset in RestAssuredConfig, or that we can use Response.asString("UTF-8") for exemple (or both)
Original issue: http://code.google.com/p/rest-assured/issues/detail?id=240

From<EMAIL_ADDRESS>on June 02, 2013 23:48:18
Can't you use DecoderConfig and specify a defaultContentCharset? What version of RA are you using?

From<EMAIL_ADDRESS>on June 03, 2013 01:11:56
You are right it works fine! I though I tested that but finally noticed that the code setting the Decoder wasn't called in my test!
1.8
Thanks

From<EMAIL_ADDRESS>on June 03, 2013 01:19:38
Great!
Status: Invalid


HomeAssistant Add-on setting the output path

Hi,
I have this installed as Home Assistant Addon, I have it running but I cannot figure out how to set the path correctly.
I added: OUTPUT_PATH: /media/output.png to the config thinking that this will save it to the home assistant media folder but it give me error message:
[Error: ENOENT: no such file or directory, open 'output/cover.png'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: 'output/cover.png'
}

if I remove the OUTPUT_PATH line I still get the same error message. What am I doing wrong?

Hi @alfwro13
the OUTPUT_PATH refers to the file system inside the docker container. It's sandboxed and thus separated from the home assistant file system, where the media folder is located.
From a Docker perspective, you could theoretically mount a folder from the HA file system into the addon system, but the HA addon might need further configurations to allow this. By default, the security principles of HA addons don't allow this.
Maybe I can help you more if you could give some insights into what you want to achieve in general?

What I want to do is use this to addon to save a lovelace card and then display the saved card on an ESPHome display using this: https://github.com/esphome/esphome/pull/4710
I am not using docker I am running the Home Assistant Add-on version and even without the OUTPUT_PATH I still get the no such file or directory error message?

As far as I understand the linked PR, it should work without the OUTPUT_PATH as long as the ESPHome can reach the HA Addon via HTTP or HTTPS.
The "OUTPUT_PATH" is just some internal thing and not meant to be used - except for debugging and manually checking the file for example. See it as some internal temp variable, which would allow you to say "please save the temporary file somewhere else on the file system".
In the end, the whole project offers an HTTP endpoint which will deliver this image. Just find out your addon's URL and append the /1 or /2 suffix to get the 1st or 2nd image. This HTTP endpoint will deliver the image (which internally is stored at the location stored in the OUTPUT_PATH variable).
So by pointing ESPHome to that URL, it should directly fetch the image from the addon and should be ready to go. I don't see any need to put the image on the file system of HA first and then delivery it to ESPHome again somehow, when there's a direct possibility.

I'm trying to access the HTTP endpoint from an Inkplate 6, which is not working. Browsers show the image under http://:5000/ fine, but the  drawImage() method of the Inkplate library cannot parse the output.
However, they write:
Can draw all kinds of images, but they should have a file extensions in them.

Hence, I tried to change the OUTPUT_PATH, but it doesn't change the URL where the image is being served.
It would be nice to have the image available at http://<HASS-IP>:5000/output.png or http://<HASS-IP>:5000/output.jpeg.


Attachment Log - Attachments unavailable/not working

Describe the bug in current situation
Reported by users that attachments on certain requests were broken/not working.
Examples:
PSA-2023-30612
PSE-2023-30322
Link bug to the User Story
Impact of this bug
Note: difficult to reproduce - some examples from PROD are listed above, but at least the PSA one have been resolved by the coordinate who reuploaded the impacted documents.
For PSE-2023-30322 - the impacted file is the one uploaded as part of the CFR > Review status change. It is still bugged in production.
For PSA-2023-30612 - it was observed that the docx files were throwing the error. The coordinator had since replaced them and the issue was resolved
Chance of Occurring (high/medium/low/very low)
UNCLEAR - this issue seems to occur sporadically, either as part of a document upload state change, or when uploading forms in bulk
Pre Conditions: which Env, any pre-requesites or assumptions to execute steps?
Steps to Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Actual/ observed behaviour/ results
Expected behaviour
A clear and concise description of what you expected to happen. Use the gherking language.
Screenshots/ Visual Reference/ Source
If applicable, add screenshots to help explain your problem. You an use screengrab.

@nkan-aot @richard-aot - as discussed from stand up. Again - unclear how to replicate, some impacted files noted above with context added

@nick-aot
Note: when moving a request from Response -> On Hold, when you add attachments to the state change modal, these attachments are not added to the Attachments tab. See EDU-2023-99993 in Test.
These two attachments were added to the state change modal (and sent to the applicant), but were not added to the Attachments tab:

Didn't notice any issue on any of the other file upload/attachment scenarios.
cc: @m-prodan

@KyEggleston I believe any attachments shown in the contact applicant log will not be shown in attachment logs in order to not clutter. Logically any attachments in the attachment log are for iao and ministry to communicate with each other. As long as you can view and download the attachments in the applicant log, they have been uploaded properly

@nkan-aot - when sending the initial fee estimate email to the applicant (Fee Estimate -> On Hold), the attachments uploaded to the state change modal (and are sent to the applicant) are added to the Attachments tab. This isn't happening for Response -> On Hold, where the attachments are also sent to the applicant. So it seems it's kind of a mixed bag. But otherwise, no issues uploading attachments.

just tested in dev-marshal and the behaviour is the same. Anyways I did not change any logic regarding which attachments are sent to attachment log and which are sent to contact applicant log, only the behind the scenes method of uploading them to s3. the end result should be that file uploads work exactly the same as they used to. If we want to add the response -> on hold documents to the attachment log or take out the fee estimate -> on hold documents, i suggest creating a new ticket

I'll close this, and we can discuss the Response -> on hold outside the ticket @m-prodan @liseandtea

@nkan-aot - sorry to reopen this, but this may be related to this ticket.
I think I get what was happening on PSE-2023-30322 and can replicate.
The ministry first uploaded their completed CFR Form directly to the Attachments tab (e.g., with the name "Call For Records.pdf".
However, afterwards they changed the request state from Call for Records -> Records Review, and uploaded that same file ("Call for Records.pdf") to the state change modal as an attachment. If a duplicate attachment is attempted to be added to the Attachments tab directly, the user receives an error, and is unable to upload the file.

However, when uploading attachments via a state change modal, duplicate attachments are not prevented (i.e.., no error such as the above is thrown). Instead, the file name is appended with a number, which is what happened on this request.

The appended file is then uploaded to the Attachments tab, but when trying to view it, they receive an error:

Here is an image of the attachments on PSE-2023-30322, with the appended file "G - Call for Records form - 30322(1).docx", which is the appended file name, is throwing an error when trying to view it through the Attachments tab -> ellipsis (...) -> View.

I'm not sure if any action can be taken on this right now, but this may be the issue.

You rock - thanks Nick!

Confirmed fix - closing this ticket


Add India State Dances

This PR introduces a dataset containing the folk dances associated with each Indian state. Additionally, the PR includes an updated India SVG map to visually represent the cultural richness of the states.

raise PR against task/indiamap branch

I have made the required changes


build: silence CMake deprecation warning

CMake 3.27 now warns that "Compatibility with CMake < 3.5 will be removed from a future version of CMake." (https://cmake.org/cmake/help/latest/release/3.27.html#deprecated-and-removed-features)
This PR adds 3.5 as an allowable minimum CMake version, keeping the "minimum minimum" at 3.4.
Background: GitHub recently upgraded the version of CMake on their Ubuntu 22.04 container image to 3.27 (https://github.com/actions/runner-images/commit/79252fad3a14bc2c1893881d39d51905c4d2d50d), and this broke the build for some projects that include libuv with -Werror=dev (e.g. https://github.com/WebAssembly/wabt/pull/2273).
Could also just bump the minimum up to 3.5 (or higher) if you prefer. It was last updated in https://github.com/libuv/libuv/pull/2495

It should be okay to update the minimum to 3.5. I'm fairly sure 3.4 was for compatibility with RHEL 6 and/or Ubuntu < 16.04 but we no longer support those.
Since RHEL 7 is the minimum supported system now, I'd say it's okay to go to 3.9 directly if that makes things easier for you.


Changing the file ID on web-based actions is causing numerous complications

The review system has been having time-out problems for a while which is hampering the review process.
One of the causes is reassigned of file ID (and/or creating new file?!!) on web actions.
Example:

New version of an addon is uploaded
Addon gets an file ID
User decides to add "Notes for Reviewers"... somehow AMO creates a new file and new file ID

Addon:
https://addons.mozilla.org/en-US/editors/review/realtime-ip-check
File ID after upload:
https://addons.mozilla.org/en-US/firefox/files/browse/386698/
File ID after adding notes via the web interface (the XPI has NOT changed)
https://addons.mozilla.org/en-US/firefox/files/browse/386700/
And again ..... (facing Not Found in the middle of a review)
https://addons.mozilla.org/en-US/firefox/files/browse/386705/
A review posted during these changes causes timeout-, lost review (and points), and on occasion review ending on a separate version which doesn't exist thus making the update impossible for the users.
Another similar situation which happens alarmingly regularly is when user changes the review type (eg from Full to Prelim) which causes similar complications.
Example:
https://addons.mozilla.org/en-US/editors/review/toggle-web-developer-toolbar
https://addons.mozilla.org/en-US/editors/review/facebook-sidebar
Why should the file IDs change when the actual XPI has not changed and there have only been changes to the web-based detail of the addon?

I can't reproduce this issue locally or on dev. Adding notes for reviewers doesn't create a new File for me, and the id does not change. I also can't find in the code what would cause this.
Are you sure this isn't the developer deleting and recreating files ? or maybe it only happens with specific types of addons - hard for me to say at the moment as I don't have reviewer permissions on prod.

I am not an admin reviewer so I have limited access to certain areas.
I am not sure but it didnt feel like a delete-upload new version. They often happen in such a short space of time which makes it unlikely but I can not verify it.
When the upload is an update, AMO usually displays the record if it was deleted and reuploaded which makes the above scenario even less likely.

Another example ,.. just happened now:
https://addons.mozilla.org/en-US/editors/review/flex-confirm-mail
https://addons.mozilla.org/en-US/firefox/files/compare/389152...387260/
https://addons.mozilla.org/en-US/firefox/files/compare/389152...378175/

Can anyone reproduce on dev or stage ? It's much harder to investigate something like that on prod as many of us don't have the right permissions for it.

I tried a few things on -dev and couldn't reproduce the problem.

I uploaded my own addons today and made some Web changes....
Sadly, I could not see if anything happened due to the "Self-review" :(

Another observation:
ref: https://addons.mozilla.org/en-US/editors/review/whatsapp-launcher
Why and how does the version 4 upload time?
Supposedly, 4 file IDs were created (one for each)
Version 0.1 · January 23, 2016 · Awaiting Review
By iTon on Jan 23, 2016 5:28:15 AM
By iTon on Jan 23, 2016 6:24:27 AM
By iTon on Jan 23, 2016 6:25:52 AM
By iTon on Jan 23, 2016 6:27:04 AM

What are those four file IDs?
On Sat, Jan 23, 2016 at 4:20 PM, erosman<EMAIL_ADDRESS>wrote:

Another observation:
ref: https://addons.mozilla.org/en-US/editors/review/whatsapp-launcher
Why and how does the version 4 upload time?
Supposedly, 4 file IDs were created (one for each)
Version 0.1 · January 23, 2016 · Awaiting Review
By iTon on Jan 23, 2016 5:28:15 AM
By iTon on Jan 23, 2016 6:24:27 AM
By iTon on Jan 23, 2016 6:25:52 AM
By iTon on Jan 23, 2016 6:27:04 AM
—
Reply to this email directly or view it on GitHub
https://github.com/mozilla/olympia/issues/1419#issuecomment-174193249.

I don't have those IDs... I said, supposedly, 4 IDs were created. Olympia server log (if there is one) should/could have the info.

How do you know several file IDs have been created then?
On Sat, Jan 23, 2016 at 4:35 PM, erosman<EMAIL_ADDRESS>wrote:

I don't have those IDs... I said, supposedly, 4 IDs were created. Olympia
server log (if there is one) should/could have the info.
—
Reply to this email directly or view it on GitHub
https://github.com/mozilla/olympia/issues/1419#issuecomment-174194163.

No I dont.
I was wondering if the above mentioned anomaly is also a symptom of the same issue that I reported in this thread.
Some processes have been carried out on each of these reported time, but what?
By iTon on Jan 23, 2016 5:28:15 AM
By iTon on Jan 23, 2016 6:24:27 AM
By iTon on Jan 23, 2016 6:25:52 AM
By iTon on Jan 23, 2016 6:27:04 AM

Once again, in the case of the following I found the file ID changed in between the time I loaded the review page and and I opened the compare page:
https://addons.mozilla.org/en-US/editors/review/new-find-toolbar-with-alert
https://addons.mozilla.org/en-US/firefox/files/compare/389751...259112/
https://addons.mozilla.org/en-US/firefox/files/compare/389755...259112/

File ID 389751 changed to 389755 ... finding out how and why is the purpose of this thread.
The time gap was really too short for the dev to upload a version, delete the version, and upload a new version.

I suspect the upload/validation process is not completed yet as you tend to
start reviewing right after an add-on appears in the queue. Maybe just wait
a couple of minutes?
On Sat, Jan 23, 2016 at 4:47 PM, erosman<EMAIL_ADDRESS>wrote:

No I dont.
I was wondering if the above mentioned anomaly is also a symptom of the
same issue that I reported in this thread.
Some processes have been carried out on each of these reported time, but
what?
By iTon on Jan 23, 2016 5:28:15 AM
By iTon on Jan 23, 2016 6:24:27 AM
By iTon on Jan 23, 2016 6:25:52 AM
By iTon on Jan 23, 2016 6:27:04 AM
Once again, in the case of the following I found the file ID changed in
between the time I loaded the review page and and I opened the compare page:
https://addons.mozilla.org/en-US/editors/review/new-find-toolbar-with-alerthttps://addons.mozilla.org/en-US/firefox/files/compare/389751...259112/https://addons.mozilla.org/en-US/firefox/files/compare/389755...259112/
File ID 389751 changed to 389755 ... finding out how and why is the
purpose of this thread.
The time gap was really too short for the dev to upload a version, delete
the version, and upload a new version.
—
Reply to this email directly or view it on GitHub
https://github.com/mozilla/olympia/issues/1419#issuecomment-174195328.

I'm marking this as triaged but I don't know what priority this should be. It seems this can be a rabbit-hole to debug.


[SP-3878][PDI-15902] - Fix NPE in getFields

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -f engine/build.xml checkstyle publish-local
ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -f ui/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  engine/src/org/pentaho/di/trans/steps/normaliser/NormaliserMeta.java
  engine/src/org/pentaho/di/trans/steps/normaliser/messages/messages_en_US.properties
  ui/src/org/pentaho/di/ui/spoon/trans/TransGraph.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: <0.1% (click to expand)
org.pentaho.di.job.entries.evaluatetablecontent.JobEntryEvalTableContent

Branch Change: -1% :small_red_triangle_down:
Complexity Change: -1% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.combinationlookup.CombinationLookupMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -2.1% :small_red_triangle_down:
Complexity Change: -2.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.insertupdate.InsertUpdateMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.ldapinput.LDAPInputMeta

Branch Change: -1.6% :small_red_triangle_down:
Complexity Change: -0.9% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.normaliser.NormaliserMeta

Branch Change: -0.5% :small_red_triangle_down:
Complexity Change: -1.8% :small_red_triangle_down:
Instruction Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.steps.setvalueconstant.SetValueConstantMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:


[BEAM-11020] Adding multi-window splitting to Go SDF.

Adjust Go SDF splitting and execution code so that splits take exploded windows into consideration and perform splits at window boundaries. Also required adjusting various split logic to accept multiple residuals and primaries from splits.
The changes to the splitting logic itself are in exec/sdf.go, and the tests are in the corresponding test file. The rest of the changes are mostly related to adjusting other code to handle the change from single primaries and restrictions to multiple primaries and restrictions, or just small bugfixes (like offsetrange.RTracker.GetProgress).

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @lostluck
R: @robertwb (For the split logic mainly, you can find that in exec/sdf.go)

Run Go PostCommit

Run Go Postcommit


Maximum SubSquare Matrix with All 1s

Have you read the Contributing Guidelines on Pull Requests?
(Yes)
Description
#939
To return the size of the maximum/largest square with all 1s in the given n*m matrix which contains only 0s and 1s .
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
(#939 )

Kindly review @SKAUL05 @iamrajiv @Kajol-Kumari


[DevEx]: Fix failing oneOffs.spec tests

Improvement Summary
We should fix all failing automated tests
Detailed Description
Vue3 updates have broken multiple oneOff tests which need to be examined and updated.
These tests fail when the waiting-for-opponent-to-counter-scrim overlay should be displayed - likely related to the following

we don't need to emit 'click' events from child components anymore -- vue is doing this automatically
v-model was changed so the child component needs a prop called modelValue not model

Failing test are marked .skip.

I'm working on this one

I've got all but one test passing, ("Plays 3s successfully"), but that one is having a weird auth error:

@seriouslysean maybe we can take a look together?

In addition, once the tests are passed I'd like to:

Style the overlays so the text is in the middle and in PT serif
Style the snackbars so the close buttons look good

Also got object Object in the CardListSortable's sort select

In addition, once the tests are passed I'd like to:

Style the overlays so the text is in the middle and in PT serif
Style the snackbars so the close buttons look good

We should start filing these as follow ups so those with more frontend experience can chip away while we fix core bugs.

Closed by #285
Also spawned issues #286, #287, and #288 per comments above


[FLINK-31072] Introduce streaming-read-atomic to ensure UB and UA cannot be split

Currently, streaming source will be checkpoint in any time, this means UPDATE_BEFORE and UPDATE_AFTER can be split into two checkpoint.
Downstream can see intermediate state. This is weird in some cases.
So in this ticket, add streaming-read-atomic:
The option to enable return per iterator instead of per record in streaming read. This can ensure that there will be no checkpoint segmentation in iterator consumption.

@JingsongLi, could you please add a ITCase to verify whether to work as expected when setting streaming-read-atomic to true?

@JingsongLi, could you please add a ITCase to verify whether to work as expected when setting streaming-read-atomic to true?

Added


ARROW-2682: [CI] Notify in Slack about broken builds

Does this notify on cancelled builds (which we have a lot of in Travis CI) or only builds that reach completion and fail?

Not 100% sure but this should notify only on builds that are colored red in the UI. No notification for the grey (cancelled) builds. It will also only notify by default on master builds in our case.

Seems like we don't need this, already getting notifications.

That notification is coming from this PR, so I guess that means the patch is working =) I'll merge it now


Is there a version that supports .net 4.8?

Is there a version that supports .net 4.8?

It does now! I targeted .net standard 2.1 in version 1.0.2. I also updated the readme with examples of how to use it.


Fix ulipsync animator

Animator is not playing an AnimatorController a quick fix https://github.com/hecomi/uLipSync/issues/38

redid the pull request from the right branch


Add highlight to multi-select sidebar on hover of entity

Messed up the rebase in #7607
This has the fixes suggested there. Resolves #2949

@jgscherber Looks great! Thanks a lot and welcome aboard.


MultipleServiceBindingsException thrown when trying to get destination.

Hi,
I have a CAP Java project deployed in Kyma environment in BTP. I want to use the Cloud SDK to access another BTP service using destinations.
But when I try to get the destinations using : DestinationAccessor.getDestination("destination_name"), the cloud SDK is not even able to connect to the destination service instance.
There are a total of 4 service bindings in my kyma environment, out of which there is only one for the destination service, still it complains that there are multiple.
Error Stack for MultipleServiceBindingsException:
Caused by: com.sap.cloud.sdk.cloudplatform.connectivity.exception.DestinationAccessException: Could not resolve destination to Destination Service on behalf of TECHNICAL_USER_CURRENT_TENANT.
        at com.sap.cloud.sdk.cloudplatform.connectivity.ScpCfDestinationServiceAdapter.lambda$prepareServiceDestinationComputation$0(ScpCfDestinationServiceAdapter.java:112) ~[cloudplatform-connectivity-scp-cf-4.19.0.jar:na]
        at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source) ~[na:na]
        at com.sap.cloud.sdk.cloudplatform.connectivity.ScpCfDestinationServiceAdapter.lambda$prepareServiceDestinationComputation$1(ScpCfDestinationServiceAdapter.java:100) ~[cloudplatform-connectivity-scp-cf-4.19.0.jar:na]
        at com.sap.cloud.sdk.cloudplatform.connectivity.ScpCfDestinationServiceAdapter.getConfigurationAsJsonInternal(ScpCfDestinationServiceAdapter.java:219) ~[cloudplatform-connectivity-scp-cf-4.19.0.jar:na]
        at com.sap.cloud.sdk.cloudplatform.connectivity.ScpCfDestinationServiceAdapter.getConfigurationAsJsonWithUserToken(ScpCfDestinationServiceAdapter.java:196) ~[cloudplatform-connectivity-scp-cf-4.19.0.jar:na]
        at com.sap.cloud.sdk.cloudplatform.connectivity.ScpCfDestinationLoader.lambda$loadAndParseDestination$0(ScpCfDestinationLoader.java:158) ~[cloudplatform-connectivity-scp-cf-4.19.0.jar:na]
        at com.sap.cloud.sdk.frameworks.resilience4j.Resilience4jDecorationStrategy.lambda$decorateCallable$2(Resilience4jDecorationStrategy.java:179) ~[resilience4j-4.19.0.jar:na]
        at io.github.resilience4j.bulkhead.Bulkhead.lambda$decorateCallable$4(Bulkhead.java:177) ~[resilience4j-bulkhead-1.7.1.jar:1.7.1]
        at com.sap.cloud.sdk.cloudplatform.thread.ThreadContextExecutor.call(ThreadContextExecutor.java:302) ~[cloudplatform-core-4.19.0.jar:na]
        at com.sap.cloud.sdk.cloudplatform.thread.ThreadContextExecutor.execute(ThreadContextExecutor.java:246) ~[cloudplatform-core-4.19.0.jar:na]
        ... 8 common frames omitted
Caused by: com.sap.cloud.sdk.cloudplatform.exception.MultipleServiceBindingsException: Having multiple Destination Service bindings is not supported.
        at com.sap.cloud.sdk.cloudplatform.connectivity.ScpCfDestinationServiceAdapter.getDestinationServiceBinding(ScpCfDestinationServiceAdapter.java:261) ~[cloudplatform-connectivity-scp-cf-4.19.0.jar:na]
        at com.sap.cloud.sdk.cloudplatform.connectivity.ScpCfDestinationServiceAdapter.lambda$prepareServiceDestinationComputation$0(ScpCfDestinationServiceAdapter.java:102) ~[cloudplatform-connectivity-scp-cf-4.19.0.jar:na]
        ... 17 common frames omitted

SDK Version: 4.20.0

When I looked at the VCAP_SERVICES variable, I found that it has 2 duplicate bindings for the destination service instance.
Looking at the debug logs, I also noticed that first it is fetching the bindings from the /bindings path and then again from the VCAP_SERVICES, which results in a total of 8 bindings (4+4), even though there should only be total 4 bindings.

Also when I do: kubectl get servicebindings, I can only see one binding for the destination service.

Interesting. What happens if you run the following code (e.g. once, during startup):
DefaultServiceBindingAccessor.setInstance(new SapServiceOperatorServiceBindingIoAccessor());

This will disable SapVcapServicesServiceBindingAccessor from being executed. So maybe this solves the symptom.
If this works, we can investigate the unexpected duplication.
Kind regards
Alexander

Thanks for the idea. Actually, the DefaultServiceBindingAccessor did not work for me, but what did work was this:
cloudPlatform = ScpCfCloudPlatform.getInstanceOrThrow(); cloudPlatform.setServiceBindingAccessor(new SapServiceOperatorServiceBindingIoAccessor());
Also, I had to change the cloud-sdk version to 4.10.0
And now, in the debug logs, I can see that the VCAP_SERVICES is not being used to fetch the bindings. And the DestinationAccessor.getDestination() works fine.

Okay, good then.
Please keep in mind to always update dependencies :)