Update request type definitions to make platform possibly undefined

This PR is to resolve issue https://github.com/sveltejs/kit/issues/8230 in which the platform object does not match it's types.
event.platform is typed as an empty object by default so I am changing the server response to fallback to this rather than allowing it to be undefined.
An alternative could be to update the types to make platform optional within event.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Thanks for the PR! I think the proposed alternative (making event.platform optional) is a more 'honest' approach — "if platform exists then it takes this shape".
Obviously the real solution is to populate platform in dev as well, but that's a can of worms to open later...

No problems :)
I had hoped that this PR would ensure that platform was always an empty object, but I think given the runtime differences between dev and prod builds (due to the invocation of the adapter) updating the types will help avoid mistakes.
Something like the below?
The goal being to allow platform itself to be undefined (this pr) and also to ensure that adapter specific keys are definitely optional.
// packages/kit/types/index.d.ts

	platform: Readonly<App.Platform>;

to:
// packages/kit/types/index.d.ts

	platform: Partial<Readonly<App.Platform>> | undefined;

I think Partial<..> isn't needed here - either the whole platform is defined (in prod), or it isn't (in dev), there's no "something exists, something else doesn't". Each adapter can define what exactly App.Platform contains.

Yeah that makes sense to me, I imagine that I should also revert my change to server/index.js as well?
Which would mean that if the platform object is undefined (not supplied by adapter or dev mode), or it is exactly as described by the adapter.
If happy with this approach, then I can update the PR today :)

thank you!


Ctrie Snapshots

This implements snapshot support for Ctries. Snapshots pave the way for operations which require global information like stable iterators, size, clear, etc. The code gets a bit hairy, but the basic idea is this:

Assign a generation to each node.
To snapshot, copy the root I-node and set it to a new generation.
When an update operation detects that the generation of the I-node it's reading is older than that of the root, it copies the I-node to the new generation and updates the parent (lazy updating).
Perform CAS operations using a GCAS, which is effectively a RDCSS. What this means is in order for the CAS to succeed, the root's generation has not changed.

Because the snapshot updates occur lazily, the snapshot operation is O(1) while all other operations remain O(logn). Snapshots can be mutated, but we also provide support for read-only snapshots.
@dustinhiatt-wf @alexandercampbell-wf @beaulyddon-wf @tannermiller-wf @rosshendrickson-wf @stevenosborne-wf

Minor comments, +1

@alexandercampbell-wf Comments addressed.

+1

+1


switch ci to gh actions

Codecov Report

Merging #122 (6e98be5) into master (8527d64) will decrease coverage by 0.21%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #122      +/-   ##
==========================================
- Coverage   97.43%   97.22%   -0.22%
==========================================
  Files           2        2
  Lines          39       36       -3
==========================================
- Hits           38       35       -3
  Misses          1        1

Impacted Files
Coverage Δ

src/ScientificTypes.jl
92.30% <0.00%> (-1.03%)
:arrow_down:

src/scitype.jl
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Is this up to date?

I have the impression this is not up to date. My stream analytics jobs are, sporadically, not receving events from event hubs and I don't reallty know how to troubleshoot this. Service Bus explorer seems to not be available in the provided link...

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

ID: a9c615fe-e407-40a0-5ec5-137643fc90d5
Version Independent ID: 043651c2-2cf8-b1a5-4b85-4531c8e266f9
Content: Troubleshooting Inputs for Azure Stream Analytics
Content Source: articles/stream-analytics/stream-analytics-troubleshoot-input.md
Service: stream-analytics
GitHub Login: @sidram
Microsoft Alias: sidram

Thanks for the feedback @jjimenezroda. I'll get this updated.

Thanks again for your feedback. We have updated this article and it will go live soon. If you have any additional questions, please reopen this issue.
#please-close


File extension method

Why not? Sometimes I want to use file extension for some checks. I think it will be better if method will be native.
(it's only scratch now)

this is already in the stdlib pathlib.Path(file.name).suffix
there's something to be said about making django FileField objects PurePath subclasses


Remove unused Workbench Components

This PR removes unused Workbench components to reduce the surface area for security vulnerabilities in the images. It also adds an "RStudio Pro session"-only image for certain use-cases.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: colearendt:white_check_mark: ianpittwood:x: MariaSempleYou have signed the CLA already but the status is still pending? Let us recheck it.


Add ability to read iPhone Photos databases

It should be possible to directly read the Photos database off a USB-mounted iPhone to export files directly from an iPhone that's not connected to iCloud.  I've done a quick test and osxphotos can currently parse the Photos.sqlite database from an iPhone running iOS 15.4.1.

iFuse won't work...read speed is only about 2MB/Sec which is far too slow to be practical (my iPhone Photos.sqlite is 1GB)
Followed these instructions to get iFuse installed:
Install FUSE to read iOS device connected to mac via USB
brew install macfuse
brew install gromgit/fuse/ifuse-mac
You may need to open System Preferences | Security & Privacy | General --> allow software from unknown developer
Plug in iPhone
Find UDID of the phone:
system_profiler SPUSBDataType -detailLevel mini |
grep -e iPhone -e Serial |
sed -En 'N;s/iPhone/&/p'
Results in something like this:
system_profiler SPUSBDataType -detailLevel mini | \

grep -e iPhone -e Serial |
sed -En 'N;s/iPhone/&/p'
2022-08-01 20:53:12.230 system_profiler[69190:4747320] SPUSBDevice: IOCreatePlugInInterfaceForService failed 0xe00002be
2022-08-01 20:53:12.239 system_profiler[69190:4747320] SPUSBDevice: IOCreatePlugInInterfaceForService failed 0xe00002be
iPhone:
Serial Number: 0000XXXXX

Didn’t work with this serial number so I opened Finder, clicked on iPhone and copied the text with the UDID
mkdir ~/iPhone
ifuse ~/iPhone --udid 0000XXX-00067501021XXXX
This works but dang is it slow!


[OF-1076] feat: client apps can query whether a space requires a ticket to enter or not

connected-spaces-platform Pull Request
For the reviewer

[ ] If required, are the changes covered by appropriate tests?
[ ] Are any public-facing API changes well documented?
[ ] Is the code easily readable and extensible and/or follow existing conventions?

I see now that they are both there, just in the same test - would you mind adding some comments to the test just to call out how and what we're testing at each point? If I missed it, feels like others will too.


Describe "Evaluate is more than what we got ATM"

Explain your perspective on what is currently missing in the "Evaluate" section. ;)

Could we please go back to self-assignment?

of course - I thought you volunteered for this one on Friday... sorry if I got that wrong...

No worries. I understood that more as described in #216 .
For me the assignment to an issue also means that the issue is "in progress" and locked by the assignee - perhaps not necessarily the way y'all think about it. (Clarifying workflows is hard :smile:)


get_block_hash syscall native

Checklist

[x] Linked to Github Issue
[x] Unit tests added
[x] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

Codecov Report

Merging #1048 (4ecd06e) into main (398b98f) will decrease coverage by 0.01%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##             main    #1048      +/-   ##
==========================================
- Coverage   89.03%   89.02%   -0.01%
==========================================
  Files          50       50
  Lines       13434    13436       +2
==========================================
+ Hits        11961    11962       +1
- Misses       1473     1474       +1

Files
Coverage Δ

src/syscalls/business_logic_syscall_handler.rs
76.85% <100.00%> (+0.03%)
:arrow_up:

src/syscalls/syscall_info.rs
91.89% <0.00%> (-2.56%)
:arrow_down:


Text attribute rendering issue

Strange drawing behavior. #pathTranslate: related ?
Here is an example. See screenshots for results with Sparta/Cairo and with Alexandrie

| text space |
text := 'ABCD' asRopedText.
text attribute: (BlTextBackgroundAttribute paint: (Color blue alpha: 0.3)) from: 1 to: 1.
text attribute: (BlTextBackgroundAttribute paint: (Color yellow alpha: 0.5)) from: 2 to: 2.
text attribute: (BlTextBackgroundAttribute paint: (Color red alpha: 0.3)) from: 3 to: 3.
text
	fontSize: 24;
	fontName: 'Helvetica Neue'.
space := BlSpace new.
space root addChild: text asElement.
space title: 'attribute drawing issue'.
space show.

Thanks for the report!
I add a todo on my notes to test it.
Right now, the PCRenderingText is not properly working but not far from running it by CI.


Pre-event reminder emails (create and schedule)

@jhibbets - I have an in-progress doc with all the eventbrite emails getting pulled together. I'll continue to add to but wanted to get your eyes and thoughts on it. https://docs.google.com/document/d/1x2a1ABk33Bw8Uh6L1eXJRzwMstxLtgRBJlHhvchgb_E/edit?usp=sharing


Add some non-scalar value tests for Default.

PR #38 made Default expressions with e.g. list values fail and there
weren't any tests for them.
These tests pass at 1fd45f3e455fb8be752effac867915269ea6e833 but currently fail because of the change in PR #38.

Thanks!


Expose metrics server port from container

Expose metrics server port from the container in example deployment and pkg/install tooling
Signed-off-by: Ashish Amarnath<EMAIL_ADDRESS>

LGTM, thanks!


Validate if Table Replication Factor Can be Honoured during Table Create/Update

Recently, we've observed that RT ingestion stopped simply because of not enough servers to fulfil the replication configured and no warning / error given to user. This PR adds a check for that during table create/update.

Codecov Report
Attention: Patch coverage is 0% with 26 lines in your changes missing coverage. Please review.

Project coverage is 0.00%. Comparing base (59551e4) to head (a0cfcff).
Report is 1000 commits behind head on master.

Files with missing lines
Patch %
Lines

...oller/api/resources/PinotTableRestletResource.java
0.00%
26 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (59551e4) and HEAD (a0cfcff). Click for more details.
HEAD has 53 uploads less than BASE

Flag
BASE (59551e4)
HEAD (a0cfcff)

integration
7
1

integration2
3
1

temurin
12
1

java-21
7
1

skip-bytebuffers-true
3
1

skip-bytebuffers-false
7
0

unittests
5
0

unittests1
2
0

java-11
5
0

unittests2
3
0

integration1
2
0

custom-integration1
2
0

Additional details and impacted files
@@              Coverage Diff              @@
##             master   #13951       +/-   ##
=============================================
- Coverage     61.75%    0.00%   -61.76%
=============================================
  Files          2436     2512       +76
  Lines        133233   138982     +5749
  Branches      20636    21371      +735
