[Java][FlightRPC] FlightCallHeaders added to FlightClient::getStream aren't attached to call

Describe the bug, including details regarding any error messages, version, and platform.
I'm using the Java flight-core version 10.0.1 and grpc-core version 1.50.2.  I'm having trouble attaching headers to a GET call to a server.
Ticket ticket = new Ticket(/* ... */);
CallHeaders headers = new FlightCallHeaders();
headers.insert("foo", "bar");
CallOption opt = new HeaderCallOption(headers);
try (FlightStream stream = client.getStream(ticket, opt)) {
    // ...
}

I have logs that show the headers added to opt are not making it to the server.  My best guess at why this happens is due to https://github.com/apache/arrow/blob/master/java/flight/flight-core/src/main/java/org/apache/arrow/flight/FlightClient.java#L309.  FlightClient is ignoring the new stub returned by gRPC which has the header-injection interceptor added, see https://github.com/grpc/grpc-java/blob/master/stub/src/main/java/io/grpc/stub/MetadataUtils.java#L55.
Am I doing something wrong here?
Component(s)
FlightRPC, Java

Here's the workaround I'm using, which seems to do what I want thus far.  Could someone confirm whether this is a valid approach?
private static class HeaderMiddleware implements FlightClientMiddleware {
    private final Map<String, String> headers;

    private HeaderMiddleware(Map<String, String> headers) {
        this.headers = headers;
    }

    @Override
    public void onBeforeSendingHeaders(CallHeaders outgoingHeaders) {
        for (Map.Entry<String, String> kv : headers.entrySet()) {
            outgoingHeaders.insert(kv.getKey(), kv.getValue());
        }
    }

    @Override public void onHeadersReceived(CallHeaders headers) { }
    @Override public void onCallCompleted(CallStatus status) { }

    static class Factory implements FlightClientMiddleware.Factory {
        Map<String, String> headers;

        Factory(Map<String, String> headers) {
            this.headers = headers;
        }

        @Override
        public FlightClientMiddleware onCallStarted(CallInfo info) {
            return new HeaderMiddleware(headers);
        }
    }
}

And then the construction of the client...
BufferAllocator alloc = /* ... */
Location loc = /* ... */
Map<String, String> headers = /* ... */
FlightClient client = FlightClient.builder(alloc, loc)
    .intercept(new HeaderMiddleware.Factory(headers))
    .build();

Yes, the middleware is perfectly fine. The call option is meant just to make it easier to attach headers for a particular call.


install/generate the extensions.xml as option for the lock

would be nice to have the .mvn/extensions.xml generated as an option at least when running with lock.
i.e. mvn io.mvnpm:locker-maven-plugin:0.0.6:lock -Dlockextension for example would create .mvn/extensions.xml if not present - and if possible add it to extensions.xml if not present inside the extensions.xml

That's a good idea @maxandersen


!s should stat check yourself instead of having to type your username everytime

Everything is in the title

Issue fixed see comit https://github.com/Blackoutburst/Wally/commit/7220fde99da2a76dad72c55d74a8ef9c08dcb324

Issue fixed see comit https://github.com/Blackoutburst/Wally/commit/7220fde99da2a76dad72c55d74a8ef9c08dcb324


Please invite me to the Recode-Hive GitHub Community Organization

Name
Kamran Zafar
Discord Username (if applicable)
No response
Additional Context
No response

Invitation sent to join the GitHub Organisation. Welcome to the community 🎉
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see. You can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/recodehive/people


Agent refactor

Description of Changes

Refactored agent builder to a service builder. This allows us to do some custom logic before otel agent setup while still satisfying the otel agent builder. It also cleans up the root command.
Updated to take a single config file to avoid config file merging.
Removed bbolt persister close and added a persister shutdown func that can be a generic way to cleanup persiseters.

Please check that the PR fulfills these requirements

[X] Tests for the changes have been added (for bug fixes / features)
[X] Docs have been added / updated (for bug fixes / features)
- [ ] Add a changelog entry (for non-trivial bug fixes / features) (Coming in larger v2 update)
[ ] CI passes

Log Files
Logs / Second
CPU Avg (%)
CPU Avg Δ (%)
Memory Avg (MB)
Memory Avg Δ (MB)

1
1000
1.5172732
-3.3020973e-05
129.42215
-0.51239014

1
5000
5.275929
-0.2758317
139.30374
+2.5967102

1
10000
10.534677
+0.120690346
143.1157
-5.49057

1
50000
51.72561
-3.2233238
184.1995
-0.17927551

1
100000
96.41324
-4.5836563
228.38228
-8.683731

10
100
2.0345573
-0.068902254
129.68454
-2.0307007

10
500
6.2414203
+0.13788795
137.72266
-6.7909546

10
1000
11.810436
-0.5688143
148.04498
+0.034347534

10
5000
53.403736
-5.2697372
184.95366
+1.2897339

10
10000
113.6659
-14.1605835
241.0361
-9.731812


Fixed number of visits on module statsbestcustomers

Questions
Answers

Description?
Fixed number of visits on module statsbestcustomers

Type?
bug fix

BC breaks?
no

Deprecations?
no

Fixed ticket?
Fixes PrestaShop/PrestaShop#22943

How to test?
Cf PrestaShop/PrestaShop#22943 & #16 (from @jf-viguier)

Hello @Progi1984 ,
Thanks for the PR, LGTM !

Thanks @florine2623


Implementing write-in counting

"Write-ins are assumed to be explicitly registered or allowed to be lumped into a single “write-ins” category
for the purpose of verifiable tallying. Verifiable tallying of free-form write-ins may be best done
with a MixNet23 design." (p 15, spec 1.51)
Currently we have no explicit processing of write-ins.
Note that the spec does not currently describe the input PlaintextBallot. So theres no explicit specification about what a ballot marking device or scanner should do with write-ins.
A PlaintextBallot Selection has a selectionId, which is supposed to match a Manifest selectionId. But it wont unless all write-in Candidates are registered and added as a selection on the Manifest Contest. Call this the "explicitly registered" Option 1. In this case, theres nothing extra to do, if we assume that the scanner correctly identifies the write-in and creates the correct PlaintextBallot selection. The only difference between a regular candidate and a write-in candidate is that the write-in candidate doesnt appear on the ballot and must be (correctly) written in. Theres no need for adding to the ContestData (except for overvotes, TBD).
Another possibility is that the scanner adds any write-ins to the PlaintextBallot. Currently, we have an  "extendedData" string (note: should renamed to "writeIn") on the Selection (should be placed on the Contest, not the Selection).
Option 2 is when write-ins are not pre-registered. The scanner puts any write-ins into the PlaintextBallot.Contest, and we add them to the EncryptedBallot Contest's ContestData field. In order to see if its a write-in, we have to decrypt ContestData.
Option 3 adds a "lumped write-in" selection to every contest. It does not have a matching Manifest selection. It records if there is a valid write-in that was voted for. These are encoded in the normal way, count against the contest limit, etc. Then one can find out if there are enough write-ins to affect the election. If so, the the ContestData is decoded and the actual writeins are tallied. In this case, we are back to adding selections to the contest, increasing the computational burden. If Contest.votes_allowed > 1, we need multiple ones, unless we can use range_proofs and allow Selection.vote > 1.
So it seems to me that there are three cases:

"Explicitly Registered", write-ins have selections in the Manifest and need no special processing by us.

"Free-form Write-Ins": write-ins are encoded in the ContestData which must be decoded to be counted.

"Lumped Write-Ins": in addition to the ContestData, every contest has a "lumped write-in" selection which records if there are valid write-in vote(s), and are tallied as usual, without needing to decode the ContestData at the same time.

thoughts, @danwallach ??

Ive implemented a first pass in PR#170
Will leave this open for further discussion and refinement.

Case 1: Explicitly registered. This sounds like it's just a special form of a candidate. Maybe we just add a "write-in" boolean to the definition of a candidate and that's completely it. It's now the voting machine's problem to figure out how to deal with mapping from a voter's free-text input to a "registered" candidate. This seems... difficult in practice, but that's "not our problem."
Case 2 or 3. First, the contest should have a flag set on whether write-ins are allowed at all. If the flag is false, then there's no write-in at all, and no need for special support to handle it. Otherwise, we'd have one or more "candidates" with names like "Write-in (1)" and "Write-in (2)" that have a flag set and are presented to the voter as blank lines that expand to text entry boxes in some machine-specific fashion.
My thinking on this is that we're back to the same ContestData discussion we had a while back. If we decided that the ContestData field was meant to be the voter's original intent (before any overvote processing or anything else at all), then we have a general-purpose encrypted data structure that we might subsequently shove through a mixnet prior to tallying. We could fake this by having the trustees decrypt each and every ContestData field, skip the mixing, and just publish an array of the resulting plaintexts. This would only ever happen if there were enough write-in fields used, in total, to have a possibility of winning the contest.

Turns out, the VVSG standards have a lot to say about this (borrowed from an issue on a VotingWorks thread):
1.1.4-H: The voting system must be capable of enabling and recording the voter's write-in of desired candidate names. A write-in is a contest option on the ballot that permits the voter to identify a candidate of choice that is not already listed as a contest option and is captured when the ballot is cast. State rules determine when a write-in candidate option may be placed as a contest option on the ballot and what qualifies as a valid write-in selection that may be counted.
1.1.5-E: The voting system must record additional contest information in the CVR that includes: 1/ identification of all contests in which a voter has made a contest selection; 2/ identification of all overvoted and undervoted contests; 3/ the number of write-ins recorded for the contest; and 4/ identification of the party for partisan ballots or partisan contests.
1.1.4-I: The voting system must be capable of gathering and recording write-in votes within a voting process that allows for reconciliation of aliases and double votes. Reconciliation of aliases means allowing election officials to declare two different spellings of a candidate's name to be equivalent (or not). Reconciliation of double votes means handling the case where, in an N-of-M contest, a voter has attempted to cast multiple votes for the same candidate using the write-in mechanism.
1.1.5-D: The voting system must record write-in information in the CVR that includes:
identification of write-in selections made by the voter, the text of the write-in, when using a BMD or other device that marks the ballot for the voter, an image or other indication of the voter’s write-in markings, the total number of write-ins in the CVR
1.1.6-C: Batch-fed scanners, in response to unreadable ballots, write-ins, and other designated conditions, must do one of the following: out stack the ballot (that is, divert to a stack separate from the ballots that were normally processed), stop the ballot reader and display a message prompting the election official to remove the ballot, mark the ballot with an identifying mark to facilitate its later identification, if the ballot image uniquely identifies its corresponding ballot, use electronic adjudication to segregate the ballot. Item 4 allows the ballot image to be segregated if, for example, an identifier is printed on the ballot as it is scanned, so that the image of the ballot also contains this identifier. Without a unique identifier or other marking, the ballot image itself does not facilitate finding the corresponding paper ballot.
1.1.6-E: Voter-facing scanners, when scanning a ballot containing a write-in vote, must either: segregate the ballot in a manner that facilitate its later identification, if the ballot image uniquely identifies its corresponding ballot, use electronic adjudication to segregate the ballot. The requirement to separate ballots containing write-in votes is not applicable to systems in which a BMD encodes write-in votes in a machine-readable form. In this instance, and a scanner generates individual tallies for all written-in candidates automatically. Separation of ballots containing write-in votes is only necessary in systems that require the allocation of write-in votes to specific candidates to be performed manually.
1.1.8-C: The voting system must be capable of: 1/ tabulating votes for write-in candidates with separate totals for each contest choice, 2/ tabulating valid individual write-in candidate totals in each contest. Tabulation of candidate names that are manually written in on a hand voted paper ballot can only be tabulated as an aggregate total in each contest. Each name must be adjudicated from graphical images of the contest write-in area or from the ballot itself to determine the name of the candidate. When names are typed on an electronic voting unit such as a BMD, although the entered names must be recorded, only aggregate contest write-in totals are tabulated. Each individual write-in name must be adjudicated for validity before they can be aggregated. In most states, a write-in candidate must be registered to be valid. State rules also determine acceptable variations in the written name for the candidate to be credited with the vote. State rules also determine treatment of a written-in name of a candidate already listed on the ballot.
1.1.9-C: The voting system must have the capability to report the following categories of votes: 1/ in-person voting 2/ absentee voting 3/ write-ins 4/ accepted reviewed ballots 5/ rejected reviewed ballots
Doing these things in the context of homomorphic tallying is potentially complicated, especially the bit about a voter who tries to vote for a candidate under write-ins and normally.
The more I think about this, the more my brain hurts.

Ok, I havent absorbed all that; I presume much of it is for the election system (ES), and we just have to add whatever hooks are needed in our library to implement the various options.
My first pass implementation assumes that the ES gives us a list of write-in strings per contest in the input PlaintextBallot. Those go into the ContestData record which is encrypted and added to the EncryptedBallot. I have not yet added a lumped write-in selection, waiting for more spec. When decrypting ballots, I always decrypt the ContestData along with the selections using the guardian shares. This is adding ~10% to the cost of decrypting. That has let me test and verify encrypt/decrypt ContestData with minimal disruption to the workflow. I assume it will all change and complexify going forward.
One more detail is that write-ins are count against the limit when detecting overvotes. An overvote triggers setting all selections in the contest to 0. The overvotes are recorded in the ContestData, so the original ballot can be fully recovered.
If the ES can handle the "Reconciliation of double votes" and " Reconciliation of aliases" before sending us the PlaintextBallot, then that logic can stay out of our library.

I'm thinking we should organize a "write-in summit" (i.e., a one hour Zoom) where the goal is to nail down all these particular details rather than just throwing an implementation together.

I need to do an implementation before I understand these things very deeply. The only danger of that is to not let prototype implementations become the spec. And it may be that this is complicated enough that you want to do an implementation before you finalize it.
So, Im ok with a summit, with the caveat that sometimes writing alternatives down to think about beforehand can help.


Flow library definition documentation should cover json files

Flow's documentation on creating library definitions does not mention the ability to provide the definition of a json file, which is apparently possible according to this comment.
I was hoping to find an example showing how one might provide an interface type definition for a json file containing an array of objects, such as below:
positions.json:
[
    {
        "id": "1",
        "title": "Councilmember"
   },
  {
       "id": "2",
       "title": "Mayor"
   }
]

Ideally, this page would discuss JSON files: https://flow.org/en/docs/libdefs/creation/

Update: I believe this is the code which would allow a simple json file to have a type specified via Flow's Library Definitions feature:
In flow-typed/positions.json.js:
declare module "./positions.json" {

  declare type Position = {
    id: number,
    name: string,
  };

  declare module.exports : Position[];
}

Then in the .js code, import the array from the .json file and the type (which will come from the interface definition we defined above):
import positionArray, {type Position} from './positions.json';

So it works only for exact "./positions.json"? What if I import it from another location, and it becomes "../../position.json"?


Function.StorageServiceClient._normalizeError

I tried to use your product and I got an error like below.
The stack trace is similar to #4. But in my case, I just open my apps (not session.destroy()).
I found ConnectAzureTablesSessions in my table after. So the authentication will be succeeded.

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Error
    at Function.StorageServiceClient._normalizeError (/app/node_modules/azure-storage/lib/common/services/storageserviceclient.js:1174:23)
    at Object.StorageServiceClient._processResponse (/app/node_modules/azure-storage/lib/common/services/storageserviceclient.js:729:50)
    at Request.processResponseCallback [as _callback] (/app/node_modules/azure-storage/lib/common/services/storageserviceclient.js:310:37)
    at Request.self.callback (/app/node_modules/azure-storage/node_modules/request/request.js:187:22)
    at emitTwo (events.js:106:13)
    at Request.emit (events.js:194:7)
    at Request.<anonymous> (/app/node_modules/azure-storage/node_modules/request/request.js:1044:10)
    at emitOne (events.js:96:13)
    at Request.emit (events.js:191:7)
    at IncomingMessage.<anonymous> (/app/node_modules/azure-storage/node_modules/request/request.js:965:12)

Would you be able to post some code to help me figure out where the error is happening? I can't reproduce so it's hard to do anything about it...

I put the whole code https://gist.github.com/monaka/d432554db057045957e02a7e3538a73d .
Some security info was modified.
I know it should be simplified by myself before I send code. Just for now.
And can I provide some more information? Debug log flags or something available?
My application is run on Deis Workflow / K8s 1.6 / Azure VM D2_v2.
The instance and the storage account are located on same JapanEast region.
So it' hard to suspect it is caused by network issues, IMO.