=============================================
- Hits          82274        0    -82274
- Misses        44911   138982    +94071
+ Partials       6048        0     -6048

Flag
Coverage Δ

custom-integration1
?

integration
0.00% <0.00%> (-0.01%)
:arrow_down:

integration1
?

integration2
0.00% <0.00%> (ø)

java-11
?

java-21
0.00% <0.00%> (-61.63%)
:arrow_down:

skip-bytebuffers-false
?

skip-bytebuffers-true
0.00% <0.00%> (-27.73%)
:arrow_down:

temurin
0.00% <0.00%> (-61.76%)
:arrow_down:

unittests
?

unittests1
?

unittests2
?

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@Jackie-Jiang Right. But can we do a dry run when the table doesn't even exist? The idea is to capture this before the table is even created.

We can trigger the same piece of code. It should throw exception when there are not enough servers to host the table


Update azure-pipelines.yml to build C#/Scala example apps

Describe the issue

#90 and #94 introduced example apps, but the build pipeline was not updated.
The azure-pipelines.yml needs to updated to make sure they compile.

Is it enough to check only they compile without errors? Or should it be run without exception?


Change int32 into *int32 for Replicas

Fixes #1028
Release Note

/test upgrade-tests_operator_main

/test upgrade-tests_operator_main

/test integration-tests_operator_main


ci: Fix nightly build - SimpleBoolean for Rust

Description of changes:
Fix nightly build - SimpleBoolean needs a patch file for the latest nightly prerelease too.
Dry run: https://github.com/smithy-lang/smithy-dafny/actions/runs/8976990288
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Replaced by https://github.com/smithy-lang/smithy-dafny/pull/357


feat(velodrome-cl): Add Velodrome CL integration

There are few things that could be improved in the velodrome CL test:

Calculate range based on on current tick +/- some %
Don't run tests in a sequence to avoid "chainlink price expired" error

I fixed the issues you found, but I still couldn't solve the chainlink error in the tests. I tried to split the logic into two describe blocks with beforeAfterReset but it didn't work. So I had to run the blocks separately with one block commented out.  @kent426 Maybe you can find a way how to run both blocks and not getting the chainlink error.


MINOR: Test rebase with github actions

Signed-off-by: Jonathan Stichbury<EMAIL_ADDRESS>Thank you for contributing to harp.gl!
Before requesting a pull request, please remember to check the following documents:

contribution guidelines
coding style

If you are adding new functionality we would highly appreciate if you can describe what is the capability you are adding and even better if you can add some examples. Please also remember to add tests for it.
CI Check
Our bots will check whether your PR can be directly integrated into the mainline. We have some internal integration tests running on the background, our bots will inform you of the next steps and someone from our team will take a look and help if needed!
And please do not forget to sign-off your commit! You can read more about DCO here. But, in short, you just need to use git commit -s or append --signoff when you are committing to the repo.
Happy contributing!

/rebase

/rebase

/rebase

/rebase

/rebase

/rebase

/rebase

/rebase

/rebase

/rebase

/rebase

/rebase


bug: TokensAnalyzer - fix intersection types considered as binary operator

Fix #6412
The intersect type & should not be considered as binary operator.

Hi and thanks!
This PR is very close to completion IMHO, please consider these minors https://github.com/jdecool/PHP-CS-Fixer/pull/2

Hey 👋 @keradus, could you look at this PR 🙏 ?

Thank you @jdecool.

thanks @jdecool for change and @julienfalque for merging!

Coverage remained the same at 92.873% when pulling 44830d52fe9f6b642d5a7c25b5cfba83e74c566e on jdecool:fix-intersection-type-as-binary-operator into 7936fb2ef269e364042eb73f066d34e588ddd9b9 on FriendsOfPHP:master.


Fixes #4644

Fixes #4644.

Pull Request Test Coverage Report for Build 2018

5 of 30 (16.67%)  changed or added relevant lines in 3 files are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.04%) to 59.09%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sharding-jdbc/sharding-jdbc-core/src/main/java/org/apache/shardingsphere/shardingjdbc/jdbc/core/resultset/EncryptResultSet.java
2
27
7.41%

Files with Coverage Reduction
New Missed Lines
%

sharding-jdbc/sharding-jdbc-core/src/main/java/org/apache/shardingsphere/shardingjdbc/jdbc/core/resultset/EncryptResultSetMetaData.java
4
33.33%

Totals

Change from base Build 1011:
0.04%

Covered Lines:
12162

Relevant Lines:
20582

💛  - Coveralls


Why does ocean.py source code hold a config.ini? It's error-prone

There's a config.ini file in the root directory of ocean.py.
Having this config around may hint that it's used somewhere, but it probably shouldn't be. People should be creating their own config.ini's. From #921 (and follow-up issues like #927) we've found that config is error-prone.
TODO for this issue:

identify where (if anywhere) that config.ini is actually used
if possible (and if it makes sense), remove it

I would recommend to remove it and use env vars, which are more secure

I completely agree, I would remove the entire config shennanigans and keep just env vars.

Thanks, both. Sounds great. I just created a github issue in this vein.
Once we do that, we get to close this issue immediately, and also at least two more.
https://github.com/oceanprotocol/ocean.py/issues/938

#938 is done. So, we can close this issue:)


Bug: Module not found: Cant resolve fs

Prerequisites

[X] I have searched the repository’s issues and Kinde community to ensure my issue isn’t a duplicate
[X] I have checked the latest version of the library to replicate my issue
[X] I have read the contributing guidelines
[X] I agree to the terms within the code of conduct

Describe the issue
Hey team, running into this issue when using the included auth button components in a client component: Module not found: Can't resolve 'fs'
There's a good comment in the nextjs repo about the issue and an optimal solution from this package here https://github.com/vercel/next.js/issues/54220#issuecomment-1685082823. Would be great if we could apply the solution here so that the components can be easily consumed in client components 🙌
Library URL
https://github.com/kinde-oss/kinde-auth-react”
Library version
1.8.12
Operating system(s)
Windows
Operating system version(s)
Ventura 13.2
Further environment details
No response
Reproducible test case URL
No response
Additional information
No response

Hey @SDrinkwater thanks for raising this one :) We're looking into it at the moment

Hey @SDrinkwater just following up to let you know we're still working on this

Decided to use Kinde for my auth development and hit this issue as well. I have tried changing node versions  but no luck

@KingXP-Pythoner I believe you are trying to use a server-side component (Kinde LoginLink, LogoutLink and RegisterLink) in a client based component. fs module is not currently available for use on the client-side, which I believe is needed by server-side components. This can be resolved by using custom buttons or raw tags as discussed in Issue 54 eg.
<Button asChild variant="secondary">
    Login
</Button>

This article helped me solved this issue

Thanks @kelvinyelyen @bibaswan7 - awesome workarounds.
We're currently updating the SDK so that the components can be used on the client or the server

That's awesome @DaveOrDead

When integrating Kinde Auth Next.js and Convex into my project, I encountered multiple errors related to missing built-in Node.js packages such as "fs," "url," "path," "crypto," and "stream." These errors seem to originate from the Kinde Auth Next.js. This issue prevents me from using the two libraries together seamlessly.
I have tried to resolve this issue locally, but a more comprehensive solution is needed to ensure that Kinde Auth Next.js and Convex can be used together without encountering these conflicts. I wanted to inquire if there is a recommended workaround or a solution in development to address this issue.
Attached are the error messages and a code snippet where the issue occurs for reference.
import { v } from "convex/values";

import { mutation, query } from "./_generated/server";
import { Doc, Id } from "./_generated/dataModel";
import { getKindeServerSession } from "@kinde-oss/kinde-auth-nextjs/server";

const { getUser } = getKindeServerSession();
const user = getUser();
export const archive = mutation({
  args: { id: v.id("documents") },
  handler: async (ctx, args) => {
    const identity = user;

    if (!identity) {
      throw new Error("Not authenticated");
    }

    const userId = identity.id;

    const existingDocument = await ctx.db.get(args.id);

    if (!existingDocument) {
      throw new Error("Not found");
    }

    if (existingDocument.userId !== userId) {
      throw new Error("Unauthorized");
    }

    const recursiveArchive = async (documentId: Id<"documents">) => {
      const children = await ctx.db
        .query("documents")
        .withIndex("by_user_parent", (q) =>
          q.eq("userId", userId).eq("parentDocument", documentId),
        )
        .collect();

      for (const child of children) {
        await ctx.db.patch(child._id, {
          isArchived: true,
        });

        await recursiveArchive(child._id);
      }
    };

    const document = await ctx.db.patch(args.id, {
      isArchived: true,
    });

    recursiveArchive(args.id);

    return document;
  },
});

export const getSidebar = query({
  args: {
    parentDocument: v.optional(v.id("documents")),
  },
  handler: async (ctx, args) => {
    const identity = user;

    if (!identity) {
      throw new Error("Not authenticated");
    }

    const userId = identity.id as string;

    const documents = await ctx.db
      .query("documents")
      .withIndex("by_user_parent", (q) =>
        q.eq("userId", userId).eq("parentDocument", args.parentDocument),
      )
      .filter((q) => q.eq(q.field("isArchived"), false))
      .order("desc")
      .collect();

    return documents;
  },
});

export const create = mutation({
  args: {
    title: v.string(),
    parentDocument: v.optional(v.id("documents")),
  },
  handler: async (ctx, args) => {
    const identity = user;

    if (!identity) {
      throw new Error("Not authenticated");
    }

    const userId = identity.id as string;

    const document = await ctx.db.insert("documents", {
      title: args.title,
      parentDocument: args.parentDocument,
      userId,
      isArchived: false,
      isPublished: false,
    });

    return document;
  },
});

export const getTrash = query({
  handler: async (ctx) => {
    const identity = user;

    if (!identity) {
      throw new Error("Not authenticated");
    }

    const userId = identity.id as string;

    const documents = await ctx.db
      .query("documents")
      .withIndex("by_user", (q) => q.eq("userId", userId))
      .filter((q) => q.eq(q.field("isArchived"), true))
      .order("desc")
      .collect();

    return documents;
  },
});

export const restore = mutation({
  args: { id: v.id("documents") },
  handler: async (ctx, args) => {
    const identity = user;

    if (!identity) {
      throw new Error("Not authenticated");
    }

    const userId = identity.id as string;

    const existingDocument = await ctx.db.get(args.id);

    if (!existingDocument) {
      throw new Error("Not found");
    }

    if (existingDocument.userId !== userId) {
      throw new Error("Unauthorized");
    }

    const recursiveRestore = async (documentId: Id<"documents">) => {
      const children = await ctx.db
        .query("documents")
        .withIndex("by_user_parent", (q) =>
          q.eq("userId", userId).eq("parentDocument", documentId),
        )
        .collect();

      for (const child of children) {
        await ctx.db.patch(child._id, {
          isArchived: false,
        });

        await recursiveRestore(child._id);
      }
    };

    const options: Partial<Doc<"documents">> = {
      isArchived: false,
    };

    if (existingDocument.parentDocument) {
      const parent = await ctx.db.get(existingDocument.parentDocument);
      if (parent?.isArchived) {
        options.parentDocument = undefined;
      }
    }

    const document = await ctx.db.patch(args.id, options);

    recursiveRestore(args.id);

    return document;
  },
});

export const remove = mutation({
  args: { id: v.id("documents") },
  handler: async (ctx, args) => {
    const identity = user;

    if (!identity) {
      throw new Error("Not authenticated");
    }

    const userId = identity.id as string;

    const existingDocument = await ctx.db.get(args.id);

    if (!existingDocument) {
      throw new Error("Not found");
    }

    if (existingDocument.userId !== userId) {
      throw new Error("Unauthorized");
    }

    const document = await ctx.db.delete(args.id);

    return document;
  },
});

export const getSearch = query({
  handler: async (ctx) => {
    const identity = user;

    if (!identity) {
      throw new Error("Not authenticated");
    }

    const userId = identity.id as string;

    const documents = await ctx.db
      .query("documents")
      .withIndex("by_user", (q) => q.eq("userId", userId))
      .filter((q) => q.eq(q.field("isArchived"), false))
      .order("desc")
      .collect();

    return documents;
  },
});

export const getById = query({
  args: { documentId: v.id("documents") },
  handler: async (ctx, args) => {
    const identity = user;

    const document = await ctx.db.get(args.documentId);

    if (!document) {
      throw new Error("Not found");
    }

    if (document.isPublished && !document.isArchived) {
      return document;
    }

    if (!identity) {
      throw new Error("Not authenticated");
    }

    const userId = identity.id;

    if (document.userId !== userId) {
      throw new Error("Unauthorized");
    }

    return document;
  },
});

export const update = mutation({
  args: {
    id: v.id("documents"),
    title: v.optional(v.string()),
    content: v.optional(v.string()),
    coverImage: v.optional(v.string()),
    icon: v.optional(v.string()),
    isPublished: v.optional(v.boolean()),
  },
  handler: async (ctx, args) => {
    const identity = user;

    if (!identity) {
      throw new Error("Unauthenticated");
    }

    const userId = identity.id;

    const { id, ...rest } = args;

    const existingDocument = await ctx.db.get(args.id);

    if (!existingDocument) {
      throw new Error("Not found");
    }

    if (existingDocument.userId !== userId) {
      throw new Error("Unauthorized");
    }

    const document = await ctx.db.patch(args.id, {
      ...rest,
    });

    return document;
  },
});

export const removeIcon = mutation({
  args: { id: v.id("documents") },
  handler: async (ctx, args) => {
    const identity = user;

    if (!identity) {
      throw new Error("Unauthenticated");
    }

    const userId = identity.id;

    const existingDocument = await ctx.db.get(args.id);

    if (!existingDocument) {
      throw new Error("Not found");
    }

    if (existingDocument.userId !== userId) {
      throw new Error("Unauthorized");
    }

    const document = await ctx.db.patch(args.id, {
      icon: undefined,
    });

    return document;
  },
});

export const removeCoverImage = mutation({
  args: { id: v.id("documents") },
  handler: async (ctx, args) => {
    const identity = user;

    if (!identity) {
      throw new Error("Unauthenticated");
    }

    const userId = identity.id;

    const existingDocument = await ctx.db.get(args.id);

    if (!existingDocument) {
      throw new Error("Not found");
    }

    if (existingDocument.userId !== userId) {
      throw new Error("Unauthorized");
    }

    const document = await ctx.db.patch(args.id, {
      coverImage: undefined,
    });

    return document;
  },
});```

##Console Output

`0/node_modules/next/dist/compiled/@vercel/og/yoga.wasm?module

    node_modules/.pnpm/next@13.5.4_@babel+core@7.23.2_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@vercel/og/index.edge.js:18564:22:
      18564 │ import yoga_wasm from "./yoga.wasm?module";
            ╵                       ~~~~~~~~~~~~~~~~~~~~

X [ERROR] Could not resolve "fs"

    node_modules/.pnpm/next@13.5.4_@babel+core@7.23.2_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@vercel/og/index.node.js:18564:15:
      18564 │ import fs from "fs";
            ╵                ~~~~

  The package "fs" wasn't found on the file system but is built into node. Are you trying to bundle
  for node? You can use "platform: 'node'" to do that, which will remove this error.

X [ERROR] Could not resolve "url"

    node_modules/.pnpm/next@13.5.4_@babel+core@7.23.2_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@vercel/og/index.node.js:18565:30:
      18565 │ import { fileURLToPath } from "url";
            ╵                               ~~~~~

  The package "url" wasn't found on the file system but is built into node. Are you trying to bundle
  for node? You can use "platform: 'node'" to do that, which will remove this error.

X [ERROR] Could not resolve "path"

    node_modules/.pnpm/next@13.5.4_@babel+core@7.23.2_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@vercel/og/index.node.js:18566:21:
      18566 │ import { join } from "path";
            ╵                      ~~~~~~

  The package "path" wasn't found on the file system but is built into node. Are you trying to
  bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
⠹ Preparing Convex functions...
X [ERROR] Could not resolve "crypto"

    node_modules/.pnpm/@kinde-oss+kinde-auth-nextjs@1.8.22_react-dom@18.2.0_react@18.2.0/node_modules/@kinde-oss/kinde-auth-nextjs/dist/server/index.js:1:1411:
      1 │ ...token",profile:"/oauth2/v2/user_profile"}},P=require("crypto"),O=()=>P.randomBytes(28).toString("hex");function A(...
        ╵                                                         ~~~~~~~~

  The package "crypto" wasn't found on the file system but is built into node. Are you trying to
  bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