Thank you. I looked at the code and can't see anything obviously wrong. I notice that you are not doing any logging in the library:
app.use(session({   store: AzureTablesStoreFactory.create(),   secret: 'cat yay! yay!' //  resave: false, //  saveUninitialized: false, //  maxAge: 3600000 }));
Please can you pass a logger in as described in the readme:
https://github.com/mike-goodwin/connect-azuretables#logging
And share the output.

Also, it would be great if you could post minimal code reproducing the issue (for example, using 'passport-local' instead of Azure AD) so I can reproduce it easily.

You can make a temporary solution here: goto /your-application/node-modules/connect-azuretables/lib/ , open connect-azuretables.js and replace the following code there at AzureTablesStore.prototype.get function, line no 121 ::
  AzureTablesStore.prototype.get = function(sid, fn, retry) {
    var store = this;
    var cleanSid = sanitize(sid);

    if (!fn) {
        fn = noop;
    }
    //this.log('connect-azuretables called GET ' + sid);
    try{
        store.tableService.retrieveEntity(store.table, cleanSid, cleanSid, function(error, result) {

            if (error && error.statusCode == 404 && !retry) {
                store.get(sid, fn, true);
            } else {
                var error = null;
                return error || !result ? fn(error) : fn(null, JSON.parse(result.data._));
            }
        });
    }
    catch(error){
        console.log(error);
    }

};

@GaneshSinghPapola Thanks for you information. I'm working the another task now. So I'll try your code a few days later.

@monaka  :+1:

I tried  the new code and still this issue isn't fixed on my environment. I'm inspecting code now.

I'm close to the root cause.
In my case, my web browser held session (cookie?) and there is no session key in my AzureTable. It's not by timing issues.
Referring to API reference of expressjs/session, it should return null or undefined if session was not stored.
I'll send the pull request later.

ok  @monaka

Sorry for my delay.

Thanks for the contribution and apologies for the delay in merging - i've had to take an enforced break from the project for a while.


fixed Flash Of Unstyled SVG

When CSS is disabled or fails to load SVG images scale and take up the entire viewport width.
For more on this: SVG Style Inheritance and the ‘Flash Of Unstyled SVG’

solves #14

@Strangehill you added the first part (specify the width and height in the SVG) but not the second part: you didn't define a relative size on the SVG selector in the CSS in case it needs to scale. Is it intentional ?

Correct. The original design didn't have relative sizes on any of the SVG selectors, and I didn't add any myself.

@jglovier any strong feelings either way here?

A scenario where css stylesheets break letting the svgs loose:
Using https everywhere and visiting a site using {{ site.github.url }} like this: <link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.github.url }}">
This can make the styles on many a jekyll site break because for the time being site.github.url returns http and not https and this creates a 'mixed content' problem for the browser.
See this issue comment github/pages-gem/issues/238

LGTM.

@jekyllbot: merge +minor

Thanks @Strangehill! Been noticing this on a few sites myself!

@Strangehill thanks for the PR! Nice improvement. :boom: :heart:


[Feature Request] Point collecting only mode

Being able to disable drop collecting and related things to only allow collecting points, in this mode the channels listed on  "broadcasters" should be the ones the bot farms points at.

This mode would benefit from https://github.com/TychoTheTaco/Twitch-Drops-Bot/issues/129 being fixed and allowing us to add a setting where the bot will follow raids on the channels we list which gives 250 points.

Yes!!

You can do this now by setting these in the config:
"games": [ "0" ],
"watch_unlisted_games": false,
"auto_claim_drops": false

Apparently, we can watch 2 streams simultaneously right? Is there any way to dedicate 1 stream to drops (the current functionality) and dedicate the other to strictly farming points from certain channels (not necessarily related to any particular game?) I found other software that can do points, but I don't know of any that do both. This is the one I was using but it hasn't been updated in a year and doesn't work  anymore https://github.com/vin350/TwitchPointsFarmer


Improve use of generics in code

Impact

[ ] Bug fix (non-breaking change which fixes expected existing functionality)
[ X] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
<!--
Avoid generic classes with omitted type parameters.  Such raw use of generic types is valid in Java, but it defeats the purpose of type parameters and may mask bugs.

Initial/Pre-Review Thoughts
Thanks! More generics are always good. We will need to make sure to watch the API compatibility in the full review.
I don't remember the details on what impact this can have on compatibity, though. To some degree, java does generic type erasure so maybe it doesn't survive compilation to cause a problem? But it also seems like it maybe does?
If it does get saved enough to impact people using liquibase as a library, we'll need to make sure the types are correct and not too narrow or to wide. It looked like it was mainly on variables and not methods which are also probably less API-impacting and so less of a worry?

Approved.
Review and testing results:
Based on my knowledge and understanding about generics this looks ok to me, but I would appreciate if you @filipelautert can also look at this quickly to this. We have already discuss about some points (same with @nvoxland). I haven't notice any API compatibility issue/risk, but I think a second quick look would be nice.
Again, thank you @arturobernalg for another contribution.
Things to be aware of:

None

Things to worry about:

None

In Java, both new ArrayList() and new ArrayList<>() create a new instance of the ArrayList class. However, there is a subtle difference between the two.
new ArrayList() is known as the raw type, while new ArrayList<>() is known as the diamond operator. The diamond operator was introduced in Java 7 to make it easier to declare generic types.
When using the diamond operator, the compiler can infer the type of the ArrayList based on the type of the variable it is assigned to. This can make code easier to read and less error-prone.
Additionally, using the diamond operator can help prevent type mismatch errors at compile time, as the compiler can ensure that the type of the ArrayList matches the type of the variable it is being assigned to.
Therefore, the benefit of changing new ArrayList() to new ArrayList<>() is that it makes the code more concise, easier to read, and less prone to type mismatch errors.

@MalloD12 can you fix the conflicts for this pr so we can merge it? thanks!


Add search feature

Is your feature request related to a problem? Please describe.
There is no search field.
Describe the solution you'd like
A search field to navigate the website quickly.
Describe alternatives you've considered
None
Additional context

Currently there is:

Search module that needs to be migrated to the Github Druxt org: https://github.com/Realityloop/druxt-search
Search block form component: https://github.com/druxt/demo.druxtjs.org/blob/develop/components/druxt/block/SearchFormBlock.vue

The main issue is that this was built around the JSON:API Search API module, which is not the same as Drupal's out of the box Search.

This is related to https://github.com/druxt/demo.druxtjs.org/issues/13


I18N pt-BR.

@pontovinte Thank you for your contribution to the translation, we will merge this PR in the next release version.

You're welcome. I don't know if that's the right way of sending those changes, but please, let me know if there's anything I can help. Is there any place where I can see the releases schedule?


Add icon to node title

How to?
with old d3-sankey it was possible.

What kind of icon do you want? You can select all the nodes and add to them using d3 (svg.selectAll('.node') or similar -- have a look in the DOM inspector to see the structure that's created). Does that help?

yes, comes with exact same solution today, thanx :)


First preset is not saved when using "New"

<!DOCTYPE html>
<html>
<head></head>
<body>
    <script src="dat.gui.js"></script>
    <script>
    var params = { 'value': 0 };
    var gui = new dat.GUI();
    var typeController = gui.add(params, 'value');

    gui.remember(params);
    </script>
</body>
</html>

Enter 1 for the "value" parameter.
Click the "New" button, and enter "One" as the name of the preset.
Enter 2 for the "value" parameter.
Click the "New" button, and enter "Two" as the name of the preset.
According to the code, it appears that when creating the first preset, both the "Default" and "One" presets will be saved. If we click the gear button, we can see that the "Default" and "One" presets are empty (but "Two" is fine). It appears that the getCurrentPreset() method returns an empty object on the first save.

FYI, I had this same issue, and it was because I had called gui.remember() AFTER adding all of my controllers. If it's called before adding the controllers, then calling gui.getSaveObject() returns the initial values correctly


Module not found: Can't resolve 'next/dist/shared/lib/router-context'

In<EMAIL_ADDRESS>the router-context file has changed name to router-context.shared-runtime.
Changing the line at ./node_modules/next-translate-routes/react/withTranslateRoutes.js:38:0 from
var router_context_1 = require("next/dist/shared/lib/router-context");
to
var router_context_1 = require("next/dist/shared/lib/router-context.shared-runtime");
fixes the issue.
However, it would be cool if it new which version of next was being used and changed the import depending on the next version?

Got the same problem and yes, @robatronPrime solution is really working. I tried to use Webpack config to add alias
"next/dist/shared/lib/router-context$": path.join(
    __dirname,
    "..",
    "..",
    "node_modules",
    "next/dist/shared/lib/router-context.shared-runtime.js"
),

but it doesn't work...

Provided a fix, your next version was set to latest, when checking the next version the plugin checked for a number, and omitted 'latest' string, setting ur Router Context path to old, resulting in this problem

In<EMAIL_ADDRESS>the router-context file has changed name to router-context.shared-runtime.
Changing the line at ./node_modules/next-translate-routes/react/withTranslateRoutes.js:38:0 from var router_context_1 = require("next/dist/shared/lib/router-context"); to var router_context_1 = require("next/dist/shared/lib/router-context.shared-runtime"); fixes the issue.
However, it would be cool if it new which version of next was being used and changed the import depending on the next version?

Same problem for me.

Maybe anyone had successfully solved the problem for the next-translate-routes v10 with aliases?... I just can't understand why my solution isn't working

i have written a temporary solution, especialy if you need a quick fix for a cloud deployment just add this script in root directory.
`
const fs = require('fs');
const path = require('path');
/**

@param {string} filePath - The path to the file.
@param {string} searchPattern - The RegExp pattern to search for.
@param {string} replaceString - The string to replace with.
*/
function replaceLineInFile(filePath, searchPattern, replaceString) {
const fileContent = fs.readFileSync(filePath, 'utf8');

const modifiedContent = fileContent.replace(searchPattern, replaceString);
fs.writeFileSync(filePath, modifiedContent);
console.log(File updated: ${filePath});
}
const filePath = path.join(__dirname, 'node_modules', '/next-translate-routes/react/', 'withTranslateRoutes.js');
const searchPattern = /var router_context_1 = require("next/dist/shared/lib/router-context");/g;
const replaceString = 'var router_context_1 = require("next/dist/shared/lib/router-context.shared-runtime");';
replaceLineInFile(filePath, searchPattern, replaceString);
`
from there, you just run it before build with node, and then everything should work as expected

Bumping the thread.
Would be nice if someone addressed this issue and went through PR's waiting to be merged. 👍🏻

Have the same issue, bumping the thread.


Review processes for organising regular planned events

What
Review processes for organising the monthly #DSChat and Government Design System Meetups, and make changes if necessary.
Why
An opportunity to change anything that isn't working.
Who needs to work on this
Imran, Kam
Who needs to review this
The wider team
Done when

[ ] discussed current processes
[ ] have a back up plan for the team to run regular community activities in Imran's absence
[ ] agreed any changes
[ ] shared with the wider team

Monthly chat booked for 2025
to be reviewed by Imran DS Monthly chat


fix(windows): persist spaces in windows jvm options

Description of changes:

Allow persisting spaces in JVM options on Windows. e.g. -DPath="C:\Program Files\"

Why is this change necessary:
If not, nucleus would fail to restart/set up as system service if there are spaces in provided jvm options.
How was this change tested:

[ ] Updated or added new unit tests.
[ ] Updated or added new integration tests.
[ ] Updated or added new end-to-end tests.
[ ] If my code makes a remote network call, it was tested with a proxy.

Any additional information or context required to review the change:
This change essentially wraps all JVM options with double quotes when persisting to launch.param.
Testing will be done in UAT.
We decided to only implement this fix for Windows, because Linux kernel always wraps ${JVM_OPTIONS} with single quotes, so there is no way to escape the spaces correctly by only modifying the launch.param. Modifying the loader script would break older nucleus versions if downgrading nucleus.
Documentation Checklist:

[ ] Updated the README if applicable.

Compatibility Checklist:

[ ] I confirm that the change is backwards compatible.
[ ] Any modification or deletion of public interfaces does not impact other plugin components.
[ ] For external library version updates, I have reviewed its change logs and Nucleus does not consume
any deprecated method or type.

Refer to Compatibility Guidelines for more information.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

How does this work with the bootstrap and loader script? When we bootstrap, we do an echo into the launch param file.

Just verified with a UAT. For jvm option like -Dpath="c a", it will persist in launch.param as "-Dpath=c a", which works with loader.cmd.
It also persists in nucleus config so when nucleus bootstraps, it echoes the correct launch.param to the new directory.
{"TS":2,"TP":["services","aws.greengrass.Nucleus","configuration","jvmOptions"],"W":"changed","V":"\"-Dlog.fmt=TEXT\" \"-Dlog.level=INFO\" \"-Dlog.store=FILE\" \"-Dpath=c a\""}


Security: enable https-only csrf cookies.

Is your feature request related to a problem? Please describe.
In #156, we set filters.csrf.cookie.secure = false.
Done when
When we have an HTTPS environment, it should be true in that environment.

Does #840 fix that, @bion ?

Yep!


Automatically removing old files?

Can we make an Editor script that removes outdated files (like ClientKit.dll) for easier upgrading?

Looks like this could do the trick. http://docs.unity3d.com/ScriptReference/FileUtil.DeleteFileOrDirectory.html
This would create a menu item at the top of the editor (called "Example" in this example).
You're talking about files that should no longer be in the project, correct? So that would be ClientKit.dll because its been renamed, osvrTransform.dll, and the Displays folder?

I'd prefer to not have a top-level menu added (pretty sure I saw somewhere it's not best practices), but a submenu somewhere would work. We'd also want to explicitly list the files to remove (not just the whole displays folder - what if that's where the user was storing theirs) and list to the user for confirmation the ones we found. But if that's the right way to remove files (along with the corresponding .meta file), then that's good - otherwise there's always .NET framework standard libraries for that part