⠇ Preparing Convex functions...
X [ERROR] Could not resolve "stream"

    node_modules/.pnpm/next@13.5.4_@babel+core@7.23.2_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@vercel/og/index.node.js:18563:25:
      18563 │ import { Readable } from "stream";
            ╵                          ~~~~~~~~

  The package "stream" wasn't found on the file system but is built into node. Are you trying to
  bundle for node? You can use "platform: 'node'" to do that, which will remove this error.`

@NANAGAISIE1 are you still experiencing these issues with the latest version of the SDK?

I'm really impressed with the latest nextjs SDK. All my previous issues have been resolved.
Nana A. Gaisie

From: Dave @.>
Sent: Thursday, January 4, 2024 4:39:02 PM
To: kinde-oss/kinde-auth-nextjs @.>
Cc: Nana Gaisie @.>; Mention @.>
Subject: Re: [kinde-oss/kinde-auth-nextjs] Bug: Module not found: Cant resolve fs (Issue #47)
@NANAGAISIE1https://github.com/NANAGAISIE1 are you still experiencing these issues with the latest version of the SDK?
—
Reply to this email directly, view it on GitHubhttps://github.com/kinde-oss/kinde-auth-nextjs/issues/47#issuecomment-1877413803, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZWFRXNOC3E7ANSEHA3DQPLYM3LKNAVCNFSM6AAAAAA3ZTRMROVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZXGQYTGOBQGM.
You are receiving this because you were mentioned.Message ID: @.***>

Closing this issue as it seems like it has been resolved.


Support rotating API keys for fork tests

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
master 23dc073
What command(s) is the bug in?
cargo test --locked --workspace --all-features --lib --bins
Operating System
Linux
Describe the bug
fork tests seem to be failing on the CI but work locally https://github.com/foundry-rs/foundry/runs/6468348691?check_suite_focus=true

(code: 429, message: Your app has exceeded its compute units per second capacity. If you have retries enabled, you can safely ignore this message. If not, check out https://docs.alchemyapi.io/guides/rate-limits, data: None)'

got rate-limited by alchemy, let's turn this issue into a feature request to rotate API keys similar to ethers https://github.com/gakonst/ethers-rs/pull/1017

@mattsse Any chance you could explain how one would use this feature when using forge test?

Got it. I could probably hack together something similar though to use in my forge tests. Thanks!


Fix heroes transition when initial route is not '/'

The current implementation for heroes transitions throws an assertion when a non-default initial route is set, which prints an error message to the console that is likely to confuse users.  The animation ends up being completed by https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/widgets/pages.dart#L41-L42
This updates the logic to add another early return for that case, plus a test.
I discovered this when working on the fix for https://github.com/flutter/flutter/issues/23736
/cc @HansMuller (fyi)

LGTM


RegEX issue.

I composed this RegEX to determine the structures between two ".
https://regex101.com/r/62ZkyY/2
It goes on the online testing platform. We tested for several programming languages and especially for JavaScript. But when I put this structure on a .l file it doesn't work.
I'm getting an error. I don't know what it is. I think most probably from the weird way in which RegEx is written from jison.

I solve this problem thanks!


Dashboards: Remove custom allValue for fleetwide

The custom all value, .+ was meant to remove very long list of clusters in (default) queries when all cluster was selected, i.e one would see queries like these:
{cluster=~"(local-cluster|spoke-1|spoke-2|spoke-3|spoke-4....)"

Unfortunately adding this custom all value seem to have completely broken the ability to filter cluster on the dashboard, hence removing this for now.

/test test-unit

/test test-e2e


Docs for TranslationAndMat3 incorrect

Describe the bug
Two issues:

"3x3 translation matrix", I guess this is a typo and should be changed to just "3x3 matrix" ?
"row-major 3x3 matrix", is it really required to be row-major as in memory layout?

This is the old code - the new codegen'ed transforms have better docs. Not sure why the old rerun_py/rerun_sdk/rerun/components/transform3d.py is still in our code base though 🤔

Will be fixed by https://github.com/rerun-io/rerun/issues/3236


hi,where can i get the offeline demo for ui-bootstrap

hi,where can i get the offeline demo for ui-bootstrap?
thank you very much!

Not sure what you mean by "offline" exactly, but you can build docs on your machine after clonning this repository: https://github.com/angular-ui/bootstrap/wiki/Development

@pkozlowski-opensource
thanks


Sliding, why not display properly in the phone

Hi xinnanzhang,
can you please provide a little more information on what goes wrong? Best would be a little jsbin sample along with a description of what you would expect and what goes wrong.
Please also tell us which phone you are using and which version of the corresponding operating system is in place.
Best Regards,
Martin
UI5 Dispatcher

No response. Please reopen with details if this is still an issue.


Refactoring src/{ main.js, server-main.js, bootstrap-fork.js, bootstr…

Sorry but this type of code-style change is far more effort to properly review than any value it may add
Please try creating small, scoped PRs and also consider how much time a reviewer will have to put in to review them to make sure they don't introduce regressions


vector resize in  can lead to new memory adress

source
    cells.resize(cells.size()+cell->NCHILD);
    Cell * child = &cells.back() - cell->NCHILD + 1;
    cell->CHILD = child;
    int c = 0;
    for (int i=0; i<8; i++) {
      Xchild = X;
      real_t r = R / (1 << (level + 1));
      for (int d=0; d<3; d++) {
        Xchild[d] += r * (((i & 1 << d) >> d) * 2 - 1);
      }
      if (size[i]) {
        **buildCells**(buffer, bodies, offsets[i], offsets[i] + size[i],
                   &child[c], cells, Xchild, R, level+1, !direction);
        c++;
      }
    }

I think: If buildCells calls itself then resizes it could use a different memory address, causing &child[c] of the calling function i.e. cell of the called function to become a dangling pointer.
This can happen if the number of cells exceeds the number of bodies.

That won't happen as long as reserve() is done with a large enough size. The alternative would be to calculate the size with a fast traversal for a minimal tree structure and then use that to allocate the larger data structure for cells. I chose the former because it is simpler and reserve() is fast.

ok, but an error should be thrown if the reserved size is too small

Ok. Theoretically, the number of nodes in a tree cannot exceed twice the number of leafs, and the number of leafs cannot exceed the number of bodies. So setting reserve to 2*bodies.size() should be safe.


Generate a new WebSocket stream URL

When subscribe to the new generated WebSocket stream URL, the steam retrieve all activities From the start of the conversation while send specific watermark in the request, and the same issue happen when send request without watermark

Is this comment related to a specific article, and if so, which one?
General questions can be posted at Stack Overflow using the botframework tag. Please note that Stack Overflow has guidelines such as requiring a descriptive title, a complete and concise problem statement, and sufficient details to reproduce your issue. Feature requests or overly broad questions are off-topic; new users should visit the Stack Overflow Help Center for more details.

Hi @JonathanFingold ,
It related to this article :
https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-direct-line-3-0-reconnect-to-conversation?view=azure-bot-service-4.0

@Mohammed-Ahmed-Ismail Our apologies for the delay. This is the article https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-direct-line-3-0-reconnect-to-conversation?view=azure-bot-service-4.0. The link you mentioned did not work.
Would you mind to be more specific about the fix you are requesting and what part of the article might be affected?
Thank you

We've asked support to look into this. Hopefully, they'll figure out if it is a product bug soon. We'll keep you posted.

Opened an issue against the affected code.

Opened an issue against the affected code: https://github.com/microsoft/BotFramework-Services/issues/319.


 Is there any way to add authentication, like users and accounts. Or other cookie sharing. I want to be able to play both on ipad and kindle. God bless

https://twitter.com/gestaltbb/status/1480018946191507457

We'll probably want to expand our authentication options, but for now, Sign in with Google has been implemented


Please add FOSS Disclosure for your container release

please add foss disclosure for your container release.
Julian Schregle<EMAIL_ADDRESS>Mercedes-Benz Tech Innovation GmbH, legal info/Impressum

@schr3gl3j what does that exactly mean?
We already add a SBOM document to our release. Should we push that beside the container image into the registry and publish the container image with that reference?
do you have some documentation how to do that?

yes I have seen the SBOM, but there are copyright notices missing and we found additional components in the docker container that are not included in the SBOM.
As of now there are no suitable guides/checklists for the distribution of binaries or containers and this should be tackled from our side too, together with the garm-operator maintainer team :)


[WIP] Chargeback rate fixes when saving form

When saving existing chargeback rate form it throws errors. It was because chargeback tiers has been passed in wrong order for saving

Validation message was doubled when 'Fixed' and 'Variable' were entered incorrectly.
Remove code which causing doubling message and using autosave for saving ChargebackTiers.

before

after

WIP: working on specs
cc @gtanzillo
fyi @tledesma @amaurygonzalez

@miq-bot add-label wip, ui, chargeback

@miq-bot remove-label wip

I am going to work on specs in separated PR, there is issue where I am tracking it https://github.com/ManageIQ/manageiq/issues/8099

@lpichler I proved it and the points 2 and 3 work well, but if I try to edit an existing rate, the edited tiers isn't displayed correctly and I can't saved the changes. I show you below:

@miq-bot add-label wip

@lpichler I have downloaded your branch and I have been testing again and now it works well. I don't know what was happening.

hi @lpichler. I just downloaded your branch and already the chargeback works fine. Good job!

@amaurygonzalez  @tledesma thanks for testing!
@tledesma  it is really good finding because I was able to reproduced it and then not ...
I am not sure what is exactly happening  but when I renew DB by
bundle exec rake db:drop; bundle exec rake db:create; bin/setup
and then I will add new chargeback rate and then edit it - and can see issue what did you reported.
It is about something ordering tiers (I have values from Allocated CPU Count in Used Network I/O  )
So I am going to fix this case.
thanks

@lpichler Perfect!

@lpichler

@tledesma @amaurygonzalez  thanks for testing and helping!
@gtanzillo this PR is ready, I know there are more fixes, so I put commits which provides fixes to the first comment at each bug.
I also add specs related to this PR (and with others specs I will continue in here https://github.com/ManageIQ/manageiq/issues/8099)

@miq-bot remove-label wip


Markdown files (*.md) are now in indexed

I'm using this project in combination with markdown-rails.
Some of my files weren't being indexed because their name was terminated with .md rather than .html.erb or html.haml or whatever...
With this update, markdown files are also indexed.

It appears that the convention specified by the README of markdown-rails is to have files with the extension html.md. Would that solve your issues rather than this change?

You're right, thanks for pointing that out.


Add dcd_evidence group to key-vault

See contino/moj-module-key-vault#11

Codecov Report

Merging #12 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #12   +/-   ##
=========================================
  Coverage     91.04%   91.04%
  Complexity       49       49
=========================================
  Files            13       13
  Lines           134      134
  Branches         14       14
=========================================
  Hits            122      122
  Misses            8        8
  Partials          4        4

Continue to review full report at Codecov.

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


modify the docs link

What is it?

[ ] Feature / enhancement
[ ] Bug
[ x ] Docs / tests

Description
modify the docs link that shows on terminal after npm run qwik add express
Use cases and why

One use case

Another use case

Checklist:

[ ] My code follows the developer guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

thank you

Hi @ColynYu
Thank you very much for fixing them 🙏  There was just an issue created https://github.com/BuilderIO/qwik/issues/2505 where another domain was mentioned as well ( adaptors/overview). Would you like to fix this as well within your PR? otherwise i can create a new one for that case 👍  just let me know.
Thanks once again 🙏

fixes #2502

I have fixed the issue #2505 you mentioned

Woah great work! thanks a lot! hope smb with merging power can put that live soon 😄 @shairez @adamdbradley @manucorporat 🙏

thanks for the update!


[Question] How to identify Iroha ledger?

Currently, I fix iroha-cli. and I think it will support multi-ledger simultaneously.
But I think it happens in the future.

A ledger and B ledger has some name 'a@japan`
cli load a@japan's key.

So cli wants to get ledger's Id like E82A4F8D-F8BA-4A0D-A021-AE8128CE9D29 and identify Iroha.
Does Iroha have API supports it?

Seems resolved


#16 add bitmaps

Codecov Report

Merging #17 into master will increase coverage by 0.44%.
The diff coverage is 56.37%.

@@            Coverage Diff             @@
##           master      #17      +/-   ##
==========================================
+ Coverage   53.70%   54.15%   +0.44%
==========================================
  Files           9        8       -1
  Lines         162      253      +91
==========================================
+ Hits           87      137      +50
- Misses         75      116      +41

Impacted Files
Coverage Δ

connect_x/action_catalogue.py
0.00% <0.00%> (ø)

connect_x/config.py
0.00% <0.00%> (ø)

connect_x/minimax.py
0.00% <0.00%> (ø)

connect_x/game/game.py
58.82% <58.82%> (ø)

connect_x/game/__init__.py
100.00% <100.00%> (ø)

connect_x/game/connect_x.py
100.00% <100.00%> (ø)

connect_x/utils/converter.py
100.00% <100.00%> (ø)

... and 4 more

Continue to review full report at Codecov.

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


[FLINK-7479] [cep] Support to retrieve the past event by an offset

What is the purpose of the change
Currently, it's already able to retrieve events matched to the specifed pattern in IterativeCondition.Context. While there are also requirements to retrieve events by an physical offset. The retrieved events may not be matched to any pattern.
Brief change log

Add API retain() in Pattern
Buffer the past events in NFA.process
Access the past events by the newly added API getEventByOffset in IterativeCondition.Context

Verifying this change
This change added tests and can be verified as follows:

Added test in IterativeConditionsITCase

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

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

Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (docs / JavaDocs)

Thanks @dawidwys for the suggestion. I will update the PR accordingly.

@dawidwys Have updated the PR according to your comments.


Comparison between two game states

As the question says, my code tries to compare two different game states. When is state1 == state2?
From my limited knowledge of pybind11, I can see that equality for games is determined from this code snippet: https://github.com/deepmind/open_spiel/blob/b5e0bf6495bd8baf7c6011c18fa4fd403e21385d/open_spiel/python/pybind11/pyspiel.cc#L378-L381
However, I cannot find anything similar for states. Any help will be appreciated!

Hi @nikhilweee, it is just plainly missing :)
In fact I just discovered that we defined __eq__ is defined for the other ones. The good thing is we have the actual == operator overridden for states, see here: https://github.com/deepmind/open_spiel/blob/c6fafb92021a8a3aa5f9746cdb79e74917ed26a5/open_spiel/spiel.h#L318.
So, you we can add an even easier one for states that just does this: return *value && value == (*value2). Can you submit a PR that adds it?

Heads-up: we are looking at adding this. Turned out to be slightly more subtle than we thought so we're discussing the addition.

Hello @lanctot, as a follow up I also notice some inconsistent behaviour.
$ python
Python 3.10.8 | packaged by conda-forge | (main, Nov 22 2022, 08:26:04) [GCC 10.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyspiel
>>> game = pyspiel.load_game('leduc_poker', {'players': 2})
>>> state = game.new_initial_state()
>>> state_rec = game.deserialize_state(state.serialize())
>>> state == state_rec
False
>>> state.to_string() == state_rec.to_string()
True

If it helps, I am using the latest openspiel built directly from the master branch following this post.

Thanks @nikhilweee . This is definitely known and intended, currently, because the state objects do not override __eq__. We would need to expose that to pybind11.
When I last looked at adding it, it turned out to create a lot of non-trivial-to-fix errors, and after a discussion with the team about fixing this, it seemed they convinced me that forcing the user to think about the context for state equality is a good thing. For example, why not make change equality to be over the history? The context will matter for the definition of "equals".
So right now the == operator acts like the normal python one (checking if two references point to the same object, which they don't in your example). So depending what exactly you mean by "equal", you could use the to_string comparison right now (if that works for your use case), or state.history() == rec_state.history() for another.. but generally we think letting the user decide is a good thing.
I also find it a bit over-reaching to override the semantics of a comparison operator between objects.. I don't know, that seems too powerful and potentially destructive. Maybe we should even remove State::operator== for all these reasons too.
Can you say more about your use case and how it affects you? We might still resolve this in the future, and how it goes depends on what it means for users.

Cool. But I agree: it does seem inconsistent to support it for GameType and Game but not for State especially since State::operator== is defined!
So I will re-open this because I feel like this is still not fully resolved (it's ok to keep open until then). I will try to re-instate the __eq__ for states, keeping it as a simple call to State::operator== and report back once I remember what issues I ran into. And maybe I'll remove the State::operator== if we want to fully decide on forcing the user to decide.

We decided against this because it was a lot more subtle than we thought. In the end, we agreed it was better for the user to know what is going on and understand exactly what is being compared.


Update dependencies

[ ] The pull request is targeting the dev branch.
[ ] The code has been validated to compile successfully by running go vet ./....
[ ] The code has been formatted properly using go fmt ./....
[ ] All static analysis checks passed.
[ ] All tests have passed. If this feature is not already covered by the tests, new tests have been added.
[ ] All changes are detailed at the description. if not already covered at JFrog Documentation, new documentation have been added.

add the reason for the upgrade in the description of the pr

Duplicate of:

https://github.com/jfrog/jfrog-cli-security/pull/183


ceph-client: introduce new client role

By default, this roles will create a ceph config file and get the admin
key. You can optionnally add other users, keys and pools for your tests.
Closes: #769
Signed-off-by: Sébastien Han<EMAIL_ADDRESS>

thanks @leseb

test this please

Cool!  We have similar functionality in openstack-ansible so hopefully we can replace it with this.

@mattt416 thanks for the review!


Pitch similarity

From the ECHOES Project report 2023
Continuation of #20

Pitch similarity

to search for specific pitch patterns across the corpus and to gauge the melodic similarity between chants, or portions of chants. However, because we are dealing with chants written in two different music scripts, one more pitch-oriented (square) and the other more interval-oriented (Aquitanian), we must take this into consideration when deciding to what extent the items compared are a good match with the query. For instance, we wish to be able to seek for a specific pitch pattern, e.g. A, G, A, F or for a specific interval pattern, e.g. '2nd up, second down, third up, fifth up'. Ideally, we’d like to be able to search across the whole repertory of chants, or a portion of them (for instance, search the pattern only on some specific sources, or sources with the same kind of musical notation). Obviously, if we seek for a specific pitch pattern, e.g. 'A, G, A, F', this exact pattern could only be found in sources in square notation, while sources in Aquitanian notation can return as a result only a series of intervals,  such as a note followed by a note a second lower, one a second higher, and then one a third lower from one or more sources.

Categories of results

A perfect match. When I search for a specific series of pitches and the results bring me exactly the same melody
An almost perfect match. When I search for a specific series of pitches, the results bring me a series of intervals that could match the exact pitches I was looking for, but they are found written in a source in Aquitanian notation.
A very good match. If the two compared versions show the same melody, but a different note distribution among the syllables. Nota bene:  we are not interested in the text of the syllables but only on the information regarding how many notes are assigned to one or more syllables.
A good match. If the two compared versions differ for just a few notes (up to 20%, e.g. some notes are missing in one of the two versions or are dislocated at a different height).
A fair match. When the two versions still bear enough resemblance, but they differ up to 40% notes at several points (e.g. melismas, intonation, cadences) and/or one of the two melodies has a lacuna or uncertain reading.
A poor match would be used for melodies that differ by above 40%.

Other results that would fall into the categories (‘good match’ and ‘fair match’) are for compared versions that show the same pattern but with a few extra ones.

Also implement Exact Pitch search to work on Aquitanian chants to get the almost perfect match

A few changes:

We will remove the "Indefinite pitch" search category.

We will change the description of the "Exact pitch" category from this:

Exact pitch (only for Square music script chants): Exact pitches could be (e.g., a b E F). Use uppercase letters for a lower octave and lowercase letters for an upper octave.

To this:

Exact pitch (chants with an identified mode): ...

We will change a bit the results returned by the "perfect" match and the "almost perfect" match, from this:

Categories of results:

A perfect match. When I search for a specific series of pitches and the results bring me exactly the same melody
An almost perfect match. When I search for a specific series of pitches, the results bring me a series of intervals that could match the exact pitches I was looking for, but they are found written in a source in Aquitanian notation.

To this:

Categories of results:

A perfect match. When I search for a specific series of pitches and the results bring me exactly the same melody (for square notation and for Aquitanian notation where the mode is identified, as that would imply that the pitches of the notes are known).
An almost perfect match. When I search for a specific series of pitches, the results bring me a series of intervals that could match the exact pitches I was looking for, but they are found written in a source in Aquitanian notation for which the mode is not identified ("undetected mode").

From the previous item, the "perfect match" in Aquitanian notation (for the pieces where we know the mode), please consult the next comment.

We will implement the almost perfect match for "undetected mode" in Aquitanian by converting the pitch sequence into a contour sequence. It doesn't matter that the results will have overlapping sequences. that already happens in contour-based search, and that is fine. Example: contour of 1 1 gives the following results (look at the second and fourth groups of highlighted purple notes). Elsa and I think this is fine.

For item 4 in the previous comment, the pitches of the notes in Aquitanian notation can be inferred from the mode (in case the chant has a mode). See the last column of the following table for this (the same information is in here):

IF last note
AND for every nc with tilt="se"
THEN:
comments
pitch at line

loc = -2
loc = -1   OR  loc = +3
mode = 1

f

loc = 0
loc = +1  OR  loc = -2
mode = 2

d

loc = -2
loc = -2   OR  loc = +2
mode = 3

g

loc = -1
loc = -1   OR  loc = +3
mode = 4

f

loc = 0
loc = 0    OR  loc = +4  OR  loc = -3
mode = 4
(rare case, earlier chants)
e

loc = -2
loc = +1  OR  loc = -3
mode = 5

a

loc = 0
loc = -1   OR  loc = +3
mode = 6

f

loc = -2
loc = 0    OR  loc = +3
mode = 7

b

loc = 0
loc = +2  OR  loc = -2
mode = 8

g

@notkaramel, sorry, I was sure I left these comments a few days ago, but it seems that wasn't the case.
Could you please check this 30-minute video as well? Especially the last part. If you could take a look at it before the meeting, that would be awesome!

Dear @elsinhadl, based on an older version of the report (found at the end of the original issue), you seem to think that musicologists would search for large sequences of pitches (approx. 20 pitches long), and based on these long sequences you thought about what a good or fair match would look like. Could you provide a few examples of usual sequences an expert would like to look for? Thank you!

@notkaramel:
For the following four categories of results with a different percentage of matches, we will use Smith-Waterman:

perfect match (matches = 100%)
good match (matches >= 80%)
fair match (matches >= 60%)
poor match (everything else)

We were planning on this when we talked about cross-comparison, saying that, eventually, we will need to compare a small sequence (a query) against a large sequence (the chant) when doing the search part of the interface. I think this will be the best approach since we need to find the percentage of matches.
I have been experimenting with this already in Python using the minineedle library and it seems to work. I am including some data below about this to illustrate what I am saying. So, could you start looking into using Smith-Waterman for this? First try to see if there is a library already implemented for JavaScript to use Smith-Waterman (if not, then you would need to implement it).
from minineedle import needle, smith

chant = ['d', 'e', 'f', 'd', 'e', 'd', 'd', 'e', 'd', 'c', 'd', 'f', 'd', 'e', 'f', 'd', 'd', 'f', 'a', 'g', 'a', 'g', 'f', 'g', 'b', 'g', 'a', 'b', 'b', 'a', 'f', 'g', 'a', 'g', 'g', 'd', 'g', 'f', 'f', 'e', 'f', 'd', 'c', 'd', 'e', 'f', 'd', 'a', 'b', 'a', 'g', 'a', 'g', 'a', 'c', 'c']
query = ['d', 'c', 'd', 'e', 'f', 'd', 'f', 'd', 'f', 'a']

alignment = smith.SmithWaterman(chant, query)
alignment.get_score()

The returned result was 6 (six matches). Given the query, which has a length 10, the results would fall in the 6/10 = 60% match. Therefore, this would be a fair match.
The next code is me trying to get the matches by myself. By the way, we could use this part to get a list of the @xml:ids of the matches to later highlight them in Verovio.
store = True
matches = 0
difference = 0

for i in range(0, len(alig1)):
    if (alig1[i] == alig2[i]):
    # match
        if store:
            matches += 1
        else:
            matches = 1
            store = True
    else:
    # mismatch or indel
        store = False

print("MATCHES: " + str(matches))
print("DIFFERENCES: " + str(difference))

The result returned:

MATCHES: 6
DIFFERENCES: 41

(If I ran Needleman-Wunsch instead, I would have MATCHES = 10 and DIFFERENCES = 46, giving me the total length of the chant I used, which was 56).

Hmmm, regarding the library for Smith-Waterman, what about this one: https://cdcgov.github.io/bioseq-js/?

@martha-thomae I will try to answer all of your comments one by one as soon as possible.
As for Smith-Waterman, I've already implemented the algorithm so maybe we can test it out directly on the source code soon.

Hi @notkaramel:

As for Smith-Waterman, I've already implemented the algorithm so maybe we can test it out directly on the source code soon. If it's not good enough, we can start testing with the library that you suggested!

This is great, but please make sure to test your implementation first with examples for which you already know the answers (either that you created or you found online with their corresponding answer). You will need to make 100% sure that your implementation is correct, otherwise, we won't be able to know if Smith-Waterman will work for the different melodic matches in our corpus because we won't be sure if the issue is with the methodology or the implementation of said methodology. So, please, make sure the implementation is working as intended before experimenting with the ECHOES corpus.

Now, since this is a long issue, I think we need to get to things in a certain order. Here we have the issue:

Categories of results:
(i) A perfect match. When I search for a specific series of pitches and the results bring me exactly the same melody (for square notation and for Aquitanian notation where the mode is identified, as that would imply that the pitches of the notes are known).
(ii) An almost perfect match. When I search for a specific series of pitches, the results bring me a series of intervals that could match the exact pitches I was looking for, but they are found written in a source in Aquitanian notation for which the mode is not identified ("undetected mode").
(iii) A very good match. If the two compared versions show the same melody, but a different note distribution among the syllables. Nota bene:  we are not interested in the text of the syllables but only on the information regarding how many notes are assigned to one or more syllables.
(iv) A good match. If the two compared versions differ for just a few notes (up to 20%, e.g. some notes are missing in one of the two versions or are dislocated at a different height).
(v) A fair match. When the two versions still bear enough resemblance, but they differ up to 40% notes at several points (e.g. melismas, intonation, cadences) and/or one of the two melodies has a lacuna or uncertain reading.
(vi) A poor match would be used for melodies that differ by above 40%.

Other results that would fall into the categories (‘good match’ and ‘fair match’) are for compared versions that show the same pattern but with a few extra ones.

We will leave two things at the very end (to be dealt with only if time allows), these would be: the thing about having lower and upper octaves allowed in the query, and the "very good match" category (see the last part of this comment for details).
So, we will proceed in the following order starting with the "exact pitches" search:

Perfect (i), good (iv), fair (v), and poor (vi) matches for "exact pitches" by using Smith-Waterman as discussed before. Limit it in only square notation first as it will already has all the pitches in the @pname attributes of the <nc> elements.
Proceed to extract the pitches for the Aquitanian chants that do have a mode according to the last column of this table. We can plan on storing this on a separate place rather than having to parse this every time to have an array of pitches (maybe store it on a csv file for all the Aquitanian chants with mode?)
Now test step 1 with these Aquitanian chants that do have a mode (the ones from step 2).

Now we will move to the almost perfect match category of "exact pitch," which should be a perfect match on a contour-based Aquitanian chant with "undetected mode":
4. When the user enters a pitch-based query, show the contour-based corresponding query at one side of the original query.
5. With the resulting contour-base query of step 4, find all the almost perfect matches (ii). An almost perfect match based on a pitch sequence would be the equivalent of a perfect match for the correspoding contour sequence. Remember to only look for the perfect match of the contour-based sequence in Aquitanian chants that have mode "undetected".
We will move into "contour-based" search (for all chants, square, aquitanian, with and without mode):
7. Have a completely new text-box for this type of query (different from the pitch-based textbox)
8. Implement perfect (i), good (iv), fair (v), and poor (vi) matches for "contour" by using Smith-Waterman. (This is replicating step 1, but for a contour sequence rather than an exact-pitch sequence.
The last thing would be to evaluate whether we need to implement the following (depending on the time left):

the change in octaves given by: lower octave encoded as c d e f g a b and upper octave encoded as c' d' e' f' g' a' b'
the very good match that deals with different note distributions

I do! Thank you for your excellent work


jettywrapper 2.0.1 fails on zip

cc @barmintor
rake aborted!
LoadError: cannot load such file -- zip
/home/travis/build/projecthydra/active_fedora/gemfiles/vendor/bundle/ruby/2.2.0/gems/jettywrapper-2.0.1/lib/jettywrapper.rb:13:in `require'
/home/travis/build/projecthydra/active_fedora/gemfiles/vendor/bundle/ruby/2.2.0/gems/jettywrapper-2.0.1/lib/jettywrapper.rb:13:in `<top (required)>'

See https://travis-ci.org/projecthydra/active_fedora/jobs/49997109

Aargh, rubyzip is a development dependency.
On Sun, Feb 8, 2015 at 6:46 PM, Justin Coyne<EMAIL_ADDRESS>wrote:

See https://travis-ci.org/projecthydra/active_fedora/jobs/49997109
—
Reply to this email directly or view it on GitHub
https://github.com/projecthydra/jettywrapper/issues/39#issuecomment-73440609
.

Fixed in 2.0.4


Document driver behavior

We've had questions from the SPO team regarding specific driver behavior that should be documented. For example:

Fallbacks on failures
Component protocol for joining the session and making the component live?
How 'aggressively' it joins a session
Whether its resilient to being disconnected
Whether it obeys the 429/503s etc from service, etc.?

Leaving a comment so it's not marked as stale.

Workitem=495

@jatgarg Does this mean it's tracked somewhere else now? How do I interpret this? :P


Fix clocker pattern: reload-properties listener

See https://github.com/brooklyncentral/clocker/issues/290
This PR is testing how to fix that in Brooklyn, and to ensure that we continue to support that use-case in clocker.
Note the second commit (update for checkNotNull on rebind) is just to bring this code up-to-date with how Clocker actually does it. It is the first commit that is actually interesting here.
@grkvlt please review.

this is tests only, demoing and asserting behaviour that downstream projects rely on.  merging.


Remove need for synstructure dependency

This dependency activates a number of features on syn, such as
extra-traits, which can cause excessive recompiles if synstructure
is part of some builds but not part of others. Especially for
derive(Arbitrary) it's often included in some builds (tests) but not
others (normal builds). By removing this dependency it should be a bit
speedier to build while also avoiding feature thrashing in normal builds.

r? @fitzgen

I'll publish a minor version bump

@fitzgen mind publishing a version of derive_arbitrary as well? I think the arbitrary crate may have been bumped but not this one?

Woops! Fixed and published now.


Operation to get qos-profiles for a device MUST use a verb and needs a security object

Problem description

The POST operation qosProfilesDevice in qos-profiles does not create a resource but retrieves an array of qosProfile.
According to https://github.com/camaraproject/Commonalities/blob/main/documentation/API-design-guidelines.md#post-or-get-for-transferring-sensitive-or-complex-data the resource in the path MUST be a verb (e.g. retrieve-qos-profiles, see additional context).
Expected behavior

Rename the resource within the path of qosProfilesDevice operation with a verb, proposal is retrieve-qos-profiles and adapt the operationId accordingly, e.g. retrieveQoSProfilesByDevice
Add an appropriate security requirements object, with the scope name according to https://github.com/camaraproject/Commonalities/blob/main/documentation/API-design-guidelines.md#1161-scope-naming

      security:
        - openId:
            - qos-profiles:<verb>

Alternative solution

Additional context

Compare with comments https://github.com/camaraproject/QualityOnDemand/pull/325#discussion_r1690545701
We have retrieve-sessions and retrieve-device-qos, so retrieve-qos-profiles makes most sense.

@RandyLevensalor

I can create a PR to address this.


Add fork ID fields to External_transition

Create a type Fork_id.t, add current_fork_id and next_fork_id to External_transition.t. The second one is an option, since we don't always have a next fork ID.

In CLI, optional flag -current-fork-id allows you to set the value (tentatively, 5 hex digits). That will write the value to the config dir. It's a fatal error to provide a fork ID on the command line that differs from the stored one. If not provided on the command line, it's read from the config. It's a fatal error if there's neither a fork ID from the command line nor one in the config.

For integration tests where nodes are started with RPCParallel, we use a dummy fork id in the worker config, which will be used in Coda_lib.create.

For unit tests, we call External_transition.set_current_fork_id with a dummy fork id.

This PR is scoped to #4199, just add the fields. Using the fork ID to validate blocks is for a subsequent PR.
Closes #4199.
Update:
RPCs that receive External_transition.ts validate the contained fork IDs. If the validation fails, the response becomes None.
For gossiped external transitions, we validate the fork IDs, adding another truth-bit to External_transition.Validated.t. In Transition_router.Initial_validator, we perform the fork ID validation along with the other truth-bit validations. Validation failures (either bad format or a fork ID mismatch) is punished with an Instaban.
To check in PR review: to make the types work, the fork ID validation is skipped, as we do for some other truth-bits. Are those skips correct?
With this additional validation, this PR closes #4200.

As @psteckler pointed out, this issue only closes #4199, which does not directly include the validation changes. I will log an additional issue to capture the validation logic changes.

Not sure that we want to be banning other folks for voting for different forks

@bkase In #4199, that's what @nholland94 suggested doing, which I implemented here. I think I agree with you, but let's make sure.

I understand now -- the current-fork-id is "this build" and next-fork-id is your vote. In that case, everything makes more sense!

In CLI, optional flag -current-fork-id allows you to set the value (tentatively, 5 hex digits). That will write the value to the config dir. It's a fatal error to provide a fork ID on the command line that differs from the stored one. If not provided on the command line, it's read from the config. It's a fatal error if there's neither a fork ID from the command line nor one in the config.

I think this should be compiled in (via config.mlh?) and then we don't need to worry about config dir or CLI flags (and this is something that will only change if the build changes


Mongo isNull check and null values

Hello,
I am using Spring Boot with QueryDSL & MongoDB using querydsl-mongodb version 3.7.4.  I have a MongoRepository and am using a QueryDSL Predicate to check if a field contains a null value like:
repository.findAll(QPerson.person.personId.isNull())
However, this isn’t retrieving results where the value of the field is null as expected.
Looking at the code for MongodbSerializer, it appears the isNull operation is translated to an $exists check in MongoDB which checks if the property exists.  Instead, I need to check if the value of the field is null, which was what I was expecting isNull to do.
Is there a way to check if a field (that exists) has a null value using QueryDSL Predicates & MongoDB?
Thank you!

The issue was created 1.5 years ago. And no update?

Maybe it's late, but you can try QPerson.person.personId.eq(null) (I've not tried, but I think it should work)

In general eq(null) is not allowed, since the chance of accidentally passing null is very much present.
https://github.com/querydsl/querydsl/blob/2bf234caf78549813a1e0f44d9c30ecc5ef734e3/querydsl-core/src/main/java/com/querydsl/core/types/dsl/SimpleExpression.java#L126-L127

Query for Null or Missing Fields:

The { item : null } query matches documents that either contain the item field whose value is null or that do not contain the item field.

As MongoDB state that query null treated as null or missing field. Q.isNull() should serialize to null query instead of $exists query.

Any updates on this issue?

Pretty sure the MongoDBSerializer/Templates needs to be updated to address this properly, but as a workaround, just use a template expression:
Expressions.booleanTemplate("{0} is null", QPerson.person.personId)

It's not working...
java.lang.UnsupportedOperationException: null 	at org.springframework.data.mongodb.repository.support.MongodbDocumentSerializer.visit(MongodbDocumentSerializer.java:124) ~[spring-data-mongodb-2.2.2.RELEASE.jar:2.2.2.RELEASE] 	at org.springframework.data.mongodb.repository.support.MongodbDocumentSerializer.visit(MongodbDocumentSerializer.java:54) ~[spring-data-mongodb-2.2.2.RELEASE.jar:2.2.2.RELEASE] 	at com.querydsl.core.types.TemplateExpressionImpl.accept(TemplateExpressionImpl.java:80) ~[querydsl-core-4.2.2.jar:na]

Found a workaround:
`public class NullConstant implements Constant {
public static final NullConstant NULL_CONSTANT = new NullConstant();

private NullConstant() {
}

@Override
public Object getConstant() {
	return null;
}

@Nullable
@Override
public Object accept(Visitor v, @Nullable Object context) {
	return null;
}

@Override
public Class getType() {
	return Object.class;
}

}`
and use it:
qEntity.field.eq(NullConstant.NULL_CONSTANT)

Nice workaround @butzy92! One improvement I made:
public Object getConstant() {
    return new Document("$type", 10);
}

This yields a MongoDB filter with a term like {xx: {$type: 10}} which means:

Field xx is present and has the value null.

as opposed to {xx: null} which MongoDB interprets as:

Field xx is present with a value of null or field xx is not present.

The latter interpretation potentially yields a slower query and is not what you'd want if you know you never need to match on the "field not present" case. (See this documentation for info on the $type operator.)

Also, I think the accept() method needs to look like this:
    public Object accept(Visitor v, Object context) {
        return v.visit(this, context);
    }

at least if you want .toString() to work right on predicates (whose .toString() method ends up in this accept() method and expects a non-null return. (The Java debugger ends up calling .toString() when you look at variables, for example.)


Native Debian/Ubuntu server version is required.   STATUS?

Rippled comes only with a CentOS/RHEL  yum installer, but no Debian/Ubuntu  apt-get installaller:   https://developers.ripple.com/install-rippled.html
I tried to install the yum-utils for the Debian version but yum-utils does not exist on the apt-get repository.  I therefore downloaded the yum-utils.deb package directly (https://launchpad.net/ubuntu/+source/yum-utils/1.1.31-3), but this has not been updated since 2015,  and has no current installation scripts.  It is thus impossible to install Ripple on Ubuntu 18.04
Since the most prevalent cloud server is Debian/Ubuntu (see links below), and the latest packages appear on Debian/Ubuntu (which developers need) could you please provide a native Debian installation under apt-get?
Thank you!
Rafael
W3TECHS - https://w3techs.com/technologies/details/os-linux/all/all
Ubuntu - 34.1%
Debian - 31.4%
CentOS - 20.6%
Red Hat - 3.7%
Gentoo - 2.7%
W3COOK - http://www.w3cook.com/os/ubuntu
Ubuntu - 29.9%
CentOS - 24.57%
Debian - 11.31%
Fedora - 0.68%
Red Hat - 0.01%
THE CLOUD MARKET - http://thecloudmarket.com/stats
Ubuntu - 57.5%
Windows - 7.8%
Red Hat - 4.8%
CentOS - 3.7%
Fedora 1.4%
OPENSTACK - http://www.openstack.org/assets/survey/April-2016-User-Survey-Report.pdf (Page 47)
Ubuntu - 55% (With an potential growth of up to 19%)
CentOS - 20% (With an potential growth of up to 7%)
Red Hat - 16% (With an potential growth of up to 4%)
SUSE - 2% (With an potential growth of up to 1%)
Debian - 3% (With an potential growth of up to 0%)

Apologies for the inconvenience and thank you for opening this issue and for providing these statistics.
Making a native Ubuntu package available is on the roadmap. I don’t have a timeframe at this point, but if the instructions, which require the use of yum-utils and alien don’t work on the latest version of Ubuntu, we are going to have to make a native package a much higher priority.

Correct. The current instructions for Ubuntu installation fail.
This is  because one gets the error message  "yum-utils not found" when
attempting apt-get install.
Could you please provide a workaround?  Or at least specify which version
of Ubuntu server for which one can install yum-utils?
Ubuntu 16.04?  14.04?

I don’t have a workaround to provide at this time; we will have to look into this and get back to you.
Sent with GitHawk

If you manage to get a package into Debian Testing until beginning of next year, rippled would be already included in Debian Buster and also probably soon after end up in Ubuntu too.
A build process similar to the one in https://github.com/ripple/rippled-package-builder will however not be good enough to make it in any distribution (the one in that repo also likely won't make it into Fedora for example).
An easy solution would be to just build rippled yourself - since it requires a version of Boost that's only available on Ubuntu 18.10, you'll anyways have a hard time installing it from a package/PPA.

Correct.  yum-utils exists for bionic, but it is not in the apt-get repository.
This is the error message:

rafael@u1804:~$ sudo apt-get install yum-utils
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package yum-utils

What do you mean by "an apt-get repository"? What's in your /etc/apt/sources.list file? Try running sudo apt-get update before trying to install this...
There's no need for a PPA, this package is in universe and thus part of Ubuntu. Please post the output of apt-cache show yum-utils...

Why don't do a docker container that uses centos image instead of wasting effort to support multiple distros?

@MarkusTeufelberger: what do you mean "rippled is packaed upstream"? Is a Alpine Linux package for rippled available? I looked at https://pkgs.alpinelinux.org/packages and didn't see anything?
I believe that we should continue to provide rippled packages for RHEL and CentOS, and add at a minimum, Ubuntu. I want to get an official Windows package out, complete with installer. Personally, I'd love an OpenBSD build (I know that @empatogen was tinkering there) as well, but it may be difficult to officially support one in the absence of a maintainer.

Is an Alpine Linux package for rippled available?

Yes. Currently in "edge" and probably will end up in Versions >=3.9: https://pkgs.alpinelinux.org/package/edge/community/x86_64/rippled
Ubuntu would be a good fit, but only Ubuntu 18.10 has recent enough boost libraries at the moment, so no LTS until 2020... but probably that's anyways not something you want.

Ubuntu .deb package is available as of version 1.3.1. See the Updated Ubuntu install instructions for details.


openapi: Remove /users/me/subscriptions from pending_endpoints.

In commit 7c71e987a, we added a special exception for the
/users/me/subscriptions endpoint in the automatic validation test.
By adding some extra documentation, we now remove this extra code,
as well as the endpoint from the list of pending endpoints.
@timabbott, this is from the list of to-dos that you suggested to me.

It looks like the updated zulip.yaml content has some mixup between the previous endpoint (get topics in a stream); look into it.

@timabbott, thanks for the review! That was a pretty careless mistake on my part, sorry about that. Here's the patched version.

This change is incomplete; you're not actually using your new documentation from zulip.yaml.
I pushed an updated version of this commit adding missing changes; can you check it out and make sure the tests are reasonable?

Based on TEST_FUNCTIONS in api_test_helpers.py, there appear to be 2 more functions that need this treatment:
    'get-profile': get_profile,
    'add-subscriptions': add_subscriptions,

(The overall goal here is to replace  templates/zerver/api/fixtures.json with just storing all of our API fixture data in the OpenAPI data set -- that file is the legacy system before we started using OpenAPI a few years ago; just an unfinished migration).

Oh, I see, I haven't completed the migrations (I just added the OpenAPI part of the required change). Thanks for pushing the changes! I reviewed them and they seem fine.

there appear to be 2 more functions that need this treatment

Got it. I'll try to get these done sooner rather than later since we have more people showing an interest in expanding and improving Zulip's documentation now.

Merged, thanks @Hypro999!
While reviewing this, I noticed 202e2cabc3374ca02838030b196fa1b34255f221.  I think if we want to avoid typos like that being possible, we should change the URL line at the top of the documentation to be generated from the OpenAPI data, instead of being hand-written.  Probably worth putting on the medium-term TODO list.


Unable to Find Package Tar

I am newbie here
Can Somebody Help me Find this Package
Thanks in Advance

Thanks Bro


add bytes data type

A bytes data type can be used to transport files but also JSON messages. The bytes is an array of int8.
Why bytes and not []int8?
Some languages don't support int8 so the conversion would be to []int which instead should be maybe string.

see https://github.com/apigear-io/cli/pull/153


ISSUE-910 Test Mode: Getting an exception on deleting a test case tha…

…t has been ran successfully once

also name all foreign keys via dropping all and recreating
drop FK of topology test case on topology test history

This closes #910 and maybe also #911 too.
As I stated from #910, we added foreign key without naming symbol, so that's addressed for v004. I resolved origin issue from v005.
Tested both MySQL and PostgreSQL, but for PostgreSQL I had to fix some table schemas since some foreign keys are not defined as same as others.
@shahsank3t Please apply and see if it resolves #910. Please let me know when you have hard time to apply database migration.
@arunmahadevan @raju-saravanan Please take a look and comment. Thanks in advance.

@HeartSaVioR thanks for the patch. Looks good.
@raju-saravanan can you take a look? While reviewing also see if there are any other cases (PK or any other constraints) that we need to cover and after that you can close https://github.com/hortonworks/streamline/issues/911

@arunmahadevan @raju-saravanan
Addressed review comments.
Btw, as I commented earlier, I think we already made a change in v001 , so we have to decide the base version first, and need to sort out.

@raju-saravanan , can you move any changes made in v001 since HDF-<IP_ADDRESS> and add it to a separate scripts ?
i.e. use the HDF-<IP_ADDRESS> branch as the baseline for ./bootstrap/sql/mysql/v001__create_tables.sql
Any new changes should go to new scripts. Without that the migrations would fail.
We also made minor release after 3.0.0, so I am not sure how would it work if someone migrates from that minor release to HDF-3.1.

+1


[Windows 10] Title bar color match system light/dark theme

I play with custom window chrome turned off in order to make use of the Windows snap features. Many programs will automatically change the color of the title bar to match Windows' dark mode if it is enabled. Runelite's title bar remains a white color that does not match the rest of my other open programs.
Can a feature be added that will automatically change the title bar based on if the system light/dark theme is enabled?
I could play with custom window chrome enabled, but then I would not have the snap features.

It's whatever your accent color is in desktop settings

This isn't accent color though, its a separate setting in Windows for light/dark theme. For instance, if you are using the default theme for Google Chrome it will automatically become black if dark mode is enabled on your pc.

Only UWP applications (and applications that draw their own decorations and know about that setting) get their title bar changed by that setting. We are not a UWP application and cannot become one, nor can we easily read that setting, nor can we effectively emulate all the features one wants when drawing our own decorations.


Can't add areas and routes to DB in the same run

Currently if the crawler is run with both area and route link extraction turned on, insertion will fail for routes because of foreign key constraints. Up until now, this has been worked around by commenting out the link extraction rule for routes

Closed by migrating to MongoDB


SGA-2024 catalog construction

I queried a HyperLEDA SQL query and I got a list of 4.8 million galaxies queried by the following query:
`
SELECT
pgc,objname,objtype,al2000,de2000,type,logd25,logr25,pa
FROM
meandata (Whole HyperLEDA Sample)
WHERE
objtype='G' OR objtype='g'
ORDER BY
PGC
File output: CSV Tab sep
`
Result:
https://www.mediafire.com/file/i9z14n1nsmpoqvj/QUERY_LEDA.TXT/file (File download too large)
Going over HyperLEDA Query

04/21/2024: Adding alternate names to the galaxies as queried from Hyperleda
Completed the original PGC catalog, adding other designations...


Update mockplus.rb

Thank you for the contribution. It was merged directly as 4949d716b4d5ca5f594a94ea31123c902320f512 to keep commit history cleaner. Your contribution is still credited to you.


Need help understanding S3 integration

Just have a short question regarding the S3 integration:
According to the docs, the FilesCollection should be declared in the imports/server dir, which totally makes sense to protect AWS credentials and such.
I'm quite new to Meteor, so it's not clear to me how I could insert files from the client with this approach? Isn't it impossible to import the FilesCollection to the client if it's declared in imports/server?
I managed to declare the FilesCollection in collections and then hook up the onAfterUpload (uploading the files to S3 and deleting the local copy) but there's no way to do the same with interceptDownload right?
Appreciate a little help!

Hello @JanSchuermannPH ,
We're recommend to follow "exact code splitting" technique.
As example you can take a look on file structure at our demo app.
Shortly:

FilesCollection initiated twice with different options for Client and Server

That makes sense, I'll check it out and see if that makes things a bit clearer to me haha

So when doing this, I'm getting an error when starting the server "There is already a collection named 'images'".
Is this because the original collection is in a shared folder and the new one (with the S3 hooks) is in a server-only folder? Should the collections then be completely separated, so the one for the client in client-only folder, the one for server in (obviously) server-only folder?

Hello @JanSchuermannPH ,
No, collections should have the same name at both Server and Client.
If you're getting this error, some of the code are isomorphic and executed on both Server and Client.
I believe simple console.log with name of the files will show you what files where imported.


Numericality and international input

numericality doesn't handle numbers where a comma is used as the decimal place separator.
I'm working on a project using validate.js v0.7.1. For what it's worth, I was able to hack in support by changing the two lines that say value = +value to value = +(value || '').replace(/,/, '.') -- this replaces the first comma it sees with a period.

Sadly validate.js cannot support all formats and languages. You probably don't send numbers with commas to server anyway.

Sadly validate.js cannot support all formats and languages. You probably don't send numbers with commas to server anyway.

He????


resourcesynccontroller: use cached get to confirm resource exists before deleting target

/cc @deads2k

/approve
/lgtm


How to properly upgrade pip to the latest?

When I did pip freeze, I received the following warning
You are using pip version 7.1.2, however version 8.0.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
And when I did pip install --upgrade pip, I got
Not uninstalling pip at /Users/antony/.venvburrito/lib/python2.7/site-packages/pip-7.1.2-py2.7.egg, outside environment /Users/antony/.virtualenvs/my_venv/bin/..
And then if I do deactivate, followed by virtualenv-burrito upgrade, I got
+ pip will upgrade (1.5.6 -> 7.1.2)
  Downloading pip-7.1.2.tar.gz …
* Upgrading pip …
  Installing pip-7.1.2
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.mailmap'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching 'pip/_vendor/Makefile'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files found matching 'dev-requirements.txt'
no previously-included directories found matching '.travis'
no previously-included directories found matching 'docs/_build'
no previously-included directories found matching 'contrib'
no previously-included directories found matching 'tasks'
no previously-included directories found matching 'tests'

Fin.

Please run upgrade again to get the latest versions. Thanks!


Update Flux Developers Copyright

Add Copyright notice for The Flux Developers to all files not covered a different license.
See issue for details.
Closes #176

TheTrunk is busy, who else could review this?


Removed one 'the', inserted 2 commas, changed Colors to Colours

This is my solution to issue #31.


Updated index.html

better ui/ux with more interactive anddescriptive design.

Hey @Aazib-at-hub images are not visible please share the screenshot of the design.


Too small window at launching on ChromeOS (PixelBook Linux VM)

Reported at the Discord by user1919#2039

For a bit of further explanation - Chrome OS uses a container inside a virtual machine to allow running Linux applications, and X apps are forwarded to the Wayland server using something called sommelier. GPU passthrough is possible, on some models, but I'm not sure if it's being used here.
The real issue for now is figuring out why the window is tiny. I've had weird issues with resize policy in Linux apps on Chrome OS before, so it could be out of our control.

it could be out of our control.

Hmm, I don't think all the applications have the same issue, and I think there is a workaround. I'd need some hack in GLFW for example.

This might be already fixed at the latest commit f8097eb45d93c0df91f3fee57db3819711febc75. Could anyone take a look?


Async client and opt-in tracing

This PR enables sync/async usage of clients depending on the sync-ness of the underlying transport. Query tracing is now opt-in.

Codecov Report

Merging #189 (674ce20) into develop (82561d6) will increase coverage by 0.27%.
The diff coverage is 68.27%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##           develop     #189      +/-   ##
===========================================
+ Coverage    59.52%   59.80%   +0.27%
===========================================
  Files           82       82
  Lines        14553    14856     +303
===========================================
+ Hits          8663     8884     +221
- Misses        5890     5972      +82

Impacted Files
Coverage Δ

src/abci/node.rs
0.00% <0.00%> (ø)

src/ibc/service.rs
0.00% <0.00%> (ø)

src/plugins/query.rs
57.57% <0.00%> (ø)

src/tendermint/client.rs
0.00% <0.00%> (ø)

src/client/mod.rs
87.63% <89.65%> (+2.77%)
:arrow_up:

src/client/exec.rs
91.84% <96.26%> (+1.41%)
:arrow_up:

src/client/mock.rs
72.46% <100.00%> (+2.62%)
:arrow_up:

src/client/trace.rs
100.00% <100.00%> (ø)

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


chore(actions): Migrate from travis to GitHub actions

Signed-off-by: udit<EMAIL_ADDRESS>This PR is for:

Adding GitHub Actions in place of Travis.
Removing exporter-amd64 and exporter-arm64 binaries. (Please check we are not using it right?)
Modify Makefile, and push script accordingly.

Please remove Travis as a mandatory check and let's add actions build/image and build/test as a mandatory check?
Also, please setup DNAME and DPASS secrets.

Please remove Travis as a mandatory check and let's add actions build/image and build/test as a mandatory check?
Also, please setup DNAME and DPASS secrets.


Add new help page for process exit during func eval

In some rare cases, evaluating a func eval can result in the abrupt
termination of the debuggee process. When that happens, we will show an
error dialog that will provide a help button to find out more details on
how to prevent/diagnose this issue.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/debugger/error-evaluating-the-function-process-exited.md
:white_check_mark:Succeeded

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

@jsschultz Hi John, so the Help button in the dialog box is wired up to link to this page? What kind of link is it (I assume it's an FwLink that opens the page URL)? It's possible that the F1 keyword would be used if someone presses F1 in the error dialog box (in which case the F1 keyword would need to match the one you set here in the metadata), but that would need to be wired up in the IDE.

@Mikejo5000 I'm trying to hunt down where the link is generated, but here is the url it opens the browser with: https://docs.microsoft.com/en-us/visualstudio/index?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev15.query%3FappId%3DDev15IDEF1%26l%3DEN-US%26k%3Dk(vs.debug.error.process_exit_during_func_eval)%3Bk(TargetFrameworkMoniker-.NETFramework%2CVersion%3Dv4.6)%3Bk(DevLang-csharp)%26rd%3Dtrue
Does that look right?

@jsschultz Yes, that is an F1 link, so that ought to work fine. You may not need to hunt it down.


Preserve floating point values in DrawRectangleLinesEx

The Rectangle version of DrawRectangle is DrawRectangleRec, and it preserves non-integral floating point values that are passed to it without truncating them.
The Rectangle version of DrawRectangleLines is DrawRectangleLinesEx, and it casts all of the floating point values passed to it  to integers before forwarding them to DrawRectangleRec (which is perfectly capable of handling floats, as noted above).
This causes a bug in the public API where it's impossible to outline a rectangle drawn with DrawRectangleRec with lines drawn by DrawRectangleLinesEx due to the truncation. For example, the outline will jitter around when drawn on top of a smoothly animated rectangle.
The fix is to simply preserve the floating point precision. I've left the intentional truncation in the case when lineWidth > rectangle width or height for consistency with previous behavior in that degenerate case.
P.S. Apologies for the trailing whitespace noise in the diff (my editor is configured to clean it up automatically), but it was few enough that it seemed fine to let it though. Will remove upon request.

@dbechrd thanks! nice improvement! 👍😄