LogisticRegression.Predict 1000x slower than sklearn?

os:  Ubuntu 12.04
go: 1.7.3
python: 2.7.10, numpy linked to Intel MKL
I had a LogisticRegression model with 15000 cols and about 300 classes.
when I ran a predict with sklearn, it cost only 2-3ms.
but when i ran a predict for the same model(fit with same training data set), with Golean, it cost 2-4s!!!!
I had followed the installation instructions, the Gonum was using Intel MKL too.
CGO_LDFLAGS="-lmkl_rt" go install github.com/gonum/blas/cgo
Why the performance was such poor?

It's likely because at the moment golearn uses a very generic way of mapping over rows in the input datagrid, which requires several allocations - regardless of the native representation. Because sklearn can always assume that input is contiguous floats, it can avoid that as well as use Intel's vectorization instructions, this probably makes most of the difference. We could look at optimising that if that's important to your use-case?

@Sentimentron Thanks a lot!
after some simple profiling, it came out that base.ResolveAttributes ate most of the time as the model had 15000 attributes.
One of the key considerations to my use-case is performance, so it can be very helpful if this get optimized.
(pprof) list Predict Total: 23.55s ROUTINE ======================== github.com/sjwhitworth/golearn/linear_models.(*LogisticRegression).Predict in /Users/hp/Myworkspace/go/src/github.com/sjwhitworth/golearn/linear_models/logistic.go          0      3.88s (flat, cum) 16.48% of Total          .          .     46:   // Generate return structure          .          .     47:   ret := base.GeneratePredictionVector(X)          .          .     48:   classAttrSpecs := base.ResolveAttributes(ret, classAttrs)          .          .     49:   // Retrieve numeric non-class Attributes          .          .     50:   numericAttrs := base.NonClassFloatAttributes(X)          .      3.88s     51:   numericAttrSpecs := base.ResolveAttributes(X, numericAttrs)          .          .     52:          .          .     53:   // Allocate row storage          .          .     54:   row := make([]float64, len(numericAttrSpecs))          .          .     55:   X.MapOverRows(numericAttrSpecs, func(rowBytes [][]byte, rowNo int) (bool, error) {          .          .     56:           for i, r := range rowBytes {

func ResolveAttributes(d DataGrid, attrs []Attribute) []AttributeSpec {
ret := make([]AttributeSpec, len(attrs))
for i, a := range attrs {
spec, err := d.GetAttribute(a)
if err != nil {
panic(fmt.Errorf("Error resolving Attribute %s: %s", a, err))
}
ret[i] = spec
}
return ret
}
range a big slice is very slow.


Fix getMemoryType not checking actual number of memory types

The function is currently iterating over the maximum number of possible memory types (which should be VK_MAX_MEMORY_TYPES instead of 32) instead of the actual number.

While VK_MAX_MEMORY_TYPES is defined as 32, using the define instead of a fixed number is the correct way. Thx for hinting me at this, will change this later today.

As part of a larger refactoring (VulkanExampleBase has become too much of a singleton) I have moved the memory type index selection to the new VulkanDevice unit that checks against number of actual memory types reported. I also replaced all the memory type index functions scattered across the samples, so now only this one will be used.


Copy move

Hello David,
I created 2 new checks for anomaly detection to flag possible file copies and file volume moves.  These checks were suggested in Issue #46.
Here's a screenshot against SANS nromanoff image.  This is filtered on Filename containing "svchost.exe", which includes the timestomped c:\Windows\System32\dllhost\svchost.exe malware.  Note that "Possible Volume Move" flag is set on this file because the attacker did not backdate the access timestamp--only the create & modify times--so it appears to be a volume move file.

Thanks,
Mike

Very nice work. Thank you for doing it, and providing the supporting documentation!
-David


build: prevent "Operation not supported" failures while extracting Golang in CI jobs

Testing things out, will update this text later.

@nixpanic this CI passed, we need to backport this to 3.10 and 3.11 as well.

@Mergifyio queue


Schematic update

Hi James
I'm going to try to build your GTI 5 project, but I'm going to modify the PCB to only 2 layers and I want to add ModBus communication to support the smart meter DTSU666 to prevent the flow to the distribution network. Do you have any ideas what I could change and which unnecessary components I can remove from the scheme ?.

Hi, Sounds good, I'd be very interested to hear your progress as you go along, keep in touch.  How are you going to be generating your DC bus voltage?
As to possible changes, it depends on what you're aiming for but simplifications that could be considered:

Don't bother measuring capacitor current so get rid of the associated 5v isolated supply and the AMC1306
Do you want the relays?

Don't forget the TVS.

Instead of measuring the capacitor current, I would like to measure the DC input current, which would be more useful. Furthermore, I am thinking of removing the damping coil L4, I would definitely leave the relay there for safety reasons. I am also thinking about DC Boost at the input, as some professional inverters have.
block diagram Sofar solar https://www.sofarsolar.com/upload/file/20230920/1695196218979040710.pdf

The reason for measuring the capacitor current is because it allows you to do active filtering of the LCL resonance in software. That increases efficiency because it allows you to reduce/eradicate the damping resistance in the LCL filter. It's a technique I haven't done yet but I built the inverter in anticipation of trying it out. Don't think any of that can be done by measuring the DC input current.

Yes, I understand that it is not possible by measuring the input current, I had in mind that if the capacitor current measurement still does not work, then I will use the components to measure the input current and calculate the input and output power to calculate the efficiency of the inverter.

Check out this budding project, it looks like it's going to be a great project too.
https://github.com/OpenCleanEnergy/OpenMI

That OpenMI project is fantastic! Thank you very much for bringing it to my attention. I shall follow it closely. Keep me updated with your progress too

I am also very curious about the first working prototype of OpenMI. The PCBs for your project will arrive next week so I will test it and let you know how my modified PCB work. My goal is to make an inverter with a power of at least 2000W.


Unsafe use of sessionStorage throws in chrome

This is a bit of an edge case, but it came up when attempting to roll this out at Twitch.
Chrome has an option at chrome://settings/content/siteData which is labeled as "Don't allow sites to save data on your device" which some users of twitch apparently have enabled (possibly by way of using more privacy focused chromium derivatives?).

With this selected, any attempts to access localStorage or sessionStorage, like here, will throw an exception. (The access of localStorage is guarded, but sessionStorage is not and causes the throw when not explicitly specifying a storage backend.)
I don't know if you want to bother supporting this Chrome configuration, so feel free to close this issue. I was able to easily work around this in our usage by building a safe wrapper object conforming to the Storage interface that I pass in via the storage option.

Yes, I'm interested. I will fix this soon and release a new version. Thanks!

Done. I've published a new major release as this changes the way the library behaves by default.

This looks great! One caveat: Consumers intending to use session storage will still have to guard their own reference rather than simply passing storage: sessionStorage. I only wanted to call that out in case you wanted to document that in the example usage.


Licence

I just want to ask about the licence for this usefull code!
It would be awsome if you would allow the usage for other open source projects with an apache 2.0 or CC-0 licence.
The simples and most common solution would be the apache lizence.
Thanks again for this project!

Hello,
Fixed by https://github.com/maxux/python-rocketchat-bot/commit/84222f5c2b92fb358d397bdef1ea7645eea2a130
Note that this project was a PoC, but thanks for your interest ! :)


Add results to shortlinks and update link to remove .md suffix

Fixes #1035
Signed-off-by: John Schnake<EMAIL_ADDRESS>cc @sebgoa

I knew you would be faster than me :)


Visual Script Noodles Misalign if you zoom in our out of script

Operating system or device - Godot version:
Windows 10 64 bit - Godot Alpha Buildv2.2 custom 9/29/2016
Issue description (what happened, and what was expected):
Visual Script Zooming is Broken
Steps to reproduce:

Open a visual script (Like the "Pong Visual Script")
Look at the script
Press the zoom buttons in the top left corner of the zoom window
Note the connections to all the the nodes now are misaligned.

Thought it had already been reported, but I can't find a duplicate in the end :)

I searched too and did not see it.  Seemed like low hanging fruit bug.

It's a duplicate of #6342.
But good job on the noodle reference, made my day :)

We found a name for Godot's visual scripting language: Noodles 😆

Haha, I just picked up the term from how Blender devs refer to them.


Newlines contradict with the wiki, flagged by Osmose

URL
https://www.openstreetmap.org/node/11067184591
How to reproduce the issue?

Create an inscription textfield
Add some text and press enter to create a new line
iD uses \n which contradicts with the wiki that suggests | or /. This approach is flagged by Osmose too for non printable characters

Although \n seems to be a standard Unix way to mark them, who's wrong here?
Screenshot(s) or anything else?
No response
Which deployed environments do you see the issue in?
Released version at openstreetmap.org/edit
What version numbers does this issue effect?
2.29.0
Which browsers are you seeing this problem on?
Firefox

I can reproduce this issue in Firefox on macOS. Confusingly, newlines don’t appear in the raw tag editor:

And if you save out a osmChange file, it shows a line feed character (though it might also contain a carriage return on Windows?):
<tag k="description" v="It was a dark and stormy night;
Water water everywhere,
But not a drop to drink."/>

Yet if you actually upload the edit, something either on the client side or server side is normalizing the newline to a space. For example, here’s a grocery store aisle that I uploaded using newlines to describe the hanging aisle marker sign:
<tag k="description" v="cups & plates dried fruit cookware cake mixes sugar spices"/>

Happens for me too. On this node, I am replacing the newline characters with spaced slashes  / . (Edit not uploaded yet.)

But if you actually upload the edit, something either on the client side or server side is normalizing the newline to a space.

Hmm… At least in recent versions of iD/OSM API this does not seem to happen anymore (see for example node<PHONE_NUMBER> which I edited a few weeks ago with a newline):
  <tag k="inscription" v="Heiligkreuzsteinach 1,4 km Heddesbach 2,? km
Fußweg nach Heddesbach"/>

Confusingly, newlines don’t appear in the raw tag editor

OK, that one is what I would actually call a bug: A tag value with \n will get it's newline characters removed when one edits in the (table mode of the) raw tag editor.

That said, I'm not quite sure how to read the wiki on this matter:

That’s just a convention, like using / or - to separate two name=* values in certain regions. I’m not sure iD can do anything particularly intelligent based on this convention, because there are plenty of inscriptions that contain a literal space–slash–space sequence in real life, and that wiki page doesn’t define an escape sequence.

@unnervingduck could you please report this to the osmose developers that this is a false positive on their side. :pray:

@unnervingduck could you please report this to the osmose developers that this is a false positive on their side. 🙏

Got it! I suppose there needs to be some discussion with the wiki people too, because I agree that there are many cases where a written slash may exist in real life.


PRIORITY: Gov Framework for Individual Sustainability Actions

As a [description of user]?
member of the general public in BC,
I want to [functionality]
have a government framework to follow for individual sustainability actions,
So that [benefit]
feel confident that I'm taking meaningful action towards sustainability.
Additional context
Relevant summary: have the government tell me which sustainability actions to prioritize
Acceptance Criteria
Agreed-upon confirmation of the requirements when done can be deemed as complete

This dupes #39, closing


hy: 0.25.0 -> 0.26.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/hylang/hy/releases.
meta.description for hy is: A LISP dialect embedded in Python
meta.homepage for hy is: https://hylang.org/
meta.changelog for hy is: https://github.com/hylang/hy/releases/tag/0.26.0
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.26.0 with grep in /nix/store/jlfzmnncy7hbibczsd5hi9h1ckg1cdla-python3.10-hy-0.26.0
found 0.26.0 in filename of file in /nix/store/jlfzmnncy7hbibczsd5hi9h1ckg1cdla-python3.10-hy-0.26.0

Rebuild report (if merged into master) (click to expand)

5 total rebuild path(s)

5 package rebuild(s)

First fifty rebuilds by attrpath
hy
python310Packages.hy
python310Packages.hyrule
python311Packages.hy
python311Packages.hyrule

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/jlfzmnncy7hbibczsd5hi9h1ckg1cdla-python3.10-hy-0.26.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A hy https://github.com/r-ryantm/nixpkgs/archive/9ad1c0e68d0575b0677462144c15e02a3a915348.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/jlfzmnncy7hbibczsd5hi9h1ckg1cdla-python3.10-hy-0.26.0
ls -la /nix/store/jlfzmnncy7hbibczsd5hi9h1ckg1cdla-python3.10-hy-0.26.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages failed to build:

python310Packages.hyrule
python311Packages.hyrule

2 packages built:

hy (python310Packages.hy)
python311Packages.hy

Maintainer pings
cc @fabaff @Mazurel @nixy @thiagokokada for testing.

@ofborg build python310Packages.hyrule

Will need a hyrule bump probably.

Bumped hyrule and removed colorama from hy.
This PR should be ready to merge.

@ofborg build python3Packages.hyrule

@ofborg build python3Packages.hyrule

Result of nixpkgs-review pr 216612 run on aarch64-darwin 1

4 packages built:

hy (python310Packages.hy)
python310Packages.hyrule
python311Packages.hy
python311Packages.hyrule


Add Telemetry

@rustd, I'm closing this issue for now. Feel free to reopen it with specific telemetry data-point asks and then change the title to make it more descriptive. Going forward all specs for features need to have telemetry added as part of the spec.

Let's use this to capture the base telemetry that we need for Model Builder. All new features will have specific telemetry requirements.
This doc captures the initial set of metrics. (merged with the list we had for //build). Bri is working on updating the doc and will send out the update.
https://microsoft-my.sharepoint.com/:w:/p/brachtma/EZOael_LilpItFPzu1GrGaUB7lwc6qxMOS8ykZrlJO4w1A?e=wB7gCk


[Question] how to transfer hbar for a HTS token?

Is there any way I can get an example of an HBAR to token atomic swap?

@Cooper-Kunz the HTS demo does that. Are you looking for a more "concise" example ?

rough outline
const tx = await new TransferTransaction();
tx.addTokenTransfer(token1, fromAccount, -tokenQuantity);
tx.addTokenTransfer(token1, toAccount, tokenQuantity);

tx.addHbarTransfer(fromAccount, new Hbar(hBars));
tx.addHbarTransfer(toAccount, new Hbar(-hBars));

tx.freezeWith(client);

await tx.sign(fromAccountKey);
await tx.sign(toAccountKey);

const result = await tx.execute(client);
const transactionReceipt = await result.getReceipt(client);

....

The example signs with both keys (one to pay tokens, the other to pay hbar). If the token was sent with hbar from the same account, only that account needs to sign.

rough outline
const tx = await new TransferTransaction();
tx.addTokenTransfer(token1, fromAccount, -tokenQuantity);
tx.addTokenTransfer(token1, toAccount, tokenQuantity);

tx.addHbarTransfer(fromAccount, new Hbar(hBars));
tx.addHbarTransfer(toAccount, new Hbar(-hBars));

tx.freezeWith(client);

await tx.sign(fromAccountKey);
await tx.sign(toAccountKey);

const result = await tx.execute(client);
const transactionReceipt = await result.getReceipt(client);

....

@gregscullard so how does one know how many tokens to swap for hbars i.e. if I swap 2 tokens for 100hbars, what make these 2 tokens be worth 100 hbars?

There is no such function, it would be by agreement between the two parties, the same way it works on a centralised exchange except that on an exchange you transfer tokens to the exchange and state how much you want for them, someone comes along and accepts your price, the exchange transfers the tokens to them and credits you with the proceeds.

Ahh ok. So then I would need an order book of sorts before the swap showing the buy & sell prices of a token by other traders correct?

That's right.

Unless you have another use case where the trading value of the token is fixed and those trading would have no interest in selling above or below that price.

Note: The HTS demo sort of does this (order book) through a marketplace account (escrow / exchange).

Awesome thanks for explain

Unless you have another use case where the trading value of the token is fixed and those trading would have no interest in selling above or below that price.

Awesome thanks for the swift reply, this will really help in my project. I appreciate the help 😃

After reading this discussion it seems the issue has been resolved, so closing. Re-open if I'm misunderstanding or you're having further trouble.


Research/fix missing (threaded) tweets of toots >n days old #Bug #Help #Question

Hi,
Thanks for helping spread the open, decentralised, web!
Hope you're well
As title
I posted this [to]ot today and don't see the mirroring [tw]eet
I did some testing and it seems if a (parent) toot is older than around 4.5 months then tweets won't mirror
Reproduce steps

Connect Mastodon > Twitter
Create a Mastodon toot and see it mirror on Twitter
Wait 6 months then reply to your toot

Unexpected behaviour (i.e. current)
Toot doesn't mirror on Twitter
Expected behaviour
Toots mirror on Twitter irrespective of the original toot's date
If you're reading and:

agree, then please vote up (e.g. +1, like), or;
disagree, then please vote down (e.g. -1, dislike) - I'd love to know why?

Welcome feedback/input
If you have any issues (e.g. questions/queries) then happy to help
Hope this is useful
Keep up super work!
Yours hopefully
to: https://mastodon.social/@ldexterldesign/102431835259585399
tw: https://mobile.twitter.com/ldexterldesign/status/1086719392224763904

BUMP

BUMP

BUMP

I don't store the data needed for threading replies longer than 120 days in order to save space. Even at 120 days this represents 360k rows in the DB. I believe that what you experienced is simply past this cutoff and not actually a bug.

Thanks for reply
If I child post 119 days after a parent post, which should succeed, then will it extend the parent post reference for another 120 days?
Yours hopefully

When a message passes through Moa I store it's originating ID and the ID of the message posted on the other side.

Once the parent mapping expires the threading will not work on the other side
Same thing applies, when the message you reply to expires the threading will no longer work.

Moa doesn't know anything about parent and child messages - it simply tracks ID mappings.

Damn, that's a real shame as I often thread after 120 days but I sympathise with saving data
Is there anything you can do to solve this or that I can do to persuade you to?
Reopening this issue and making it a feature request would be appreciated 🙏
Yours hopefully 🙏

BUMP

BUMP


Need to have metadata fields for the data model location of terms/code in both subject (source) and object (target)

In CCDH, we're trying to create a mapping from the NCI nodes' data dictionaries to NCIt codes that will be used in the common model. For example, in NCI GDC (genomic data commons) data model Aliquot, and attribute analyte_type,  "cfDNA" is a value in the enum of terms for the attribute. The attribute will be mapped to Specimen.analyte_type in the common data model (CDM). At the same time, the term 'cfDNA' is going to be mapped to NCIT:C128274. We need to record the field mapping (GDC.Aliquot.analyte_type -> CDM.Specimen.analyte_type) in the term mapping to provide context and also reference.
We were trying to use SSSOM:subject_match_field and SSSOM:object_match_field for this purpose but that seems to be incorrect. What metadata fields should we use?

https://terminology.ccdh.io/docs#/CRDC-H and CRDC Node Models/get_model_entity_attribute_mappings

Is this issue covered by #43 (despite the slightly wrong title)?

Closing in favour of https://github.com/mapping-commons/sssom/issues/43


Migrate edit_history from TextField to JSONField

This revives #18146.
The rebase conflicts are resolved, the backfilling migration is updated to process messages in bulk, and the rename+remove migrations are combined into one.

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Combined the migrations together so we do update and rename the field together.

See https://github.com/PIG208/zulip/pull/5 for the test output from the second commit.

Hm, the third commit is still not backward-compatible -- the new code cannot run against the old database, nor vice versa, because the type of edit_history changes.  Dropping the old column and renaming the new one are hopefully fast operations, but it's still a complete outage while we're doing them.  If it were a less core table than messages, it might not be an issue.
I'm not sure I see a simple solution to this, however.

Hm, the third commit is still not backward-compatible -- the new code cannot run against the old database, nor vice versa, because the type of edit_history changes. Dropping the old column and renaming the new one are hopefully fast operations, but it's still a complete outage while we're doing them. If it were a less core table than messages, it might not be an issue.

I think one useful step would be to break up that last commit: stop reading from the old column; stop writing to the old column; drop the old column; then only at the end deal with renaming the new column to have the old name.
For a multi-server, no-downtime environment, those first three steps would each be separate commits and separate deploys.
That reduces the problem to just renaming the column. I'm not sure what the options are there. As a worst case, one could leave the database column at an ugly name (edit_history_json) while renaming the field in our codebase.

I think leaving the database field as edit_history_json is a pretty reasonable option in this case -- it might actually be a better name than edit_history for the database column. Another option would be edit_history_entries - hinting the structure is a list of entries, not some more complex type.

The PR has been updated:

Now we use edit_history_entries as the name of the new column
Dropping edit_history is broken into 3 commits
Do not insert directly to edit_history_entries during double-write
We no longer rename edit_history_entries to edit_history.

Thanks for the reviews! Addressed some of the comments. Raised a question about whether we want to make the new field NULL.

Closing because this has been completed in #21309.


bivariate legend axis tick labels ✅

Description of the to-do item
bivariate legend axes
More information about the item
At the moment, it doesn't look likes xticks is supported as part of the bivariatelegend! function. It would be nice to have an option to add the values that separate quantiles in small font on each axis of the legend for bivariate plots

That's because Plots.jl is hell and as long as I'll keep valuing my immortal soul (I give it a week) I will not attempt to fix this with too much effort.

is there any hope via Makie.jl? otherwise adding the labels post hoc can work

Maybe Makie would help but there's a lot I need to check before making the move. That's low priority at the moment, sorry!


docker file build fails on IOT-ML-e2e solution repo inside devVM

the DockerFile build command inside the dev VM C:\source\IoTEdgeAndMlSample\CreateCertificates\dockerfile
fails to build with this error:

[+] Building 2.6s (7/12)
 => [internal] load build definition from dockerfile                                                                         0.1s
 => => transferring dockerfile: 32B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.1s
 => => transferring context: 2B                                                                                0.0s
 => [internal] load metadata for docker.io/library/centos:latest                                                             1.0s
 => [1/8] FROM docker.io/library/centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177              0.0s
 => [internal] load build context                                                                                0.1s
 => => transferring context: 32B                                                                                0.0s
 => CACHED [2/8] RUN mkdir /work                                                                                0.0s
 => ERROR [3/8] RUN yum -y install openssl git                                                                               1.3s
------
 > [3/8] RUN yum -y install openssl git:
#6 1.068 CentOS Linux 8 - AppStream                      136  B/s |  38  B     00:00
#6 1.072 Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
------
executor failed running [/bin/sh -c yum -y install openssl git]: exit code: 1

 *  The terminal process "C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command docker build --pull --rm -f "dockerfile" -t createcertificates:latest "."" terminated with exit code: 1.
 *  Terminal will be reused by tasks, press any key to close it.

this is the dockerfile content:

FROM centos

RUN mkdir /work

RUN yum -y install openssl git
RUN git clone https://github.com/Azure/azure-iot-sdk-c.git /source/azure-iot-sdk-c

RUN cp /source/azure-iot-sdk-c/tools/CACertificates/*.cnf /work \
    && cp /source/azure-iot-sdk-c/tools/CACertificates/certGen.sh /work

COPY startup.sh /work

WORKDIR /work

RUN chmod 700 certGen.sh \
 && chmod 700 startup.sh

ENTRYPOINT [ "/work/startup.sh" ]

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

ID: f7259644-4741-fd8d-a346-4a62625a9152
Version Independent ID: 2442b7b5-8f88-c182-d36e-ff8989f9a76a
Content: Tutorial: Configure an Azure IoT Edge device - Machine learning on IoT Edge
Content Source: articles/iot-edge/tutorial-machine-learning-edge-05-configure-edge-device.md
Service: iot-edge
GitHub Login: @PatAltimore
Microsoft Alias: patricka

@dorlugasigal
I have assigned the issue to the content author for further review.

Hi @dorlugasigal,
We decided to no longer maintain this article. It's been archived. Unfortunately, we won't be updating the Dockerfile. Thanks for logging the issue. I'm going to close the issue.
Thanks,
Pat
#please-close


Consolidated repository with all Docker images

Fix #711

images are moved in the AMP repo (all but haproxy, it includes vendoring and will have to be managed differently)

how to test:

images/build-images.sh # should build all images with tag latest

rebased on mater

finally a mono repo. 👍


test with Python 3.9

(opened this PR to ensure CI works)

travis.com is broken for us, unrelated to this PR; merging as-is.


feat: Export cluster name since cluster ID is exporting the ARN

Description

Export cluster name since cluster ID is exporting the ARN

Motivation and Context

When integrating with other services, the cluster name is required for some inputs. However, the cluster ID is currently the cluster ARN as opposed to other places where IDs are typically a unique ID or the resource name. The name output is necessary to map dependencies correctly

Breaking Changes

No

How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

This PR is included in version 4.1.0 :tada:


After Restart not working

Dear Developer Team, thanks your script is really usable.
i'm installing rtorrent + rutorrent. all is working fine, added some torrent. after restart my server. but not starting the rtorrent, try rt start try starting but close the rtorrent.
allow logging, this is the last few lines.
---END---
1544626943 I 43A3C18359C4E83E2671453C903839DB6628F890->tracker_list: sending 'started (group:0 url:udp://tracker.coppersurfer.tk:6969/announce)
1544626943 D AFF5B9C3DE04D9050A0BF733CFCB36201A838260->tracker_udp: [0] address found (address:<IP_ADDRESS>)
1544626943 D AFF5B9C3DE04D9050A0BF733CFCB36201A838260->tracker_udp: [0] prepare connect (id:1372a137)
---DUMP---

I have same problem, after reboot I lost my ssh access to my server on specific port and it seem whole server is messed up, I use openvz

Is this issue still present? If so, give us more information about your setup and enable full logging. Which hardware, OS, rTorrent config file, log-file etc.


Interactive list

Hi Dear Reviewers, Welcome to my pull request for TodoList(interactive lists)

Added a new JavaScript file and import it as a module:
Add event listener to the checkbox (change).
Updated items object's value for completed key upon user actions.
Implemented a function for the "Clear all completed" button.
Stored the updated array of items in local storage, so the user gets the correct list of values after the page reloads).
Previous pull request
https://github.com/Kaiserabbas/todo-list/pull/1

Filter method is used for "clear all completed" button

https://github.com/Kaiserabbas/todo-list/assets/123939543/2d44f53c-a5c0-4899-81ed-360f839dcae9

Save task is added to the code section to update local storage.


not saving server address or credentials

Hi,
I've sideloaded this on a Now TV 2 device.  It does not store my remote server address or credentials.  In preferences 'Remember User: Yes [default]'.
Hopefully you can help.
thanks
Paul

I can't reproduce this, but one to possibly try is uninstalling all emby channels and then reinstalling. It's possible the app is using too much storage space and thus the save operation is failing. It's something we'll be looking into. Thanks.


Initialize open publishing repository: https://github.com/kimizhu/rea…

…ltimeinsighttest of branch live

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

realtimeinsighttest/docfx.json
:white_check_mark:Succeeded

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

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/kimizhu/realtimeinsighttest, working directory: W:\bgwn-s, target branch: master, target branch commit: 3601ea99ae7468cc92151f89ee25292049d92aca, source branch: live, source branch commit: .
Learn more: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/

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

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/kimizhu/realtimeinsighttest, working directory: W:\pclv-s, target branch: master, target branch commit: 3601ea99ae7468cc92151f89ee25292049d92aca, source branch: live, source branch commit: .
Learn more: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/

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

:cloud: Pending: waiting for processors

Note: You can also view OPS Portal for detail build statistics, or click here to report any potential performance downgrade issues.

:clock10: Preparing: avg. preparing time 1 min(s) 16 sec(s)

:x: Validation status: errors

File
Status
Preview URL
Details
Dependent Files

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/kimizhu/realtimeinsighttest, working directory: W:\2xzn-s, target branch: master, target branch commit: b0b81634bb60064ecab32cfce52d49211b979103, source branch: live, source branch commit: .
Learn more: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/

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

:clock10: Preparing: avg. preparing time 1 min(s) 15 sec(s)

:cloud: Pending: waiting for processors

Note: You can also view OPS Portal for detail build statistics, or click here to report any potential performance downgrade issues.

:x: Validation status: errors

File
Status
Preview URL
Details
Dependent Files

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/kimizhu/realtimeinsighttest, working directory: W:\xuox-s, target branch: master, target branch commit: 2fd4997199a12e75f77c27fc2869e9ae34817e5e, source branch: live, source branch commit: .

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

OPS Build status updates of commit 8617795:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details
Dependent Files

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/kimizhu/realtimeinsighttest, working directory: W:\c1rq-s, target branch: master, target branch commit: c4f25ce15ade5507bd205713b8cbed2b37b982df, source branch: live, source branch commit: .

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

OPS Build status updates of commit 4b2599b:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details
Dependent Files

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/kimizhu/realtimeinsighttest, working directory: W:\51e5-s, target branch: master, target branch commit: c4f25ce15ade5507bd205713b8cbed2b37b982df, source branch: live, source branch commit: .

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

OPS Build status updates of commit d0b4bb4:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details
Dependent Files

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/kimizhu/realtimeinsighttest, working directory: W:\swr2-s, target branch: master, target branch commit: c4f25ce15ade5507bd205713b8cbed2b37b982df, source branch: live, source branch commit: .

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

OPS Build status updates of commit d04df02:
:clock10: Pending: waiting for processors (11 builds ahead of you)
:warning: OPS Build is busy, click here to report any potential performance downgrade issues, or you could view Docs Portal for trend of build queue length.

OPS Build status updates of commit d04df02:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details
Dependent Files

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/kimizhu/realtimeinsighttest, working directory: W:\3w15-s, target branch: master, target branch commit: 530b107984deda81b3afdcb63b4c1fea4cfe9a8c, source branch: live, source branch commit: .

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

Docs Build status updates of commit 8621003:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details
Dependent Files

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/kimizhu/realtimeinsighttest, working directory: W:\25nr-s, target branch: master, target branch commit: 8a6e7fd7f2311fbd6052ba2b1d0fb896efb9f66d, source branch: live, source branch commit: .

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

Docs Build status updates of commit 8812006:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details
Dependent Files

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/kimizhu/realtimeinsighttest, working directory: W:\l5cj-s, target branch: master, target branch commit: 8a6e7fd7f2311fbd6052ba2b1d0fb896efb9f66d, source branch: live, source branch commit: .

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


Change authn template rest API response sample according to new category changes

$subject
Related issue:

https://github.com/wso2/product-is/issues/17837

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

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

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

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

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

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

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

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


Q: State.Buffering ambiguity in play state

I couldn't get this answered on Discord despite asking two times, so thought I'd post here...
In v4's move to getPlaybackState() over getState(), the migration docs say that State.Buffering will now be returned regardless of whether it's supposed to be playing or not. In v3, I could use if (state === State.Playing || state === State.Buffering) to determine whether the player is in the act of trying to play (e.g. it can be used to dictate whether a play button shows a Pause icon or a Play icon). But it's unclear to me now how to do this in v4, because I can no longer tell between state === State.Buffering because you're buffering during playback vs. because you're paused and the player is pre-caching some upcoming audio.
Do I understand this correctly? If not, what is the right way in v4 to determine whether to render a Play or Pause icon by consulting the state of TrackPlayer?

You can use ‘TrackPlayer.getPlayWhenReady()’ to find out whether the player will start playing when it had loaded enough data to do so.

You may also want to check the example app for implementation reference

Ah, ok. So IIUC, getPlayWhenReady is true iff the player is in a "playing" state (regardless of buffer status), and is false iff the player is in a paused or stopped state? The naming of the function had me otherwise thinking that the call is only valid when the player isn't ready to play a track yet.

@puckey: IIUC, this change in the v4 API makes it really tricky to implement even a basic play/pause button. According to the example, all of the following is needed before you can decide whether to render Play or Pause:
  const playWhenReady = usePlayWhenReady();
  const isLoading = useDebouncedValue(
    state === State.Loading || state === State.Buffering,
    250
  );

  const isErrored = state === State.Error;
  const isEnded = state === State.Ended;
  const showPause = playWhenReady && !(isErrored || isEnded);
  const showBuffering = playWhenReady && isLoading;

Does that sound right? Including subtleties like you can be playWhenReady even when the track is errored or has already ended. Seems like it'd be very easy for developers to make a mistake here. Would a hook that encapsulates all this potentially be helpful?

#2040 submitted to make this easier for others. Thanks for clarifying the subtleties, @puckey .

If anyone finds this issue in the future, here's how I'm using this to render my button (note the useDelayedTruth is distinct from useDebouncedValue provided in the examples, as it'll snap back to false as soon as the flag is false, and only has a delay on becoming true, which is likely what you want for the purposes of showing your loading icon (without this, the loading state occurs every time for a very brief portion on any internet connection, which just looks janky and doesn't represent an actual delay of any kind for the user. 500ms was the right amount to delay here to get is smooth in most cases, but still show a loader quickly when there's a perceptible delay:
type PlaybackButtonMode = 'loading' | 'playing' | 'paused';
export const usePlaybackButtonMode = (): PlaybackButtonMode => {
  const { playing, bufferingDuringPlay } = useIsPlaying();
  const hasBeenBuffering = useDelayedTruth(bufferingDuringPlay ?? false, 500);
  if (hasBeenBuffering) return 'loading';
  if (playing) return 'playing';
  return 'paused';
};

// returns true if `value` has been true for at least `delay` milliseconds
const useDelayedTruth = (value: boolean, delay: number): boolean => {
  const [delayedValue, setDelayedValue] = React.useState<boolean>(false);

  React.useEffect(() => {
    let timeoutId: ReturnType<typeof setTimeout> | null = null;
    if (value) {
      timeoutId = setTimeout(() => {
        setDelayedValue(true);
      }, delay);
    } else {
      setDelayedValue(false);
    }

    return () => {
      if (timeoutId) {
        clearTimeout(timeoutId);
      }
    };
  }, [value, delay]);

  return delayedValue;
};

I then use usePlaybackButtonMode directly in the UI to control the button.


CryptographicException

Hi,
I have two apps web apps (first is .net 4.5 and second one is .net core 2). I want to share cookie that is set in first one and to read it in second one.
I keep getting CryptographicException for some reason... I tried your example and every thing works as expected. Can you please point me in right direction to try to find solution for my problem?
Here are my configurations:
.net 4.5
<machineKey
	validationKey="F2D27DF0348E9A3EAD6AC66330C31F821394D4CD1A5E139EEE85EA9D9F2A963E55EC87572F699FB834292CC9E37AD56B6B26AA379106CBA5E9AA544C688F3E92"
	decryptionKey="F6D5A5C8DDEC57481610829F58D6C95BDAC5FA21082F3FA9CB5A36DCEAACBEDB" validation="SHA1"
			decryption="AES"
		/>
		<compilation targetFramework="4.5" debug="true" />
		<authentication mode="Forms">
			<forms name=".ezesuite" protection="All" loginUrl="~/Account/Login" timeout="1440" requireSSL="false" slidingExpiration="true" ticketCompatibilityMode="Framework40" path="/" domain="" />
		</authentication>

.net core 2

"FormsAuthentication": {
		"CookieName": ".ezesuite",
		"BaseAuthUrl": "http://mysite.staging.com",
		"DecryptionKey": "F6D5A5C8DDEC57481610829F58D6C95BDAC5FA21082F3FA9CB5A36DCEAACBEDB",
		"ValidationKey": "F2D27DF0348E9A3EAD6AC66330C31F821394D4CD1A5E139EEE85EA9D9F2A963E55EC87572F699FB834292CC9E37AD56B6B26AA379106CBA5E9AA544C688F3E92",
		"EncryptionMethod": "AES",
		"ValidationMethod": "SHA1"
	}

In case someone is having same problem, solution for me was to explicitly add


UI hover and feedback on Learn card links

These links need hover state and cursor change

If I recall, @frankwiles has the entire card linking to them the location and if so and you want hovers on these then we need to link each line to the same place.

I think I edited the links to be correct, i.e. they now have the right text and link to the proper section in the docs.

Done in PR #357


Danger Swift Local doesn't work with main

Our primary branch is named main not master
Running swift run danger-swift local doesn't work and produces the following output:
[2/2] Merging module Logger
Could not get diff from git between master and HEAD
/snapshot/danger-js/distribution/platforms/git/localGetDiff.js:20
            throw new Error(data.toString());
            ^

Error: fatal: ambiguous argument 'master...HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

    at Socket.<anonymous> (/snapshot/danger-js/distribution/platforms/git/localGetDiff.js:20:19)
    at Socket.emit (events.js:210:5)
    at addChunk (_stream_readable.js:309:12)
    at readableAddChunk (_stream_readable.js:290:11)
    at Socket.Readable.push (_stream_readable.js:224:10)
    at Pipe.onStreamRead (internal/stream_base_commons.js:182:23)

You need to provide the reference branch param - though I'd take a PR to danger-js which checks to see if master exists and if not checks for main first before bailing

@orta Looks like swift run danger-swift -help doesn't work. Is there a reference doc to get the command list to pass in the reference branch param?

You need to run the help on danger-js, we don't yet have anything to pass those from danger-js to danger-swift so that they can be shown on the help.
Would be happy to take PRs for that.

@f-meloni I deleted my comment because swift run danger-swift local -help does execute!
Also, swift run danger-swift local -base main works as well 🚀
(I do get some errors but it looks like Danger is working now vs bailing)
swift run danger-swift local --base main
ERROR: Failed to parse JSON: keyNotFound(CodingKeys(stringValue: "url", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "danger", intValue: nil), CodingKeys(stringValue: "git", intValue: nil), CodingKeys(stringValue: "commits", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"url\", intValue: nil) (\"url\").", underlyingError: nil))

ERROR: Dangerfile eval failed at Dangerfile.swift

Danger: ⅹ Failing the build, there are 2 fails.
## Failures
Failed to get the coverage - Error: The operation couldn’t be completed. (DangerSwiftCoverage.SPMCoverageParser.Errors error 0.)
-
danger-swift` failed.
## Messages
These files have changed: Tests/DangerDependenciesResolverTests/InlineDependenciesFinderTests.swift, Tests/DangerDependenciesResolverTests/PackageGeneratorTests.swift, Tests/DangerTests/BitBucketServerTests.swift, Tests/DangerTests/DangerUtilsTests.swift, Tests/DangerTests/GitDiffTests.swift, Tests/DangerTests/GitHubTests.swift, Tests/DangerTests/GitLabTests.swift, Tests/DangerTests/SwiftLint/DangerSwiftLintTests.swift, Tests/DangerTests/XCTestManifests.swift, Tests/RunnerLibTests/DangerFileGeneratorTests.swift
## Markdowns
### Log

ERROR: Failed to parse JSON: keyNotFound(CodingKeys(stringValue: "url", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "danger", intValue: nil), CodingKeys(stringValue: "git", intValue: nil), CodingKeys(stringValue: "commits", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"url\", intValue: nil) (\"url\").", underlyingError: nil))
danger-results://var/folders/pp/_w2jtc4508lbxk4bgp8h8klw0000gn/T/danger-response.json

ERROR: Dangerfile eval failed at Dangerfile.swift

@f-meloni I deleted my comment because swift run danger-swift local -help does execute!

Right, is probably because you used -help and not --help, because that would be interceipt by !CommandLine.arguments.contains("--help").
We might think to always make danger js print the help, but some things are be different in danger-swift (and it has also additional parameters), so would be nice maybe to get a JSON with the supported command or descriptions so that we could construct our help. (But anyway is unrelated with the original issue)
For the issue I think the "fake" json that is generated by danger-js doesn't have a url for the commits, but I think that is always present in the real enviroment (probably @orta knows it better than me), so in that case might be worth to add a fake url manually to the JSON generated in danger local.

Yep, no URL for the commits, it's kind stubbed JSON overall because it has no ties to a remote code host like GitHub / Gitlab etc


Added a:fld type to paragraphs for page numbers and datetimes

I probably need to clean up a bit before this is ready to merge into the original repository (any feedback would be appreciated, the code is very dense, and there is a lot of indirection happening). Currently I have tested it and it does work with the following code:
`
import pptx
ppt = pptx.Presentation()
ppt_slide = ppt.slides.add_slide(ppt.slide_layouts[6]) # blank Slide
t = ppt_slide.shapes.add_textbox(0, 0, 100, 100)
p = t.text_frame.paragraphs[0]
r = p.add_run()
r.text = "Test"
p = t.text_frame.add_paragraph()
f = p.add_field()
f.text = "1"
f.type = "slidenum"
with open("test.pptx", 'wb') as f:
ppt.save(f)
`
The field properly updates when slides are added, or moved.


Project Feedback!

Congrats on completing the third project!
I have provided a detailed Project 3 Feedback Guide here which covers the most common issues with this submitted project. Read through the feedback guide point-by-point to determine how you could improve your submission.
Let us know if you have any other thoughts or questions about this assignment. Hopefully, by now you feel pretty comfortable with all the major pieces to basic Android apps (Views, Controllers, Models, Authentication, API Communication, Preferences, ActionBar, et al) and see how they all fit together.

Congrats on completing the fourth project!
I have provided a detailed Project 4 Feedback Guide here which covers the most common issues with this submitted project. Read through the feedback guide point-by-point to determine how you could improve your submission.
Let us know if you have any other thoughts or questions about this assignment. Hopefully by now you feel pretty comfortable with all the major pieces to basic Android apps (Views, Controllers, Models, Authentication, API Communication, Preferences, ActionBar, et al) and see how they all fit together.
/cc @codepathreview


THC wallet ERROR

DEAR ALL, i am looking for help. My THC wallet does not load anymore, it always shows error message
File: crs/kernel.cpp, Line 430
Expression: pindex-> pprev pindex->GetBlockHash() = = (!fTestNet ? hashGenesisBlock : hashGenesisBlockTestNet)
Do you have any idea how to fix this?

This is the larger section of code to get stake modifier checksum, but not sure what is causing your issue.
Have you looked for any logs to see if they provide any more meaningful error messages?
// Get stake modifier checksum
unsigned int GetStakeModifierChecksum(const CBlockIndex* pindex)
{
assert (pindex->pprev || pindex->GetBlockHash() == (!fTestNet ? hashGenesisBlock : hashGenesisBlockTestNet));
// Hash previous checksum with flags, hashProofOfStake and nStakeModifier
CDataStream ss(SER_GETHASH, 0);
if (pindex->pprev)
ss << pindex->pprev->nStakeModifierChecksum;
ss << pindex->nFlags << pindex->hashProofOfStake << pindex->nStakeModifier;
uint256 hashChecksum = Hash(ss.begin(), ss.end());
hashChecksum >>= (256 - 32);
return hashChecksum.Get64();
}


Add gradient/multi-color polyline support for iOS (MapKit)

Hi guys, it's Christmas so it's time for presents  🎁
This PR adds support for gradient/multi-color Polylines for iOS/MapKit.
It adds a prop called strokeColors to <Polyline> which should be an array of colors, and which should have the same length as the coordinates prop. If two colors are different, it will then draw a gradient between those two coordinates. In order to create "smoother" gradients, you can also create "holes" in the color-array, be specifying #00000000. This will then draw a path using a linear gradient between the coordinates for which a color was defined.

Example:
<MapView>
	<MapView.Polyline
		coordinates={[
			{ latitude: 37.8025259, longitude: -122.4351431 },
			{ latitude: 37.7896386, longitude: -122.421646 },
			{ latitude: 37.7665248, longitude: -122.4161628 },
			{ latitude: 37.7734153, longitude: -122.4577787 },
			{ latitude: 37.7948605, longitude: -122.4596065 },
			{ latitude: 37.8025259, longitude: -122.4351431 }
		])
		strokeColor="#000" // fallback for when `strokeColors` is not supported by the map-provider
		strokeColors={[
			'#7F0000',
			'#00000000', // no color, creates a "long" gradient between the previous and next coordinate
			'#B24112',
			'#E5845C',
			'#238C23',
			'#7F0000'
		]}
		strokeWidth={6}
	/>
</MapView>

I've updated the docs and the MapExplorer as well.
Hopefully I can Android support for it too soon.
cheers,
Hein

LGTM. As far as I can see there is not any drawback in replacing MKPolygonRenderer with MKOverlayPathRenderer, is it?

That’s right. And to be on the safe side, I enabled the new polyline renderer only when ‘strokeLines’ is used for now.

Please wait a bit with merging this, I'm seeing an occasional rendering issue with certain zoom scales

Alright, rendering issues seem resolved now 👍

LGTM


Failed when 'TASK: [ceph-common | Check for a Ceph socket]'

I've tried several times, it always failed at TASK: [ceph-common | Check for a Ceph socket].
error output:
TASK: [ceph-common | Check for a Ceph socket] *********************************
failed: [mon1] => {"changed": true, "cmd": "stat /var/run/ceph/.asok > /dev/null 2>&1", "delta": "0:00:00.001969", "end": "2015-04-08 03:56:01.522639", "rc": 1, "start": "2015-04-08 03:56:01.520670", "warnings": []}
...ignoring
failed: [osd0] => {"changed": true, "cmd": "stat /var/run/ceph/.asok > /dev/null 2>&1", "delta": "0:00:00.001964", "end": "2015-04-08 03:56:01.535388", "rc": 1, "start": "2015-04-08 03:56:01.533424", "warnings": []}
...ignoring
failed: [mon2] => {"changed": true, "cmd": "stat /var/run/ceph/.asok > /dev/null 2>&1", "delta": "0:00:00.001971", "end": "2015-04-08 03:56:01.551236", "rc": 1, "start": "2015-04-08 03:56:01.549265", "warnings": []}
...ignoring
failed: [mon0] => {"changed": true, "cmd": "stat /var/run/ceph/.asok > /dev/null 2>&1", "delta": "0:00:00.002027", "end": "2015-04-08 03:56:01.657233", "rc": 1, "start": "2015-04-08 03:56:01.655206", "warnings": []}
...ignoring
failed: [osd1] => {"changed": true, "cmd": "stat /var/run/ceph/.asok > /dev/null 2>&1", "delta": "0:00:00.002610", "end": "2015-04-08 03:56:01.592151", "rc": 1, "start": "2015-04-08 03:56:01.589541", "warnings": []}
...ignoring
failed: [osd2] => {"changed": true, "cmd": "stat /var/run/ceph/.asok > /dev/null 2>&1", "delta": "0:00:00.001967", "end": "2015-04-08 03:56:01.660520", "rc": 1, "start": "2015-04-08 03:56:01.658553", "warnings": []}
...ignoring
Sometimes not all the nodes failed in this step.
I did not change anything in the ceph-ansible dir, just vagrant up|provision.
Is there anyone can help me figure out where the problem is?

If it's the first time you bootstrap this is normal (since the services are not started there is no socket).
This error ignored anyway, this is not critical.


CI/CD

Add CI to the project using Github Actions. Run all tests when pushing new changes to develop and to feature branch.

Hey @chadyj can I work on this issue?

By all means!
Perhaps @jakobuid or @TalhaAli00 can update the issue with some more details of what we are looking for.  Or you can dive in if you don't mind feedback later.

I will start working on it. And if it's possible you can provide provide the details on issue and what you are looking for

The only ideas we've come up with are:

Run unit tests on merging from a feature branch (feature/branch name) into develop
Run unit tests and integration tests when merging develop into master. During this step, we also want to bump the tag (i.e 1.0.0-beta01 -> 1.0.0-beta02), create a release for in GitHub and then have Jitpack generate an aar for the release.

If there is anything else we should add, let us know


New user role management and welcome new users

When a new user joins the server, they should automatically be given a role defined in the config.json. This role is meant to constrict what new users can do before agreeing to the T&C.
In the #terms-and-conditions channel, the user can react to a message to accept the T&C, which will result in the initial role being removed from them, followed by Horace announcing in the Citadel that a new user has joined the server.

Hello !
I would like to work on this

@jenspetur94 How is this issue going?

Solved in #42